第3章+最簡(jiǎn)單的C程序設(shè)計(jì)修正_第1頁(yè)
第3章+最簡(jiǎn)單的C程序設(shè)計(jì)修正_第2頁(yè)
第3章+最簡(jiǎn)單的C程序設(shè)計(jì)修正_第3頁(yè)
第3章+最簡(jiǎn)單的C程序設(shè)計(jì)修正_第4頁(yè)
第3章+最簡(jiǎn)單的C程序設(shè)計(jì)修正_第5頁(yè)
已閱讀5頁(yè),還剩88頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、3.1 順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例3.2 數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算3.3 C語(yǔ)句語(yǔ)句3.4 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例 例例3.1 有人用溫度計(jì)測(cè)量出用華氏法表有人用溫度計(jì)測(cè)量出用華氏法表示的溫度示的溫度(如如 F,今要求把它轉(zhuǎn)換為以,今要求把它轉(zhuǎn)換為以攝氏法表示的溫度攝氏法表示的溫度(如如 C) 。解題思路:找到二者間的轉(zhuǎn)換公式解題思路:找到二者間的轉(zhuǎn)換公式)32(95fcf代表華氏溫度代表華氏溫度,c代表攝氏溫度代表攝氏溫度3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例算法:算法:輸入輸入f的值的值輸出輸出c的值的值)32(95fc

2、 例例3.1 有人用溫度計(jì)測(cè)量出用華氏法表有人用溫度計(jì)測(cè)量出用華氏法表示的溫度示的溫度(如如 F,今要求把它轉(zhuǎn)換為以,今要求把它轉(zhuǎn)換為以攝氏法表示的溫度攝氏法表示的溫度(如如 C) 。N-S圖圖3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例)32(95f#include int main ( ) float f,c; f=64.0; c=(5.0/9)*(f-32); printf(f=%fnc=%fn,f,c); return 0; 定義定義f和和c為單精度浮點(diǎn)型變量為單精度浮點(diǎn)型變量指定指定f的值的值計(jì)算計(jì)算c的值的值輸出輸出f和和c的的值值3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例 例例3.2 計(jì)算

3、存款利息。有計(jì)算存款利息。有1000元,想元,想存一年。有三種方法可選:存一年。有三種方法可選: (1)活期,年利率為活期,年利率為r1 (2)一年期定期,年利率為一年期定期,年利率為r2 (3)存兩次半年定期,年利率為存兩次半年定期,年利率為r3 請(qǐng)分別計(jì)算出一年后按三種方法所得到請(qǐng)分別計(jì)算出一年后按三種方法所得到的本息和。的本息和。3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例解題思路:確定計(jì)算本息和的公式。解題思路:確定計(jì)算本息和的公式。從數(shù)學(xué)知識(shí)可知:若存款額為從數(shù)學(xué)知識(shí)可知:若存款額為p0,則:,則:活期存款一年后本息和為:活期存款一年后本息和為: p1=p0(1+r1)一年期定期存款,一年

4、后本息和為:一年期定期存款,一年后本息和為: p2=p0(1+r2)兩次半年定期存款,一年后本息和為:兩次半年定期存款,一年后本息和為: ) 23+)(123+p0(1=p3rr3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例算法算法:輸入輸入p0,r1,r2,r3的值的值計(jì)算計(jì)算p1=p0(1+r1)計(jì)算計(jì)算p2=p0(1+r2)計(jì)算計(jì)算p3=p0(1+ )(1+ )輸出輸出p1,p2,p323r23r3.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例#include int main ( ) float p0=1000, r1=0.0036,r2=0.0225, r3=0.0198, p1, p2, p3; p

5、1 = p0 * (1 + r1); p2 = p0 * (1 + r2); p3 = p0 * (1 + r3/2) * (1 + r3/2); printf(”%fn%fn%fn”,p1, p2, p3); return 0; 定義變量定義變量同時(shí)同時(shí)賦予初值賦予初值3.2 數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算3.2.1 常量和變量常量和變量3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)3.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)3.2.6 怎樣確定常量的類型怎樣確定常量的類型3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式3.2.1 常量和變量常量和變量1.

6、常量常量:在程序運(yùn)行過(guò)程中,其值在程序運(yùn)行過(guò)程中,其值不能被改變的量不能被改變的量整型常量整型常量:如如1000,12345,0,-345 10進(jìn)制進(jìn)制 8進(jìn)制進(jìn)制16進(jìn)制進(jìn)制實(shí)型常量實(shí)型常量u十進(jìn)制小數(shù)形式十進(jìn)制小數(shù)形式:如如0.34 -56.79 0.0u指數(shù)形式指數(shù)形式:如如12.34e3 (代表代表12.34 103)9 9, 3.2.1 常量和變量常量和變量3.2.1 常量和變量常量和變量字符串常量:用雙引號(hào)括起來(lái)的字符序列字符串常量:用雙引號(hào)括起來(lái)的字符序列 實(shí)例:實(shí)例:”This is C string.This is C string.” ” ”a a” ” ” (1 1個(gè)個(gè)空

7、格)空格) ” (不含空格)不含空格) 串定界符:串定界符:雙引號(hào)雙引號(hào) ” ”字符串長(zhǎng)度:字符串中包含的字符數(shù)量。字符串長(zhǎng)度:字符串中包含的字符數(shù)量。tNameAddressntNameAddressnC is very easy.C is very easy. a a 與與 字符字符a a 的區(qū)別的區(qū)別 He saidHe said ok.ok. nn3.2.1 常量和變量常量和變量3.2.1 常量和變量常量和變量2. 變量變量:在程序運(yùn)行期間,變量的值是可以改變的在程序運(yùn)行期間,變量的值是可以改變的變量必須變量必須先定義先定義,后使用后使用定義定義變量變量時(shí)指定該變量的時(shí)指定該變量的名字

