国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

2015軟考程序設(shè)計(jì)知識(shí)點(diǎn)(7)

時(shí)間:2015-04-02 15:46:00   來源:無憂考網(wǎng)     [字體: ]
順序結(jié)構(gòu)

  順序結(jié)構(gòu)用來描述一個(gè)計(jì)算或操作序列,表示從序列的第一個(gè)計(jì)算開始,順序執(zhí)行序列中的每個(gè)計(jì)算,直至序列的最后一個(gè)計(jì)算。通常,一個(gè)復(fù)雜的計(jì)算過程不能用一個(gè)簡(jiǎn)單的計(jì)算來表達(dá),而需把復(fù)雜的計(jì)算描述成簡(jiǎn)單計(jì)算的序列。

  1.復(fù)合語(yǔ)句

  在C語(yǔ)言中,將順序執(zhí)行的語(yǔ)句序列,用花括號(hào)括起來,構(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ǔ)句。

  常用輸入輸出庫(kù)函數(shù)

  最基本的輸入輸出庫(kù)函數(shù)有字符輸入函數(shù)、字符輸出函數(shù)、格式輸入函數(shù)和格式輸出函數(shù)。

  1.字符輸入函數(shù)

  字符輸入函數(shù)getchar()的功能是從標(biāo)準(zhǔn)輸入設(shè)備上(通常是鍵盤終端)讀取一個(gè)字符。該函數(shù)沒有參數(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)括起來的字符串常量,直接用于解釋輸入字符序列。格式控制字符率可以包含:

  空白類字符(空格符或制表符),它們使輸入跳過空白類字符,直到遇到下一個(gè)非空白類字符。

  普通字符(不包括%),它們要求輸入字符流中下一個(gè)字符與它相同。

  格式轉(zhuǎn)換說明,以字符‘%’開頭至輸入格式符結(jié)束的字符序列組成。格式轉(zhuǎn)換說明引導(dǎo)對(duì)下一輸入字符段進(jìn)行轉(zhuǎn)換。

  格式轉(zhuǎn)換說明的一般形式為%[*][w][h/l/L]輸入格式符

  輸入格式符共有14個(gè),有12種不同輸入格式,其中大綱要求掌握的7種輸入格式符的意義見表3.1.用方括號(hào)括住的內(nèi)容是輸入格式修飾說明,可以缺省,它們的意義是:

  (1)*——星號(hào)(賦值抑制符),對(duì)應(yīng)的輸入數(shù)據(jù)項(xiàng)按格式要求被輸入,但結(jié)果不存儲(chǔ)。帶星號(hào)的格式轉(zhuǎn)換說明不對(duì)應(yīng)變量地址。用它來跳過一個(gè)輸入數(shù)據(jù)項(xiàng)。

  (2)——整型常數(shù)(域?qū)捳f明),表示輸入數(shù)據(jù)項(xiàng)的字符段的有效字符數(shù)。若實(shí)際輸入字符段的字符數(shù)小于W,以實(shí)際有效字符為準(zhǔn)。

  對(duì)于數(shù)值數(shù)據(jù)輸入格式來說,輸入域定義為從下一個(gè)非空白類字符起(因此可能跳過若干個(gè)空格符、制表符、換行符),到一個(gè)與數(shù)值數(shù)據(jù)相矛盾的字符,或直到輸入了指定個(gè)數(shù)的字符數(shù);對(duì)于字符率輸入格式來說,輸入域定義為從下一個(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ǔ)。
