第三章-簡(jiǎn)單程序設(shè)計(jì)_第1頁(yè)
第三章-簡(jiǎn)單程序設(shè)計(jì)_第2頁(yè)
第三章-簡(jiǎn)單程序設(shè)計(jì)_第3頁(yè)
第三章-簡(jiǎn)單程序設(shè)計(jì)_第4頁(yè)
第三章-簡(jiǎn)單程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(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、精選優(yōu)質(zhì)文檔-傾情為你奉上第三章 簡(jiǎn)單程序設(shè)計(jì)3.1 流程結(jié)構(gòu)和語(yǔ)句1 . 三種流程結(jié)構(gòu)順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)程序在邏輯上執(zhí)行的流程。l 順序結(jié)構(gòu):按語(yǔ)句在源程序中出現(xiàn)的次序依次執(zhí)行;l 選擇結(jié)構(gòu):根據(jù)一定的條件有選擇地執(zhí)行或不執(zhí)行某些語(yǔ)句。l 循環(huán)結(jié)構(gòu):在一定條件下重復(fù)執(zhí)行相同的語(yǔ)句。所有的流程控制都是由語(yǔ)句實(shí)現(xiàn)的,且任何一個(gè)表達(dá)式都可作為一個(gè)語(yǔ)句使用,成之為表達(dá)式語(yǔ)句2. 表達(dá)式語(yǔ)句任何表達(dá)式通過(guò)在其末尾加一個(gè)“;”,可使表達(dá)式成為一個(gè)語(yǔ)句,形式為:表達(dá)式;其中“;”是C語(yǔ)句的組成部分,表示一個(gè)語(yǔ)句結(jié)束。表達(dá)式語(yǔ)句能夠獨(dú)立出現(xiàn)在程序中,而表達(dá)式則不能獨(dú)立出現(xiàn)。例如:x=y+1 是表達(dá)

2、式x=y+1; 是語(yǔ)句習(xí)慣上把賦值表達(dá)式語(yǔ)句如:x=y+1;新為賦值語(yǔ)句。函數(shù)調(diào)用也是表達(dá)式,因此:printf(“hellow”)是表達(dá)式;printf(“hellow”);是語(yǔ)句,習(xí)慣上稱為輸出語(yǔ)句。scanf(“%d%d”,&x,&y);函數(shù)調(diào)用表達(dá)式語(yǔ)句(輸入語(yǔ)句)3. C的語(yǔ)句概述C的一個(gè)“說(shuō)明”也必須以分號(hào)結(jié)束,也稱為語(yǔ)句,因此C的語(yǔ)句分說(shuō)明語(yǔ)句和執(zhí)行語(yǔ)句兩類。說(shuō)明語(yǔ)句可以出現(xiàn)在程序中任何塊(函數(shù)或復(fù)合語(yǔ)句)的外面稱為外部說(shuō)明或塊內(nèi)稱為局部說(shuō)明(在執(zhí)行語(yǔ)句的前面)。外部說(shuō)明必須放在一個(gè)源程序文件中所有函數(shù)定義的外面;局部說(shuō)明包括類型定義、變量和函數(shù)說(shuō)明,其作用是描述程序中被處理數(shù)據(jù)

3、(變量或函數(shù))的名稱和類型供解釋程序使用。執(zhí)行語(yǔ)句只能出現(xiàn)在函數(shù)體內(nèi)且處于局部說(shuō)明的后面,執(zhí)行語(yǔ)句完成對(duì)數(shù)據(jù)的處理和對(duì)程序流程的控制。常用的程序結(jié)構(gòu)為:常量說(shuō)明類型說(shuō)明變量說(shuō)明 /*外部說(shuō)明*/返回類型 函數(shù)名(參數(shù)表) 變量說(shuō)明 /*局部說(shuō)明*/ 執(zhí)行語(yǔ)句C的執(zhí)行語(yǔ)句共有六種:l 表達(dá)式語(yǔ)句l 復(fù)合語(yǔ)句l 標(biāo)號(hào)語(yǔ)句l 選擇語(yǔ)句(if和switch)l 循環(huán)語(yǔ)句(while,for,do-while)l 轉(zhuǎn)移語(yǔ)句(break,continue,goto,return)3.2標(biāo)準(zhǔn)的文件輸入與輸出函數(shù)一個(gè)C的源程序要能夠從外部設(shè)備(文件)輸入數(shù)據(jù)并將執(zhí)行(或處理)的結(jié)果輸出到外部設(shè)備上。C語(yǔ)言的輸

