3.1 順序結(jié)構(gòu)
順序結(jié)構(gòu)用來(lái)描述一個(gè)計(jì)算或操作序列,表示從序列的第一個(gè)計(jì)算開(kāi)始,順序執(zhí)行序列中的每個(gè)計(jì)算,直至序列的最后一個(gè)計(jì)算。通常,一個(gè)復(fù)雜的計(jì)算過(guò)程不能用一個(gè)簡(jiǎn)單的計(jì)算來(lái)表達(dá),而需把復(fù)雜的計(jì)算描述成簡(jiǎn)單計(jì)算的序列。
1.復(fù)合語(yǔ)句
在C語(yǔ)言中,將順序執(zhí)行的語(yǔ)句序列,用花括號(hào)括起來(lái),構(gòu)成C語(yǔ)言的復(fù)合語(yǔ)句。在邏輯上視復(fù)合語(yǔ)句為單個(gè)語(yǔ)句,它也能用作其它結(jié)構(gòu)語(yǔ)句的成分語(yǔ)句。在很多場(chǎng)合,復(fù)合語(yǔ)句內(nèi)還會(huì)包含其它結(jié)構(gòu)語(yǔ)句。
2.表達(dá)式語(yǔ)句
在順序結(jié)構(gòu)中,最頻繁使用的是表達(dá)式之后接上一個(gè)分號(hào)。例如,在賦值表達(dá)式之后接上分號(hào),完成用表達(dá)式的值更新某變量,習(xí)慣稱這種表達(dá)式語(yǔ)句為賦值語(yǔ)句;在函數(shù)調(diào)用之后接上分號(hào),完成指定的計(jì)算功能,習(xí)慣稱這種表達(dá)式語(yǔ)句為函數(shù)調(diào)用語(yǔ)句。
3.2 常用輸入輸出庫(kù)函數(shù)
最基本的輸入輸出庫(kù)函數(shù)有字符輸入函數(shù)、字符輸出函數(shù)、格式輸入函數(shù)和格式輸出函數(shù)。
1.字符輸入函數(shù)
字符輸入函數(shù)getchar()的功能是從標(biāo)準(zhǔn)輸入設(shè)備上(通常是鍵盤終端)讀取一個(gè)字符。該函數(shù)沒(méi)有參數(shù),對(duì)它的每次調(diào)用,就返回下一個(gè)輸入字符的ASCII代碼值。例如,執(zhí)行語(yǔ)句
ch=getchar();
使變量ch得到輸入字符的ASCII代碼值。一般情況下,這里的變量ch為char型或int型。當(dāng)程序在輸入字符后,用ch判定輸入文件是否結(jié)束時(shí),變量ch必須是int型的。這是因?yàn)槲募Y(jié)束標(biāo)記值是-1,是int型的。程序中常用EOF表示當(dāng)前讀人字符是文件結(jié)束標(biāo)記,常量名EOF在文件Stdio.h中被定義為-1。
2.字符輸出函數(shù)
字符輸出函數(shù)ptuchar()有一個(gè)字符的ASCII代碼值參數(shù),函數(shù)調(diào)用putchar (ch)的功能是將以出值為其ASCII代碼的字符輸出到標(biāo)準(zhǔn)輸出設(shè)備(通常是終端顯示屏)上。這里ch可以是char型或int型數(shù)據(jù)。
3.格式輸入函數(shù)
格式輸入函數(shù)scanf()的作用是從標(biāo)準(zhǔn)設(shè)備讀人字符序列,按格式控制字符率所包含的格式解釋輸入字符序列,并將解釋結(jié)果存儲(chǔ)到對(duì)應(yīng)的變量中。調(diào)用格式輸入函數(shù)scanf()的一般形式為
scanf(格式控制字符串,變量地址,變量地址,……)
格式控制字符串是字符串表達(dá)式,通常是由一對(duì)雙引號(hào)括起來(lái)的字符串常量,直接用于解釋輸入字符序列。格式控制字符率可以包含:
·空白類字符(空格符或制表符),它們使輸入跳過(guò)空白類字符,直到遇到下一個(gè)非空白類字符。
·普通字符(不包括%),它們要求輸入字符流中下一個(gè)字符與它相同。
·格式轉(zhuǎn)換說(shuō)明,以字符’%’開(kāi)頭至輸入格式符結(jié)束的字符序列組成。格式轉(zhuǎn)換說(shuō)明引導(dǎo)對(duì)下一輸入字符段進(jìn)行轉(zhuǎn)換。
格式轉(zhuǎn)換說(shuō)明的一般形式為
%[*][w][h/l/L]輸入格式符
輸入格式符共有14個(gè),有12種不同輸入格式,其中大綱要求掌握的7種輸入格式符的意義見(jiàn)表3.1。用方括號(hào)括住的內(nèi)容是輸入格式修飾說(shuō)明,可以缺省,它們的意義是:
(1)*--星號(hào)(賦值抑制符),對(duì)應(yīng)的輸入數(shù)據(jù)項(xiàng)按格式要求被輸入,但結(jié)果不存儲(chǔ)。帶星號(hào)的格式轉(zhuǎn)換說(shuō)明不對(duì)應(yīng)變量地址。用它來(lái)跳過(guò)一個(gè)輸入數(shù)據(jù)項(xiàng)。
(2)--整型常數(shù)(域?qū)捳f(shuō)明),表示輸入數(shù)據(jù)項(xiàng)的字符段的有效字符數(shù)。若實(shí)際輸入字符段的字符數(shù)小于W,以實(shí)際有效字符為準(zhǔn)。
對(duì)于數(shù)值數(shù)據(jù)輸入格式來(lái)說(shuō),輸入域定義為從下一個(gè)非空白類字符起(因此可能跳過(guò)若干個(gè)空格符、制表符、換行符),到一個(gè)與數(shù)值數(shù)據(jù)相矛盾的字符,或直到輸入了指定個(gè)數(shù)的字符數(shù);對(duì)于字符率輸入格式來(lái)說(shuō),輸入域定義為從下一個(gè)非空白類字符起,輸入非空白類字符,直至遇到空白類字符,或直到輸入了指定個(gè)數(shù)的非空白字符。
(3) h/l/L長(zhǎng)度修飾符,指明輸入數(shù)據(jù)項(xiàng)的存儲(chǔ)類型。
h 修飾格式符d,o,X時(shí),表示輸入的整數(shù)按短整型存儲(chǔ)。
l 修飾格式符d,O,X時(shí),表示輸入的整數(shù)按長(zhǎng)整型存儲(chǔ)。
l 修飾格式符e,f時(shí),表示輸入的實(shí)數(shù)按double型存儲(chǔ)。
缺省時(shí),對(duì)于格式符d,o,x,表示輸入的整數(shù)按int整型存儲(chǔ);對(duì)于格式符e,f,表示輸入的實(shí)數(shù)是按float型存儲(chǔ)。
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |