C語言期末複習題

2022-12-02 16:12:02 字數 3476 閱讀 9828

《c程式設計》複習題

一、單項選擇題(請從4個備選答案中選擇最適合的一項,每小題1分,共20分)

1.演算法具有5個特性,以下選項中不屬於演算法特性的是( )。

a) 有窮性 b) 簡潔性 c) 有效性 d) 確定性

2.設有定義:float a=2,b=4,h=3;,其中a為梯形的上底,b為梯形的下底,h為梯形的高,以下c語言表示式不能計算出梯形面積的( )

a) (a+b)*h/2 b) (1/2)*(a+b)*h c) (a+b)*h*1/2 d) h/2*(a+b)

3.經int a=7; float x=2.5, y=4.7;說明後,表示式 x+a%3*(int)(x+y)%2/4 的值是( )。

a) 2.500000 b) 2.750000 c) 3.500000 d) 0.000000

4.若t為double型別,表示式t=1,t+5, ++t的值是

a)1b)6.0

c)7.0d)2.0

5. 若有以下定義和語句:

int u=010,v=0x10,w=10;

printf(「%d,%d,%d\n」,u,v,w);

則輸出結果是

a)8,16,10b)10,10,10

c)8,8,10d)8,10,10

6. 以下選項中不合法的使用者識別符號是

a)_12b)abc7c)a-2d)as_88_mj

7. 若有以下定義和語句

char c1='b',c2='e';

printf("%d,%c\n",c2-c1,c2-'a'+"a");

則輸出結果是

a)2,mb)3,e

c)2,ed)輸出項與對應的格式控制不一致,輸出結果不確定

8. 若有以下定義:

char s[20]="programming",*ps=s;

則不能代表字元o的表示式是

a)ps+2b)s[2]

c)ps[2d)ps+=2,*ps

9.設變數a為int,f為float,i為double,則表示式10+『a』+i*f 的資料型別是( )。

a) int型 b) float 型 c) double型 d) 不確定

10.設a為int, 不能正確表達數學關係: 10 a) 10 c) a>10 && a<15d) !(a<=10) && !(a>=15)

11.語句for(x=0,y=0;(y!=123)&&(x<4);x++);迴圈( )。

a) 是無限迴圈b) 迴圈次數不定c) 執行4次d) 執行3次

12. 下面的程式

main( )

執行時,若從鍵盤輸入3和2,則輸出( )。

a) 14b) 16c) 18d) 9

13. 若ij已定義為int型別,則以下程式段中內迴圈體的總的執行次數是

for (i=5;i;i--)

for(j=0;j<4;j++)

a)20b)25

c)24d)30

14. 若已定義x和y為double型別,則表示式:x=1,y=x+3/2的值是

a)1b)2

c)2.0d)2.5

15. 在c語言中,不合法的字元常量是

a)\014b)\xabc)』dd)」e」

16. c語言中用於結構化程式設計的三種基本結構是

a) if、switch、whileb) for、while、do-while

c) if、while、continued) 順序結構、選擇結構、迴圈結構

17.已知a=1,b=2,c=3,d=4,則表示式 aa)4b)3

c) 1d)2

18.若執行下面程式時,從鍵盤輸入"3,4",則輸出是( )。

main()

a) 4b) 16c) 18d) 20

19.若函式的型別和return語句中的表示式的型別不一致,則( )。

a) 編譯時出錯

b) 執行時出現不正確的結果

c) 不會出錯,且返回值的型別以return語句中表示式的型別為準

d) 不會出錯,且返回值的型別以函式型別為準

20.在c語言程式中,以下敘述正確的是 ( )。

a) 函式的定義和函式的呼叫均可以巢狀

b) 函式的定義可以巢狀,但函式的呼叫不能巢狀

c) 函式的定義和函式的呼叫均不能巢狀

d) 函式的定義不能巢狀,但函式的呼叫可以巢狀

21.若用陣列名作為函式呼叫的實參,則傳遞給形參的是 ( )。

a) 陣列的首位址b) 陣列的第乙個元素的值

c) 陣列中全部元素的值d) 陣列元素的個數

22. 在乙個c源程式檔案中,若要定義乙個只允許本原始檔中所有函式使用的全域性變數,則該變數需要使用的儲存類別是( )。

a) 外部(extern) b) 暫存器(register) c) 自動(atuo) d) 靜態(static)

23.在下面一組運算子中,優先順序最高的運算子是

a) cd) &&

24. 有如下函式呼叫語句

func(rec1,rec2+rec3,rec4);

該函式呼叫語句中,含有的實參個數是

a)3b)4c)5d)有語法錯

25. 表示關係x<=y<=z的c語言表示式為

a) (x<=y)&&(y<=zb) (x<=y)and(y<=z)

c) (x<=y<=zd) (x<=y)&(y<=z)

26. c語言中,若未說明函式的型別,則系統預設該函式的型別是( )。

a) float型 b) int型 c) long型 d) double型

27.若定義陣列int a[3][4];,並以f(a)語句呼叫函式f,則在定義f函式時,對形引數組array 錯誤的定義方式為( )。

a) f(int array[6b) f(int array[3])

c) f(int array[4d) f(int array[2][5])

28.下列一維陣列初始化語句中,正確的是( )。

a) int a[5]=; b) int a[5]=0;

c) int a[5]=; 則對其元素的非法引用是( )。

a) c[0] b) c[9-6] c) c[2*2d) c[7]

31. 在c語言中,運算物件必須是整型的運算子是

abcd) !

32. 設有以下巨集定義:

#define n 3

#define y(n) ( (n+1)*n)

則執行語句:z=2 * (n+y(5+1));後,z的值為

a)出錯b) 42c) 48d)54

33. 以下結構體變數的位元組數是

struct student

category;

}stu;

a) 18b) 30c) 28d) 32

34. 若有代數式,則錯誤的表示式是

C語言期末複習題附答案

1 凡是函式中未指定儲存型別的區域性變數,其隱含的儲存型別為 a a auto b static c extern d register 2 若有定義 int ptr 6 則識別符號ptr b a 是乙個指向整形變數的指標 b 是乙個指標陣列名 c 是乙個指標,它指向乙個含有四個整形元素的一維陣列 ...

C語言複習題

1 下列關於計算機語言的敘述中,正確的是 a 在計算機語言中,只有機器語言屬於低階語言 b 高階語言的源程式可以被計算機直接執行 c c語言屬於高階語言 d 機器語言是與所有機器無關的語言 2 源程式經編譯產生的目標檔案和連線後產生的可執行檔案是 a 和和 c 和和 3 乙個c程式的執行是從 a 本...

c語言複習題

c語言程式設計複習題 說明 第三章資料型別 運算子與表示式 注意識別符號的命名規則,整型 浮點型 字元型資料的定義形式 與 運算子的運算規則。第四章順序程式設計 注意格式輸入與輸出函式printf 及scanf的正確使用 第五章選擇結構程式設計 注意邏輯運算子 注意關係運算子 與賦值運算子 的不同 ...