《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的正確使用 第五章選擇結構程式設計 注意邏輯運算子 注意關係運算子 與賦值運算子 的不同 ...