亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

適合初學者的C語言數(shù)據(jù)類型的講解

 更新時間:2022年04月09日 14:54:57   作者:每天都要學一點哦  
在 C 語言中,數(shù)據(jù)類型指的是用于聲明不同類型的變量或函數(shù)的一個廣泛的系統(tǒng)。變量的類型決定了變量存儲占用的空間,以及如何解釋存儲的位模式。

之前說過寫代碼是為了解決生活中的問題,比如購物。

假設我們要買一本書,它的價格是10.5,是個小數(shù),也可以是一個整數(shù)10,它的書名是鋼鐵是怎樣煉成的,是一組字符串,就像svli@gikvw這些,里面每個稱為字符。

我們要去用c語言來去存儲這些信息呢,在c語言里面為了能夠描述這些類型。

就把小數(shù)抽象出來一個數(shù)據(jù)類型,叫浮點型

把整數(shù)抽象出來一個數(shù)據(jù)類型,叫整型(就是上一個博客里面的int)

把字符抽象出來一個數(shù)據(jù)類型,就叫字符

 10.5 -  小數(shù)  -  浮點型
 10   -  整數(shù)  -  整型
 A    -  字符  -  字符

那么c語言里面抽象出來哪些數(shù)據(jù)類型呢?

char          //字符數(shù)據(jù)類型
short         //短整型
int           //整型
long          //長整型
long long     //更長的整型
float         //單精度浮點數(shù)
double        //雙精度浮點數(shù)
//浮點型  10.5
//整型    10
//字符    A

看了上面的數(shù)據(jù)類型,很容易看出來下面的關系:

請?zhí)砑訄D片描述

為什么叫浮點數(shù)?

就像66.6和6.66*10,小數(shù)點是可以浮動的,所以叫浮點數(shù)

那么,為什么會有上面這么多的類型呢?我們就需要先回答一下下面這個問題:

每一種類型的大小是多少?

我們等一下用代碼問一下他們各自的大小

先了解一下新的東西

#include<stdio.h>

int main()
{
printf("%d\n",100)//
return 0;}

這個%d指的是打印(輸出)的格式,即整型,后面的100是返回值,即打印的是100,\n的意思就像enter,空行的意思,如圖:

運行結果:

100

請?zhí)砑訄D片描述

現(xiàn)在來解釋一下\n的作用,這里用兩組代碼來對比一下:

第一組

#include<stdio.h>

int main()
{
printf("%d\n",100)//
printf("%d\n",100)
printf("%d\n",100)
return 0;}

運行的結果:

100

100

100

請?zhí)砑訄D片描述

第二組

#include<stdio.h>

int main()
{
printf("%d",100)//
printf("%d",100)
printf("%d",100)
return 0;}

運行的結果:

100100100

請?zhí)砑訄D片描述

可以看出,\n的作用就是空一行,就是平時enter的作用

接下來就是

#include<stdio.h>

int main()
{
    printf("%d ", sizeof(char));
	printf("%d ", sizeof(short));
	printf("%d ", sizeof(int));
	printf("%d ", sizeof(long));
	printf("%d ", sizeof(long long));
	printf("%d ", sizeof(float));
	printf("%d ", sizeof(double));
    return 0;
}

運行結果:

1 2 4 4 8 4 8

(那么這些數(shù)字的含義是什么?它們又是怎么來看出所占內存的大小呢?我們等一會兒就來解釋。)

請?zhí)砑訄D片描述

這里的sizeof()的作用就是返回數(shù)據(jù)類型中的char在內存中所占的大小,通俗點就是用它來告訴你char這個數(shù)據(jù)類型占多少內存

不過這里用%d不太合適,在一些的編譯器里面會報警告,我們用%zu最合適,sizeof的返回值要用%zu來打印。

int main()
{
	printf("%zu\n", sizeof(char));
	printf("%zu\n", sizeof(short));
	printf("%zu\n", sizeof(int));
	printf("%zu\n", sizeof(long));
	printf("%zu\n", sizeof(long long));
	printf("%zu\n", sizeof(float));
	printf("%zu\n", sizeof(double));
	return 0;
}

結果跟上面那個圖是一樣的,運行結果是:

1

2

4

4

8

4

8

(我里面加了\n,所以是一排一排的)

接著我們來講上面那些數(shù)字的含義,

你只看到了它們這些數(shù)字,但沒有單位,其實它們都是有單位的,這里我們就來了解一下計算機的單位:

計算機的單位從大到小就是PB,TB,GB,MB,KB,byte。就像我們平時生活中用的流量,一般開通的套餐只到GB,所以GB,MB,KB這些我們都已經很熟悉了,下面就是各單位間的換算

 1Pb=1024Tb                   
 1Tb=1024Gb
 1Gb=1024Mb                  
 1Mb=1024kb
 1kb=1024byte(字節(jié))  
 1byte=8bit(比特位)

看到這些,你可能對這些沒有什么概念,我們再來進一步了解一下

我們都知道計算機使用的是二進制語言,而我們生活在十進制的世界,

來給一個空間| |,里面可以填1或0就是|1|或|0|,這就是一個bit,對應的就是燈亮和燈滅

那么一個字節(jié)byte呢?