8、名字和和類型類型變量名變量名和和變量值變量值是是兩個(gè)不同的概念兩個(gè)不同的概念變量名實(shí)際上是以一個(gè)名字代表的一個(gè)變量名實(shí)際上是以一個(gè)名字代表的一個(gè)存儲(chǔ)地址存儲(chǔ)地址從變量中取值,實(shí)際上是通過(guò)變量名找到相應(yīng)的從變量中取值,實(shí)際上是通過(guò)變量名找到相應(yīng)的內(nèi)存地址,從該存儲(chǔ)單元中讀取數(shù)據(jù)內(nèi)存地址,從該存儲(chǔ)單元中讀取數(shù)據(jù)3.2.1 常量和變量常量和變量3.常變量常變量:const int a=3;4.標(biāo)識(shí)符標(biāo)識(shí)符:一個(gè)對(duì)象的名字一個(gè)對(duì)象的名字語(yǔ)言規(guī)定標(biāo)識(shí)符只能由語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母字母、數(shù)字?jǐn)?shù)字和和下劃線下劃線3種字符組成,且種字符組成,且第一個(gè)字符必須為字母或下劃線第一個(gè)字符必須為字母或下劃線合法的標(biāo)

9、識(shí)符:合法的標(biāo)識(shí)符:如如sum,average, _total, Class, day, BASIC, li_ling不合法的標(biāo)識(shí)符不合法的標(biāo)識(shí)符:M.D.John,¥,¥123,33,3D64,ab大小寫(xiě)字母是不同的字符大小寫(xiě)字母是不同的字符3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型所謂所謂類型類型,就是對(duì)數(shù)據(jù)分配存儲(chǔ)單元的安,就是對(duì)數(shù)據(jù)分配存儲(chǔ)單元的安排,包括存儲(chǔ)單元的長(zhǎng)度排,包括存儲(chǔ)單元的長(zhǎng)度(占多少字節(jié)占多少字節(jié))以以及數(shù)據(jù)的存儲(chǔ)形式及數(shù)據(jù)的存儲(chǔ)形式不同的類型分配不同的長(zhǎng)度和存儲(chǔ)形式不同的類型分配不同的長(zhǎng)度和存儲(chǔ)形式基本類型基本類型整型整型 intint實(shí)型實(shí)型( (浮點(diǎn)型浮點(diǎn)型) )字符型字符型

10、charchar枚舉枚舉 enumenum單精度單精度 floatfloat雙精度雙精度 doubledouble指針類型指針類型構(gòu)造類型構(gòu)造類型數(shù)組數(shù)組結(jié)構(gòu)結(jié)構(gòu) structstruct共用體共用體 unionunion空類型空類型3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)1. 整型數(shù)據(jù)的分類整型數(shù)據(jù)的分類最基本的整型類型最基本的整型類型u基本整型基本整型(int型型):占:占2個(gè)或個(gè)或4個(gè)字節(jié)個(gè)字節(jié)u短整型短整型(short int):VC+6.0中占中占2個(gè)字節(jié)個(gè)字節(jié)u長(zhǎng)整型長(zhǎng)整型(long int):VC+6.0中占中占4個(gè)字節(jié)個(gè)字節(jié)u雙長(zhǎng)整型雙長(zhǎng)整型(long long

11、 int):C99新增的新增的3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)1. 整型數(shù)據(jù)的分類整型數(shù)據(jù)的分類2. 整型變量的符號(hào)屬性整型變量的符號(hào)屬性u(píng)整型變量的值的范圍包括負(fù)數(shù)到正數(shù)整型變量的值的范圍包括負(fù)數(shù)到正數(shù)u可以將變量定義為可以將變量定義為“無(wú)符號(hào)無(wú)符號(hào)”類型類型u擴(kuò)充的整形類型:擴(kuò)充的整形類型:3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)擴(kuò)充的整型類型:擴(kuò)充的整型類型:有符號(hào)基本整型有符號(hào)基本整型 int;無(wú)符號(hào)基本整型無(wú)符號(hào)基本整型 unsigned int;有符號(hào)短整型有符號(hào)短整型 short int;無(wú)符號(hào)短整型無(wú)符號(hào)短整型 unsigned short int;有符號(hào)長(zhǎng)整型有符號(hào)長(zhǎng)整型 long int;

12、無(wú)符號(hào)長(zhǎng)整型無(wú)符號(hào)長(zhǎng)整型 unsigned long int有符號(hào)雙長(zhǎng)整型有符號(hào)雙長(zhǎng)整型 long long int; 無(wú)符號(hào)雙長(zhǎng)整型無(wú)符號(hào)雙長(zhǎng)整型 unsigned long long int 3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)1.字符與字符代碼字符與字符代碼大多數(shù)系統(tǒng)采用大多數(shù)系統(tǒng)采用ASCII字符集字符集u字母:字母:A Z,a zu數(shù)字:數(shù)字:09u專門(mén)符號(hào):專門(mén)符號(hào):29個(gè):個(gè):! ” # & ( ) *等等u空格符:空格、水平制表符、換行空格符:空格、水平制表符、換行等等u不能顯示的字符:空不能顯示的字符:空(null)字符字符(以以0表表示示)、警告、警告(以以a表示表示)

