久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

C語(yǔ)言程序設(shè)計(jì)(譚浩強(qiáng))學(xué)習(xí)筆記(2014-11-03)

 zcm1944 2014-11-03
1. 基本數(shù)據(jù)類型:基本數(shù)據(jù)類型最主要的特點(diǎn)是,,其值不可以再分解為其它類型。也就是
說(shuō),,基本數(shù)據(jù)類型是自我說(shuō)明的,。
2. 構(gòu)造數(shù)據(jù)類型:構(gòu)造數(shù)據(jù)類型是根據(jù)已定義的一個(gè)或多個(gè)數(shù)據(jù)類型用構(gòu)造的方法來(lái)定義
的。也就是說(shuō),,一個(gè)構(gòu)造類型的值可以分解成若干個(gè)“成員”或“元素”,。每個(gè)“成員”
都是一個(gè)基本數(shù)據(jù)類型或又是一個(gè)構(gòu)造類型。在C 語(yǔ)言中,,構(gòu)造類型有以下幾種:
·數(shù)組類型
·結(jié)構(gòu)體類型
·共用體(聯(lián)合)類型
3. 指針類型:指針是一種特殊的,,同時(shí)又是具有重要作用的數(shù)據(jù)類型。其值用來(lái)表示某個(gè)
變量在內(nèi)存儲(chǔ)器中的地址,。雖然指針變量的取值類似于整型量,,但這是兩個(gè)類型完全不
數(shù)值是以補(bǔ)碼表示的:
碼相同,;
值的二進(jìn)制形式按位取反再加 1。
0 的補(bǔ)碼:
0 0 0 0 0 0 0 0 0 0 1 0 1 0
正數(shù)的補(bǔ)碼和原
負(fù)數(shù)的補(bǔ)碼:將該數(shù)的絕對(duì)
例如:
求-1
10 的原碼:
0 0
取反:
1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1
再加1,, -1
1 1 1 1 1 1 1 0 1 1 0
得0 的補(bǔ)碼:
1 1 1 1 1
由此可知左第符,。
2. 整型
符為int,在內(nèi)存中占2 個(gè)字節(jié),。
取值范圍均與基本型相同,。
成:
t 或unsigned。
符號(hào)類型量相同,。但由于省去了符
表示32767
1 1 1 1 1 1 1 1 1 1
,, 面的一位是表示號(hào)的
變量的分類
1) 基本型:類型說(shuō)明
2) 短整量:類型說(shuō)明符為 short int 或short。所占字節(jié)和
3) 長(zhǎng)整型:類型說(shuō)明符為 long int 或long,,在內(nèi)存中占4 個(gè)字節(jié),。
4) 無(wú)符號(hào)型:類型說(shuō)明符為 unsigned。
無(wú)符號(hào)型又可與上述三種類型匹配而構(gòu)
無(wú)符號(hào)基本型:類型說(shuō)明符為 unsigned in
無(wú)符號(hào)短整型:類型說(shuō)明符為 unsigned short,。
無(wú)符號(hào)長(zhǎng)整型:類型說(shuō)明符為 unsigned long,。
各種無(wú)符號(hào)類型量所占的內(nèi)存空間字節(jié)數(shù)與相應(yīng)的有
號(hào)位,故不能表示負(fù)數(shù),。
有符號(hào)整型變量:最大
0 1 1 1 1 1
無(wú)符號(hào)整型變量:最大表示5
1 1 1 1 1 1 1 1 1 1
65 35
1 1 1 1 1 1
下表列出了Turbo C 中各類整型量所分配的內(nèi)存字節(jié)數(shù)及數(shù)的表示范圍,。
類型說(shuō)明符 數(shù)的范圍 字節(jié)數(shù)
int -32768~32767 即-215~(215-1) 2
unsigned int 0~65535 即0~(216-1) 2
short int -32768~32767 即-215~(215-1) 2
unsigned short int 0~65535 即0~(216-1) 2
long int -2147483648~2147483647 即-231~(231-1) 4
unsigned long 0~4294967295 即0~(232-1) 4
以 13 為例:
int 型:
00 00 00 00 00 00 11 01
short int 型:
00 00 00 00 00 00 11 01
long int 型:

 
同的量,因此不能混為一談,。
4. 空類型:在調(diào)用函數(shù)值時(shí),,通常應(yīng)向調(diào)用者返回一個(gè)函數(shù)值。這個(gè)返回的函數(shù)值是具有
一定的數(shù)據(jù)類型的,,應(yīng)在函數(shù)定義及函數(shù)說(shuō)明中給以說(shuō)明,,例如在例題中給出的max
函數(shù)定義中,函數(shù)頭為:int max(int a,int b);其中“int ”類型說(shuō)明符即表示該函數(shù)的返
回值為整型量,。又如在例題中,,使用了庫(kù)函數(shù)sin,由于系統(tǒng)規(guī)定其函數(shù)返回值為雙精
度浮點(diǎn)型,,因此在賦值語(yǔ)句s=sin (x);中,,s 也必須是雙精度浮點(diǎn)型,以便與sin 函數(shù)的
返回值一致,。所以在說(shuō)明部分,,把s 說(shuō)明為雙精度浮點(diǎn)型。但是,,也有一類函數(shù),,調(diào)用
后并不需要向調(diào)用者返回函數(shù)值,這種函數(shù)可以定義為“空類型”,。其類型說(shuō)明符為void,。
在后面函數(shù)中還要詳細(xì)介紹,。
在本章中,我們先介紹基本數(shù)據(jù)類型中的整型,、浮點(diǎn)型和字符型,。其余類型在以后各章
中陸續(xù)介紹。
3.2 常量與變量
對(duì)于基本數(shù)據(jù)類型量,,按其取值是否可改變又分為常量和變量?jī)煞N,。在程序執(zhí)行過(guò)程中,
其值不發(fā)生改變的量稱為常量,,其值可變的量稱為變量,。它們可與數(shù)據(jù)類型結(jié)合起來(lái)分類。
例如,,可分為整型常量,、整型變量、浮點(diǎn)常量,、浮點(diǎn)變量,、字符常量、字符變量,、枚舉常量,、
枚舉變量。在程序中,,常量是可以不經(jīng)說(shuō)明而直接引用的,,而變量則必須先定義后使用。
整型量包括整型常量,、整型變量,。
3.2.1 常量和符號(hào)常量
在程序執(zhí)行過(guò)程中,其值不發(fā)生改變的量稱為常量,。
直接常量(字面常量):
整型常量:12,、0、-3,;
實(shí)型常量:4.6,、-1.23;
字符常量:'a’,、'b’。
標(biāo)識(shí)符:用來(lái)標(biāo)識(shí)變量名,、符號(hào)常量名,、函數(shù)名、數(shù)組名,、類型名,、文件名的有效字符
序列,。
符號(hào)常量:用標(biāo)示符代表一個(gè)常量。在C語(yǔ)言中,,可以用一個(gè)標(biāo)識(shí)符來(lái)表示一個(gè)常量,,
稱之為符號(hào)常量。
符號(hào)常量在使用之前必須先定義,,其一般形式為:
#define 標(biāo)識(shí)符常量
其中#define 也是一條預(yù)處理命令(預(yù)處理命令都以"#"開(kāi)頭),,稱為宏定義命令(在
后面預(yù)處理程序中將進(jìn)一步介紹),其功能是把該標(biāo)識(shí)符定義為其后的常量值,。一經(jīng)定
義,,以后在程序中所有出現(xiàn)該標(biāo)識(shí)符的地方均代之以該常量值。
習(xí)慣上符號(hào)常量的標(biāo)識(shí)符用大寫字母,,變量標(biāo)識(shí)符用小寫字母,,以示區(qū)別。
【例 3.1】符號(hào)常量的使用,。
#define PRICE 30
main()
{
int num,total;
num=10,;
total=num* PRICE;
printf(“total=%d”,total);
}
用標(biāo)識(shí)符代表一個(gè)常量,稱為符號(hào)常量,。
符號(hào)常量與變量不同,,它的值在其作用域內(nèi)不能改變,也不能再被賦值,。
使用符號(hào)常量的好處是:
含義清楚,;
能做到“一改全改”。
3.2.2 變量
其值可以改變的量稱為變量,。一個(gè)變量應(yīng)該有一個(gè)名字,,在內(nèi)存中占據(jù)一定的存儲(chǔ)單元。
變量定義必須放在變量使用之前,。一般放在函數(shù)體的開(kāi)頭部分,。要區(qū)分變量名和變量值是兩
個(gè)不同的概念。
3.3 整型數(shù)據(jù)
3.3.1
整型常量就是整常數(shù),。在C語(yǔ)言中,,使用的整常數(shù)有八進(jìn)制、十六進(jìn)制和十進(jìn)制三
種,。
) 十進(jìn)制整常數(shù):十進(jìn)制整常數(shù)沒(méi)有前綴,。其數(shù)碼為 0~9。
常數(shù):
制數(shù)碼),。
在程序中是根據(jù)前綴來(lái)區(qū)分各種進(jìn)制數(shù)的,。因此在書(shū)寫常數(shù)時(shí)不要把前綴弄錯(cuò)造成結(jié)果
不正確。
2) 八進(jìn)制整常數(shù):八進(jìn)制整常數(shù)必須以0 開(kāi)頭,即以0 作為八進(jìn)制數(shù)的前綴,。數(shù)碼取
a 變量名
3 變量值
存 儲(chǔ) 單 元
整型常量的表示方法
1
以下各數(shù)是合法的十進(jìn)制整常數(shù):
237,、-568、65535,、1627,;
以下各數(shù)不是合法的十進(jìn)制整
023 (不能有前導(dǎo)0)、23D (含有非十進(jìn)
值為0~7,。八進(jìn)制數(shù)通常是無(wú)符號(hào)數(shù),。
第 39 頁(yè)

 
以下各數(shù)是合法的八進(jìn)制數(shù):
015(十進(jìn)制為13)、0101(十進(jìn)制為65),、0177777(十進(jìn)制為65535),;
以下
進(jìn)制數(shù)碼)、-0127(出現(xiàn)了負(fù)號(hào)),。
3) 十 9,,A~F 或
數(shù)是合法的十六進(jìn)制整常數(shù):
制為 160)、0XFFFF (十進(jìn)制為65535),;
以下
數(shù)碼),。
4) 的長(zhǎng)度也為 16 位,因此表示的
整常數(shù):
158),、358000L (十進(jìn)制為358000),;
八進(jìn)
10)、077L (十進(jìn)制為63),、0200000L (十進(jìn)制為65536),;
十六進(jìn)制長(zhǎng)整常數(shù):
21)、0XA5L (十進(jìn)制為165),、0X10000L (十進(jìn)制為65536),。
長(zhǎng)整
C編
或“u”。
u,0x38Au,235Lu 均為無(wú)符號(hào)數(shù),。
前綴,,后綴可同時(shí)使用以表示各種類型的數(shù)。如 0XA5Lu 表示十六進(jìn)制無(wú)符號(hào)長(zhǎng)
整數(shù)
3.3.2 整型變量
1. 整型數(shù)據(jù)在內(nèi)存中的存放形式
i
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
各數(shù)不是合法的八進(jìn)制數(shù):
256(無(wú)前綴0),、03A2(包含了非八
六進(jìn)制整常數(shù):十六進(jìn)制整常數(shù)的前綴為0X 或0x,。其數(shù)碼取值為0~
a~f。
以下各
0X2A(十進(jìn)制為42),、0XA0 (十進(jìn)
各數(shù)不是合法的十六進(jìn)制整常數(shù):
5A (無(wú)前綴0X),、0X3H (含有非十六進(jìn)制
整型常數(shù)的后綴:在16 位字長(zhǎng)的機(jī)器上,基本整型
數(shù)的范圍也是有限定的,。十進(jìn)制無(wú)符號(hào)整常數(shù)的范圍為0~65535,,有符號(hào)數(shù)為
-32768~+32767,。八進(jìn)制無(wú)符號(hào)數(shù)的表示范圍為0~0177777。十六進(jìn)制無(wú)符號(hào)數(shù)
的表示范圍為0X0~0XFFFF 或0x0~0xFFFF,。如果使用的數(shù)超過(guò)了上述范圍,就
必須用長(zhǎng)整型數(shù)來(lái)表示,。長(zhǎng)整型數(shù)是用后綴“L”或“l(fā)”來(lái)表示的,。
例如:
十進(jìn)制長(zhǎng)
158L (十進(jìn)制為
制長(zhǎng)整常數(shù):
012L (十進(jìn)制為
0X15L (十進(jìn)制為
數(shù)158L 和基本整常數(shù)158 在數(shù)值上并無(wú)區(qū)別。但對(duì)158L,,因?yàn)槭情L(zhǎng)整型量,,
譯系統(tǒng)將為它分配4 個(gè)字節(jié)存儲(chǔ)空間。而對(duì)158,,因?yàn)槭腔菊?,只分? 個(gè)字
節(jié)的存儲(chǔ)空間。因此在運(yùn)算和輸出格式上要予以注意,,避免出錯(cuò),。
無(wú)符號(hào)數(shù)也可用后綴表示,整型常數(shù)的無(wú)符號(hào)數(shù)的后綴為“U”
例如:
358
A5,,其十進(jìn)制為165,。
如果定義了一個(gè)整型變量i:
int i;
i=10;
10
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
第 40

00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 01
unsigned int 型:
00 00 00 00 00 00 11 01
unsigned short int 型:
00 00 00 00 00 00 11 01
unsigned long int 型:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 01
3. 整型變量的定義
變量定義的一般形式為:
類型說(shuō)明符 變量名標(biāo)識(shí)符,變量名標(biāo)識(shí)符,,...,;
例如:
int a,b,c; (a,b,c 為整型變量)
long x,y; (x,y 為長(zhǎng)整型變量)
unsigned p,q; (p,q 為無(wú)符號(hào)整型變量)
在書(shū)寫變量定義時(shí),應(yīng)注意以下幾點(diǎn):
允許在一個(gè)類型說(shuō)明符后,,定義多個(gè)相同類型的變量,。各變量名之間用逗號(hào)間隔。
類型說(shuō)明符與變量名之間至少用一個(gè)空格間隔,。
最后一個(gè)變量名之后必須以“,;”號(hào)結(jié)尾。
變量定義必須放在變量使用之前,。一般放在函數(shù)體的開(kāi)頭部分,。
【例 3.2】整型變量的定義與使用。
main()
{
int a,b,c,d;
unsigned u;
a=12;b=-24;u=10;
c=a+u;d=b+u;
printf(“a+u=%d,b+u=%d\n”,c,d);
}
4. 整型數(shù)據(jù)的溢出
【例 3.3】整型數(shù)據(jù)的溢出,。
main()
{
int a,b;
a=32767;
b=a+1;
printf("%d,%d\n",a,b);
}
32767:
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
第42 頁(yè)
 
-32768
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
【例3.4】
main(){
long x,y;
int a,b,c,d;
x=5;
y=6;
a=7;
b=8;
c=x+a;
d=y+b;
printf("c=x+a=%d,d=y+b=%d\n",c,d);
}
從程序中可以看到:x, y 是長(zhǎng)整型變量,,a, b 是基本整型變量。它們之間允許進(jìn)行運(yùn)算,,
運(yùn)算結(jié)果為長(zhǎng)整型,。但c,d 被定義為基本整型,,因此最后結(jié)果為基本整型,。本例說(shuō)明,,不
同類型的量可以參與運(yùn)算并相互賦值。其中的類型轉(zhuǎn)換是由編譯系統(tǒng)自動(dòng)完成的,。有關(guān)類型
轉(zhuǎn)換的規(guī)則將在以后介紹,。
3.4 實(shí)型數(shù)據(jù)
3.4.1 實(shí)型常量的表示方法
實(shí)型也稱為浮點(diǎn)型。實(shí)型常量也稱為實(shí)數(shù)或者浮點(diǎn)數(shù),。在C語(yǔ)言中,,實(shí)數(shù)只采用十進(jìn)
制。它有二種形式:十進(jìn)制小數(shù)形式,,指數(shù)形式,。
1) 十進(jìn)制數(shù)形式:由數(shù)碼 0~ 9 和小數(shù)點(diǎn)組成。
例如:
0.0,、25.0,、5.789、0.13,、5.0,、300.、-267.8230
等均為合法的實(shí)數(shù),。注意,,必須有小數(shù)點(diǎn)。
2) 指數(shù)形式:由十進(jìn)制數(shù),,加階碼標(biāo)志“e”或“E”以及階碼(只能為整數(shù),,可以帶符
號(hào))組成。
其一般形式為:
a E n(a 為十進(jìn)制數(shù),,n 為十進(jìn)制整數(shù))
其值為 a*10n,。
如:
2.1E5 (等于2.1*105)
3.7E-2 (等于3.7*10-2)
0.5E7 (等于0.5*107)
-2.8E-2 (等于-2.8*10-2)
以下不是合法的實(shí)數(shù):
345 (無(wú)小數(shù)點(diǎn))
第43 頁(yè)
E7 (階碼標(biāo)志E 之前無(wú)數(shù)字)
-5 (無(wú)階碼標(biāo)志)
53.-E3 (負(fù)號(hào)位置不對(duì))
2.7E (無(wú)階碼)
標(biāo)準(zhǔn)C允許浮點(diǎn)數(shù)使用后綴。后綴為“f”或“F”即表示該數(shù)為浮點(diǎn)數(shù),。如356f 和356.
是等價(jià)的,。
【例 3.5】說(shuō)明了這種情況。
main(){
printf("%f\n ",356.);
printf("%f\n ",356);
printf("%f\n ",356f);
}


 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多