4、入和輸出操作是通過(guò)調(diào)用C標(biāo)準(zhǔn)函數(shù)庫(kù)中的函數(shù)來(lái)實(shí)現(xiàn)的,標(biāo)準(zhǔn)函數(shù)庫(kù)是由C編譯程序提供的。以編譯后的目標(biāo)代碼形式存儲(chǔ)的函數(shù)的集合。用戶程序可根據(jù)需要按規(guī)定的格式調(diào)用其中的函數(shù)來(lái)完成相應(yīng)的功能。C語(yǔ)言中從標(biāo)準(zhǔn)輸入和輸出文件(設(shè)備)中進(jìn)行讀(寫(xiě))的四個(gè)標(biāo)準(zhǔn)函數(shù)是:格式輸出函數(shù)printf、格式輸入函數(shù)scanf、字符輸入函數(shù)getchar和字符輸出函數(shù)putchar。其他函數(shù)以后講。3.2.1字符輸入和輸出函數(shù)1. 字符輸入函數(shù)getchar 函數(shù)原型為:int getchar(void)其中int說(shuō)明函數(shù)的返回值的類型,void說(shuō)明函數(shù)沒(méi)有參數(shù),該函數(shù)的調(diào)用格式為:getchar()系統(tǒng)將輸出設(shè)備和輸

5、入設(shè)備都看成文件,標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)和標(biāo)準(zhǔn)輸出設(shè)備(顯示器)是由字符的序列(字符流)組成的文本文件,稱為輸入流和輸出流。getchar每調(diào)用一次則從終端(鍵盤)讀取一個(gè)字符。這個(gè)字符的字符碼就是getchar的返回值(即函數(shù)值),其類型為由unsigned char 轉(zhuǎn)換的int。例如:c=getchar();執(zhí)行時(shí)鍵入字符a賦值后變量c的值為97即字符a的值。輸入文件的結(jié)束標(biāo)志稱為文件尾。DOS系統(tǒng)中鍵入ctrl+z時(shí)產(chǎn)生文件結(jié)束標(biāo)志。getchar遇到文件結(jié)束標(biāo)志時(shí)返回值EOF,EOF是在頭文件stdio.h中定義的符號(hào)常量,其值通常為-1。程序中如果要測(cè)試getchar()的值是否文件

6、尾應(yīng)使用EOF而不用-1,這樣做可使程序不依賴于某個(gè)特定環(huán)境。2. 字符輸出函數(shù)putchar函數(shù)原型為:int putchar(char ch ) putchar函數(shù)將所要輸出的字符碼轉(zhuǎn)換為unsigned char送到標(biāo)準(zhǔn)輸出設(shè)備中去,返回值是被輸出的字符,如果出錯(cuò)則返回EOF,調(diào)用形式為:putchar(ch)其中ch為實(shí)際參數(shù),可以是char、short或int類型的表達(dá)式,其值是要被輸出字符的字符碼。每調(diào)用一次則將字符c輸出到標(biāo)準(zhǔn)輸出設(shè)備上。例如:int i=7;char ch;說(shuō)明:(1) 下面四個(gè)語(yǔ)句是等價(jià)的,同為輸出一個(gè)響鈴字符:putchar(i);putchar(7);pu