13、、退格、退格(以以b表示表示)、回車(chē)、回車(chē)(以以r表示表示)等等3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)字符字符1和整數(shù)和整數(shù)1是不同的概念是不同的概念:u字符字符1只是代表一個(gè)形狀為只是代表一個(gè)形狀為1的符號(hào),在的符號(hào),在需要時(shí)按原樣輸出,在內(nèi)存中以需要時(shí)按原樣輸出,在內(nèi)存中以ASCII碼形碼形式存儲(chǔ),占式存儲(chǔ),占1個(gè)字節(jié)個(gè)字節(jié)u整數(shù)整數(shù)1是以整數(shù)存儲(chǔ)方式是以整數(shù)存儲(chǔ)方式(二進(jìn)制補(bǔ)碼方式二進(jìn)制補(bǔ)碼方式)存儲(chǔ)的,占存儲(chǔ)的,占2個(gè)或個(gè)或4個(gè)字節(jié)個(gè)字節(jié)0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

14、0 0 0 0 0 0 0 13.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)是用來(lái)表示具有小數(shù)點(diǎn)的實(shí)數(shù)浮點(diǎn)型數(shù)據(jù)是用來(lái)表示具有小數(shù)點(diǎn)的實(shí)數(shù)float型型(單精度浮點(diǎn)型單精度浮點(diǎn)型)4個(gè)字節(jié)個(gè)字節(jié)double型型(雙精度浮點(diǎn)型雙精度浮點(diǎn)型)u編譯系統(tǒng)為編譯系統(tǒng)為double型變量分配型變量分配8個(gè)字節(jié)個(gè)字節(jié)u15位有效數(shù)字位有效數(shù)字long double(長(zhǎng)雙精度長(zhǎng)雙精度)型型8或或16個(gè)字節(jié)個(gè)字節(jié)指數(shù)的符號(hào)位指數(shù)的符號(hào)位小數(shù)的符號(hào)位小數(shù)的符號(hào)位3.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式1.基本的算術(shù)運(yùn)算符基本的算術(shù)運(yùn)算符:+ :正號(hào)運(yùn)算符正號(hào)運(yùn)算符(單目運(yùn)算符單目運(yùn)算

15、符) - :負(fù)號(hào)運(yùn)算符負(fù)號(hào)運(yù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)算符優(yōu)先級(jí):* / % 同級(jí)(高),+ - 同級(jí)(低) 例:2+3*4=2+(3*4)=141.1.參加運(yùn)算的對(duì)象都是參加運(yùn)算的對(duì)象都是intint型,結(jié)果截取為型,結(jié)果截取為intint型型 9%3 9%31%31%310%310%310%-310%-3-10%3-10%3-10%-3-10%-3= 3= 3= 3.3333= 3.66667= 0= 0.5= 6= 0= 0= 1 1= 1= 1= 1= -1

16、= -1= -1= -1注意:運(yùn)算對(duì)象的數(shù)據(jù)類型對(duì)運(yùn)算結(jié)果的影響注意:運(yùn)算對(duì)象的數(shù)據(jù)類型對(duì)運(yùn)算結(jié)果的影響 a+b如何表示數(shù)學(xué)表達(dá)式 - c+d (a+b)/(c+d)3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式2. 自增、自減運(yùn)算符自增、自減運(yùn)算符:+ +和和 為單目運(yùn)算,只能作用于變量為單目運(yùn)算,只能作用于變量只能對(duì)只能對(duì)intint、charchar、longlong和和指針變量進(jìn)行運(yùn)算指針變量進(jìn)行運(yùn)算功能:功能:+x x=x+1 x x=x1 ( (前綴前綴) ) x+ x=x+1 x x=x1 ( (后綴后綴) )3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式前綴與后綴的區(qū)別:前綴與后綴的區(qū)別:

17、 y=+x; x=x+1; y=x; x先加先加1再賦值再賦值 y=x+; y=x; x=x+1; x先賦值再加先賦值再加13.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式3. 算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性:用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱操作用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱操作數(shù))連接起來(lái)的、符合語(yǔ)法規(guī)則的式子,數(shù))連接起來(lái)的、符合語(yǔ)法規(guī)則的式子,稱為算術(shù)表達(dá)式稱為算術(shù)表達(dá)式 如:如:a+3、i*26運(yùn)算對(duì)象包括常量、變量、函數(shù)等運(yùn)算對(duì)象包括常量、變量、函數(shù)等語(yǔ)言規(guī)定了運(yùn)算符的

