版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 C C語言的數(shù)據(jù)類型簡介語言的數(shù)據(jù)類型簡介 幾個(gè)基本概念幾個(gè)基本概念 C C語言的三種基本數(shù)據(jù)類型語言的三種基本數(shù)據(jù)類型 基本運(yùn)算符和表達(dá)式基本運(yùn)算符和表達(dá)式 C C基本語句基本語句 數(shù)據(jù)的輸出數(shù)據(jù)的輸出 數(shù)據(jù)的輸入數(shù)據(jù)的輸入 簡單程序設(shè)計(jì)舉例簡單程序設(shè)計(jì)舉例第第3 3章章 基本程序語句基本程序語句C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句2 字符型(字符型(charchar) 整型(整型(short,int,long,unsignedshort,int,long,unsigned) 單精度型(單精度型(floatfloat) 實(shí)型實(shí)型 雙精度型(雙精度型(doubledouble
2、) 枚舉類型(枚舉類型(enumenum) 數(shù)組類型(數(shù)組類型( ) 構(gòu)造類型構(gòu)造類型 結(jié)構(gòu)體類型(結(jié)構(gòu)體類型(structstruct) 共用體類型(共用體類型(unionunion) 指針類型(指針類型(* *) 空類型(空類型(voidvoid)基本類型基本類型數(shù)據(jù)類型數(shù)據(jù)類型3.1 C3.1 C語言的數(shù)據(jù)類型簡介語言的數(shù)據(jù)類型簡介C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句33.23.2幾個(gè)基本概念幾個(gè)基本概念 一、標(biāo)識(shí)符標(biāo)識(shí)符 1標(biāo)識(shí)符標(biāo)識(shí)符:是用來標(biāo)識(shí)名稱的,可以用來標(biāo)識(shí)變量名、符號常量名、函數(shù)名、類型名、數(shù)組名、文件名等。C語言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成,且第
3、一個(gè)字符必須是字母或下劃線。 如:Day ,month ,student ,name_1 ,s2 ,_12 ,_t13 注意:注意:C C語言中大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符,語言中大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符,大寫字母大寫字母A A與小寫字母與小寫字母a a則表示不同的標(biāo)識(shí)符。則表示不同的標(biāo)識(shí)符。 2標(biāo)識(shí)符的分類標(biāo)識(shí)符的分類 關(guān)鍵字關(guān)鍵字分為三類分為三類 預(yù)定義標(biāo)識(shí)符預(yù)定義標(biāo)識(shí)符 用戶標(biāo)識(shí)符用戶標(biāo)識(shí)符 C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句4二、常量:常量是指在程序運(yùn)行中二、常量:常量是指在程序運(yùn)行中, ,其數(shù)值不能被改變的其數(shù)值不能被改變的量量1 1直接
4、常量直接常量 :是在程序中直接引用的數(shù)據(jù):是在程序中直接引用的數(shù)據(jù) 2 2符號常量符號常量 符號常量是用標(biāo)識(shí)符來代表一個(gè)數(shù)據(jù)符號常量是用標(biāo)識(shí)符來代表一個(gè)數(shù)據(jù) 符號常量的定義形式符號常量的定義形式: : #define #define 符號常量標(biāo)識(shí)符符號常量標(biāo)識(shí)符 常量數(shù)據(jù)常量數(shù)據(jù) 例如例如: #define PI 3.14159 : #define PI 3.14159 C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句5三、變量三、變量 變量是指以標(biāo)識(shí)符為名字,其值可以改變的量。變量是指以標(biāo)識(shí)符為名字,其值可以改變的量。 變量分為整型、實(shí)型、字符型等。變量分為整型、實(shí)型、字符型等。 變量的
5、定義形式:類型標(biāo)識(shí)符變量的定義形式:類型標(biāo)識(shí)符 變量名變量名1 ,1 ,變量名變量名2,2,變量名變量名3.3.; 變量的初始化:在定義變量的同時(shí)給變量一個(gè)初始值。變量的初始化:在定義變量的同時(shí)給變量一個(gè)初始值。 如:如: int a=5, b=3; int a=5, b=3; 注意:在同一程序塊中,變量不能被重復(fù)定義;注意:在同一程序塊中,變量不能被重復(fù)定義; 使用變量時(shí)必須使用變量時(shí)必須“先定義,后使用先定義,后使用” 。C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句61、定義形式:類型標(biāo)識(shí)符、定義形式:類型標(biāo)識(shí)符: 變量名變量名1 ,變量名變量名2,變量名變量名3.; 例如例如:i
6、nt a,b,c ; float x,y; char c1,c2; 或或 int c1,c2; 自己設(shè)定,滿足自己設(shè)定,滿足標(biāo)識(shí)符的規(guī)定。標(biāo)識(shí)符的規(guī)定。如:如:int,int,float,charfloat,char;不可??;不可省2、變量初始化變量初始化 在說明變量的同時(shí)給變量一個(gè)初始值。在說明變量的同時(shí)給變量一個(gè)初始值。 例如例如int a=5, b=3; int a=5, b=3; int a=b=c=3; int a=b=c=3; int a,b,c; a=b=c=3; int a,b,c; a=b=c=3; C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句7一、整型數(shù)據(jù)一、整型數(shù)
7、據(jù)1 1、整型常量:、整型常量: (1) (1) 十進(jìn)制形式十進(jìn)制形式: :與數(shù)學(xué)上的整數(shù)表示相同;與數(shù)學(xué)上的整數(shù)表示相同; 例如例如: 12, -100, 0: 12, -100, 0 (2) (2) 八進(jìn)制形式八進(jìn)制形式: :在數(shù)碼前加數(shù)字在數(shù)碼前加數(shù)字0 0; 例如例如: 012=1: 012=1* *8 81 1+2+2* *8 80 0=10(=10(十進(jìn)制)十進(jìn)制) (3) (3) 十六進(jìn)制形式十六進(jìn)制形式: :在數(shù)碼前加在數(shù)碼前加0X0X(數(shù)字?jǐn)?shù)字0和字母和字母X)。)。 例如例如: 0 x12=1: 0 x12=1* *16161 1+2+2* *16160 0=18(=18(
8、十進(jìn)制)十進(jìn)制) * 八進(jìn)制的數(shù)碼范圍為八進(jìn)制的數(shù)碼范圍為07; 018 * 十六進(jìn)制的十六進(jìn)制的數(shù)碼除了數(shù)字?jǐn)?shù)碼除了數(shù)字0 09 9外外, , 還使用英文字母還使用英文字母a f (或或A F)表示表示1015。 如:如:0 x1e 3.33.3C C語言的三種基本數(shù)據(jù)類型語言的三種基本數(shù)據(jù)類型 C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句82 2、整型變量、整型變量()整型變量分類()整型變量分類根據(jù)數(shù)據(jù)所占的二進(jìn)制位數(shù)分為根據(jù)數(shù)據(jù)所占的二進(jìn)制位數(shù)分為:int:int、shortshort、longlong; 同樣存儲(chǔ)長度的數(shù)據(jù)又分同樣存儲(chǔ)長度的數(shù)據(jù)又分unsignedunsign
9、ed、signedsigned; 故可組合出六種類型。故可組合出六種類型。()整型數(shù)據(jù)的存儲(chǔ)方式()整型數(shù)據(jù)的存儲(chǔ)方式 數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存儲(chǔ)的。數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存儲(chǔ)的。C C語言中,一個(gè)語言中,一個(gè)intint型數(shù)據(jù)通常用兩個(gè)字節(jié)存放,其中最高位用來存放型數(shù)據(jù)通常用兩個(gè)字節(jié)存放,其中最高位用來存放整數(shù)的符號,若最高位為整數(shù)的符號,若最高位為0 0則表示該數(shù)為正數(shù),若最高則表示該數(shù)為正數(shù),若最高位為位為1 1則表示該數(shù)為負(fù)數(shù)。如:則表示該數(shù)為負(fù)數(shù)。如:int i=-1; int i=-1; 則存放形式則存放形式為:為:1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
10、 1C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句93、值域:、值域: 由機(jī)器中數(shù)據(jù)的存儲(chǔ)長度決定。由機(jī)器中數(shù)據(jù)的存儲(chǔ)長度決定。 如如Turbo C中,有中,有 short(2字節(jié)字節(jié))int(2字節(jié)字節(jié)) long(4字節(jié)字節(jié)) 關(guān)鍵字關(guān)鍵字 所占位數(shù)所占位數(shù) 取值范圍取值范圍 short 16 -32768short 16 -327683276732767 unsigned short 16 0 unsigned short 16 06553565535 int 16 -32768 int 16 -327683276732767 unsigned 16 0 unsigned 16 0
11、6553565535 long 32 -2147483648 long 32 -214748364821474836472147483647 unsigned long 32 unsigned long 32 0 042949672954294967295C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句10 mainmain( ) int x int x,y y,z z,w w; / /* *定義定義x x,y y,z z,w w為整型變量為整型變量* */ / unsigned int k unsigned int k; / /* *定義定義k k為無符號整型變量為無符號整型變量* */
12、 / x=10 x=10;y=-20y=-20;k=30k=30; z=x+kz=x+k;w=y+kw=y+k; printfprintf(“x+k=%dx+k=%d,y+k=%dny+k=%dn”,z z,w w); ; 例例3.1:程序運(yùn)行結(jié)果為:程序運(yùn)行結(jié)果為: x+k=40 x+k=40,y+k=10y+k=10C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句111 1、實(shí)型常量:、實(shí)型常量:(1) (1) 十進(jìn)制小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成;十進(jìn)制小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成; 例如例如: 3.4, 4., .3: 3.4, 4., .3。(2) (2) 指數(shù)形式:指數(shù)形式:“十
13、進(jìn)制小數(shù)十進(jìn)制小數(shù)”+ +“ e( e(或或E)E)”+ +“十進(jìn)制數(shù)整十進(jìn)制數(shù)整數(shù)數(shù)”。 例如例如: 12.5e-6: 12.5e-6 表示表示12.512.51010-6 。 小數(shù)點(diǎn)不能單獨(dú)出現(xiàn);小數(shù)點(diǎn)不能單獨(dú)出現(xiàn); 0. .0 . 0. .0 . e e或或E E的兩邊必須有數(shù),且其后面必須為整數(shù);的兩邊必須有數(shù),且其后面必須為整數(shù); 如:如: 6E0.2 6E0.2 e5 e5 2、實(shí)型變量(分類和值域):、實(shí)型變量(分類和值域): 關(guān)鍵字關(guān)鍵字 字節(jié)數(shù)字節(jié)數(shù) 取值范圍取值范圍 精度精度( (位位) ) float 4 3.4 float 4 3.41010-38 3.43.41010
14、38 7 7 double 8 1.7 double 8 1.71010-308 1.71.71010308 1515注意注意二、實(shí)型數(shù)據(jù)C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句121 1、常量:、常量: (1) (1) 用單引號括起來的一個(gè)字符;如:用單引號括起來的一個(gè)字符;如:A、 1、?等等。 (2) (2) 用單引號括起來的由反斜杠用單引號括起來的由反斜杠()()引導(dǎo)的轉(zhuǎn)義字符。引導(dǎo)的轉(zhuǎn)義字符。 字符形式字符形式 功能功能 n n 換行換行 t t 橫向跳格橫向跳格 b b 退格退格 r r 回車回車 反斜杠字符反斜杠字符 單引號字符單引號字符 ddd 8ddd 8進(jìn)制數(shù)表
15、示的進(jìn)制數(shù)表示的ASCIIASCII碼對應(yīng)的字符碼對應(yīng)的字符 xhh 16xhh 16進(jìn)制數(shù)表示的進(jìn)制數(shù)表示的ASCIIASCII碼對應(yīng)的字符碼對應(yīng)的字符三、字符型數(shù)據(jù)C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句13例如:字符例如:字符A A的的ASCIIASCII碼為:碼為: 65D65D(十進(jìn)制)(十進(jìn)制)=41H=41H(十六進(jìn)制)(十六進(jìn)制)=101Q=101Q(八進(jìn)制)(八進(jìn)制) 字符字符A A可以表示為可以表示為A A、x41x41、101101。2、變量的分類和、變量的分類和值域值域:分類:分類: char char 和和 unsigned charunsigned ch
16、ar;值域:每個(gè)字符型數(shù)據(jù)在內(nèi)存中占一個(gè)字節(jié);包括值域:每個(gè)字符型數(shù)據(jù)在內(nèi)存中占一個(gè)字節(jié);包括ASCIIASCII字字符表中的所有字符(可顯示字符和非顯示字符)。符表中的所有字符(可顯示字符和非顯示字符)。3 3、字符串常量:、字符串常量: 是用一對雙引號括起來的字符序列。是用一對雙引號括起來的字符序列。 如:如:“SHANGHAISHANGHAI”,“FGHijk”,“CHINA”。 字符串常量的存放:字符串常量的存放:每個(gè)字符均以其每個(gè)字符均以其ASCII碼存放,且在最后加一個(gè)碼存放,且在最后加一個(gè)“空字符空字符” 注意注意 a a與與“a a”的區(qū)別。的區(qū)別。C語言程序設(shè)計(jì)2009-3-
17、11第3章 基本程序語句14 120 、 -100、 0; 0120、 072; 0 xFFFF、 0 x1e、0X28AF,0XED4 ; 120L, 200L ; 長整型常量長整型常量 3.14、 -3.1、 5.12E-6 ; a 、#、n、101 ; 099、12f、 0 xg 、48EA ; 019.5 、1e-08; 實(shí)型常量只能用十進(jìn)制形式表示實(shí)型常量只能用十進(jìn)制形式表示 2.1E10.2、E-6、6.4E+4.8、E9 ; changsha 、+?ab ; 、p 、ab ;課堂練習(xí):課堂練習(xí):請判斷這些常量正確與否:請判斷這些常量正確與否:C語言程序設(shè)計(jì)2009-3-11第3章
18、 基本程序語句15 一、一、C C運(yùn)算符簡介運(yùn)算符簡介 按操作功能運(yùn)算符大按操作功能運(yùn)算符大致可分為致可分為算術(shù)運(yùn)算符、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)關(guān)系運(yùn)算符、邏輯運(yùn)算符、按位運(yùn)算符以算符、按位運(yùn)算符以及其它運(yùn)算符如賦值及其它運(yùn)算符如賦值運(yùn)算符、運(yùn)算符、條件運(yùn)算符、條件運(yùn)算符、逗號運(yùn)算符等。逗號運(yùn)算符等。 表達(dá)式是由操表達(dá)式是由操作數(shù)和運(yùn)算符組成的作數(shù)和運(yùn)算符組成的序列。序列。 3.43.4基本運(yùn)算符和表達(dá)式基本運(yùn)算符和表達(dá)式 算術(shù)運(yùn)算符算術(shù)運(yùn)算符 + - + - * * / % / %關(guān)系運(yùn)算符關(guān)系運(yùn)算符 = = = = = != !=邏輯運(yùn)算符邏輯運(yùn)算符 ! & & 位運(yùn)算符位運(yùn)算符 |
19、 &| &賦值運(yùn)算符賦值運(yùn)算符 = = 條件運(yùn)算符條件運(yùn)算符 ?: :逗號運(yùn)算符逗號運(yùn)算符 ,指針運(yùn)算符指針運(yùn)算符 * * 和和 & &求字節(jié)數(shù)運(yùn)算符求字節(jié)數(shù)運(yùn)算符 sizeofsizeof強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符分量運(yùn)算符分量運(yùn)算符 下標(biāo)運(yùn)算符下標(biāo)運(yùn)算符 其它運(yùn)算符號其它運(yùn)算符號 C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句16 二二、 算術(shù)運(yùn)算符和算術(shù)表達(dá)式 1 1、 基本的算術(shù)運(yùn)算符基本的算術(shù)運(yùn)算符 +(+(加加) ):3+43+4、 +3+3 -( -(減減) ):3-53-5、 -5-5 * *( (乘乘) ):3 3* *5 5 /( /(除除) ):5/25/
20、2的值為的值為2 2;5.0/25.0/2的值為的值為2.52.5; %(%(取余取余) ):5%35%3的值為的值為2 2; -5%3-5%3的值為的值為-2-2; 5%(-3)5%(-3)的值為的值為2 2; -5%(-3)-5%(-3)的值為的值為-2-2; 12.3%3 12.3%3 若若a a能被能被b b整除,則有:整除,則有:a%b=0 a%b=0 C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句17 2 2、算術(shù)表達(dá)式、算術(shù)表達(dá)式 用算術(shù)運(yùn)算符和括符將操作數(shù)連接起來的式子。用算術(shù)運(yùn)算符和括符將操作數(shù)連接起來的式子。 優(yōu)先級:()優(yōu)先級:() * *、/ /、% +% +、-
21、 - 結(jié)合性:從左至右;結(jié)合性:從左至右; 表達(dá)式的值:表達(dá)式的值: 數(shù)值型數(shù)值型(int(int、longlong、unsignedunsigned、double)double);例如:例如: 已知:已知: float a=2.0;float a=2.0; int b=6,c=3; int b=6,c=3; 求解:求解: a a* *b/c-1.5+b/c-1.5+a a+fabs(-5)=+fabs(-5)=?C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句18 double float long unsigned int char,short float a=2.0; int b =
22、6,c =3;float a=2.0; int b =6,c =3; a a* *b/c -1.5 +b/c -1.5 +a a +fabs(-5) +fabs(-5)12.0/312.0/354.0 - 1.54.0 - 1.52.5 + 97(int)2.5 + 97(int)99.5 + 599.5 + 5104.5(double)104.5(double)C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句19 1 1、賦值運(yùn)算符、賦值運(yùn)算符 = = 2 2、賦值表達(dá)式:用賦值運(yùn)算符將變量和表達(dá)式連接起來、賦值表達(dá)式:用賦值運(yùn)算符將變量和表達(dá)式連接起來的式子的式子一般形式為:一般形式為
23、: 賦值運(yùn)算符賦值運(yùn)算符 優(yōu)先級:優(yōu)先級: 賦值運(yùn)算符的優(yōu)先級比算術(shù)運(yùn)算符低。賦值運(yùn)算符的優(yōu)先級比算術(shù)運(yùn)算符低。結(jié)合性:自右至左(右結(jié)合性)。結(jié)合性:自右至左(右結(jié)合性)。求值規(guī)則:求值規(guī)則: 先計(jì)算先計(jì)算“= =”右邊表達(dá)式的值,再將其值賦給右邊表達(dá)式的值,再將其值賦給左邊的變量。左邊的變量。表達(dá)式的值:賦值號左邊變量的值即為賦值表達(dá)式的值。表達(dá)式的值:賦值號左邊變量的值即為賦值表達(dá)式的值。例如:例如:(1) x=(y=12)/4 (1) x=(y=12)/4 y y值為值為1212,x x值為值為3 3,表達(dá)式的值為,表達(dá)式的值為3 3 (2) x=y=12/4 (2) x=y=12/4
24、y y值為值為3 3,x x值為值為3 3,表達(dá)式的值為,表達(dá)式的值為3 3 (3) x=(y=12/4) (3) x=(y=12/4) y y值為值為3 3,x x值為值為3 3,表達(dá)式的值為,表達(dá)式的值為3 3 (4) (x=y)=12/4 (4) (x=y)=12/4 三、賦值運(yùn)算符和賦值表達(dá)式C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句20 3 3、復(fù)合賦值運(yùn)算符、復(fù)合賦值運(yùn)算符 * *= =、/=/=、 %=%=、 +=+=、 -=, =-=, =, &=, &=、 =、 = = 注意注意: : 復(fù)合運(yùn)算符是一個(gè)運(yùn)算符復(fù)合運(yùn)算符是一個(gè)運(yùn)算符, ,但功能上但功能上, ,是兩個(gè)運(yùn)
25、算符功是兩個(gè)運(yùn)算符功能的組合。能的組合。例如例如: : (1) a+=b (1) a+=b 相當(dāng)于相當(dāng)于 a=a+ba=a+b a a* *=b =b 相當(dāng)于相當(dāng)于 a=aa=a* *b b a a* *=b+c =b+c 相當(dāng)于相當(dāng)于 a=aa=a* *(b+c) (b+c) 而不是而不是 a=a a=a* *b+cb+c (2) (2) 設(shè)設(shè)a=12a=12,計(jì)算表達(dá)式,計(jì)算表達(dá)式a+=a-=aa+=a-=a* *1212和和a+=a-=aa+=a-=a* *=12=12 的值的值C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句214賦值時(shí)的類型轉(zhuǎn)換賦值時(shí)的類型轉(zhuǎn)換 實(shí)型數(shù)據(jù)賦給整型(
26、字符型)變量:去掉小數(shù)部分; 如:int f=23.457; 變量f的值為23。整型(字符型)數(shù)據(jù)賦給實(shí)型變量: 補(bǔ)足有效位。 字符型數(shù)據(jù)賦給整型變量:將字符數(shù)據(jù)(8位)放到整型變量的低8位中,高8位進(jìn)行“符號擴(kuò)展”。 一個(gè)int、short、long、unsigned型數(shù)據(jù)賦給一個(gè)char 型變量:截取低8位賦給字符型變量。 帶符號的整型數(shù)據(jù)(int型)賦給long型變量:進(jìn)行符號擴(kuò)展。 帶符號的long型數(shù)據(jù)賦給int型變量時(shí),只截取低16位賦給int變量。 unsigned int 型數(shù)據(jù)賦給long int變量:高位補(bǔ)0。 int 型數(shù)據(jù)賦給unsigned int變量:內(nèi)存情況不變,
27、但若是負(fù)數(shù),其符號位也作為數(shù)值賦給unsigned 型變量。 C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句225 5、自增與自減運(yùn)算符、自增與自減運(yùn)算符 +i,-i+i,-i:先使變量:先使變量i i的值增的值增1 1(或減(或減1 1),再使用變),再使用變量量i i的值作為整個(gè)表達(dá)式的值來參加其它的運(yùn)算;的值作為整個(gè)表達(dá)式的值來參加其它的運(yùn)算; i+,i-i+,i-:先使用變量:先使用變量i i的值進(jìn)行其它運(yùn)算,再使變量的值進(jìn)行其它運(yùn)算,再使變量i i的值增的值增1 1(或減(或減1 1)。)。等價(jià)于等價(jià)于 i=i+1;i=i+1;j=i;i+; j=i;i+; 所以所以i i的值
28、為的值為4 4,j j的值為的值為3 3。i+;j=i; i+;j=i; 所以所以i i的值為的值為4 4,j j的值為的值為4 4。例如:例如:(1) i+;(1) i+; +i; +i;(2) i=3;(2) i=3; j=i+; j=i+; (3) i=3;(3) i=3; j=+i; j=+i;C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句23 結(jié)合性:自右至左。結(jié)合性:自右至左。 如:如: i = 2; j = -i+; i = 2; j = -i+; 等價(jià)于:等價(jià)于:j=-(i+); j=-(i+); 即:即: j=-j=-i;i+; i;i+; “+”與與”- -“是同優(yōu)先
29、級是同優(yōu)先級 所以所以i i的值為的值為3 3,j j的值為的值為-2-2。C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句24 /*pro03_02.c */#include main() int a,b; a=5;b=5; b=b+a+; printf(a=%d,b=%dn,a,b); a=5;b=5; b=+a-b; printf(a=%d,b=%dn,a,b); 運(yùn)行結(jié)果運(yùn)行結(jié)果 a=6,b=10a=6,b=10a=6,b=1a=6,b=1C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句25 1 1、6 6種關(guān)系運(yùn)算符:種關(guān)系運(yùn)算符: = = != = = != 2 2、關(guān)系表
30、達(dá)式:用關(guān)系運(yùn)算符將表達(dá)式連接起來的式子、關(guān)系表達(dá)式:用關(guān)系運(yùn)算符將表達(dá)式連接起來的式子 優(yōu)先級:優(yōu)先級: ( = )( = != )( = )( = != ) 結(jié)合性:自左至右;結(jié)合性:自左至右; 表達(dá)式的值:表達(dá)式的值: 若為真,則結(jié)果為若為真,則結(jié)果為1 1; 若為假,則結(jié)果為若為假,則結(jié)果為0 0。35 35 的值為的值為 0 0; 32 32 的值為的值為 0 0;3+(43)3+(43)* *4 4的值為的值為 3 3;3+433+43 X=63 的值為的值為1 1。算術(shù)運(yùn)算符優(yōu)先級高于關(guān)系運(yùn)算符算術(shù)運(yùn)算符優(yōu)先級高于關(guān)系運(yùn)算符關(guān)系運(yùn)算符優(yōu)先級高于賦值運(yùn)算符關(guān)系運(yùn)算符優(yōu)先級高于賦值運(yùn)
31、算符 例如例如四、關(guān)系運(yùn)算符和關(guān)系表達(dá)式C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句26 1 1、3 3種邏輯運(yùn)算符:種邏輯運(yùn)算符:& | !& | ! 邏輯量:可以是整型、實(shí)型、字符型和指針類型,邏輯量:可以是整型、實(shí)型、字符型和指針類型, 0 0假假 非非0 0真;真; 如:如:0 0,0.00.0,00,NULL,NULL都代表假。都代表假。 2 2、邏輯表達(dá)式:用邏輯運(yùn)算符將表達(dá)式連接起來的式子邏輯表達(dá)式:用邏輯運(yùn)算符將表達(dá)式連接起來的式子 優(yōu)先級:優(yōu)先級: !&|!&| 結(jié)合性:自左至右;結(jié)合性:自左至右; 表達(dá)式的值:表達(dá)式的值: 若為真,則結(jié)果為若為真,則結(jié)果為1 1;
32、若為假,則結(jié)果為若為假,則結(jié)果為0 0。 五、邏輯運(yùn)算符和邏輯表達(dá)式C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句27 int a=5; float b=3.5; !a (0) !(a b) (1) a & b (1) !a&b (0) !a&!b (0) !(a&b) (0) &:只要有一個(gè)為假,結(jié)果則為假;只要有一個(gè)為假,結(jié)果則為假; a b (1) !a|b (1) !a|!b (0) !(a|b) (0) |:只要有一個(gè)為真,結(jié)果則為真;只要有一個(gè)為真,結(jié)果則為真; (a 0) (0) (a 0) (1)例如例如C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句28 ! ! 高
33、高 算術(shù)運(yùn)算符算術(shù)運(yùn)算符 關(guān)系運(yùn)算符關(guān)系運(yùn)算符 &和和| | 賦值運(yùn)算符賦值運(yùn)算符 低低 4 - 04 - 01 & 21 & 28 48 3 & 2 | 8 3 & 2 | 8 4 - !5C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句29注意:注意: 在邏輯表達(dá)式的求解中,并不是所有的邏輯運(yùn)算符在邏輯表達(dá)式的求解中,并不是所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出都被執(zhí)行,只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出表達(dá)式的解時(shí),才執(zhí)行該運(yùn)算符。表達(dá)式的解時(shí),才執(zhí)行該運(yùn)算符。例如:例如: (1)a = 0; b = 1; (1)a = 0; b = 1; c = a+
34、 & ( b = 3 ); c = a+ & ( b = 3 ); 結(jié)果結(jié)果: a: a為為1,b1,b為為1,c1,c為為0 0。 (2)a = 1; b = 1; c=0;(2)a = 1; b = 1; c=0; d = -a d = -a b- b- (c = b+3 ); (c = b+3 ); 結(jié)果結(jié)果: a: a為為0,b0,b為為0,c0,c為為0,d0,d為為1 1。C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句30邏輯表達(dá)式一般用于控制語句中的條件:邏輯表達(dá)式一般用于控制語句中的條件:例如:例如: (1) n(1) n是小于是小于m m的偶數(shù):的偶數(shù): nm&n%2=
35、0nm&n%2=0 (2)year (2)year是閏年是閏年: : (能被(能被4 4整除但不能被整除但不能被100100整除或能被整除或能被400400整除)整除) year %4=0&year%100!=0|year%400=0C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句31 1 1、條件運(yùn)算符、條件運(yùn)算符 ? ?和和: ,: ,它們與三個(gè)操作數(shù)組組成三元運(yùn)算。它們與三個(gè)操作數(shù)組組成三元運(yùn)算。 2 2、 形式為形式為: : ? ? :3 3 3、 求值規(guī)則和表達(dá)式的值求值規(guī)則和表達(dá)式的值: : 真真( (非非0),0),求解表達(dá)式求解表達(dá)式2 2 求解表達(dá)式求解表達(dá)式1 1 條件
36、表達(dá)式的值條件表達(dá)式的值 假假(0),(0),求解表達(dá)式求解表達(dá)式3 3例如例如: : int max,a=5;b=3; int max,a=5;b=3; max=ab?a:b max max=ab?a:b max及賦值表達(dá)式的值均為及賦值表達(dá)式的值均為5;5; ab?a:b+1 a 條件條件 賦值賦值 C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句33 5、 結(jié)合性:自右至左;結(jié)合性:自右至左; y = x10 ? x/10 : x0 ? x: -xy = x10 ? x/10 : x0 ? x: -x; 等價(jià)于等價(jià)于: : y = x10 ? x/10 :(x10 ? x/10 :(
37、x0? x: -x); 當(dāng)當(dāng)x x的值為的值為1515時(shí),表達(dá)式的結(jié)果為:時(shí),表達(dá)式的結(jié)果為:1 1 當(dāng)當(dāng)x x的值為的值為5 5時(shí),表達(dá)式的結(jié)果為:時(shí),表達(dá)式的結(jié)果為:-5-5七、逗號運(yùn)算符:七、逗號運(yùn)算符: , 形式形式: : 逗號表達(dá)式逗號表達(dá)式1 1,逗號表達(dá)式,逗號表達(dá)式2 2,逗號表達(dá)式,逗號表達(dá)式n n 求值規(guī)則求值規(guī)則: : 從左至右依次計(jì)算各表達(dá)式的值從左至右依次計(jì)算各表達(dá)式的值; 優(yōu)先級:優(yōu)先級: 最低;最低; 結(jié)合性:自左至右;結(jié)合性:自左至右; 表達(dá)式的值:最后一個(gè)表達(dá)式的值。表達(dá)式的值:最后一個(gè)表達(dá)式的值。C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句34例如:
38、例如: a b y a b y 表達(dá)式表達(dá)式 y=a=4,b=5,a+b; 4 5 4 9y=a=4,b=5,a+b; 4 5 4 9 y=(a=4,b=5,a+b); 4 5 9 9 y=(a=4,b=5,a+b); 4 5 9 9 y=(a=4,b=5),a+b; 4 5 5 9 y=(a=4,b=5),a+b; 4 5 5 9 y=a=(4,b=5),a+b; 5 5 5 10 y=a=(4,b=5),a+b; 5 5 5 10注意注意: : C C語言常用逗號作為分隔符語言常用逗號作為分隔符, , 例如例如: : int a=3,b=4,c=5; int a=3,b=4,c=5; pr
39、intf( printf(“%d,%d,%d%d,%d,%d”,(a,b,c); ,(a,b,c); printf(printf(“%d,%d,%d%d,%d,%d”,a,(a,b,c),c); ,a,(a,b,c),c); 結(jié)果為結(jié)果為3 3,5 5,5 5C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句35 強(qiáng)制類型轉(zhuǎn)換:指將表達(dá)式的類型強(qiáng)制轉(zhuǎn)換為指定的類型,強(qiáng)制類型轉(zhuǎn)換:指將表達(dá)式的類型強(qiáng)制轉(zhuǎn)換為指定的類型, 其一般形式為:其一般形式為: (類型名類型名)表達(dá)式表達(dá)式 其作用:將表達(dá)式的結(jié)果的類型強(qiáng)制轉(zhuǎn)換為類型名所指的其作用:將表達(dá)式的結(jié)果的類型強(qiáng)制轉(zhuǎn)換為類型名所指的類型。類型。 例
40、如例如八、強(qiáng)制類型轉(zhuǎn)換運(yùn)算符八、強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 (int)(3.4+2.8) 的值為6 強(qiáng)制類型轉(zhuǎn)換時(shí),得到所需類型的中間變量,而原來變量的類型不會(huì)改變。 C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句36例如:例如: int a=2,b=5;int a=2,b=5; float x=4.4; float x=4.4; 則有:則有: 表達(dá)式表達(dá)式 結(jié)果結(jié)果 b/a 2b/a 2 (float)b/a 2.5 (float)b/a 2.5 (float)(b/a) 2.0 (float)(b/a) 2.0 (int)x%a+x 4.4 (int)x%a+x 4.4 (int)x%(a+
41、x) (int)x%(a+x) 不合法不合法 C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句37 C語言的語句可分為以下四類:簡單語句語言的語句可分為以下四類:簡單語句(包括輸入(包括輸入/輸出語句)、空語句、復(fù)合輸出語句)、空語句、復(fù)合語句和流程控制語句。簡單語句又有表達(dá)語句和流程控制語句。簡單語句又有表達(dá)式語句和函數(shù)調(diào)用語句。式語句和函數(shù)調(diào)用語句。 本章只介紹簡單語句、空語句和復(fù)合語句本章只介紹簡單語句、空語句和復(fù)合語句的使用。的使用。3.5 C3.5 C基本語句基本語句 C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句38一、一、 簡單語句簡單語句表達(dá)式語句就是一個(gè)表達(dá)式加上一
42、個(gè)分號。表達(dá)式語句就是一個(gè)表達(dá)式加上一個(gè)分號。如:如: A+; x=1; 函數(shù)調(diào)用語句由函數(shù)調(diào)用表達(dá)式加分號構(gòu)成。函數(shù)調(diào)用語句由函數(shù)調(diào)用表達(dá)式加分號構(gòu)成。 printf(“%d”,a);3空語句空語句空語句用一個(gè)分號表示,其一般形式為:空語句用一個(gè)分號表示,其一般形式為: ;C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句39C 語言有豐富的標(biāo)準(zhǔn)函數(shù)庫, 可提供各類函數(shù)供用戶調(diào)用調(diào)用標(biāo)準(zhǔn)庫函數(shù)可完成預(yù)先設(shè)定好的操作. 例如調(diào)用標(biāo)準(zhǔn)庫函數(shù)求數(shù)學(xué)函數(shù)值: sin(x) 、cos(x) 、 exp(x) (求ex ) 、fabs(x) (求x的絕對值)、log(x)(求lnx)等。 C語言程序設(shè)
43、計(jì)2009-3-11第3章 基本程序語句40表達(dá)式語句舉例#include#includemain() int a = 2 , b = 4; float x , y; x = a / 2 + sqrt( b ); /*x=3.0 */ a+ ; /*a=3 */ y = x * a ; /*y=9.0 */ printf(“x=%6.2f, y= %6.2f ”, x, y);C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句41 程序說明注意表達(dá)式類型轉(zhuǎn)換注意賦值類型輸出結(jié)果: x= 3.00, y= 9.00C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句42調(diào)用調(diào)用標(biāo)準(zhǔn)庫函數(shù)要注意
44、以下幾點(diǎn)在程序中要包含相應(yīng)的頭文件例如:#include #include調(diào)用規(guī)則: 函數(shù)名(參數(shù)表)有返回值的函數(shù)要作為表達(dá)式的一部分如:如:Y=sin(1.7);在表達(dá)式中調(diào)用函數(shù)在表達(dá)式中調(diào)用函數(shù),實(shí)際上是轉(zhuǎn)去執(zhí)行一段實(shí)際上是轉(zhuǎn)去執(zhí)行一段預(yù)先設(shè)計(jì)好的程序預(yù)先設(shè)計(jì)好的程序,求出結(jié)果后返回調(diào)用點(diǎn)。求出結(jié)果后返回調(diào)用點(diǎn)。所以函數(shù)的值又叫函數(shù)的返回值。所以函數(shù)的值又叫函數(shù)的返回值。C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句43無返回值的函數(shù)可作為語句調(diào)用。printf(“%d”,a);調(diào)用它不是為了得到返回值(函數(shù)值),是為了完成某項(xiàng)任務(wù)。函數(shù)調(diào)用舉例Y = sin ( 1.12);Y
45、1 = sin ( x );Y2 = 3*sin (x+1.12 ) + sqr(x);Y3 = sin ( sqrt(x+1.12) );C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句44二、 復(fù)合語句:用一對花括號用一對花括號將多條語句組將多條語句組合在一起,在語法上相當(dāng)于一條語句。合在一起,在語法上相當(dāng)于一條語句。 1、一般形式: 內(nèi)部數(shù)據(jù)說明; 語句1; 語句n; 注意:(1)在復(fù)合語句中說明的變量,是局部變量, 僅在 復(fù)合語句中有效。(2)復(fù)合語句的 之后,不能有分號。C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句45復(fù)合語句(程序塊) 示例main( ) int x=1
46、; int x=2; int x=3; printf(“x=%d”, x); printf(“x=%d”, x); printf(“x=%d”, x);C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句463.6 3.6 數(shù)據(jù)的輸出數(shù)據(jù)的輸出 C語言本身不提供輸入輸出語句,得由標(biāo)準(zhǔn)I/O庫函數(shù)提供。輸入輸出庫函數(shù)很豐富,可以從鍵盤、顯示器、磁盤文件和硬件端口進(jìn)行輸入或輸出操作。本節(jié)主要介紹用于顯示器輸出的兩個(gè)函數(shù)。C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句47一、 格式輸出函數(shù)1.格式輸出函數(shù)原型:int printf(char * format ,argument,)stdio.
47、h函數(shù)功能:按規(guī)定格式向輸出設(shè)備(一般為顯示器)輸出數(shù)據(jù),并返回輸出的字符數(shù)。這個(gè)函數(shù)可以輸出多字信息。C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句482.格式輸出函數(shù)的一般形式格式輸出函數(shù)的一般形式printf(“格式控制字符串格式控制字符串”,輸出項(xiàng)表輸出項(xiàng)表);可以是可以是0個(gè)、一個(gè)或多個(gè)輸出項(xiàng)個(gè)、一個(gè)或多個(gè)輸出項(xiàng). 可以是常量或變量表達(dá)式,可以是常量或變量表達(dá)式,用逗號分隔。類型可以是用逗號分隔。類型可以是整型實(shí)型字符型和字符串型整型實(shí)型字符型和字符串型.用雙引號括起來,用雙引號括起來,控制輸出項(xiàng)的格式控制輸出項(xiàng)的格式和輸出一些提示信息和輸出一些提示信息 C語言程序設(shè)計(jì)2009
48、-3-11第3章 基本程序語句493.格式輸出函數(shù)示例程序格式輸出函數(shù)示例程序#include “stdio.h”main()int i = 97;char ch = a;printf (“i=%d,%cn”, i, i ); 兩個(gè)輸出項(xiàng)都是變量兩個(gè)輸出項(xiàng)都是變量i , i , 但以不同的格式輸出但以不同的格式輸出, ,一個(gè)是輸出的整型數(shù)一個(gè)是輸出的整型數(shù), ,一個(gè)輸出的是字符一個(gè)輸出的是字符a. a. 其其格式是由格式是由%d%d與與%c%c控制的控制的.輸出結(jié)果:i =97,aC語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句50int i = 97;char ch = a;printf
49、 (“i =%d ,%cn”, i, i );輸出結(jié)果:i =97,aprintf (“i =%d ,%cn”, i, i );兩個(gè)輸出項(xiàng)都是變量i , 但以不同的格式輸出,一個(gè)是輸出的整型數(shù),一個(gè)輸出的是字符a. 其格式是由,%d與%c控制的.in i = 97;cha = a; (“i =%d ,%cn”, i, i );輸出結(jié)果:i =97,a普通字符,按原樣輸出雙引號括起來的普通字符,在屏幕上原樣輸出。轉(zhuǎn)義字符指明特定的操作,如n表示換行而格式說明部分由%和格式字符串組成,下面詳細(xì)討論。C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句514、格式說明 每個(gè)格式說明都必須以每個(gè)格式說
50、明都必須以“% %”開頭,以一個(gè)格式字符結(jié)束,在開頭,以一個(gè)格式字符結(jié)束,在此之間可以根據(jù)需要插入此之間可以根據(jù)需要插入“長度說明長度說明”、“寬度說明寬度說明”、左對、左對齊符號齊符號“- -”等。等。 格式說明與輸出參數(shù)表要按順序一一對應(yīng),且各輸出項(xiàng)的數(shù)格式說明與輸出參數(shù)表要按順序一一對應(yīng),且各輸出項(xiàng)的數(shù)據(jù)類型要與對應(yīng)的格式字符相符據(jù)類型要與對應(yīng)的格式字符相符 常見的格式字符常見的格式字符 ()d格式符:用來輸出十進(jìn)制整數(shù)。格式符:用來輸出十進(jìn)制整數(shù)。有以下幾種用法:有以下幾種用法:%d,按整型數(shù)據(jù)的實(shí)際長度輸出。,按整型數(shù)據(jù)的實(shí)際長度輸出。%md,按指定寬度,按指定寬度m輸出整型數(shù)據(jù),若
51、數(shù)據(jù)位數(shù)小于輸出整型數(shù)據(jù),若數(shù)據(jù)位數(shù)小于m,則數(shù)據(jù)靠右,則數(shù)據(jù)靠右對齊,左邊補(bǔ)空格,否則按實(shí)際長度輸出。對齊,左邊補(bǔ)空格,否則按實(shí)際長度輸出。%-md,按指定寬度,按指定寬度m輸出整型數(shù)據(jù),若數(shù)據(jù)位數(shù)小于輸出整型數(shù)據(jù),若數(shù)據(jù)位數(shù)小于m,則數(shù)據(jù)靠左,則數(shù)據(jù)靠左對齊,右邊補(bǔ)空格,否則按實(shí)際長度輸出。對齊,右邊補(bǔ)空格,否則按實(shí)際長度輸出。C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句52如:如:int a=12,b=2345;printf(“%d,%3d,%-3d,%3dn”,a,a,a,b);則輸出結(jié)果為:則輸出結(jié)果為:12,12,12,2345%ld或或%mld(%-mld),按實(shí)際長度或
52、指定寬度),按實(shí)際長度或指定寬度m輸輸出出long型數(shù)據(jù),若數(shù)據(jù)位數(shù)小于型數(shù)據(jù),若數(shù)據(jù)位數(shù)小于m,則左邊(或右邊)補(bǔ),則左邊(或右邊)補(bǔ)空格,否則按實(shí)際長度輸出。空格,否則按實(shí)際長度輸出。如:如:long a=12,b=2345;printf(“%ld,%3ld,%-3ld,%3ldn”,a,a,a,b);對于對于long型數(shù)據(jù),必須用型數(shù)據(jù),必須用%ld格式輸出,若用格式輸出,若用%d格式輸出,格式輸出,則會(huì)發(fā)生運(yùn)行結(jié)果錯(cuò)誤。則會(huì)發(fā)生運(yùn)行結(jié)果錯(cuò)誤。一個(gè)一個(gè)int型數(shù)據(jù)可用型數(shù)據(jù)可用%d或或%ld格式輸出。格式輸出。C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句53()()o格式符:用來
53、以八進(jìn)制形式輸出整數(shù),即將內(nèi)存格式符:用來以八進(jìn)制形式輸出整數(shù),即將內(nèi)存單元中的所有二進(jìn)制數(shù)值(包括符號位)轉(zhuǎn)換成八進(jìn)制單元中的所有二進(jìn)制數(shù)值(包括符號位)轉(zhuǎn)換成八進(jìn)制形式輸出,輸出的數(shù)值不帶符號。形式輸出,輸出的數(shù)值不帶符號。如:如:int a=-1;printf(“%d,%on”,a,a); 輸出結(jié)果為輸出結(jié)果為:-1, 37777777777 37777777777 對對long型數(shù)據(jù),可以用型數(shù)據(jù),可以用%lo形式輸出。也可以指定長度輸出,形式輸出。也可以指定長度輸出,用用%mo、%-mo等形式輸出等形式輸出C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句54()()x(X)格式符
54、:用來以十六進(jìn)制形式輸出整數(shù),即格式符:用來以十六進(jìn)制形式輸出整數(shù),即將內(nèi)存單元中的所有二進(jìn)制數(shù)值(包括符號位)轉(zhuǎn)換成將內(nèi)存單元中的所有二進(jìn)制數(shù)值(包括符號位)轉(zhuǎn)換成十六進(jìn)制形式輸出,輸出的數(shù)值也不帶符號。用大寫十六進(jìn)制形式輸出,輸出的數(shù)值也不帶符號。用大寫X表表示輸出結(jié)果中的示輸出結(jié)果中的a、b、c、d、e、f用大寫字母用大寫字母A、B、C、D、E、F輸出。輸出。如:如:int a=-1;printf(“%d,%o,%x,%Xn”,a,a,a); 輸出結(jié)果為:輸出結(jié)果為:-1, 37777777777,ffffffff,FFFFFFFF 37777777777,ffffffff,FFFFFF
55、FF 對對long型數(shù)據(jù),同樣可以用型數(shù)據(jù),同樣可以用%lx形式輸出。也可以指定長形式輸出。也可以指定長度輸出,用度輸出,用%mx、%-mx等形式輸出。等形式輸出。C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句55()()u格式符:用來以十進(jìn)制形式輸出格式符:用來以十進(jìn)制形式輸出unsigned型數(shù)據(jù),型數(shù)據(jù),即將內(nèi)存中的二進(jìn)制數(shù)據(jù)(包括符號位)全部轉(zhuǎn)換成十進(jìn)即將內(nèi)存中的二進(jìn)制數(shù)據(jù)(包括符號位)全部轉(zhuǎn)換成十進(jìn)制形式輸出,輸出的數(shù)值不帶符號。制形式輸出,輸出的數(shù)值不帶符號。一個(gè)有符號的(一個(gè)有符號的(int)整數(shù)可以用)整數(shù)可以用%u格式輸出,反之,一格式輸出,反之,一個(gè)個(gè)unsigned
56、型數(shù)據(jù)也可用型數(shù)據(jù)也可用%d、%o、%x格式輸出。格式輸出。 【例例3.63.6】main()int a=-2;unsigned b=65535;printf(“a=%d,%o,%x,%un”,a,a,a,a);printf(”b=%d,%o,%x,%un”,b,b,b,b);輸出結(jié)果為:輸出結(jié)果為:a=-2,37777777776,fffffffe, 4294967294a=-2,37777777776,fffffffe, 4294967294b=-1, 37777777777,ffffffff, 4294967295b=-1, 37777777777,ffffffff, 429496729
57、5C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句56()()c格式符:用來輸出一個(gè)字符。格式符:用來輸出一個(gè)字符。也有指定寬度輸出也有指定寬度輸出%mc(%-mc),字符的左邊(右邊),字符的左邊(右邊)補(bǔ)空格。補(bǔ)空格。一個(gè)整數(shù)只要其值在一個(gè)整數(shù)只要其值在0255之間,也可以用字符形式輸出,之間,也可以用字符形式輸出,在輸出前先轉(zhuǎn)換成相應(yīng)的在輸出前先轉(zhuǎn)換成相應(yīng)的ASCII字符;反之,一個(gè)字符也可字符;反之,一個(gè)字符也可以用整數(shù)形式輸出。以用整數(shù)形式輸出。如:如:char c=a;int a=65;printf(“c=%c,%dna=%3c,%dn”,c,c,a,a);輸出結(jié)果為:輸出結(jié)果
58、為:c=a,97a=A,65C語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句57()()s格式符:用來輸出一個(gè)字符串。格式符:用來輸出一個(gè)字符串。 有如下用法:有如下用法:v %s:按實(shí)際長度輸出;:按實(shí)際長度輸出;v %ms(或(或%-ms):輸出字符串占):輸出字符串占m列,若字符串長度大于列,若字符串長度大于m,則,則按實(shí)際長度輸出,否則若字符串長度小于按實(shí)際長度輸出,否則若字符串長度小于m,則字符串右(左)對,則字符串右(左)對齊,左邊(或右邊)補(bǔ)空格;齊,左邊(或右邊)補(bǔ)空格;v %m.ns(或(或%-m.ns):輸出字符串占):輸出字符串占m列,但只取字符串左端的列,但只取字符
59、串左端的n個(gè)字符輸出,這個(gè)字符輸出,這n個(gè)字符的左邊(或右邊)補(bǔ)空格;若個(gè)字符的左邊(或右邊)補(bǔ)空格;若nm,則,則m自自動(dòng)取動(dòng)取n的值,保證的值,保證n個(gè)字符正常輸出;若省略個(gè)字符正常輸出;若省略m,則,則m等于等于n。如:。如:printf(“%s,%6s,%-6s,%-4.2s,%4.2n”,”CHINA”, ”CHINA”, ” CHINA”, ” CHINA”, ” CHINA”);輸出結(jié)果為:輸出結(jié)果為:CHINA , CHINA , CHINA, CH, CHC語言程序設(shè)計(jì)2009-3-11第3章 基本程序語句58()()f格式符:用來以小數(shù)形式輸出實(shí)數(shù)(包括單、雙格式符:用來以
60、小數(shù)形式輸出實(shí)數(shù)(包括單、雙精度)。精度)。%f:整數(shù)部分全部輸出,小數(shù)部分輸出:整數(shù)部分全部輸出,小數(shù)部分輸出6位。位。%m.nf(或(或%-m.nf):輸出數(shù)據(jù)占):輸出數(shù)據(jù)占m列(包括列(包括整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分),小數(shù)位數(shù)為整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分),小數(shù)位數(shù)為n位。如果數(shù)值寬度小于位。如果數(shù)值寬度小于m,則數(shù)值靠右(左),則數(shù)值靠右(左)對齊,左邊(或右邊)補(bǔ)空格;否則,整數(shù)部對齊,左邊(或右邊)補(bǔ)空格;否則,整數(shù)部分全部輸出,小數(shù)部分為分全部輸出,小數(shù)部分為n位;若省略位;若省略m,則,則整數(shù)部分全部輸出,小數(shù)部分為整數(shù)部分全部輸出,小數(shù)部分為n位。位。 C語言程序設(shè)計(jì)20
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 正比例函數(shù)(第1課時(shí) )說課課件-2023-2024學(xué)年人教版數(shù)學(xué)八年級下冊
- 2022年銀行集中整治干部作風(fēng)工作總結(jié)
- 藥理學(xué)抗精神病
- 物聯(lián)網(wǎng)智能旅游
- 治療心腦血管的新藥
- 2024年初中學(xué)業(yè)水平考試物理階段性檢測卷1含答案
- 旅游區(qū)道路擴(kuò)建水渠施工合同
- 康復(fù)科治療師聘用合同協(xié)議
- 酒店設(shè)施維修工聘用協(xié)議
- 醫(yī)院清潔用具管理
- 安徽省淮南市2023-2024學(xué)年高一上學(xué)期第二次月考數(shù)學(xué)試題
- 產(chǎn)科疼痛管理制度及流程
- 橋本甲狀腺炎-90天治療方案
- 學(xué)校班主任培訓(xùn)制度
- MOOC 新時(shí)代中國特色社會(huì)主義理論與實(shí)踐-武漢理工大學(xué) 中國大學(xué)慕課答案
- 放射科疑難病例分析
- 封閉校園管理班會(huì)
- 機(jī)械制造基礎(chǔ)說課市公開課一等獎(jiǎng)省賽課微課金獎(jiǎng)?wù)n件
- 2019年1月自考00804金融法二試題及答案含解析
- 河北中鹽龍祥鹽化有限公司寧晉鹽礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 2017年10月自考00258保險(xiǎn)法試題及答案含解析
評論
0/150
提交評論