7、tchar(07);putchar(a);(2) 下面三個(gè)語(yǔ)句分別輸出字符a,3和換行putchar(a”);putchar(3);putchar(n);注:putchar(3) 輸出是 而不是整數(shù)3。(3)putchar(c=getchar()=a&c=z)?c-a+A:c);該語(yǔ)句先輸入一個(gè)字符存入變量c,如果c是小寫(xiě)字母則將其轉(zhuǎn)換成大寫(xiě)字母后輸出,否則直接輸出原字符。注意:凡是程序中調(diào)用了輸入、輸出庫(kù)函數(shù),必須在函數(shù)第一次調(diào)用之前寫(xiě)上 include或include“stdio.h”,預(yù)處理控制(對(duì)于DOS上的scanf和printf可省略)。3.2.2格式輸出函數(shù)(printf)get

8、char和putchar函數(shù)用于輸入和輸出單個(gè)字符,輸入和輸出過(guò)程中不進(jìn)行格式上的任何轉(zhuǎn)換。printf和scanf函數(shù)在數(shù)據(jù)的輸入和輸出過(guò)程中能夠?qū)⒂?jì)算機(jī)內(nèi)部形式的數(shù)據(jù)和輸入輸出任務(wù)上的數(shù)據(jù)相互轉(zhuǎn)換,稱為格式輸出和格式輸入。1. printf函數(shù)的原型int printf(char format,args)參數(shù)的數(shù)目可變,中間用“,”分隔,是要被轉(zhuǎn)換并寫(xiě)到輸出設(shè)備的數(shù)據(jù)。函數(shù)的返回值是實(shí)際輸出字符的數(shù)目。2. 調(diào)用形式printf(格式字符串,輸出參數(shù)1,輸出參數(shù)2,);調(diào)用printf函數(shù)時(shí)至少要給出第一個(gè)參數(shù),即格式字符串。格式字符串式是用“”括起來(lái)的字符串;輸出參數(shù)1,輸出參數(shù)n是n個(gè)

9、表達(dá)式,可以為任何基本類型,也可以是指針或枚舉類型(較少使用)。輸出數(shù)據(jù)項(xiàng)的數(shù)目任意,末尾 加“;” 表示printf函數(shù)通常作為語(yǔ)句使用。printf函數(shù)將參數(shù)的值按格式字符串規(guī)定的格式從內(nèi)部形式轉(zhuǎn)換成外部字符形式并輸出設(shè)備,返回值是實(shí)際輸出字符的數(shù)目。例如: printf(%d%8.3f,i,x);參數(shù)中的格式為%d %8.3f。i和x是要輸出的數(shù)據(jù)%d表示i要用十進(jìn)制整數(shù)形式輸出,寬度為數(shù)據(jù)實(shí)際寬度。%8.3f表示x要用小數(shù)形式浮點(diǎn)數(shù)格式輸出,輸出總寬度為8個(gè)字符,其中小數(shù)部分保留3位,若i=15,X=-8.2 該語(yǔ)句輸出為 15 -8.2003. 格式字符串格式字符串包含兩種字符:普通

10、字符和用于轉(zhuǎn)換說(shuō)明的字符,普通字符照原樣輸出,轉(zhuǎn)換說(shuō)明用于說(shuō)明數(shù)據(jù)輸出格式。其形式為:%域?qū)掁D(zhuǎn)換字符一個(gè)轉(zhuǎn)換說(shuō)明以%開(kāi)頭。域?qū)挷糠质强蛇x的,用于指定輸出數(shù)據(jù)的寬度。每個(gè)轉(zhuǎn)換說(shuō)明對(duì)應(yīng)于一個(gè)輸出參數(shù),該參數(shù)被轉(zhuǎn)換成由轉(zhuǎn)換說(shuō)明規(guī)定的數(shù)據(jù)格式后輸出。普通字符通常用作輸出提示信息,它可以與轉(zhuǎn)換說(shuō)明交替出現(xiàn),例如printf(i=%d,x=%8.3fn,i,x);輸出為:i=15,x= -8.200ANSI C的轉(zhuǎn)換字符及其規(guī)定的輸出格式見(jiàn)教材p44。注:如果%后面是一個(gè)%字符,則標(biāo)準(zhǔn)C無(wú)此定義,將它作為普通字符輸出。在%和轉(zhuǎn)換字符之間可以加域?qū)捳f(shuō)明,用于指定輸出時(shí)的對(duì)齊方向、輸出數(shù)據(jù)的域?qū)挾取⑿?shù)部分的

