av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

C語(yǔ)言

C語(yǔ)言基本類型

時(shí)間:2025-03-11 09:27:00 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

C語(yǔ)言基本類型

  程序中不可能離開(kāi)數(shù)據(jù),平時(shí)我們將各種數(shù)據(jù)錄入計(jì)算機(jī)時(shí),就是為了讓計(jì)算機(jī)來(lái)處理這些數(shù)據(jù)。

  計(jì)算機(jī)在處理這些數(shù)據(jù)首先要對(duì)這些數(shù)據(jù)進(jìn)行存放再進(jìn)行處理。計(jì)算機(jī)內(nèi)存的最小單位為字節(jié)(byte) 還有KB MB….

  C語(yǔ)言基本類型

  他們之間的關(guān)系是1024b=1kb 1024kb=1mb

  由于我們存入的數(shù)據(jù)可能類型不同 計(jì)算機(jī)存放數(shù)據(jù) 可以用一個(gè)字節(jié)來(lái)存放。

  也可能臨時(shí)把幾個(gè)相鄰的字節(jié)合并來(lái)記錄一個(gè)數(shù)字,在內(nèi)存中用來(lái)記錄一個(gè)數(shù)字的區(qū)域叫一個(gè)存儲(chǔ)區(qū)(一個(gè)或多個(gè)字節(jié))內(nèi)存中每個(gè)字節(jié)都有在內(nèi)存中獨(dú)立的編號(hào)。

  變量

  這個(gè)編號(hào)叫做這個(gè)叫做字節(jié)的地址(一般以十六進(jìn)制表示)

  我們可以通過(guò)這個(gè)字節(jié)的地址找到對(duì)應(yīng)的字節(jié),C語(yǔ)言足可以便用變量代表一個(gè)存儲(chǔ)區(qū),這樣可以簡(jiǎn)化對(duì)存儲(chǔ)區(qū)的使用

  變量:是可變的 具有存儲(chǔ)空間的。

  常量:不可變的 具有存儲(chǔ)空間的。

  計(jì)算機(jī)可以根據(jù)變量找到變量對(duì)應(yīng)的地址,變量在使用之前需要讓計(jì)算機(jī)為它分配一段內(nèi)存(存儲(chǔ)區(qū))?梢杂米兞康穆暶髯層(jì)算機(jī)為它分配存儲(chǔ)區(qū),變量的聲明方法。

  標(biāo)識(shí)符命名規(guī)則

  在聲明變量時(shí)我們自定義一個(gè)變量名在編程時(shí)使用變量名函數(shù)名等的叫做標(biāo)識(shí)符。

  1 第一個(gè)字母只能是英文或者下劃線

  2 后面的字母可以是英文字母,下劃線或者阿拉伯?dāng)?shù)字字符

  3 標(biāo)識(shí)符中大小寫(xiě)不同的字符被看作是不同的字符(大小寫(xiě)敏感)

  4 關(guān)鍵字不可以當(dāng)作標(biāo)識(shí)符使用

  5 標(biāo)識(shí)符長(zhǎng)度沒(méi)有限制,但是計(jì)算機(jī)只會(huì)截取一段使用(c89規(guī)范中截取前31個(gè)字符,c99截取前63個(gè)字符)

  類型名 變量名;Int num;

  變量的使用方法:

  存儲(chǔ)數(shù)據(jù)一個(gè)數(shù)據(jù) 從變量中獲得數(shù)據(jù)并進(jìn)行計(jì)算。

  如果在聲明之前未指定變量的值 那么系統(tǒng)會(huì)為變量提供一個(gè)默認(rèn)值,變量的賦值語(yǔ)句可以向變量中存放一個(gè)數(shù)據(jù)賦值語(yǔ)句一般由賦值操作符(=)來(lái)進(jìn)行賦值操作,(=)前的數(shù)據(jù)必須能代表一個(gè)存儲(chǔ)區(qū)(左值)。

  1=2; a=b;(=)后的數(shù)據(jù)必須是能代表一個(gè)數(shù)字的內(nèi)容Int num =1;或者 int num;Num=1;

  Printf()函數(shù)

  變量名在程序中可以代表存儲(chǔ)區(qū)也可以代表存儲(chǔ)區(qū)的數(shù)字(由前后語(yǔ)境決定),變量在使用之前都應(yīng)該初始化 Printf 是一個(gè)標(biāo)準(zhǔn)庫(kù)函數(shù) 。

  功能:

  把程序中的數(shù)據(jù)打印在終端窗口里,在使用之前我們需要包含stdio.h頭文件。

  Printf函數(shù)調(diào)用語(yǔ)句中使用占位符可以把雙引號(hào)進(jìn)而的%X的位置保留下來(lái),輸出的內(nèi)容由后面對(duì)應(yīng)的變量的值決定。不同的占位符需要對(duì)應(yīng)變量相應(yīng)的數(shù)據(jù)類型,一個(gè)打印語(yǔ)句中可以有多個(gè)占位符配合多個(gè)不同的類型數(shù)據(jù)進(jìn)行使用。

  數(shù)據(jù)類型

  在printf函數(shù)的“ ”內(nèi): 是一個(gè)轉(zhuǎn)義符號(hào) (在注釋里代表續(xù)行符)

  ‘ ’ 換行

  ‘ ’ 回車(chē)

  ‘ ’ 制表符(換列)

  ‘a(chǎn)’ 警報(bào)

  ‘’ 退格

  ‘’ 反斜杠

  C語(yǔ)言的數(shù)據(jù)類型

  C為程序員提供了針對(duì)不同用途的多種選擇 各種類型的區(qū)別在于他們的提供的數(shù)值范圍以及是否可以取負(fù)值四種基本類型:int char float double

  有符號(hào): signed unsigned int num 。

  無(wú)符號(hào): unsigned 。

  C 99中新增 long long int unsigned long long int 。

  64位系統(tǒng)

  這個(gè)位數(shù)指的是CPU 里面的通用寄存器的數(shù)據(jù)寬度為64位,也就是說(shuō)一個(gè)地址占二進(jìn)制位數(shù)是64 32位同理 。

  ASCII

  數(shù)據(jù)在存儲(chǔ)與運(yùn)算時(shí)使用的是二進(jìn)制表示 當(dāng)在表示a b *%$這些字母字符時(shí)為了統(tǒng)一通信時(shí)不出現(xiàn)混亂,美國(guó)有關(guān)的標(biāo)準(zhǔn)化組織出臺(tái)了ASCII編碼‘0’ 48 ‘A’ 65 ‘a(chǎn)’ 97。

  Sizeof關(guān)鍵字

  Sizeof 關(guān)鍵字可以用來(lái)計(jì)算一個(gè)變量或數(shù)據(jù)類型的存儲(chǔ)區(qū)所占的字節(jié)個(gè)數(shù)

  注意

  1 小括號(hào)里若修改了任何存儲(chǔ)區(qū)的內(nèi)容 這種修改不會(huì)生效。

  2 sizeof 是一個(gè)運(yùn)算符而非函數(shù)。

  C語(yǔ)言進(jìn)制知識(shí)總結(jié)

  1.什么是進(jìn)制

  進(jìn)制是一種計(jì)數(shù)的方式,常用的有二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制。任何數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中都是以二進(jìn)制的形式存放的。

  我對(duì)進(jìn)制的個(gè)人理解,二進(jìn)制數(shù)是以2為計(jì)算單元,滿2進(jìn)1位的數(shù);八進(jìn)制數(shù)是以8為計(jì)算單元,滿8進(jìn)1位的數(shù)。

  對(duì)于任何一個(gè)數(shù)字,我們都可以用不同的進(jìn)制來(lái)表示,比如,十進(jìn)制數(shù)12,用二進(jìn)制表示為1100,用八進(jìn)制表示為14,用十六進(jìn)制表示為0xC。

  2.進(jìn)制的轉(zhuǎn)換規(guī)則

  遵循滿進(jìn)制值進(jìn)1位,個(gè)位數(shù)變?yōu)?的原理,下面我們以十進(jìn)制數(shù)18為例,對(duì)1-18中每一個(gè)數(shù)值轉(zhuǎn)換各種進(jìn)制做一個(gè)詳細(xì)說(shuō)明

  轉(zhuǎn)二進(jìn)制:

  ①小于2,無(wú)需進(jìn)1位,1的二進(jìn)制值是1

 、跒槎M(jìn)制值1后面一個(gè)數(shù),由于1+1滿2,需要進(jìn)1位,個(gè)位數(shù)變?yōu)?,所以2的二進(jìn)制值是10

 、蹫槎M(jìn)制值10后面一個(gè)數(shù),由于11的個(gè)位數(shù)1小于2,無(wú)需進(jìn)1位,所以3的二進(jìn)制值是11

 、転槎M(jìn)制值11后面一個(gè)數(shù),由于11的個(gè)位數(shù)1+1滿2,需要進(jìn)1位,而二進(jìn)制值11的位數(shù)1+1又滿2,所以位數(shù)加1,最終轉(zhuǎn)換結(jié)果為100

  轉(zhuǎn)換思路:

  二進(jìn)制值11+1 ->10+(1+1)(個(gè)位等于2,進(jìn)1位,個(gè)位數(shù)變?yōu)?) ->(1+1)+0(位數(shù)滿2,進(jìn)1位) -> 100

  以此類推,最終十進(jìn)制數(shù)18的二進(jìn)制轉(zhuǎn)換結(jié)果是10010

  轉(zhuǎn)八進(jìn)制:

  1-7小于8,無(wú)需進(jìn)1位,1-7的八進(jìn)制由1-7表示

  8為八進(jìn)制值7后面一個(gè)數(shù),由于7+1滿8,需要進(jìn)1位,個(gè)位數(shù)變?yōu)?,所以8的八進(jìn)制值是10

  以此類推,最終十進(jìn)制數(shù)18的八進(jìn)制轉(zhuǎn)換結(jié)果是22

  轉(zhuǎn)十六進(jìn)制:

  十六進(jìn)制中,個(gè)位數(shù)1-15分別為1 2 3 4 5 6 7 8 9 a b c d e f (a=10....f=15)

  16為十六進(jìn)制值c后面1個(gè)數(shù),由于c+1滿16,需要進(jìn)1位,個(gè)位數(shù)變?yōu)?,所以16的十六進(jìn)制是10。

  最終十進(jìn)制數(shù)18的十六進(jìn)制轉(zhuǎn)換結(jié)果是12

  詳細(xì)結(jié)果如下圖所示(C語(yǔ)言把數(shù)字前面加0x的數(shù)認(rèn)為是十六進(jìn)制數(shù))

  3.C語(yǔ)言中int類型進(jìn)制的聲明以及占位符

  雖然以下3個(gè)變量的賦值方式不同,但實(shí)際賦值結(jié)果都是18

  //二進(jìn)制類型數(shù)字加0b

  int number1 = 0b10010;

  //八進(jìn)制類型數(shù)字加0

  int number2 = 022;

  //十六進(jìn)制類型數(shù)字加0x

  int number3 = 0x12;

  八進(jìn)制占位符:%o

  十六進(jìn)制占位符:%x

  4.內(nèi)存存儲(chǔ)數(shù)據(jù)細(xì)節(jié)

  我們知道,int類型數(shù)據(jù)占據(jù)4個(gè)字節(jié),1個(gè)字節(jié)是8bit。并且任何數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中都是以二進(jìn)制的形式存放的,所以內(nèi)存需要用32個(gè)0或1來(lái)描述1個(gè)int類型數(shù)據(jù)。

  由于18的二進(jìn)制數(shù)是10010,我們將一個(gè)int類型變量賦值18,本質(zhì)上是將這個(gè)變量的內(nèi)存地址對(duì)應(yīng)的32個(gè)bit位修改為:

  0000 0000 0000 0000 0000 0000 0001 0010(未滿31位,后面的數(shù)字用0填充:為什么是31而不是32呢,后面會(huì)介紹)

  假設(shè)我們定義兩個(gè)變量

  int number1 = 12; int number2 = 13;

  計(jì)算機(jī)會(huì)根據(jù)內(nèi)存地址以由大到小的順序進(jìn)行分配內(nèi)存空間,具體如下圖所示:

  5.進(jìn)制的轉(zhuǎn)換公式

  二進(jìn)制轉(zhuǎn)十進(jìn)制

  0b1100 ->0*2的0次方 + 0*2的1次方 + 1*2的2次方 + 1*2的3次方 = 12

  十進(jìn)制轉(zhuǎn)二進(jìn)制

  67 ->64+2+1 ->2的6次方+ 2的1次方 + 2的0次方 = 0b1000011

  6.進(jìn)制的其他知識(shí)

 、.n位二進(jìn)制能保存的整數(shù)范圍公式:2的n次方-1

  例如,3位的二進(jìn)制數(shù)最大值為111,對(duì)應(yīng)的十進(jìn)制數(shù)字為7;5位的二進(jìn)制數(shù)最大值為11111,對(duì)應(yīng)的十進(jìn)制數(shù)字為(2*2*2*2*2)-1 = 31。

  ②.負(fù)數(shù)的二進(jìn)制保存規(guī)則是最左邊的數(shù)字是1。例如,0000 0000 0000 0000 0000 0000 0001 0010 表示正整數(shù),1111 1111 1111 1111 1111 1111 1110 1101表示負(fù)數(shù)

  由此,我們就能推測(cè)出,int類型能保存的最大整數(shù)是2的(32-1)次方-1 = 2147483647。為什么要用32-1,很簡(jiǎn)單,32個(gè)bit中,必須抽1個(gè)bit位用來(lái)描述這個(gè)數(shù)字是正數(shù)還是負(fù)數(shù)。

【C語(yǔ)言基本類型】相關(guān)文章:

C語(yǔ)言常量的類型10-31

C語(yǔ)言變量的類型10-30

c語(yǔ)言引用類型和值類型09-07

C語(yǔ)言的指針類型解析09-14

C語(yǔ)言指針變量的類型07-31

C語(yǔ)言的指針類型詳解05-21

C語(yǔ)言的指針類型講解11-02

C語(yǔ)言類型轉(zhuǎn)換的方法08-05

C語(yǔ)言的枚舉類型知識(shí)07-22