18、優(yōu)先級(jí)語(yǔ)言規(guī)定了運(yùn)算符的優(yōu)先級(jí)和和結(jié)合性結(jié)合性3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式4.不同類型數(shù)據(jù)間的混合運(yùn)算不同類型數(shù)據(jù)間的混合運(yùn)算:(1)+、-、*、/ 運(yùn)算的兩個(gè)數(shù)中有一個(gè)數(shù)為運(yùn)算的兩個(gè)數(shù)中有一個(gè)數(shù)為float或或double型,結(jié)果是型,結(jié)果是double型型。系統(tǒng)將系統(tǒng)將float型數(shù)據(jù)都先轉(zhuǎn)換為型數(shù)據(jù)都先轉(zhuǎn)換為double型,然后進(jìn)行運(yùn)算型,然后進(jìn)行運(yùn)算(2) 如果如果int型與型與float或或double型數(shù)據(jù)進(jìn)行運(yùn)算,型數(shù)據(jù)進(jìn)行運(yùn)算,先把先把int型和型和float型數(shù)據(jù)轉(zhuǎn)換為型數(shù)據(jù)轉(zhuǎn)換為double型,然型,然后進(jìn)行運(yùn)算,結(jié)果是后進(jìn)行運(yùn)算,結(jié)果是double型型(3)字

19、符型數(shù)據(jù)與整型數(shù)據(jù)進(jìn)行運(yùn)算,就是把字符的字符型數(shù)據(jù)與整型數(shù)據(jù)進(jìn)行運(yùn)算,就是把字符的ASCII代碼與整型數(shù)據(jù)進(jìn)行運(yùn)算代碼與整型數(shù)據(jù)進(jìn)行運(yùn)算類型轉(zhuǎn)換規(guī)則類型轉(zhuǎn)換規(guī)則 1 1、運(yùn)算中將所有、運(yùn)算中將所有charchar型數(shù)據(jù)都轉(zhuǎn)換成型數(shù)據(jù)都轉(zhuǎn)換成intint型,型,floatfloat型型轉(zhuǎn)換成轉(zhuǎn)換成doubledouble型。型。 2 2、低級(jí)類型服從高級(jí)類型,并進(jìn)行相應(yīng)的轉(zhuǎn)換、低級(jí)類型服從高級(jí)類型,并進(jìn)行相應(yīng)的轉(zhuǎn)換double double float floatlonglongunsignedunsignedintint char char 3 3、賦值運(yùn)算以賦值運(yùn)算符左邊變量的類型為準(zhǔn),賦值

20、運(yùn)算以賦值運(yùn)算符左邊變量的類型為準(zhǔn),即賦值運(yùn)算符右端值的類型向左邊變量的類即賦值運(yùn)算符右端值的類型向左邊變量的類型看齊,并進(jìn)行相應(yīng)的轉(zhuǎn)換。型看齊,并進(jìn)行相應(yīng)的轉(zhuǎn)換。3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式 例例3.3 給定一個(gè)大寫(xiě)字母,要求用小寫(xiě)給定一個(gè)大寫(xiě)字母,要求用小寫(xiě)字母輸出。字母輸出。解題思路:解題思路:u關(guān)鍵是關(guān)鍵是找到大找到大、小寫(xiě)字母間小寫(xiě)字母間的的內(nèi)在聯(lián)系內(nèi)在聯(lián)系u同一個(gè)字母,用小寫(xiě)表示的字符的同一個(gè)字母,用小寫(xiě)表示的字符的ASCII代代碼比用大寫(xiě)表示的字符的碼比用大寫(xiě)表示的字符的ASCII代碼大代碼大323.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式#include int mai

21、n ( ) char c1,c2; c1=A; c2=c1+32; printf(%cn,c2); printf(”%dn”,c2); return 0;將字符將字符A的的ASCII代碼代碼65放到放到c1中中將將65+32的的結(jié)果結(jié)果放到放到c2中中用字符形式輸出用字符形式輸出用十進(jìn)制形式輸出用十進(jìn)制形式輸出3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式5. 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符的的一般形式為一般形式為 (類型名)(表達(dá)式)(類型名)(表達(dá)式)u(double)a (將轉(zhuǎn)換成(將轉(zhuǎn)換成double類型)類型)u(int) (x+y) (將(將x+

22、y的值轉(zhuǎn)換成的值轉(zhuǎn)換成int型)型) u(float)(5%3)(將(將5%3的值轉(zhuǎn)換成的值轉(zhuǎn)換成float型)型)有兩種類型轉(zhuǎn)換有兩種類型轉(zhuǎn)換u系統(tǒng)自動(dòng)進(jìn)行的類型轉(zhuǎn)換系統(tǒng)自動(dòng)進(jìn)行的類型轉(zhuǎn)換u強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式6.運(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ò)展賦值運(yùn)算符)(6) 條件運(yùn)算符條件運(yùn)算符 (?:)(?:)3.2.7 運(yùn)算符和表達(dá)式