11、位數(shù)等要求。用于域?qū)捳f(shuō)明的字符列于下表中,域?qū)捳f(shuō)明可以是其中之一或多個(gè)字符的組合。 表3.1 printf域?qū)捳f(shuō)明字符域?qū)捳f(shuō)明符號(hào)意 義-(減號(hào))+空格0(零)#m(正整數(shù)).(小數(shù)點(diǎn))n(正整數(shù))hlL在指定的區(qū)域內(nèi)以左對(duì)齊方式輸出(默認(rèn)右對(duì)齊) 輸出正值時(shí)前面冠以符號(hào) + 輸出的第一個(gè)字符不是符號(hào)時(shí),要輸出一個(gè)空格作參照 在域?qū)挿秶鷥?nèi)用前導(dǎo)0填補(bǔ)空位 對(duì)于o格式輸出前導(dǎo)0,對(duì)于x或X格式要輸出0x或0X前綴,對(duì)于g或G格式不刪除尾部零。 指出輸出數(shù)據(jù)的最小寬度。如果實(shí)際寬度m,則按實(shí)際寬度;如果實(shí)際寬度m,則左邊(左對(duì)齊時(shí)為右邊)補(bǔ)上空格或零(當(dāng)有0域?qū)捳f(shuō)明字符時(shí))。分隔域?qū)捙c精度。小數(shù)點(diǎn)

12、前面可以沒(méi)有域?qū)捳f(shuō)明。指出輸出數(shù)據(jù)的精度。對(duì)于e、E、f格式為小數(shù)部分的位數(shù),對(duì)于g或G格式為有效字的個(gè)數(shù),對(duì)于整數(shù)為至少應(yīng)輸出的數(shù)字的個(gè)數(shù)(添加前導(dǎo)0來(lái)滿足所需寬度)。指出輸出參數(shù)是短整型指出輸出參數(shù)是長(zhǎng)整型指出輸出參數(shù)是高精度浮點(diǎn)型在域?qū)捳f(shuō)明中還可以使用字符*,*代表一個(gè)整型值,這個(gè)整型值是由包含*的轉(zhuǎn)換說(shuō)明對(duì)應(yīng)的參數(shù)決定的。例如: printf(%.*s,max,s);該語(yǔ)句執(zhí)行時(shí)從串s中打印至多max個(gè)字符。域?qū)捳f(shuō)明示例見(jiàn)教材p45注意(1):printf函數(shù)根據(jù)格式串中的轉(zhuǎn)換說(shuō)明來(lái)決定輸出數(shù)據(jù)的數(shù)目和類型,如果轉(zhuǎn)換說(shuō)明項(xiàng)數(shù)多于參數(shù)個(gè)數(shù),或參數(shù)類型不正確,則會(huì)輸出錯(cuò)誤的數(shù)據(jù)(不報(bào)語(yǔ)法錯(cuò)

13、);如果輸出參數(shù)的數(shù)目多于轉(zhuǎn)換說(shuō)明項(xiàng)數(shù)則多余的參數(shù)不被輸出。例. Printf(“%d%d,%d”,3,4);結(jié)果為:%d,3例:int i=-6;double x=5.7,y=123.4567; printf(%-4d,%g,i,y,x);輸出形式為:-6 ,123.457(2)printf中參數(shù)右結(jié)合,如設(shè)int i=1;則 printf(%d,%d,%d,+i,+i,+i);輸出結(jié)果為4,3,2 printf(%d,%d,%d,i+,i+,i+);輸出結(jié)果為3,2,13.2.2 格式輸入函數(shù)(scanf)1.scanf函數(shù)的原型 int scanf(char *format,args)

