最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

假設(shè)我們要買一本書,它的價格是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ù)類型,很容易看出來下面的關(guān)系:

請?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,空行的意思,如圖:

運行結(jié)果:

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;}

運行的結(jié)果:

100

100

100

請?zhí)砑訄D片描述

第二組

#include<stdio.h>

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

運行的結(jié)果:

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;
}

運行結(jié)果:

1 2 4 4 8 4 8

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

請?zhí)砑訄D片描述

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

不過這里用%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;
}

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

1

2

4

4

8

4

8

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

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

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

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

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

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

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

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

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

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

10100101 對應(yīng)的十進制就是 165

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

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

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

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

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

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

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

long long對應(yīng)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;

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

double weight=16.5;

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

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

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

相關(guān)文章

  • Visual?Studio?2022?激活碼(親測可用)

    Visual?Studio?2022?激活碼(親測可用)

    在?Visual?Studio?2019?的基礎(chǔ)上,新版集成開發(fā)壞境提供了非常多的改進,包括對?64?位、.NET?6?的支持,為核心調(diào)試器提供更好的性能。本文給大家分享Visual?Studio?2022?激活碼,需要的朋友參考下吧
    2021-12-12
  • c語言中enum類型的用法案例講解

    c語言中enum類型的用法案例講解

    這篇文章主要介紹了c語言中enum類型的用法案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是本文的詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 應(yīng)用程序操作NorFlash示例代碼分享(norflash接口使用方法)

    應(yīng)用程序操作NorFlash示例代碼分享(norflash接口使用方法)

    相對于操作NandFlash,操作NorFlash相對簡單,因為基本不需要考慮壞塊,NorFlash也沒有OOB區(qū)域,也跟ECC沒有關(guān)系。讀寫擦除相對容易,下面看個例子吧
    2013-12-12
  • 字符串拷貝函數(shù)memcpy和strncpy以及snprintf 的性能比較

    字符串拷貝函數(shù)memcpy和strncpy以及snprintf 的性能比較

    以下是對字符串拷貝函數(shù)memcpy和strncpy以及snprintf它們之間的性能進行了比較,需要的朋友可以過來參考下
    2013-07-07
  • C++模擬實現(xiàn)List迭代器詳解

    C++模擬實現(xiàn)List迭代器詳解

    list不同于其他容器,他是一個鏈表,物理地址并不連續(xù)。所以在實現(xiàn)list類的迭代器的時候,需要將迭代器單獨封裝到一個類里,因為需要重載很多操作符來跟其他容器的迭代器使用達成一致
    2022-04-04
  • va_list(),va_start(),va_arg(),va_end() 詳細解析

    va_list(),va_start(),va_arg(),va_end() 詳細解析

    這些宏定義在stdarg.h中,所以用到可變參數(shù)的程序應(yīng)該包含這個頭文件.下面我們寫一個簡單的可變參數(shù)的函數(shù),該函數(shù)至少有一個整數(shù)參數(shù),第二個參數(shù)也是整數(shù),是可選的.函數(shù)只是打印這兩個參數(shù)的值
    2013-09-09
  • C++ STL list 遍歷刪除出錯解決方案

    C++ STL list 遍歷刪除出錯解決方案

    這篇文章主要介紹了C++ STL list 遍歷刪除出錯解決方案的相關(guān)資料,這里對出錯進行分析,并給出正確的解決方法,需要的朋友可以參考下
    2016-12-12
  • 基于John Carmark密碼詳解

    基于John Carmark密碼詳解

    本篇文章對John Carmark密碼進行了分析介紹。需要的朋友參考下
    2013-05-05
  • Ubuntu 20.04 下安裝配置 VScode 的 C/C++ 開發(fā)環(huán)境(圖文教程)

    Ubuntu 20.04 下安裝配置 VScode 的 C/C++ 開發(fā)環(huán)境(圖文教程)

    這篇文章主要介紹了Ubuntu 20.04 下安裝配置 VScode 的 C/C++ 開發(fā)環(huán)境,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • C語言實現(xiàn)的一個三子棋游戲詳解流程

    C語言實現(xiàn)的一個三子棋游戲詳解流程

    三子棋是一種民間傳統(tǒng)游戲,又叫九宮棋、圈圈叉叉、一條龍、井字棋等。將正方形對角線連起來,相對兩邊依次擺上三個雙方棋子,只要將自己的三個棋子走成一條線,對方就算輸了
    2021-10-10

最新評論

申扎县| 苍溪县| 平阳县| 德庆县| 正安县| 德化县| 元谋县| 河池市| 太和县| 娄烦县| 罗山县| 忻州市| 普兰县| 平阳县| 同江市| 勃利县| 金溪县| 镇安县| 庄河市| 宿迁市| 修文县| 太保市| 乌拉特前旗| 南宫市| 故城县| 体育| 宜兴市| 新龙县| 昭通市| 清原| 武威市| 资溪县| 石楼县| 漳平市| 抚远县| 毕节市| 历史| 泾川县| 福州市| 西青区| 永善县|