23、運(yùn)算符和表達(dá)式6.運(yùn)算符運(yùn)算符(7) 逗號(hào)運(yùn)算符逗號(hào)運(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) 其他其他 (如函數(shù)調(diào)用運(yùn)算符()(如函數(shù)調(diào)用運(yùn)算符()3.3 C語(yǔ)句語(yǔ)句3.3.1 C語(yǔ)句的作用和分類語(yǔ)句的作用和分類3.3.2 最基本的語(yǔ)句最基本的語(yǔ)句-賦值語(yǔ)句賦值語(yǔ)句3.3.1 C語(yǔ)句的作用和分類語(yǔ)句的作用和分類語(yǔ)句分為以下語(yǔ)句分為以下5類類:(1) 控制語(yǔ)句控制語(yǔ)句:

24、if、switch、for、while、dowhile、continue、break、return、goto等等(2) 函數(shù)調(diào)用語(yǔ)句函數(shù)調(diào)用語(yǔ)句(3) 表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句(4) 空語(yǔ)句空語(yǔ)句(5) 復(fù)合語(yǔ)句復(fù)合語(yǔ)句#include main( ) /* * 簡(jiǎn)單程序?qū)嵗?jiǎn)單程序?qū)嵗?* */ / int a=10,b=20,c; if (ba) c=a+b; printf(”%dn”,c); else ; 控控制制語(yǔ)語(yǔ)句句表達(dá)式語(yǔ)句表達(dá)式語(yǔ)句復(fù)合語(yǔ)句復(fù)合語(yǔ)句函數(shù)調(diào)用語(yǔ)句函數(shù)調(diào)用語(yǔ)句空語(yǔ)句空語(yǔ)句說(shuō)明語(yǔ)句說(shuō)明語(yǔ)句注釋語(yǔ)句注釋語(yǔ)句C的語(yǔ)句以分號(hào)的語(yǔ)句以分號(hào)(;)結(jié)束結(jié)束3.3.2 最基本的語(yǔ)句最基

25、本的語(yǔ)句-賦值語(yǔ)句賦值語(yǔ)句在在C程序中,最常用的語(yǔ)句是:程序中,最常用的語(yǔ)句是:u賦值語(yǔ)句賦值語(yǔ)句u輸入輸出語(yǔ)句輸入輸出語(yǔ)句其中最基本的是賦值語(yǔ)句其中最基本的是賦值語(yǔ)句例例3.5 求求 方程的根。方程的根。a、b、c由鍵盤(pán)輸入由鍵盤(pán)輸入 設(shè)設(shè) 02cbxaxacb42解題思路:首先要知道求方程式的根解題思路:首先要知道求方程式的根的方法。的方法。由數(shù)學(xué)知識(shí)已知:如果由數(shù)學(xué)知識(shí)已知:如果 0,則一元二次方程有兩個(gè)實(shí)根,則一元二次方程有兩個(gè)實(shí)根:acb42aacbbx2421aacbbx2422abp2aacbq242若記若記qpx1qpx2#include #include int main (

26、 ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf,&a,&b,&c); disc=b*b-4*a*c; p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(x1=%7.2fnx2=%7.2fn,x1,x2); return 0;程序中程序中調(diào)用數(shù)學(xué)函數(shù)調(diào)用數(shù)學(xué)函數(shù)sqrt歸納歸納總結(jié):總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符u“”是賦值運(yùn)算符是賦值運(yùn)算符u作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量u也可以將一個(gè)表達(dá)式的值賦給一個(gè)變量也可以將一個(gè)表達(dá)式的值賦

27、給一個(gè)變量ub=a;與;與a=b;不同;不同歸納歸納總結(jié):總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合復(fù)合賦值運(yùn)算:賦值運(yùn)算:e1 op= e2 等于:等于:e1 = e1 op (e2)其中:其中:op為下列為下列10個(gè)運(yùn)算符之一個(gè)運(yùn)算符之一+ + * * / % / % | & | & e1為可以進(jìn)行賦制操作的變量為可以進(jìn)行賦制操作的變量e2為合法的表達(dá)式為合法的表達(dá)式 例:例:x += 2; x = x + 2; x * *= y+1; x = x * * ( y+1); 不等價(jià)不等價(jià) x = x * * y+1; x = 2; x = x 2;歸納歸納總結(jié):總結(jié):1.賦值運(yùn)算

28、符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符3.賦值過(guò)程中的類型轉(zhuǎn)換賦值過(guò)程中的類型轉(zhuǎn)換u兩側(cè)類型一致兩側(cè)類型一致時(shí)時(shí),直接賦值,直接賦值u兩側(cè)類型不一致,但都是算術(shù)類型時(shí),兩側(cè)類型不一致,但都是算術(shù)類型時(shí),自動(dòng)將自動(dòng)將右側(cè)的右側(cè)的類型轉(zhuǎn)換類型轉(zhuǎn)換為左側(cè)類型后賦值為左側(cè)類型后賦值u定義變量時(shí)要防止數(shù)據(jù)溢出定義變量時(shí)要防止數(shù)據(jù)溢出歸納歸納總結(jié):總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式賦值表達(dá)式4.賦值過(guò)程中的類型轉(zhuǎn)換賦值過(guò)程中的類型轉(zhuǎn)換5.賦值表達(dá)式和賦值語(yǔ)句賦值表達(dá)式和賦值語(yǔ)句u賦值表達(dá)式的末尾沒(méi)有分號(hào),而賦值語(yǔ)句有賦值表達(dá)式的末尾沒(méi)有分號(hào),而賦值語(yǔ)

29、句有分號(hào)分號(hào)歸納歸納總結(jié):總結(jié):1.賦值運(yùn)算符賦值運(yùn)算符2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符3.賦值表達(dá)式賦值表達(dá)式4.賦值過(guò)程中的類型轉(zhuǎn)換賦值過(guò)程中的類型轉(zhuǎn)換5.賦值表達(dá)式和賦值語(yǔ)句賦值表達(dá)式和賦值語(yǔ)句6.變量賦初值變量賦初值int a=3,b=3,c;int a=3; 相當(dāng)于相當(dāng)于 int a; a=3;3.4 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出3.4.1 輸入輸出舉例輸入輸出舉例3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念有關(guān)數(shù)據(jù)輸入輸出的概念3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)3.4.4 用用scanf函數(shù)輸入數(shù)據(jù)函數(shù)輸入數(shù)據(jù)3.4.5 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出3.4.1