14、scanf函數(shù)是具有int類型返回值(返回讀入?yún)?shù)的個(gè)數(shù))的函數(shù)。第一個(gè)參數(shù)format是格式字符串,它指出輸入數(shù)據(jù)的數(shù)目、類型和格式,args為指向存放輸入數(shù)據(jù)的變量的指針,輸入?yún)?shù)的數(shù)目可變。2. scanf函數(shù)的調(diào)用格式 scanf(格式字符串,輸入?yún)?shù)1, 輸入?yún)?shù)n); scanf函數(shù)是printf函數(shù)的逆過(guò)程,它從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)讀入字符流,并按照格式字符串中轉(zhuǎn)換字符規(guī)定的格式轉(zhuǎn)換成相應(yīng)類型的值后賦予由輸入?yún)?shù)所指的變量。format串可以包含如下字符: (1)空格或制表符,它們被忽略 (2)非%普通字符,它需要輸入流中有同樣的非空白字符與之匹配 (3)以%為開(kāi)頭以轉(zhuǎn)換字符為結(jié)

15、尾的轉(zhuǎn)換說(shuō)明符,常見(jiàn)的轉(zhuǎn)換字符與printf類似 (4)在%與轉(zhuǎn)換字符之間可以有下列選項(xiàng) 賦值抑制符 說(shuō)明最大域?qū)挼恼麛?shù) 指出參數(shù)所指變量類型的字母 h,l或L 具體形式為:% * m l 或 h 格式字符 長(zhǎng)度修正說(shuō)明符域?qū)捯种品袷阶址cprintf中使用方式相同,把輸入數(shù)據(jù)分為整型(int *用d、o、x指定)、 字符型(char *,用c指定)、 實(shí)型(float *,用f,e指定)。在整型和實(shí)型中可再加長(zhǎng)度修正說(shuō)明符:加h(短整型)、 加l(長(zhǎng)整型)、 加L(高精度型)、m(注意沒(méi)有n)用以指定輸入數(shù)據(jù)的寬度。輸入?yún)?shù)1至輸入?yún)?shù)n可以為簡(jiǎn)單變量的地址或字符串變量的地址,簡(jiǎn)單變量的地

16、址用變量前面加取地址運(yùn)算符&表示,字符串變量的地址用字符數(shù)組名(或指向字符串變量的指針)表示。scanf函數(shù)被正確執(zhí)行時(shí)返回被轉(zhuǎn)換并賦值的數(shù)據(jù)項(xiàng)的數(shù)目,遇到文件尾或出錯(cuò)時(shí)返回EOF。例如: int i;float x; char name10; scanf(%d %f %s,&i,&x,name);輸入:25 61.37e-1program注意:n 輸入字符串時(shí)不加雙引號(hào),因雙引號(hào)也會(huì)作為字符號(hào)的內(nèi)容。n 不能用賦值語(yǔ)句給數(shù)組賦值如:name=program 因?yàn)閚ame不是變量而是一個(gè)地址常量。n 不能將scanf(%d,&i)寫(xiě)成scanf(“%d,i)也不能將scanf(%s,name)

