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

2015軟考程序設(shè)計知識點(7)

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

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

  1.復(fù)合語句

  在C語言中,將順序執(zhí)行的語句序列,用花括號括起來,構(gòu)成C語言的復(fù)合語句。在邏輯上視復(fù)合語句為單個語句,它也能用作其它結(jié)構(gòu)語句的成分語句。在很多場合,復(fù)合語句內(nèi)還會包含其它結(jié)構(gòu)語句。

  2.表達式語句

  在順序結(jié)構(gòu)中,最頻繁使用的是表達式之后接上一個分號。例如,在賦值表達式之后接上分號,完成用表達式的值更新某變量,習(xí)慣稱這種表達式語句為賦值語句;在函數(shù)調(diào)用之后接上分號,完成指定的計算功能,習(xí)慣稱這種表達式語句為函數(shù)調(diào)用語句。

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

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

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

  字符輸入函數(shù)getchar()的功能是從標(biāo)準(zhǔn)輸入設(shè)備上(通常是鍵盤終端)讀取一個字符。該函數(shù)沒有參數(shù),對它的每次調(diào)用,就返回下一個輸入字符的ASCII代碼值。例如,執(zhí)行語句

  ch=getchar();

  使變量ch得到輸入字符的ASCII代碼值。一般情況下,這里的變量ch為char型或int型。當(dāng)程序在輸入字符后,用ch判定輸入文件是否結(jié)束時,變量ch必須是int型的。這是因為文件結(jié)束標(biāo)記值是-1,是int型的。程序中常用EOF表示當(dāng)前讀人字符是文件結(jié)束標(biāo)記,常量名EOF在文件Stdio.h中被定義為-1.

  2.字符輸出函數(shù)

  字符輸出函數(shù)ptuchar()有一個字符的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é)果存儲到對應(yīng)的變量中。調(diào)用格式輸入函數(shù)scanf()的一般形式為scanf(格式控制字符串,變量地址,變量地址,……)

  格式控制字符串是字符串表達式,通常是由一對雙引號括起來的字符串常量,直接用于解釋輸入字符序列。格式控制字符率可以包含:

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

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

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

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

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

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

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

  對于數(shù)值數(shù)據(jù)輸入格式來說,輸入域定義為從下一個非空白類字符起(因此可能跳過若干個空格符、制表符、換行符),到一個與數(shù)值數(shù)據(jù)相矛盾的字符,或直到輸入了指定個數(shù)的字符數(shù);對于字符率輸入格式來說,輸入域定義為從下一個非空白類字符起,輸入非空白類字符,直至遇到空白類字符,或直到輸入了指定個數(shù)的非空白字符。

  (3) h/l/L長度修飾符,指明輸入數(shù)據(jù)項的存儲類型。

  h 修飾格式符d,o,X時,表示輸入的整數(shù)按短整型存儲。

  l 修飾格式符d,O,X時,表示輸入的整數(shù)按長整型存儲。

  l 修飾格式符e,f時,表示輸入的實數(shù)按double型存儲。

  缺省時,對于格式符d,o,x,表示輸入的整數(shù)按int整型存儲;對于格式符e,f,表示輸入的實數(shù)是按float型存儲。
表3.l常用輸入格式符表

  格式符 意 義

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

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

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

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

  S 輸入字符串

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

  說明:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  對于輸入數(shù)值數(shù)據(jù),下一個字符不能構(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ù)時,將字符流轉(zhuǎn)換成內(nèi)部表示后,存儲到對應(yīng)變量中。例如,

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

  如輸入字符行為123456 78

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