30、輸入輸出舉例輸入輸出舉例例例3.5 求求 方程的根。方程的根。a、b、c由鍵盤(pán)輸入由鍵盤(pán)輸入 設(shè)設(shè) 02cbxaxacb423.4.1 輸入輸出舉例輸入輸出舉例解題思路:首先要知道求方程式的根解題思路:首先要知道求方程式的根的方法。的方法。由數(shù)學(xué)知識(shí)已知:如果由數(shù)學(xué)知識(shí)已知:如果 0,則一元二次方程有兩個(gè)實(shí)根,則一元二次方程有兩個(gè)實(shí)根:acb42aacbbx2421aacbbx2422abp2aacbq242若記若記qpx1qpx2#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf,&a

31、,&b,&c); disc=b*b-4*a*c; p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(x1=%7.2fnx2=%7.2fn,x1,x2); return 0;程序中程序中調(diào)用數(shù)學(xué)函數(shù)調(diào)用數(shù)學(xué)函數(shù)sqrt輸入輸入a,b,c的值的值#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf,&a,&b,&c); disc=b*b-4*a*c; p=-b/(2.0*a); q=sqrt(d

32、isc)/(2.0*a); x1=p+q; x2=p-q; printf(x1=%7.2fnx2=%7.2fn,x1,x2); return 0;輸入的是雙輸入的是雙精度型實(shí)數(shù)精度型實(shí)數(shù)#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf,&a,&b,&c); disc=b*b-4*a*c; p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(x1=%7.2fnx2=%7.2fn,x1,x2); return

33、 0;要求輸入要求輸入3個(gè)實(shí)數(shù)個(gè)實(shí)數(shù)自動(dòng)自動(dòng)轉(zhuǎn)成實(shí)數(shù)轉(zhuǎn)成實(shí)數(shù)后賦給后賦給a,b,c#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf,&a,&b,&c); disc=b*b-4*a*c; p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(x1=%7.2fnx2=%7.2fn,x1,x2); return 0;輸出輸出數(shù)據(jù)占數(shù)據(jù)占7列,其中小數(shù)占列,其中小數(shù)占2列列3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念有關(guān)數(shù)據(jù)

34、輸入輸出的概念幾乎每一個(gè)幾乎每一個(gè)C程序都包含輸入輸出程序都包含輸入輸出輸入輸出是程序中最基本的操作之一輸入輸出是程序中最基本的操作之一3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念有關(guān)數(shù)據(jù)輸入輸出的概念(1) 語(yǔ)言本身不提供輸入輸出語(yǔ)句語(yǔ)言本身不提供輸入輸出語(yǔ)句輸入和輸出操作是由輸入和輸出操作是由C標(biāo)準(zhǔn)函數(shù)庫(kù)中的函標(biāo)準(zhǔn)函數(shù)庫(kù)中的函數(shù)來(lái)實(shí)現(xiàn)的數(shù)來(lái)實(shí)現(xiàn)的printf和和scanf不是語(yǔ)言的關(guān)鍵字,而不是語(yǔ)言的關(guān)鍵字,而只是庫(kù)函數(shù)的名字只是庫(kù)函數(shù)的名字putchar、getchar、puts、gets3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念有關(guān)數(shù)據(jù)輸入輸出的概念(2)在使用在使用輸入輸出輸入輸出函數(shù)時(shí),要在程序文件

35、函數(shù)時(shí),要在程序文件的開(kāi)頭用預(yù)編譯指令的開(kāi)頭用預(yù)編譯指令#include 或或#include stdio.h3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)1.printf函數(shù)的一般格式函數(shù)的一般格式printf(格式控制,輸出表列)(格式控制,輸出表列)例如:例如:printf(”i=%d,c=%cn”,i,c);格式聲明格式聲明3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)1.printf函數(shù)的一般格式函數(shù)的一般格式printf(格式控制,輸出表列)(格式控制,輸出表列)例如:例如:printf(”i=%d,c=%cn”,i,c);普通字符普通字符3.4.3 用用printf函

36、數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)1.printf函數(shù)的一般格式函數(shù)的一般格式printf(格式控制,輸出表列)(格式控制,輸出表列)例如:例如:printf(”i=%d,c=%cn”,i,c);可以是常量、變量或表達(dá)式可以是常量、變量或表達(dá)式3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用常用格式字符格式字符u格式符。用來(lái)輸出一個(gè)有符號(hào)的十進(jìn)制整數(shù)格式符。用來(lái)輸出一個(gè)有符號(hào)的十進(jìn)制整數(shù)l可以在格式聲明中指定輸出數(shù)據(jù)的域?qū)捒梢栽诟袷铰暶髦兄付ㄝ敵鰯?shù)據(jù)的域?qū)?printf(”%d%5dn”,12,-345);l%d輸出輸出int型數(shù)據(jù)型數(shù)據(jù)l%ld輸出輸出long型數(shù)據(jù)型數(shù)據(jù)3.4.3 用用p

37、rintf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用常用格式字符格式字符u格式符。用來(lái)輸出一個(gè)字符格式符。用來(lái)輸出一個(gè)字符 char ch=a; printf(”%c”,ch); 或或 printf(”%5c”,ch);輸出字符輸出字符:a3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用常用格式字符格式字符u格式符。用來(lái)輸出一個(gè)字符串格式符。用來(lái)輸出一個(gè)字符串 printf(”%s”,”CHINA”); 輸出字符串輸出字符串:CHINA3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用常用格式字符格式字符uf格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式