17、寫(xiě)成scanf(%s,&name);3 .輸入形式 (1)構(gòu)成一個(gè)被轉(zhuǎn)換數(shù)據(jù)的字符序列稱為一個(gè)輸入域,輸入域?yàn)橄旅嫒N情況之一。l 以輸入流中當(dāng)前字符開(kāi)始直到第一個(gè)空白字符之前。l 根據(jù)轉(zhuǎn)換說(shuō)明不能被轉(zhuǎn)換的字符之前。l 指定域?qū)捰猛?。輸入域之間一般可用空白字符(空白、換行、制表符)隔開(kāi),整型、浮點(diǎn)型或字符型后的字符型數(shù)據(jù)不用空白字符分隔(注意字符型數(shù)據(jù)同樣不用單引號(hào)),在整型、浮點(diǎn)型或字符型后的字符串?dāng)?shù)據(jù)可以有或無(wú)空白符(因?yàn)樽址盁o(wú)前導(dǎo)空白符),當(dāng)遇到空白符時(shí)表示一個(gè)字符串結(jié)束(見(jiàn)后面內(nèi)容)。例1 int i;char c; scanf(%d%c,&i,&c); 執(zhí)行時(shí)輸入:1234a則i

18、被賦值1234,c為a.但若輸入1234 a,則i 值同上,c為 若要讀入一個(gè)非空白字符了可用下面形式:scanf(%d%1s,&i,&c);輸入:1234 a,則i為1234,c為a。例2 char c1,c2; scanf(%c%c,&c1,&c2);輸入:12 則c1為1,c2為2例3:int day,year;char month10; scanf(%d,%s%d,&dat,month,&year);執(zhí)行時(shí)輸入:25 dec 1996輸入流還可以是時(shí)下列形式25Dec 1996(回車)但不能為25 Dec1996例4Char name20; scanf(“%s”,name);執(zhí)行時(shí)輸入

19、programming language(回車)則字符串“programming”將被賦予name。注:用gets函數(shù)時(shí),串中可含有空格,此時(shí)以回車鍵表示輸入的結(jié)束。(2)當(dāng)鍵入回車時(shí)scanf開(kāi)始執(zhí)行,當(dāng)固定格式字符串中的轉(zhuǎn)換說(shuō)明項(xiàng)或者某個(gè)輸入域與轉(zhuǎn)換說(shuō)明項(xiàng)不能匹配時(shí)scanf停止執(zhí)行,返回已成功匹配且被賦值的輸入數(shù)據(jù)個(gè)數(shù);當(dāng)遇到文件結(jié)尾時(shí)返回EOF。注意:當(dāng)下一次調(diào)用scanf時(shí)從上一次scanf調(diào)用以被匹配轉(zhuǎn)換的最后一個(gè)字符的后面那一個(gè)字符開(kāi)始讀取。例1int i,j;float x,y;scanf(“%d%d”,&i,&j,&x);scanf(“%f”,&y);執(zhí)行時(shí)輸入12 34 5

20、6.7 89執(zhí)行第一個(gè)scanf調(diào)用時(shí)i被賦值為12,j為34,x未被賦值。Scanf返回值為2;輸入流中的56.7未被讀取,該指針處于34后面的第一個(gè)空格字符。執(zhí)行第2個(gè)scanf時(shí),將56.7賦予y,89多余,scanf返回值為1。注意:轉(zhuǎn)換說(shuō)明應(yīng)與輸入?yún)?shù)所指變量的類型一致,否則,輸入數(shù)據(jù)不是所需要的結(jié)果;轉(zhuǎn)換說(shuō)明項(xiàng)個(gè)數(shù)也應(yīng)與輸入?yún)?shù)個(gè)數(shù)相同,如果轉(zhuǎn)換說(shuō)明項(xiàng)個(gè)數(shù)少于輸入?yún)?shù)個(gè)數(shù),右邊多出的輸入?yún)?shù)所指變量將不被賦值,反之,數(shù)據(jù)不存放。例2int i,j; scanf(“%d%d”,&i,&j);執(zhí)行時(shí)輸入12a則i為12,j未被賦值,scanf返回值為1。(3)當(dāng)scanf的格式字符串包

