




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第3章章 最簡單的最簡單的C程序設(shè)計(jì)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)順序結(jié)構(gòu)程序設(shè)計(jì)C程序設(shè)計(jì)必須具備的知識和能力:程序設(shè)計(jì)必須具備的知識和能力:1.要有正確的解題思路,即學(xué)會設(shè)計(jì)算法。要有正確的解題思路,即學(xué)會設(shè)計(jì)算法。2.掌握掌握C語言的語法規(guī)則,使用語言的語法規(guī)則,使用C語言提供的各種功能編寫出一個完語言提供的各種功能編寫出一個完 整的、正確的程序。整的、正確的程序。3.要采用結(jié)構(gòu)化程序設(shè)計(jì)方法,編寫出結(jié)構(gòu)化的程序,程序的通用要采用結(jié)構(gòu)化程序設(shè)計(jì)方法,編寫出結(jié)構(gòu)化的程序,程序的通用 性和可讀性要強(qiáng)。性和可讀性要強(qiáng)。3.1 順序結(jié)構(gòu)程序設(shè)計(jì)舉例順序結(jié)構(gòu)程序設(shè)計(jì)舉例例例3.1 編寫一程序?qū)⑷A氏溫度
2、轉(zhuǎn)換為攝氏溫度。編寫一程序?qū)⑷A氏溫度轉(zhuǎn)換為攝氏溫度。轉(zhuǎn)換公式:轉(zhuǎn)換公式: 程序如下:程序如下:#includeint main( ) float f,c; printf(“請輸入華氏溫度請輸入華氏溫度:”); scanf(“%f”,&f); c=(5.0/9)*(f-32); printf(“華氏溫度:華氏溫度:%f n攝氏溫度:攝氏溫度:%fn”,f,c); return 0;)32(95 fC運(yùn)行結(jié)果:運(yùn)行結(jié)果:請輸入華氏溫度:請輸入華氏溫度:64.0 華氏溫度:華氏溫度:64.000000 攝氏溫度:攝氏溫度:17.777778 3.2 數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算數(shù)據(jù)的表現(xiàn)形式及其運(yùn)
3、算3.2.1 常量和變量常量和變量1.常量常量在程序運(yùn)行過程中,其值不能被改變的量稱為常量。在程序運(yùn)行過程中,其值不能被改變的量稱為常量。(1) 整型常量。如:整型常量。如:1000,12345,0,-345(2) 實(shí)型常量。如:實(shí)型常量。如:123.456,0.345,-56.78,0.0(十進(jìn)制小數(shù)形式)(十進(jìn)制小數(shù)形式) 12.34e3,-345.67e-25,0.18E25(指數(shù)形式)(指數(shù)形式) 注:指數(shù)部分必須為整數(shù)。注:指數(shù)部分必須為整數(shù)。(3) 字符常量。字符常量。 普通字符。如:普通字符。如:a,Z,?,#,8 注:注:a 和和 A 不同,不能寫成不同,不能寫成 ab , 1
4、2 或或 中中。 轉(zhuǎn)義字符。轉(zhuǎn)義字符。C語言中允許使用一種以語言中允許使用一種以 開頭的特殊形式字符常量。開頭的特殊形式字符常量。(4) 字符串常量。如:字符串常量。如:”boy”,”123”,不能寫為:,不能寫為:boy,123。轉(zhuǎn)義字符及其作用轉(zhuǎn)義字符及其作用字符形式字符形式含義含義ASCII碼碼n換行,將當(dāng)前位置移到下一行開頭換行,將當(dāng)前位置移到下一行開頭10t水平制表水平制表(跳到下一個跳到下一個Tab位置位置)9h退格,將當(dāng)前位置移到前一列退格,將當(dāng)前位置移到前一列8r回車,將當(dāng)前位置移到本行開頭回車,將當(dāng)前位置移到本行開頭13f換頁,將當(dāng)前位置移到下頁開頭換頁,將當(dāng)前位置移到下頁開
5、頭12代表一個反斜杠字符代表一個反斜杠字符“”92ooo1到到3位八進(jìn)制數(shù)所代表的字符位八進(jìn)制數(shù)所代表的字符xhh1到到2位十六進(jìn)制數(shù)所代表的字符位十六進(jìn)制數(shù)所代表的字符(5) 符號常量符號常量用一個標(biāo)識符代表一個常量的,稱為符號常量。用一個標(biāo)識符代表一個常量的,稱為符號常量。如:如:#define PRICE 30 #includeint main( ) int num,total; num=10; total=num*PRICE; printf(“total=%d”,total); return 0;說明說明: (1) 含義清楚。含義清楚。 (2) 在需要改變一個常量時能做到在需要改變一個
6、常量時能做到“一改全改一改全改”。 (3) 在程序中不能對符號常量重新賦值。在程序中不能對符號常量重新賦值。 (4) 符號常量一般用大寫字母表示。符號常量一般用大寫字母表示。2. 變量變量在程序運(yùn)行過程中,其值可以改變的量稱為變量。在程序運(yùn)行過程中,其值可以改變的量稱為變量。說明:說明:(1) C語言規(guī)定每個變量必須有一個名字,它表示一個具有特定語言規(guī)定每個變量必須有一個名字,它表示一個具有特定 屬性的存儲單元,用來存放數(shù)據(jù),即變量的值。屬性的存儲單元,用來存放數(shù)據(jù),即變量的值。 (2) 定義變量名時應(yīng)注意定義變量名時應(yīng)注意“見名知意見名知意”。 (3) 每個變量必須確定一個數(shù)據(jù)類型,以便系統(tǒng)
7、分配存儲單元。每個變量必須確定一個數(shù)據(jù)類型,以便系統(tǒng)分配存儲單元。 (4) 凡未被事先定義的的變量程序中不能使用。凡未被事先定義的的變量程序中不能使用。3a變量值變量值存儲單元存儲單元變量名變量名3.2.1 常量和變量常量和變量3. 常變量常變量 C99允許使用常變量。如:允許使用常變量。如:const int a=3; (1) 常變量不同于變量,程序運(yùn)行期間不能改變其值。常變量不同于變量,程序運(yùn)行期間不能改變其值。 (2) 常變量不同于常量,系統(tǒng)會依據(jù)定義類型分配存儲空間,常量常變量不同于常量,系統(tǒng)會依據(jù)定義類型分配存儲空間,常量 無名而常變量有名。無名而常變量有名。 (3) 常變量不同于符
8、號常量,符號常量在編譯時已用具體數(shù)值取代。常變量不同于符號常量,符號常量在編譯時已用具體數(shù)值取代。4. 標(biāo)識符標(biāo)識符 C語言規(guī)定用來對變量、函數(shù)、數(shù)組、類型等命名的有效字符串稱語言規(guī)定用來對變量、函數(shù)、數(shù)組、類型等命名的有效字符串稱 為標(biāo)識符。為標(biāo)識符。 標(biāo)識符只能由字母或下劃線開頭,字母、數(shù)字和下劃線組成。標(biāo)識符只能由字母或下劃線開頭,字母、數(shù)字和下劃線組成。 大寫字母和小寫字母被認(rèn)為是兩個不同的字符。大寫字母和小寫字母被認(rèn)為是兩個不同的字符。 如:如:sum,averge,_total,Studen_name等。等。 M.D.john,¥,¥123,#33,ab 是不合法的標(biāo)識符。是不合法
9、的標(biāo)識符。3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型基本類型基本類型浮點(diǎn)型浮點(diǎn)型單精度單精度(float)雙精度雙精度(double)枚舉類型枚舉類型數(shù)組類型數(shù)組類型( )結(jié)構(gòu)體類型結(jié)構(gòu)體類型(struct)共同體類型共同體類型(union)指針類型指針類型(*)整型整型基本整型基本整型(int)短整型短整型(short int)長整型長整型(long int)*雙長整型雙長整型(long long int)字符型字符型(char)*布爾型布爾型(bool)*復(fù)數(shù)型復(fù)數(shù)型(float_complex等等)空類型空類型派生類型派生類型函數(shù)類型函數(shù)類型注:圖中有注:圖中有 * 的是的是C99所增
10、加的。所增加的。3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)1. 整型數(shù)據(jù)的分類整型數(shù)據(jù)的分類(1) 基本整型基本整型(int型型) 編譯系統(tǒng)分配給編譯系統(tǒng)分配給int型數(shù)據(jù)型數(shù)據(jù)2個或個或4個字節(jié)個字節(jié)(具體有編譯系統(tǒng)自行決定具體有編譯系統(tǒng)自行決定) 整型數(shù)據(jù)在內(nèi)存中的存放形式:整型數(shù)據(jù)在內(nèi)存中的存放形式: 數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存放的,如果定義了一個整形變量并數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存放的,如果定義了一個整形變量并 賦值為賦值為10,則:,則:數(shù)值是以補(bǔ)碼表示的,正整數(shù)的補(bǔ)碼和該數(shù)的原碼相同,負(fù)數(shù)的數(shù)值是以補(bǔ)碼表示的,正整數(shù)的補(bǔ)碼和該數(shù)的原碼相同,負(fù)數(shù)的補(bǔ)碼是將該數(shù)的絕對值取反加補(bǔ)碼是將該數(shù)的絕對值
11、取反加1.000000000000101011111111111101011111111111110110i10的原碼的原碼取反取反加加1得得-10的補(bǔ)碼的補(bǔ)碼最左面的一位是最左面的一位是符號位,符號位,0表示表示正數(shù);正數(shù);1表示負(fù)表示負(fù)數(shù)。數(shù)。2個字節(jié):個字節(jié):-32768327674個字節(jié):個字節(jié):-214748364821474836473.2.3 整型數(shù)據(jù)整型數(shù)據(jù)(2) 短整型短整型(short int或或short) TC中短整型和整型系統(tǒng)分配字節(jié)數(shù)相同,中短整型和整型系統(tǒng)分配字節(jié)數(shù)相同,C+6.0編譯系統(tǒng)分配編譯系統(tǒng)分配給短整型給短整型2個字節(jié),整型個字節(jié),整型4個字節(jié),存儲方式
12、相同。個字節(jié),存儲方式相同。數(shù)值范圍:數(shù)值范圍:(-3276832767)(3) 長整型長整型(long int或或long) TC和和C+6.0系統(tǒng)都分配系統(tǒng)都分配4個字節(jié)個字節(jié)(C+6.0和整型相同和整型相同)。數(shù)值范圍:數(shù)值范圍:(-231(231-1), -214748364821474837 )(4) 雙長整型雙長整型(long long int或或long long) 雙長整型是雙長整型是C99新增的類型,一般分配新增的類型,一般分配8個字節(jié),但許多個字節(jié),但許多C編譯編譯系統(tǒng)還未實(shí)現(xiàn)。系統(tǒng)還未實(shí)現(xiàn)。3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)2. 整型變量的符號屬性整型變量的符號屬性變量值在存儲
13、單元中都是以補(bǔ)碼形式存儲的,存儲單元中的最高位變量值在存儲單元中都是以補(bǔ)碼形式存儲的,存儲單元中的最高位表示符號,數(shù)值范圍包括負(fù)數(shù)和正數(shù)。表示符號,數(shù)值范圍包括負(fù)數(shù)和正數(shù)。C語言中還提供一種語言中還提供一種“無符號整數(shù)無符號整數(shù)”類型類型(unsigned),用于存放無,用于存放無符號整數(shù)。符號整數(shù)。無符號基本整型無符號基本整型 (2個字節(jié)個字節(jié)) (065535) 0 (216 -1) (4個字節(jié)個字節(jié)) (04294967295) 0 (232-1)無符號短整型無符號短整型 (2個字節(jié)個字節(jié)) (0 65535) 0 (216-1) 無符號長整型常量無符號長整型常量 (4個字節(jié)個字節(jié)) (
14、0 4294967395) 0 (232-1)無符號長整型常量無符號長整型常量 (8個字節(jié)個字節(jié)) 0 (364-1)3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)3. 整型變量的定義整型變量的定義凡是在凡是在C程序中用到的變量都必須事先定義,變量的定義可使用程序中用到的變量都必須事先定義,變量的定義可使用(int,short int,long int,unsigned int等等)例:例:int a,b; short c,d; unsigned int e,f; unsigned short g,h; long i,j; unsigned long k,l; long long m,n; unsigned l
15、ong long o,p;4. 整型數(shù)據(jù)的溢出整型數(shù)據(jù)的溢出 數(shù)據(jù)溢出時將自動進(jìn)位到符號位。數(shù)據(jù)溢出時將自動進(jìn)位到符號位。例例3.3 整型數(shù)據(jù)的溢出整型數(shù)據(jù)的溢出(TC中中int變量最大允許值為變量最大允許值為32767)#includeint main() int a,b; a=32767;b=a+1; printf(“%d,%dn”,a,b); return 0運(yùn)行結(jié)果為:運(yùn)行結(jié)果為:32767,-327680 1 1 1 1 1 1 1 1 1 1 1 1 1 111 0 0 0 0 0 0 0 0 0 0 0 0 0 00a:b:32767-327683.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)字
16、符是按代碼字符是按代碼(整數(shù)整數(shù))形式存儲的,因此形式存儲的,因此C99將字符型數(shù)據(jù)作為整數(shù)將字符型數(shù)據(jù)作為整數(shù)的一種。的一種。1. 字符與字符代碼字符與字符代碼C語言編譯系統(tǒng)將字母、數(shù)字、專用符號、空格符、控制字符共語言編譯系統(tǒng)將字母、數(shù)字、專用符號、空格符、控制字符共127個字符以個字符以ASCII形式存儲。形式存儲。如:如:A6501000001B6601000010a9701100001b98011000100480011000014900110001空格空格32 00100000 %3700100101 n1000001010a 響鈴響鈴700000111一個一個ASCII碼存儲一個
17、字節(jié),最高位為碼存儲一個字節(jié),最高位為0,一個中文字母存儲二個字,一個中文字母存儲二個字節(jié),最高位為節(jié),最高位為1。 2. 字符變量字符變量字符型變量用來存放字符常量,在字符型變量用來存放字符常量,在C的所有編譯系統(tǒng)中都規(guī)定一的所有編譯系統(tǒng)中都規(guī)定一個字節(jié)它只能存放一個個字節(jié)它只能存放一個ASCII字符。字符。字符變量的定義用類型說明符字符變量的定義用類型說明符char或或character定義。定義。例:例:char c1,c2;它表示它表示c1和和c2為字符型變量,各可以存放一個字符,因此在賦為字符型變量,各可以存放一個字符,因此在賦值時應(yīng)該表示為:值時應(yīng)該表示為: c1=a;c2=b;字
18、符數(shù)據(jù)在內(nèi)存中的存儲形式及使用方法字符數(shù)據(jù)在內(nèi)存中的存儲形式及使用方法字符型變量中存儲的不是該字符的本身,而是該字符對應(yīng)的字符型變量中存儲的不是該字符的本身,而是該字符對應(yīng)的ASCII碼。碼。0110000197ac1例例1. #include int main() char c1,c2; c1=97;c2=98; prntf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); return 0 輸出結(jié)果:輸出結(jié)果:a b 97 98例例2.#include int main() char c1,c2; c1=a;c2=b; c1=c1-32;c2=c2-32;
19、printf(“%c %cn”,c1,c2); return 0 輸出結(jié)果:輸出結(jié)果:A B3.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)1. 浮點(diǎn)型常量的表示方法浮點(diǎn)型常量的表示方法十進(jìn)制小數(shù)形式十進(jìn)制小數(shù)形式(123.0)、指數(shù)形式、指數(shù)形式(1.23e2)一個浮點(diǎn)數(shù)可以有多種指數(shù)表示形式:一個浮點(diǎn)數(shù)可以有多種指數(shù)表示形式:如:如:123e0,12.3e1,1.23e2,0.123e3規(guī)范的指數(shù)輸出形式表示為:規(guī)范的指數(shù)輸出形式表示為:0.123e+0032. 浮點(diǎn)型變量浮點(diǎn)型變量(1) 浮點(diǎn)型型數(shù)據(jù)在內(nèi)存中的存放形式浮點(diǎn)型型數(shù)據(jù)在內(nèi)存中的存放形式(4個字節(jié)共個字節(jié)共32位位)例如:例如:3.14159
20、+0.3141591數(shù)符數(shù)符 小數(shù)部分小數(shù)部分 指數(shù)指數(shù)+ .314159 x101小數(shù)部分和指數(shù)部分在小數(shù)部分和指數(shù)部分在32位中如何位中如何分配分配C標(biāo)準(zhǔn)沒有明確規(guī)定,一般標(biāo)準(zhǔn)沒有明確規(guī)定,一般C編編譯系統(tǒng)以譯系統(tǒng)以24位表示小數(shù)部分位表示小數(shù)部分(包括符包括符號位號位),以,以8位表示指數(shù)部分位表示指數(shù)部分(包括指包括指數(shù)符號位數(shù)符號位)。3.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)(2) 浮點(diǎn)型變量的分類浮點(diǎn)型變量的分類(單精度單精度-32、雙精度、雙精度-64、長雙精度、長雙精度-128)(3) 浮點(diǎn)型變量的定義浮點(diǎn)型變量的定義 例:例:float x,y; double z; long dou
21、ble t;類型類型位數(shù)位數(shù)有效數(shù)字有效數(shù)字?jǐn)?shù)值范圍數(shù)值范圍float326-1.2x10-383.4x1038double6415-2.3x10-3081.7x10308long double64*1281519-2.3x10-3081.7x10308-3.4x10-49321.1x1049323.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)(4) 浮點(diǎn)型數(shù)據(jù)的舍入誤差浮點(diǎn)型數(shù)據(jù)的舍入誤差浮點(diǎn)型變量是由有限的存儲單元組成的,因此能提供的有效數(shù)字浮點(diǎn)型變量是由有限的存儲單元組成的,因此能提供的有效數(shù)字總是有限的??偸怯邢薜?。例:例: #includeint main() float a,b; a=123456
22、.789e5; b=a+20; printf(“%fn”,b); return 0理論值:理論值:12345678920實(shí)際值:實(shí)際值:12345678848.000000浮點(diǎn)型變量只能保證的有效數(shù)浮點(diǎn)型變量只能保證的有效數(shù)字是字是7位位3.2.6 變量類型的確定變量類型的確定變量類型的確定應(yīng)依據(jù)常量的數(shù)據(jù)類型以及數(shù)據(jù)范圍來確定。變量類型的確定應(yīng)依據(jù)常量的數(shù)據(jù)類型以及數(shù)據(jù)范圍來確定。整型常量:整型常量:(1) 一個整數(shù),如果其值在一個整數(shù),如果其值在-3276832767范圍內(nèi),認(rèn)為它是范圍內(nèi),認(rèn)為它是int,它,它可以賦值給可以賦值給int型和型和long int 型。型。(2) 一個整數(shù),
23、如果超過上述范圍,而在一個整數(shù),如果超過上述范圍,而在-21474836482147483647范圍內(nèi),則認(rèn)為它是長整形。它可以范圍內(nèi),則認(rèn)為它是長整形。它可以賦給賦給long int 型。型。(3) 由于由于C版本中版本中short int 和和int長度相同,系統(tǒng)認(rèn)為是長度相同,系統(tǒng)認(rèn)為是int型,可以型,可以賦給賦給 int 型或型或 short int 型。型。(4) 一個常量后面加一個字母一個常量后面加一個字母u或或U(如:如:12345u,12345U),系統(tǒng)認(rèn),系統(tǒng)認(rèn)為是為是 unsigned int 型。型。(5) 在一個整常量后面加一個字母在一個整常量后面加一個字母 l 或或
24、 L ,則認(rèn)為是,則認(rèn)為是 long int 型常型常量量(如:如:123l,4567L)。3.2.6 變量類型的確定變量類型的確定浮點(diǎn)型常量浮點(diǎn)型常量:(1)C編譯系統(tǒng)將浮點(diǎn)型常量作為雙精度來處理。編譯系統(tǒng)將浮點(diǎn)型常量作為雙精度來處理。例:例:f=2.45678*4523.65先將兩個常量作為雙精度數(shù),然后進(jìn)行相乘運(yùn)算,如果先將兩個常量作為雙精度數(shù),然后進(jìn)行相乘運(yùn)算,如果f為浮點(diǎn)型,為浮點(diǎn)型,則結(jié)果截取則結(jié)果截取7位有效數(shù)字賦給位有效數(shù)字賦給f。(2)一個浮點(diǎn)型常量可以賦給一個一個浮點(diǎn)型常量可以賦給一個float型、型、double型或型或long double型。根據(jù)變量的類型截取相應(yīng)的有
25、效數(shù)字。型。根據(jù)變量的類型截取相應(yīng)的有效數(shù)字。(3)例:例:f=2.45678f*4523.65f(4)如果一個常量要作為長雙精度處理應(yīng)在數(shù)字后加如果一個常量要作為長雙精度處理應(yīng)在數(shù)字后加l或或L。例:例:long double a=1.23L3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式C語言的運(yùn)算符范圍廣,把除了控制語句和輸入輸出語句外的幾語言的運(yùn)算符范圍廣,把除了控制語句和輸入輸出語句外的幾乎所有的基本操作運(yùn)算都作為運(yùn)算符處理。乎所有的基本操作運(yùn)算都作為運(yùn)算符處理。1. 基本的算術(shù)運(yùn)算符基本的算術(shù)運(yùn)算符+ (正正)、 (負(fù)負(fù))、 + (加加)、-(減減)、*(乘乘)、/(除除)、%(求余求余)
26、例:例:8%322. 自增、自減運(yùn)算符自增、自減運(yùn)算符自增、自減運(yùn)算符作用是使變量的值增自增、自減運(yùn)算符作用是使變量的值增1或減或減1,如:,如:+ + i,- - i (在使用在使用i前,先使前,先使i的值加的值加(減減)1)i + +,i - - (在使用(在使用i后,使后,使i的值加的值加(減減)1)注意:注意: 自增和自減運(yùn)算符只能用于變量,而不能用于常量或自增和自減運(yùn)算符只能用于變量,而不能用于常量或 表達(dá)式。表達(dá)式。(例如:例如:8+,(a+b)+是不允許的是不允許的) 自增和自減運(yùn)算符的結(jié)合方向是自增和自減運(yùn)算符的結(jié)合方向是“自右至左自右至左”。 例如:例如:-i+ 不能表示為不
27、能表示為 (-i)+ ,相當(dāng)于,相當(dāng)于 -(i+)相當(dāng)于執(zhí)行相當(dāng)于執(zhí)行i=i+1或或i=i-13. 算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級與結(jié)合性算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級與結(jié)合性(1) 用算術(shù)運(yùn)算符和括號將運(yùn)算對象連接起來的、符合用算術(shù)運(yùn)算符和括號將運(yùn)算對象連接起來的、符合C語言語言規(guī)則式子,稱規(guī)則式子,稱C算術(shù)表達(dá)式。算術(shù)表達(dá)式。 如:如:a*b/c-1.5+a(2) 根據(jù)運(yùn)算符的優(yōu)先級,決定了表達(dá)式的運(yùn)算次序。根據(jù)運(yùn)算符的優(yōu)先級,決定了表達(dá)式的運(yùn)算次序。(3) 根據(jù)運(yùn)算符的結(jié)合方向,一般采用根據(jù)運(yùn)算符的結(jié)合方向,一般采用“左結(jié)合性左結(jié)合性”,有些運(yùn),有些運(yùn)算符采用算符采用“右結(jié)合性右結(jié)合性”。4.
28、各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算整型、實(shí)型和字符型數(shù)據(jù)間可以進(jìn)行混合運(yùn)算,如:整型、實(shí)型和字符型數(shù)據(jù)間可以進(jìn)行混合運(yùn)算,如:10+a+1.5-8765.1234*b進(jìn)行運(yùn)算時,不同類型的數(shù)據(jù)先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算,進(jìn)行運(yùn)算時,不同類型的數(shù)據(jù)先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算,轉(zhuǎn)換規(guī)則如下:轉(zhuǎn)換規(guī)則如下:doublefloatlongunsignedintChar,short低低高高5. 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符根據(jù)需要利用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符可以將一個表達(dá)式轉(zhuǎn)換成所需根據(jù)需要利用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符可以將一個表達(dá)式轉(zhuǎn)換成所需類型。如:類型。如:(double)a
29、、(int)(x+y)、(float)(5%3)例例: #include int main() float x=3.6; int i; i=(int)x%2; printf(“x=%f,i=%dn”,x,i); return 0; 運(yùn)行結(jié)果:運(yùn)行結(jié)果:x=3.600000,i=16. 運(yùn)算符的分類運(yùn)算符的分類(1) 算術(shù)運(yùn)算符算術(shù)運(yùn)算符 ( +、-、 *、 /、 %、 +、 - )(2) 關(guān)系運(yùn)算符關(guān)系運(yùn)算符( 、=、=、!= )(3) 邏輯運(yùn)算符邏輯運(yùn)算符( !、&、| )(4) 位運(yùn)算符位運(yùn)算符( 、|、& )(5) 賦值運(yùn)算符賦值運(yùn)算符( =及其擴(kuò)展賦值運(yùn)算符及其擴(kuò)展賦值
30、運(yùn)算符 )(6) 條件運(yùn)算符條件運(yùn)算符( ?: )(7) 逗號運(yùn)算符逗號運(yùn)算符( , )(8) 指針運(yùn)算符指針運(yùn)算符( *和和& )(9) 求字節(jié)數(shù)運(yùn)算符求字節(jié)數(shù)運(yùn)算符( sizeof )(10) 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符( (類型類型) )(11) 成員運(yùn)算符成員運(yùn)算符( . 、- )(12) 下標(biāo)運(yùn)算符下標(biāo)運(yùn)算符( )(13) 其他運(yùn)算符其他運(yùn)算符( 如函數(shù)調(diào)用運(yùn)算符如函數(shù)調(diào)用運(yùn)算符() )3.3 C語言語言3.3.1 C語句的作用和分類語句的作用和分類lC語言的語句用來向計(jì)算機(jī)系統(tǒng)發(fā)出操作指令。一個語句經(jīng)編譯語言的語句用來向計(jì)算機(jī)系統(tǒng)發(fā)出操作指令。一個語句經(jīng)編譯后產(chǎn)生
31、若干條機(jī)器指令。一個實(shí)際的程序應(yīng)當(dāng)包含若干語句。后產(chǎn)生若干條機(jī)器指令。一個實(shí)際的程序應(yīng)當(dāng)包含若干語句。lC語句都是用來完成一定操作任務(wù)的。聲明部分的內(nèi)容不應(yīng)稱為語句都是用來完成一定操作任務(wù)的。聲明部分的內(nèi)容不應(yīng)稱為語句。如:語句。如:int a;不是一個不是一個C執(zhí)行語句,它不產(chǎn)生機(jī)器操作,而執(zhí)行語句,它不產(chǎn)生機(jī)器操作,而只是對變量的定義。只是對變量的定義。l一個函數(shù)包含聲明部分和執(zhí)行部分,執(zhí)行部分即由語句一個函數(shù)包含聲明部分和執(zhí)行部分,執(zhí)行部分即由語句(分別進(jìn)分別進(jìn)行編譯的文件模塊行編譯的文件模塊)組成。組成。l一個一個C程序可以由若干個源程序文件組成,一個源文件可以由若程序可以由若干個源程
32、序文件組成,一個源文件可以由若干個函數(shù)和預(yù)處理命令以及全局變量聲明部分組成。干個函數(shù)和預(yù)處理命令以及全局變量聲明部分組成。(1)一個函數(shù)由數(shù)據(jù)定義部分和執(zhí)行語句組成。一個函數(shù)由數(shù)據(jù)定義部分和執(zhí)行語句組成。C程序結(jié)構(gòu)程序結(jié)構(gòu):C程序程序源程序文件源程序文件1全局變量聲明全局變量聲明函數(shù)函數(shù)1預(yù)處理命令預(yù)處理命令源程序文件源程序文件2源程序文件源程序文件n函數(shù)函數(shù)n函數(shù)首部函數(shù)首部函數(shù)體函數(shù)體局部變量聲明局部變量聲明執(zhí)行語句執(zhí)行語句C語句的分類語句的分類:1. 控制語句控制語句if() else ;(條件語句條件語句) for() ;(循環(huán)語句循環(huán)語句) while() ; (循環(huán)語句循環(huán)語句)
33、do while(); (循環(huán)語句循環(huán)語句) continue;(結(jié)束本次循環(huán)語句結(jié)束本次循環(huán)語句) switch;(多分支選擇語句多分支選擇語句)break;(終止執(zhí)行終止執(zhí)行swith或循環(huán)語句或循環(huán)語句) goto;(轉(zhuǎn)向語句轉(zhuǎn)向語句) return (從函數(shù)返回語句從函數(shù)返回語句)例:例:if (xy) z=x; else z=y;2. 函數(shù)調(diào)用語句函數(shù)調(diào)用語句 (由一個函數(shù)調(diào)用加一個分號構(gòu)成由一個函數(shù)調(diào)用加一個分號構(gòu)成)printf(“This is C statement.”);3. 表達(dá)式語句表達(dá)式語句 (由一個表達(dá)式加一個分號構(gòu)成由一個表達(dá)式加一個分號構(gòu)成)a=3 賦值表達(dá)式賦
34、值表達(dá)式 a=3; 賦值語句賦值語句 C語句的分類:語句的分類:4. 空語句空語句;可作為流程的轉(zhuǎn)向點(diǎn)或循環(huán)語句的循環(huán)體??勺鳛榱鞒痰霓D(zhuǎn)向點(diǎn)或循環(huán)語句的循環(huán)體。5. 復(fù)合語句復(fù)合語句 (用用 把一些語句括起來成為復(fù)合語句把一些語句括起來成為復(fù)合語句) z=z+y; t=z/100; printf(%f”,t);3.3.2最基本的語句最基本的語句賦值語句賦值語句例例3.4 輸入三角形的三邊長,求三角形面積輸入三角形的三邊長,求三角形面積#include #include int main()float a,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&am
35、p;c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn”,a,b,c,s);printf(“area=%7.2fn”,area);return 0運(yùn)行情況如下:運(yùn)行情況如下:3,4,6輸出:輸出:a=3.00,b=4.00,c=6.00,s=6.50 area=5.332/ )()()(acbascsbsassrea 其中其中:求三角形面積的公式為求三角形面積的公式為3.3.2最基本的語句最基本的語句賦值語句賦值語句1. 賦值運(yùn)算符賦值運(yùn)算符賦值運(yùn)算符賦值運(yùn)算符“=”
36、的作用是將一個數(shù)據(jù)賦給一個變量。的作用是將一個數(shù)據(jù)賦給一個變量。如:如:a=3,c=a*b。2. 復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符 在賦值符在賦值符“=”之前加上其他運(yùn)算符,可以構(gòu)成復(fù)合的運(yùn)算符,如:之前加上其他運(yùn)算符,可以構(gòu)成復(fù)合的運(yùn)算符,如:a+=3等價與等價與 a=a+3x*=y+8等價與等價與 x=x*(y+8)x%=3等價與等價與 x=x%3C語言采用復(fù)合運(yùn)算符,一是為了簡化程序,使程序精練,二是為語言采用復(fù)合運(yùn)算符,一是為了簡化程序,使程序精練,二是為了提高編譯效率,能產(chǎn)生質(zhì)量較高的目標(biāo)代碼。但對于初學(xué)者來了提高編譯效率,能產(chǎn)生質(zhì)量較高的目標(biāo)代碼。但對于初學(xué)者來說,不必都用,首要的
37、是保持程序清晰易懂。說,不必都用,首要的是保持程序清晰易懂。3.3.2最基本的語句最基本的語句賦值語句賦值語句3. 賦值表達(dá)式賦值表達(dá)式一般形式:一般形式:功能:計(jì)算右邊表達(dá)式的值,并賦給左邊的變量。功能:計(jì)算右邊表達(dá)式的值,并賦給左邊的變量。例:例:a=123(將將123賦給變量賦給變量a) b=a (將將a的值賦給變量的值賦給變量b)表達(dá)式中也允許使用賦值運(yùn)算符。表達(dá)式中也允許使用賦值運(yùn)算符。例:例: a=(b=5)(表達(dá)式值為表達(dá)式值為5,a,b值均為值均為5) a=b=c=5 (表達(dá)式值為表達(dá)式值為5,a,b,c值均為值均為5) a=(b=4)+(c=6)(表達(dá)式值為表達(dá)式值為10,a
38、值為值為11,b等于等于4,c等于等于6) a=(b=10)/(c=2)(表達(dá)式值為表達(dá)式值為5,a等于等于5,b等于等于10,c等于等于2) a+=a-=a*a (如果如果a初值為初值為12,a=a-a*a,a=12-144=-132 a=a+a=(-132)+(-132)=-264)3.3.2最基本的語句最基本的語句賦值語句賦值語句4. 賦值過程中的類型轉(zhuǎn)換賦值過程中的類型轉(zhuǎn)換如果賦值運(yùn)算符兩側(cè)的類型不一致,賦值時要進(jìn)行類型轉(zhuǎn)換。如果賦值運(yùn)算符兩側(cè)的類型不一致,賦值時要進(jìn)行類型轉(zhuǎn)換。(1) 將浮點(diǎn)型數(shù)據(jù)賦給整型變量時,將浮點(diǎn)型數(shù)據(jù)賦給整型變量時,舍棄浮點(diǎn)數(shù)的小數(shù)部分舍棄浮點(diǎn)數(shù)的小數(shù)部分。例
39、如:例如:i為為int變量變量 i=3.56 i=3 (2) 將整型數(shù)據(jù)賦給浮點(diǎn)型變量時,數(shù)值不變,但以浮點(diǎn)數(shù)存儲。將整型數(shù)據(jù)賦給浮點(diǎn)型變量時,數(shù)值不變,但以浮點(diǎn)數(shù)存儲。例如:例如:f為為float變量變量 f=23 f=23.00000(3) 將將double型賦給型賦給float變量時,截取其前面變量時,截取其前面7位有效數(shù)字。但應(yīng)位有效數(shù)字。但應(yīng)注意數(shù)據(jù)的溢出。注意數(shù)據(jù)的溢出。(4) 將字符型數(shù)據(jù)賦給整型變量時,存入整型變量將字符型數(shù)據(jù)賦給整型變量時,存入整型變量低低8位位中。在中。在C+中高中高8位補(bǔ)位補(bǔ)0。4. 賦值過程中的類型轉(zhuǎn)換賦值過程中的類型轉(zhuǎn)換(5) 將整型數(shù)據(jù)賦給字符型變量
40、時,將整型數(shù)據(jù)賦給字符型變量時,只取低只取低8位位數(shù)據(jù)送入字符數(shù)據(jù)送入字符型變量。型變量。例如:例如:i為為int,c為為char,i=321;c=i; c=A(6) 將帶符號的將帶符號的int賦給賦給long時,要進(jìn)行符號擴(kuò)展,正補(bǔ)時,要進(jìn)行符號擴(kuò)展,正補(bǔ)0,負(fù),負(fù)補(bǔ)補(bǔ)1。(7) 將非符號的將非符號的int賦給賦給long時,不存在符號擴(kuò)展問題,只需高時,不存在符號擴(kuò)展問題,只需高位補(bǔ)位補(bǔ)0。0 0 0 0 0 0 0 1 0 1 0 0 0 0 015. 賦值表達(dá)式和賦值語句賦值表達(dá)式和賦值語句賦值語句是由賦值表達(dá)式加上一個分號構(gòu)成。賦值語句是由賦值表達(dá)式加上一個分號構(gòu)成。a=b;賦值語句
41、賦值語句C語言的賦值語句具有其他高級語言的賦值語句的一切特點(diǎn)和功語言的賦值語句具有其他高級語言的賦值語句的一切特點(diǎn)和功能。但也應(yīng)當(dāng)注意到它們的不同:能。但也應(yīng)當(dāng)注意到它們的不同:(1) C語言中的賦值號語言中的賦值號“=”是一個運(yùn)算符,在其他大多數(shù)語言中是一個運(yùn)算符,在其他大多數(shù)語言中賦賦 值號不是運(yùn)算符。值號不是運(yùn)算符。(2) 其他多數(shù)高級語言沒有其他多數(shù)高級語言沒有“賦值表達(dá)式賦值表達(dá)式”一概念。作為賦值表一概念。作為賦值表達(dá)達(dá) 式可以包括在其他表達(dá)式之中,例如:式可以包括在其他表達(dá)式之中,例如:if (a=b)0) t=a;其中其中a=b是賦值表達(dá)式是賦值表達(dá)式等價于等價于a=b;if(
42、a0) t=a;在在if語句中的語句中的“a=b”不是賦值語句更不是條件表達(dá)式,而是賦值不是賦值語句更不是條件表達(dá)式,而是賦值表達(dá)式,但不能表示為:表達(dá)式,但不能表示為:if (a=b;)0) t=a;6. 變量賦初值變量賦初值1. C語言允許在定義變量的同時使變量初始化,如:語言允許在定義變量的同時使變量初始化,如:int a=3;float f=3.56;char c=a;2. 也可以對部分變量賦初值,如:也可以對部分變量賦初值,如:int a,b,c=5;3. 如果要對多個變量賦同一個值,應(yīng)寫成:如果要對多個變量賦同一個值,應(yīng)寫成:int a=3;b=3;c=3; /* 不能表示為不能表
43、示為a=b=c=3 */相當(dāng)于:相當(dāng)于:int a,b,c;a=3;b=3;c=3;3.4 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出3.4.1 輸入輸出舉例輸入輸出舉例例例12 求一元二次方程的根。求一元二次方程的根。a、b、c由鍵盤輸入,設(shè)由鍵盤輸入,設(shè)b2-4ac0。#include#includeint man() float a,b,c,disc,x1,x2,p,q; scanf(“a=%f,b=%f,c=%f”,&a,&b,&c); disc=b*b-4*a*c; p=-b/(2*a); q=sqrt(disc)/(2*a); x1=p+q;x2=p-q; printf(
44、“x1=%5.2fnx2=%5.2fn”,x1,x2); return 0;運(yùn)行情況如下:運(yùn)行情況如下:a=1,b=3,c=2x1=-1.00 x2=-2.003.4.2 數(shù)據(jù)輸入輸出的概念數(shù)據(jù)輸入輸出的概念1. 輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的。即通過輸入設(shè)備向計(jì)算機(jī)輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的。即通過輸入設(shè)備向計(jì)算機(jī)提供數(shù)據(jù)稱為數(shù)據(jù)輸入,計(jì)算機(jī)向外部設(shè)備輸出數(shù)據(jù)稱為數(shù)據(jù)輸出。提供數(shù)據(jù)稱為數(shù)據(jù)輸入,計(jì)算機(jī)向外部設(shè)備輸出數(shù)據(jù)稱為數(shù)據(jù)輸出。2. C語言本身不提供輸入輸出語句,輸入輸出是由函數(shù)實(shí)現(xiàn)。語言本身不提供輸入輸出語句,輸入輸出是由函數(shù)實(shí)現(xiàn)。 如:如:printf(),scanf()
45、,putchar(),getchar(),puts(), gets()等。等。系統(tǒng)不提供輸入輸出語句就可以避免在編譯階段處理與硬件有關(guān)的系統(tǒng)不提供輸入輸出語句就可以避免在編譯階段處理與硬件有關(guān)的問題,使編譯系統(tǒng)簡化,而且通用性強(qiáng),可移植性好,對各種型號問題,使編譯系統(tǒng)簡化,而且通用性強(qiáng),可移植性好,對各種型號的計(jì)算機(jī)都適用,便于在各種計(jì)算機(jī)上實(shí)現(xiàn)。的計(jì)算機(jī)都適用,便于在各種計(jì)算機(jī)上實(shí)現(xiàn)。3. C語言函數(shù)庫中提供了語言函數(shù)庫中提供了“標(biāo)準(zhǔn)輸入輸出函數(shù)標(biāo)準(zhǔn)輸入輸出函數(shù)”,但使用,但使用C語言函數(shù)語言函數(shù)庫時,要用預(yù)編譯命令庫時,要用預(yù)編譯命令“include”將有關(guān)將有關(guān)”頭文件頭文件”包含到用戶
46、源包含到用戶源文件中。文件中。例如:例如:# include 或或 # include “stdio.h”3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)C語言提供了一組完整的輸入和輸出格式,可以滿足各種不同的輸語言提供了一組完整的輸入和輸出格式,可以滿足各種不同的輸入輸出的需求,實(shí)際使用中重點(diǎn)掌握一些常用的規(guī)則即可。入輸出的需求,實(shí)際使用中重點(diǎn)掌握一些常用的規(guī)則即可。1. printf函數(shù)的一般格式:函數(shù)的一般格式:printf(格式控制格式控制,輸出表列輸出表列)例如:例如:printf(“i=%d c=%cn”,i,c); “格式控制格式控制”由由“格式說明格式說明”和和“普通字符普
47、通字符”兩部分組成。兩部分組成。 格式說明:由格式說明:由“%”和格式字符組成和格式字符組成 普通字符:需要原樣輸出的字符普通字符:需要原樣輸出的字符 “輸出表列輸出表列”是需要輸出的一些數(shù)據(jù)。是需要輸出的一些數(shù)據(jù)。由于由于printf是函數(shù),因此是函數(shù),因此“格式控制格式控制”字符串和字符串和“輸出表列輸出表列”實(shí)際實(shí)際上都是函數(shù)的參數(shù),上都是函數(shù)的參數(shù),printf函數(shù)的一般形式表示為:函數(shù)的一般形式表示為:printf (參數(shù)參數(shù)1,參數(shù),參數(shù)2,參數(shù),參數(shù)3,參數(shù)參數(shù)n)3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 格式字符格式字符 對不同類型的數(shù)據(jù)應(yīng)使用不同的格式字符對不
48、同類型的數(shù)據(jù)應(yīng)使用不同的格式字符 d格式符,用來輸出十進(jìn)制整數(shù)格式符,用來輸出十進(jìn)制整數(shù) %d,按整型數(shù)據(jù)實(shí)際長度輸出按整型數(shù)據(jù)實(shí)際長度輸出 %md,m為指定輸出寬度,如果數(shù)據(jù)位數(shù)小于為指定輸出寬度,如果數(shù)據(jù)位數(shù)小于m,左端補(bǔ)空格,左端補(bǔ)空格 %ld,輸出長整型數(shù)據(jù),輸出長整型數(shù)據(jù) 例:例:printf(“%d,%4d,%ld,%8ld”,a,b,c,d); 若若a=12,b=123,c=123456,d=56789 則輸出結(jié)果為:則輸出結(jié)果為: 12,123,123456,56789 o格式符,以八進(jìn)制數(shù)形式輸出整數(shù)(包含格式符,以八進(jìn)制數(shù)形式輸出整數(shù)(包含%o,%mo,%lo等)等) 例:
49、例:printf(“%d,%o”,a,a); 輸出結(jié)果:輸出結(jié)果:12,14 x格式符,以十六進(jìn)制數(shù)形式輸出整數(shù)(包含格式符,以十六進(jìn)制數(shù)形式輸出整數(shù)(包含%x,%mx,%lx等)等) 例:例:printf(“%d,%x”,b,b); 輸出結(jié)果:輸出結(jié)果:123,7B3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù) u格式符,以十進(jìn)制形式輸出無符號整數(shù)格式符,以十進(jìn)制形式輸出無符號整數(shù)(包含包含%u,%mu,%lu等等) unsigned型數(shù)據(jù)也可以用型數(shù)據(jù)也可以用%d,%o,%x格式輸出。格式輸出。 例例: #include int main() unsigned int a=65535
50、; int b=-2; printf(a=%d,%o,%x,%un,a,a,a,a); printf(b=%d,%o,%x,%un,b,b,b,b); return 0; 運(yùn)行結(jié)果為運(yùn)行結(jié)果為 (65535表示表示16位全部為位全部為“1”) a=-1,177777,ffff,65535 b=-2,177776,fffe,65534 3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù) c格式符,用來輸出一個字符格式符,用來輸出一個字符(包含包含%c,%mc) 例例: char c=a; printf(“%c,%dn”,c,c); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:a,97 一個整數(shù),只要它的值在一個整數(shù),
51、只要它的值在0255范圍內(nèi),也可以用范圍內(nèi),也可以用“%c”輸出,但輸出,但輸出的是該整數(shù)作為輸出的是該整數(shù)作為ASCII碼對應(yīng)的字符。碼對應(yīng)的字符。 s格式符,用來輸出一個字符串格式符,用來輸出一個字符串(包含包含%s,%ms,%-ms,%m.ns,%-m.ns) 例例: printf(“%3s,%7.2s,%.4s,%-5.3sn”,”CHINA”,”CHINA”,”CHINA”,”CHINA”); 輸出結(jié)果:輸出結(jié)果:CHINA,CH,CHIN,CHI3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù) f格式符,用來以小數(shù)形式輸出實(shí)數(shù)(包含格式符,用來以小數(shù)形式輸出實(shí)數(shù)(包含%f,%m
52、.nf,%-m.nf等)等)例:例:printf(“%f%10f%10.2f%.2f%-10.2fn”,f,f,f,f,f);若若f=123.456 則則輸出結(jié)果:輸出結(jié)果: 123.456001123.456001123.46123.46123.46 e格式符,用來以指數(shù)形式輸出實(shí)數(shù)(包含格式符,用來以指數(shù)形式輸出實(shí)數(shù)(包含%e,%m.ne,%-m.ne等)等)例:例:printf(“%e%10e%10.2e%.2e%-10.2en”,f,f,f,f,f);若若f=123.456 則則輸出結(jié)果:輸出結(jié)果: 1.234560e+0021.234560e+0021.23e+0021.23e+00
53、21.23e+002 13列列 13列列 10列列 9列列 10列列 g格式符,根據(jù)數(shù)值大小,自動選格式符,根據(jù)數(shù)值大小,自動選f格式或格式或e格式輸出實(shí)數(shù)格式輸出實(shí)數(shù)例:例: printf(“%f%e%g”,f,f,f);( f=123.468 )輸出結(jié)果:輸出結(jié)果:123.4680001.234680e+002123.468f格式輸出格式輸出10列,列,e格式輸出格式輸出13列,列,g格式自動選擇兩種格式中的短格式。格式自動選擇兩種格式中的短格式。3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)printf函數(shù)的函數(shù)的9種格式符見種格式符見(p74表表3.6)和附加說明符和附加說明符(
54、表表3.7)。使用使用printf函數(shù)的有關(guān)說明:函數(shù)的有關(guān)說明:(1) 除了除了X、E、G外,其他格式字符必須用小寫。外,其他格式字符必須用小寫。(2) 可以在可以在printf函數(shù)中的函數(shù)中的“格式控制格式控制”字符串內(nèi)包含字符串內(nèi)包含“轉(zhuǎn)義字符轉(zhuǎn)義字符”, 如如“n”、“t”、“377”等。等。(3) 格式控制符必須使用格式控制符必須使用“%”開頭,以格式字符之一為結(jié)束,中間開頭,以格式字符之一為結(jié)束,中間 可以插入附加格式字符。例如:可以插入附加格式字符。例如:printf (“c=%c f=%f s=%s”,c,f,s);(4) 如果想輸出字符如果想輸出字符“%”,則應(yīng)該在,則應(yīng)該在“格式控制格式控制”字符串中用連續(xù)字符串中用連續(xù)兩兩 個個%表示。表示。 例如:例如:printf(“%5.2f%”,1.0/3); 輸出:輸出:0.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 嵌入式設(shè)備調(diào)試方法試題及答案
- 網(wǎng)絡(luò)云計(jì)算技術(shù)測驗(yàn)題及答案
- 數(shù)據(jù)庫開發(fā)中的協(xié)作工具與資源管理試題及答案
- 行政組織理論中的協(xié)同效應(yīng)分析試題及答案
- 公路工程考試面臨的知識更新挑戰(zhàn)試題及答案
- 突破2025年軟件測試工程師考試難度試題及答案
- 行政組織考試的系統(tǒng)化試題及答案
- 行政組織考試的備考指南試題及答案
- 專項(xiàng)公路工程復(fù)習(xí)試題及答案
- 整體把握的信息系統(tǒng)監(jiān)理師考試試題及答案
- 外科經(jīng)典換藥術(shù)
- 義項(xiàng)和義素-課件
- 水文地質(zhì)學(xué)基礎(chǔ) 15.地下水與環(huán)境
- 地質(zhì)災(zāi)害治理工程施工質(zhì)量驗(yàn)收表
- 葫蘆島市白狼山新一代天氣雷達(dá)塔樓及配套基礎(chǔ)設(shè)施建設(shè)項(xiàng)目環(huán)評報(bào)告
- 出版專業(yè)基礎(chǔ)知識中級
- 2023-2024學(xué)年云南省開遠(yuǎn)市小學(xué)數(shù)學(xué)三年級下冊期末深度自測考試題
- 新時代三會一課(講解)
- GB/T 9115.1-2000平面、突面對焊鋼制管法蘭
- 教輔資料進(jìn)校園審批制度
- 2023年廣東省初中生物地理學(xué)業(yè)考試真題集合試卷及答案高清版匯總
評論
0/150
提交評論