|1| |0| |1| |0| |0| |1| |0| |1|占了8個空間,也就是8個bit

10100101 對應的十進制就是 165

一個字節(jié)能儲存多大的數(shù)字呢?

11111111 對應的十進制就是255,即最多可以儲存2^8-1這么大的數(shù)

我們可以感受到越到后面的單位大小越龐大

解釋完計算機的單位,我們就來回到上面的1 2 4 4 8 4 8,它們的單位都是字節(jié)

char對應1字節(jié),可以開辟一個能儲存2^8-1的空間

short對應2字節(jié),可以開辟一個能儲存2^16-1的空間

int對應4字節(jié),可以開辟一個能儲存2^32-1的空間

long long對應8字節(jié),可以開辟一個能儲存2^64-1的空間

里面的float和double是來存儲小數(shù)的,雙精度浮點數(shù)比單精度浮點數(shù)精度要高一點,這個在以后的博客會更加深入的去講解

但是我們看到int和long為什么都是4呢?

C語言規(guī)定,sizeof(long)>=sizeof(int)就行,但不會超過sizeof(long long)

那么我們回到前面提出的問題,為什么要規(guī)定這樣的數(shù)據(jù)類型呢,答案是節(jié)省空間:

給你一個數(shù)2,你要把它存起來,你用了long long這個數(shù)據(jù)類型,開辟了能儲存2^64-1的空間來放這個2,是不是有點大材小用了,用一個char就行了,提高空間的利用率

接下來我們來解釋一下下面的代碼,來引入下一個博客講的變量和常量

#include<stdio.h>
int main()
{
int age=18;
double weight=16.5;
return 0;
}

int age=18;

向內存申請一個int大小的空間,來把18這個數(shù)據(jù)放在age這個變量里面,通俗一點就是,int要了一個房間,起名為age(隨便起名),把18放到了里面。

double weight=16.5;

這個像上面一樣,double是數(shù)據(jù)類型,weight是個變量,16.5是個小數(shù)

這些數(shù)據(jù)類型就是來定義變量的

到此這篇關于適合初學者的C語言數(shù)據(jù)類型的講解的文章就介紹到這了,更多相關C語言 數(shù)據(jù)類型內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C語言文件操作大全

    C語言文件操作大全

    這篇文章主要介紹了C語言文件操作大全的相關資料,需要的朋友可以參考下
    2018-03-03
  • C語言實現(xiàn)一個簡單的掃雷游戲

    C語言實現(xiàn)一個簡單的掃雷游戲

    掃雷是電腦上很經典的游戲,特意去網(wǎng)上玩了一會,幾次調試之后,發(fā)現(xiàn)這個比三子棋要復雜一些,尤其是空白展開算法上和堵截玩家有的一拼,與實際游戲差別較大,不能使用光標,下面來詳解每一步分析
    2021-10-10
  • C語言指針與引用的區(qū)別以及引用的三種用法案例詳解

    C語言指針與引用的區(qū)別以及引用的三種用法案例詳解

    這篇文章主要介紹了C語言指針與引用的區(qū)別以及引用的三種用法案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-09-09
  • C++在成員函數(shù)中使用STL的find_if函數(shù)實例

    C++在成員函數(shù)中使用STL的find_if函數(shù)實例

    這篇文章主要介紹了C++在成員函數(shù)中使用STL的find_if函數(shù)實例,包括了STL中find_if函數(shù)的具體用法及相關的完整實例,非常具有參考借鑒價值,需要的朋友可以參考下
    2014-10-10
  • C++ opencv實現(xiàn)的把藍底照片轉化為白底照片功能完整示例

    C++ opencv實現(xiàn)的把藍底照片轉化為白底照片功能完整示例

    這篇文章主要介紹了C++ opencv實現(xiàn)的把藍底照片轉化為白底照片功能,結合完整實例形式詳細分析了C++使用opencv模塊進行圖片轉換操作的相關實現(xiàn)技巧,需要的朋友可以參考下
    2019-12-12
  • C++實現(xiàn)并行計算的兩種方式

    C++實現(xiàn)并行計算的兩種方式

    本文介紹了使用C++實現(xiàn)并行計算的兩種方式,包括OpenMP和MPI,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2024-03-03
  • 利用C語言編寫“剪刀石頭布”小游戲

    利用C語言編寫“剪刀石頭布”小游戲

    這篇文章主要給大家介紹了關于如何利用C語言編寫“剪刀石頭布”小游戲的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • C語言中變量與其內存地址對應的入門知識簡單講解

    C語言中變量與其內存地址對應的入門知識簡單講解

    這篇文章主要介紹了C語言中變量與其內存地址對應的入門知識簡單講解,同時這也是掌握指針部分知識的基礎,需要的朋友可以參考下
    2015-12-12
  • C++ 微信多開的實現(xiàn)

    C++ 微信多開的實現(xiàn)

    本文主要介紹了C++ 微信多開的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Windows進程崩潰問題的定位方法

    Windows進程崩潰問題的定位方法

    這篇文章主要介紹了Windows進程崩潰問題的定位方法,本文使用nstd工具進行進程崩潰時內存和堆棧轉儲的方法查明問題所在,需要的朋友可以參考下
    2015-04-04

最新評論