21、含有普通字符時(shí),在輸入流中相應(yīng)位置必須有相同的字符與之匹配;對(duì)于空白字符,格式字符串的一個(gè)空白字符可以與輸入流中0個(gè)或多個(gè)連續(xù)的空白字符匹配;對(duì)于非空白字符的普通字符則要求一一對(duì)應(yīng)。設(shè)i,j,k為int類型。例1 Scanf(“%d %d %d”,&i,&j,&k);執(zhí)行是應(yīng)輸入10 20 30 其中10,20,30之間可以是一個(gè)或多個(gè)空白字符、制表符或換行符。例2 Scanf(“%d,%d,%d”,&i,&j,&k);執(zhí)行時(shí)應(yīng)輸入10,20,30 其中10,20,30之間必須有且僅有一個(gè)逗號(hào)。例3 Scanf(“i=%d;j=%d;k=%d”,&i,&j,&k)輸入應(yīng)輸入i=10;j=20;

22、k=304轉(zhuǎn)換說(shuō)明中的可選項(xiàng)scanf轉(zhuǎn)換說(shuō)明中的可選項(xiàng)有指定域?qū)挼恼麛?shù):h、l、L、*。如果一個(gè)輸入域前面有空行,scanf全自動(dòng)跳過(guò)空行直到發(fā)現(xiàn)輸入域。 指定域?qū)挼恼麛?shù):如果說(shuō)明了域?qū)?,則輸入域直到域?qū)捰猛陼r(shí)為止。例1 int i,j;scanf(“%3d%d”,&i,&j);執(zhí)行時(shí)輸入1234 5678。整數(shù)123被賦值i,4被賦值j。例2 char name20scanf(“%8s”,name);若輸入abcdefghi則字符串“abcdefgh”被賦給數(shù)組name。 h,l,L:如果參數(shù)是short *(而不是int *),則轉(zhuǎn)換字符d、i、n、o、u和x的前面要加h ;如果參數(shù)是l

23、ong * 則加l ;如果參數(shù)是double * (而不是float *)則轉(zhuǎn)換字符e,f和g的前面要加l;如果參數(shù)是long double *,則加L。例1 short i;long j;double x;scanf(%hd%ld”,&i,&j);scanf(“%lf”,&x);例2 long double y; scanf(“%lf”,&y); *:如果指定了*,則輸入域被跳過(guò),不賦值。*指出按轉(zhuǎn)換說(shuō)明匹配相應(yīng)的輸入域。但轉(zhuǎn)換結(jié)果不被賦值給任何變量,因此稱為“虛讀”。虛讀用于從輸入流中有選擇的讀取部分內(nèi)容。例如:double v1,v2,v3;scanf(“%lf%*d%lf%*d%lf%

24、*d”,&v1,&v2,&v3);執(zhí)行時(shí)輸入:22 33 44 55 66 11.0賦予v1,33.0賦予v2,55.0賦予v3;輸入域22,44,66被跳過(guò)。3.3 簡(jiǎn)單程序設(shè)計(jì)舉例一個(gè)簡(jiǎn)單的c程序僅包含一個(gè)main函數(shù)且程序流程是順序結(jié)構(gòu),程序的執(zhí)行部分通常含三種基本操作的語(yǔ)句,即輸入、輸出、賦值語(yǔ)句或用于計(jì)算的其他表達(dá)式語(yǔ)句。程序中出現(xiàn)的任何變量必須進(jìn)行變量說(shuō)明;如果有常量最好定義成符號(hào)常量;如果需要將處理結(jié)果暫時(shí)保存還要說(shuō)明所須的輔助變量。例1 從終端輸入一個(gè)字符,如果是小寫(xiě)字母,則轉(zhuǎn)換成大寫(xiě)后輸出,否則原樣輸出。#include void main(void)int c;pintf(“intput a charctor:”);c=getcher();c=a&c=z?putch

溫馨提示

  • 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)論