期末總復(fù)習(xí)(基礎(chǔ)知識(shí)+程序設(shè)計(jì)部分)一. 填空1.已知char ch=’A’; 則下列表達(dá)式的值是: a Ch=(ch>=’A’ && ch<=’Z’)? (ch+32):ch;2. 若x=1,y=2,z=3, 則表達(dá)式z+=++x+y++之值是 7 3. 若x=2,y=3,則x%=y+3之值為 2 4.. 若有定義int y=3; float z=5.2, x=4.8; 則表達(dá)式y(tǒng)+=(int)x+x+z的值為 17 5. 設(shè)x,y,z為int型變量,且x=3,y=-4,z=5,請(qǐng)寫(xiě)出下列各表達(dá)式的值 1)(x&&y)==(x||z) 1 2) ?。▁>y)+(y!=z)||(x+y)&&(y-z) 0 3)x++-y+(++z) 13 6. 設(shè)x,y,z為int型變量,請(qǐng)用C語(yǔ)言表達(dá)式描述下列命題 1)x和y中有一個(gè)小于z (x
15. 對(duì)于所定義的二維數(shù)組a[2][3],元素a[1][2]是數(shù)組的第 6 個(gè)元素N*j+m+116.若有定義:char *str=”I am a student.”; 則字符串在存儲(chǔ)單元中占 16 個(gè)字節(jié)17. 在執(zhí)行int a[][3]={{1,2},{3,4}};語(yǔ)句后,a[1][2]的值是 0 18. 調(diào)用strlen(“abc\0ef\0g”)的返回值是 3 \0為停止符19. 設(shè)有定義:char s[12]=“string”; 則printf(“%d\n”,strlen(s));的輸出值是 6 20. 執(zhí)行下列程序段后,*p等于 3 int a[5]={1,3,5,7,9}; *p=a;p++;二. 判斷(true or false)1. 調(diào)用函數(shù)時(shí),實(shí)參的類(lèi)型、個(gè)數(shù)和順序與函數(shù)定義時(shí)形參的類(lèi)型、個(gè)數(shù)和順序完全一致T2. 函數(shù)可以嵌套定義F3. 函數(shù)必須有返回值,否則不能正確作用F4. C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一源程序文件中。
F5. 全局變量與函數(shù)體內(nèi)定義的局部變量重名時(shí),局部變量不起作用F6. 函數(shù)定義時(shí)可以不制定形參的類(lèi)型,函數(shù)調(diào)用時(shí)由實(shí)參的類(lèi)型決定形參的類(lèi)型F7. 當(dāng)函數(shù)定義放在main()函數(shù)前面時(shí),可以缺省函數(shù)聲明T8. C語(yǔ)言中允許函數(shù)嵌套調(diào)用T9. 局部靜態(tài)變量是在編譯時(shí)賦初值的,即只賦一次初值T10. 外部變量必須定義在文件的開(kāi)頭部分F11. 字符’\0’是字符串的結(jié)束標(biāo)記,其ASCII碼為0.T12. 若有說(shuō)明?:int a[3][4]={0};則數(shù)組a中每個(gè)元素的初值都為0.T13. 若有說(shuō)明?:int a[2][4]={0,0};則只有a[0][0]和a[0][1]的初值為0, 其余元素的初值均不為0. F14. 若有說(shuō)明?:int a[3][4];則數(shù)組a中各元素可在程序的編譯階段達(dá)到初值0.F15. 若用數(shù)組名作為函數(shù)調(diào)用時(shí)的實(shí)參,則實(shí)際上傳遞給形參的是數(shù)組的第一個(gè)元素值F16. 在兩個(gè)字符串的比較中,字符個(gè)數(shù)多的字符串比字符少的字符串大F17. 當(dāng)需要接受用戶(hù)從鍵盤(pán)上輸入的含有空格的字符串時(shí),應(yīng)使用gets()函數(shù)T18. 在C語(yǔ)言中,二維數(shù)組元素在內(nèi)存中的存放順序可以隨意調(diào)整變化。
F19. &b指的是變量b的地址處所存放的值;F20. 指針變量可用于保存同類(lèi)型變量的地址值;F21. 存放地址的變量同其他類(lèi)型的變量一樣,可以存放任何類(lèi)型的數(shù)據(jù);F22. 指向同一數(shù)組的兩指針p1,p2相減的結(jié)果與所指元素的下標(biāo)相減的結(jié)果是相同的F23. 如果定義函數(shù)時(shí)參數(shù)是指針變量,那么,調(diào)用函數(shù)時(shí)的參數(shù)就可以是同類(lèi)型的指針變量,數(shù)組名或簡(jiǎn)單變量的地址T24. char *name[5]定義了一個(gè)一維指針數(shù)組,它有5個(gè)元素,每個(gè)元素都是指向字符數(shù)據(jù)的指針型數(shù)據(jù)F25. 語(yǔ)句y=*p++;和y=(*p)++;是等價(jià)的F26. 函數(shù)指針指向的是函數(shù)的入口地址T27. int *p;定義了一個(gè)指針變量,其值是整型的F28. 用指針作為函數(shù)參數(shù)時(shí),采用的是“地址傳送”方式.T三、 選擇題 1.下列變量名中哪些是合法的?p 2a a# C$ t3 _var q int2.語(yǔ)言中用________表示邏輯值“真”A) true B) 整型值0 C) 非零整數(shù)值 D) T3.下列合法的字符常量為_(kāi)_______ A) "a" B) '\n' C) 'china' D) a4. 設(shè)有語(yǔ)句char c='\72'; 則變量c________。
A) 包含1個(gè)字符 B)包含2個(gè)字符 C) 包含3個(gè)字符 D) 不合法5. 字符串"\t\"Name\\Address\n"的長(zhǎng)度為_(kāi)_______ A) 19 B) 15 C) 18 D) 不合法6. 設(shè)a,b,c 為 int 型變量,且a = 3 ,b = 4 , c = 5,下面表達(dá)式值為0的是________A) 'a' && 'b' B) a <= b C) a || b+c && b-c D) !((a
A) 3 B) 4 C) -3 D) -210. 將下列數(shù)學(xué)表達(dá)式表示為合法的C語(yǔ)言表達(dá)式1) (2) (3) (4) (5) (6) 12. 下列可作為C語(yǔ)言賦值語(yǔ)句的是:_____________A) x = 3, y = 5 B) a = b = c C) i -- ; D) y = int ( x ) ;13. 以下程序的輸出結(jié)果為:_____________main(){ int a = 2, c = 5; printf("a = %%d, b = %%d\n", a, c);}A) a = %2, b = %5 B) a = 2, b = 5 C) a=%%d, b=%%d D) a=%d, b=%d14. 在下面的條件語(yǔ)句中,只有一個(gè)在功能上與其它三個(gè)語(yǔ)句不等價(jià)(其中s1和s2表示它是C語(yǔ)句),這個(gè)不等價(jià)的語(yǔ)句是: A) if (a) s1; else s2;B) if (!a) s2; else s1;C) if (a != 0) s1; else s2;D) if (a == 0) s1; else s2;15. 設(shè)有聲明語(yǔ)句:int a=1,b=0;則執(zhí)行以下語(yǔ)句后輸出為: 。
switch (a){ case 1: switch (b) { case 0: printf("**0**");break; case 1: printf("**1**");break; } case 2: printf("**2**");break;}A) **0** B) **0****2** C)**0****1****2** D)有語(yǔ)法錯(cuò)誤16. 在while (x)語(yǔ)句中的x與下面條件表達(dá)式等價(jià)的是: A) x == 0 B) x == 1 C) x != 1 D) x != 017. 若int x;且有下面的程序片斷,則輸出結(jié)果為: for (x=3; x<6; x++){ printf((x%2)==0? "**%d" : "##%d\n", x);}A) **3 B) ##3 C) ##3 D) **3##4##4 **4 **4##5 **5**5 ##5 18. 以下能對(duì)外部的一維數(shù)組a(含有10個(gè)元素)進(jìn)行正確初始化的語(yǔ)句是: 。
A) int a[10] = (0,0,0,0,0)。





![[精編]吳教人[]13號(hào)](/Images/s.gif)