表3.l常用輸入格式符表

  格式符 意 義

  d 輸入十進(jìn)制形式的整型數(shù)據(jù)

  O 以人進(jìn)制形式輸入整型數(shù)據(jù)

  X 以十六進(jìn)制形式輸入整型數(shù)據(jù)

  C 輸入字符數(shù)據(jù)

  S 輸入字符串

  e,f 輸入實(shí)型數(shù)據(jù)

  說明:

  (1)格式控制字符率之后給出的是變量地址,而不是變量名(除非是指針)。如要為整型變量n輸入數(shù)據(jù),寫成

  scanf(“%d", n)是不正確的,應(yīng)寫成 scanf(”% d“,&n)

  (2)如果在格式控制字符串中除格式轉(zhuǎn)換說明和空白符之外,還有其它字符,則在輸入數(shù)據(jù)時(shí)應(yīng)輸入與這些字符相同的字符。例如,

  scanf(“%d, %d‘’,&i, &j)

  則在為i,j輸入數(shù)據(jù)時(shí),緊接在第一個(gè)整型數(shù)據(jù)之后,需要有一個(gè)逗號(hào)字符,如輸入1,2

  是正確的;而輸入1 2等其它形式都是不正確的。

  (3)在用“%c ”格式轉(zhuǎn)換說明輸入字符時(shí),空白類字符和用轉(zhuǎn)義字符表示的字符都能作為有效字符輸入。要輸入一串空白類字符之后的第一個(gè)非空白類字符,可采用格式“% C”。格式字符率中的空格符使輸入跳過空白類字符到第一個(gè)非空白類字符,然后被C格式輸入。

  (4)為整型變量輸入整數(shù)時(shí),若變量類型為短整型,則必須在格式符之前加長(zhǎng)度修飾說明h;若變量類型為長(zhǎng)整型,則必須在格式符之前加長(zhǎng)度修飾說明1.

  (5)輸入數(shù)值數(shù)據(jù)時(shí),輸入字符流中的前導(dǎo)空白類字符會(huì)被自動(dòng)跳過,從空白類字符后的數(shù)值數(shù)據(jù)字符開始輸入。構(gòu)成數(shù)值數(shù)據(jù)的字符被輸入轉(zhuǎn)換成計(jì)算機(jī)的內(nèi)部表示,并存儲(chǔ)結(jié)果。

  若第一個(gè)非空白類字符不能構(gòu)成數(shù)值字符,則立即結(jié)束輸入。

  (6)S格式用來輸入字符串,對(duì)應(yīng)的變量地址為字符列表(數(shù)組)的首地址,該數(shù)組必須大到足以容納可能輸入的最長(zhǎng)字符串。在輸入字符流中,跳過前導(dǎo)的空白類字符,以非空白類字符開始,以后隨的第一個(gè)空白類字符結(jié)束的非空白類字符的字符序列作為一個(gè)字符串。scanf()函數(shù)在輸入的字符序列之后自動(dòng)添加字符率結(jié)束標(biāo)記符'\0'(因此,存儲(chǔ)輸入字符序列的字符數(shù)組的長(zhǎng)度必須比實(shí)際最長(zhǎng)字符串的字符數(shù)多1)。

  (7)e,f格式用未輸入實(shí)數(shù),對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)地址為實(shí)型數(shù)據(jù)存儲(chǔ)地址。如格式轉(zhuǎn)換說明中含有長(zhǎng)度修飾說明1,則為double型變量地址;若無長(zhǎng)度修飾說明,則為float型變量地址。輸入數(shù)據(jù)的字符序列是由正負(fù)號(hào)(可有可無)、十進(jìn)制數(shù)字串、帶小數(shù)點(diǎn)的小數(shù)部分(可有可無)。以e或E開頭的指數(shù)部分(可有可無)組成。

  (8)在跳過前導(dǎo)空白符后,正在輸入數(shù)值數(shù)據(jù)和字符串時(shí),遇以下情況,就認(rèn)為該數(shù)據(jù)結(jié)束:

  遇空白類字符:空白符、制表符、換行符。

  已讀人由有效字符數(shù)所指定的字符數(shù)。如“%4d多至4個(gè)數(shù)字符。

  對(duì)于輸入數(shù)值數(shù)據(jù),下一個(gè)字符不能構(gòu)成正確的數(shù)據(jù)格式。如scanf(“%d%C%f,&i,&c,&x)

  假定變量i,c,x分別為int型、char型和float型。若輸入字符列為:123a123x. 26

  則變量i為123,變量c為字符a,變量x為123.0.

  (9)輸入數(shù)據(jù)時(shí),將字符流轉(zhuǎn)換成內(nèi)部表示后,存儲(chǔ)到對(duì)應(yīng)變量中。例如,

  scanf(“%3d%*4d%d”,&i, &j)

  如輸入字符行為123456 78

  將使變量i=123,j=78.其中數(shù)據(jù)456因賦值抑制符*的作用被跳過。一般從鍵盤讀入數(shù)據(jù),不指定輸入數(shù)據(jù)項(xiàng)的有效字符數(shù),數(shù)據(jù)項(xiàng)與數(shù)據(jù)項(xiàng)之間用空白符,或制表符,或回車符分隔。