38、輸出不不指定數(shù)據(jù)寬度和小數(shù)位數(shù),用指定數(shù)據(jù)寬度和小數(shù)位數(shù),用%f 例例3.6 用用%f輸出實(shí)數(shù),只能得到位小數(shù)。輸出實(shí)數(shù),只能得到位小數(shù)。 double a=1.0; printf(”%fn”,a/3);3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用常用格式字符格式字符uf格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出 指定數(shù)據(jù)寬度和小數(shù)位數(shù)。用指定數(shù)據(jù)寬度和小數(shù)位數(shù)。用%m.nf printf(%20.15fn,10.0/3); printf(%.0fn”,10000/3.0);3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用常用格式字

39、符格式字符uf格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出 指定數(shù)據(jù)寬度和小數(shù)位數(shù)。用指定數(shù)據(jù)寬度和小數(shù)位數(shù)。用%m.nf float a; a=10000/3.0; printf(%fn,a);3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用常用格式字符格式字符uf格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出 輸出的數(shù)據(jù)向左對(duì)齊,用輸出的數(shù)據(jù)向左對(duì)齊,用%-m.nf3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用常用格式字符格式字符uf格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出l

40、float型數(shù)據(jù)只能保證型數(shù)據(jù)只能保證6位有效數(shù)字位有效數(shù)字ldouble型數(shù)據(jù)能保證型數(shù)據(jù)能保證15位有效數(shù)字位有效數(shù)字l計(jì)算機(jī)輸出的數(shù)字計(jì)算機(jī)輸出的數(shù)字不都不都是絕對(duì)精確有效的是絕對(duì)精確有效的3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用常用格式字符格式字符ue格式符。指定以指數(shù)形式輸出實(shí)數(shù)格式符。指定以指數(shù)形式輸出實(shí)數(shù)l%e,VC+給出小數(shù)位數(shù)為位給出小數(shù)位數(shù)為位 指數(shù)部分占指數(shù)部分占5列列 小數(shù)點(diǎn)前必須有而且只有小數(shù)點(diǎn)前必須有而且只有1位非零數(shù)字位非零數(shù)字 printf(”%e”,123.456); 輸出:輸出:1.234560 e+0023.4.3 用用printf函

41、數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)2. 常用常用格式字符格式字符ue格式符。指定以指數(shù)形式輸出實(shí)數(shù)格式符。指定以指數(shù)形式輸出實(shí)數(shù)l%m.ne printf(”%13.2e”,123.456); 輸出:輸出: 1.23e+002 (前面有前面有4個(gè)空格個(gè)空格)d,ix,Xoucse,Efg%十六進(jìn)制無(wú)符號(hào)整數(shù)十六進(jìn)制無(wú)符號(hào)整數(shù)不帶符號(hào)十進(jìn)制整數(shù)不帶符號(hào)十進(jìn)制整數(shù)十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點(diǎn)小數(shù)指數(shù)形式浮點(diǎn)小數(shù)單一字符單一字符字符串字符串八進(jìn)制無(wú)符號(hào)整數(shù)八進(jìn)制無(wú)符號(hào)整數(shù)小數(shù)形式浮點(diǎn)小數(shù)小數(shù)形式浮點(diǎn)小數(shù)e和f中較短一種百分號(hào)本身百分號(hào)本身int a=567;printf ( “%d”,a);int a=25

42、5;printf(“%x”,a);int a=65;printf(“%o”,a);int a=567;printf(“%u”,a);char a=65;printf(“%c”,a);printf(“%s”,“ABC”);float a=567.789;printf(“%e”,a);float a=567.789;printf(“%f”,a);float a=567.789;printf(“%g”,a);printf(“%”);567ff101567AABC5.677890e+02567.789000567.789%說(shuō)明說(shuō)明格式字符要用小寫(xiě)格式字符要用小寫(xiě)格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)相同,按先后順序一

43、一對(duì)應(yīng)格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)相同,按先后順序一一對(duì)應(yīng)輸出轉(zhuǎn)換輸出轉(zhuǎn)換:格式字符與輸出項(xiàng)類型不一致格式字符與輸出項(xiàng)類型不一致,自動(dòng)按指定格式輸自動(dòng)按指定格式輸出出表格表格.n對(duì)實(shí)數(shù)對(duì)實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)指定小數(shù)點(diǎn)后位數(shù)(四舍五入四舍五入)修飾符修飾符功功 能能m輸出數(shù)據(jù)域?qū)捿敵鰯?shù)據(jù)域?qū)? ,數(shù)據(jù)長(zhǎng)度數(shù)據(jù)長(zhǎng)度m,m,左補(bǔ)空格左補(bǔ)空格; ;否則按實(shí)際輸否則按實(shí)際輸出出輸出數(shù)據(jù)在域內(nèi)左對(duì)齊(缺省右對(duì)齊輸出數(shù)據(jù)在域內(nèi)左對(duì)齊(缺省右對(duì)齊) )-指定在有符號(hào)數(shù)的正數(shù)前顯示正號(hào)指定在有符號(hào)數(shù)的正數(shù)前顯示正號(hào)(+)(+)+輸出數(shù)值時(shí)指定左面不使用的空位置自動(dòng)填輸出數(shù)值時(shí)指定左面不使用的空位置自動(dòng)填0 00在八

44、進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0 0,0 x0 x#在在d,o,x,ud,o,x,u前,指定輸出精度為前,指定輸出精度為longlong型型在在e,f,ge,f,g前,指定輸出精度為前,指定輸出精度為doubledouble型型l附加格式說(shuō)明符(修飾符)對(duì)字符串對(duì)字符串, ,指定實(shí)際輸出位數(shù)指定實(shí)際輸出位數(shù)格式格式: : scanfscanf(“(“格式控制串格式控制串”,地址表),地址表)功能:按指定格式從鍵盤(pán)讀入數(shù)據(jù),存入地址表指定的功能:按指定格式從鍵盤(pán)讀入數(shù)據(jù),存入地址表指定的 存儲(chǔ)單元中存儲(chǔ)單元中, ,并按回車(chē)鍵結(jié)束并按回車(chē)鍵結(jié)束返值:正常,返回輸入數(shù)據(jù)個(gè)數(shù)

45、返值:正常,返回輸入數(shù)據(jù)個(gè)數(shù)地址表:變量的地址,常用取地址運(yùn)算符地址表:變量的地址,常用取地址運(yùn)算符& &格式字符格式字符:d,i,o,x,u,c,s,f,e:d,i,o,x,u,c,s,f,e例例 scanf(“%d”,&a); 輸入:輸入:10 則則 a=10例例 scanf(“%x”,&a); 輸入:輸入:11 則則 a=17格式輸入函數(shù)格式輸入函數(shù)附加格式說(shuō)明符(修飾符)附加格式說(shuō)明符(修飾符)l修飾修飾符符功功 能能hm*用于用于d,o,xd,o,x前,指定輸入為前,指定輸入為shortshort型整數(shù)型整數(shù)用于用于d,o,xd,o,x前,指定輸入為前

46、,指定輸入為longlong型整數(shù)型整數(shù)用于用于e,fe,f前,指定輸入為前,指定輸入為doubledouble型實(shí)數(shù)型實(shí)數(shù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束抑制符,指定輸入項(xiàng)讀入后不賦給變量抑制符,指定輸入項(xiàng)讀入后不賦給變量例例 scanf(“%4d%2d%2d”,&yy,&mm,&dd); 輸入輸入 19991015 則則1999yy, 10 mm, 15 dd一般以空格、TAB或回車(chē)鍵作為分隔符其它字符做分隔符:格式串中兩個(gè)格式符間字符例 scanf(“%d%o%x”,&a,&b,&c)

47、; printf(“a=%d,b=%d,c=%dn”,a,b,c); 輸入 123 123 123 輸出 a=123,b=83,c=291例 scanf(“%d:%d:%d”,&h,&m,&s); 輸入 12:30:45 則12 h, 30 m, 45 s例 scanf(“%d,%d”,&a,&b) 輸入 3,4 則3a, 4 b例 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 輸入 a=12,b=24,c=36 輸入分隔符的指定 輸入數(shù)據(jù)時(shí),遇以下情況認(rèn)為該數(shù)據(jù)結(jié)束:輸入數(shù)據(jù)時(shí),遇以下情況認(rèn)為該數(shù)據(jù)結(jié)束:n

48、 遇空格、遇空格、TAB、或回車(chē)或回車(chē)n 遇寬度結(jié)束遇寬度結(jié)束n 遇非法輸入遇非法輸入如如 scanf(“%d%c%f”,&a,&b,&c); 若輸入若輸入1234a123o.26 則則 1234 a, a b, 123 c 輸入函數(shù)留下的輸入函數(shù)留下的“垃圾垃圾”:例例 int x; char ch; scanf(“%d”,&x); ch=getchar(); printf(“x=%d,ch=%dn”,x,ch);執(zhí)行:執(zhí)行:123 輸出:輸出:x=123,ch=10例例 int x; char ch; scanf(“%d”,&x); scanf(“%

49、c”,&ch); printf(“x=%d,ch=%dn”,x,ch);執(zhí)行:執(zhí)行:123 輸出:輸出:x=123,ch=10解決方法:解決方法:(1 1)用)用getchargetchar()()清除清除 (2) (2) 用格式串中空格或用格式串中空格或“% %* *c”c”來(lái)來(lái)“吃掉吃掉”例例 int x; char ch; scanf(“%d”,&x); scanf(“ %c”,&ch);或或 scanf(“%*c%c”,&ch); 或或getchar();Scanf(“%c”,&ch);說(shuō)明: 用用“%c”格式符時(shí),空格和轉(zhuǎn)義字符作為有效字符格式符時(shí),空格和轉(zhuǎn)義字符作為有效字符輸入輸入如如 scanf(“%c%c%c”,&c1,&c2,&c3); 若輸入若輸入a b c 則則ac1, c2, b c33.4.5 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出1.用用putchar函數(shù)輸出一個(gè)字符函數(shù)輸出一個(gè)字符從計(jì)算機(jī)向顯示器輸出一個(gè)字符從計(jì)算機(jī)向顯示器輸出一個(gè)字符 putchar函數(shù)的一般形式為函數(shù)的一般形式為: putchar(c) 3.4.5 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出例例3.8 先后輸出先后輸出BOY三個(gè)字符。三個(gè)字符。 解題思路:解題思路:u定義定義3

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論