C語言期末復(fù)習(xí)卷習(xí)題(共11頁)_第1頁
C語言期末復(fù)習(xí)卷習(xí)題(共11頁)_第2頁
C語言期末復(fù)習(xí)卷習(xí)題(共11頁)_第3頁
C語言期末復(fù)習(xí)卷習(xí)題(共11頁)_第4頁
C語言期末復(fù)習(xí)卷習(xí)題(共11頁)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上期末總復(fù)習(xí)(基礎(chǔ)知識+程序設(shè)計部分)一 填空1已知char ch=A; 則下列表達式的值是: a Ch=(ch>=A && ch<=Z)? (ch+32):ch;2. 若x=1,y=2,z=3, 則表達式z+=+x+y+之值是 7 3 若x=2,y=3,則x%=y+3之值為 2 4. 若有定義int y=3; float z=5.2, x=4.8; 則表達式y(tǒng)+=(int)x+x+z的值為 17 5. 設(shè)x,y,z為int型變量,且x=3,y=-4,z=5,請寫出下列各表達式的值 1)(x&&y)=(x|z) 1 2) ?。?/p>

2、x>y)+(y!=z)|(x+y)&&(y-z) 0 3)x+-y+(+z) 13 6. 設(shè)x,y,z為int型變量,請用C語言表達式描述下列命題 1)x和y中有一個小于z (x<z&&y>z|x>z&&y<z )=1 2) x,y和z中有兩個為負數(shù) (x<0&&y<0&&z>=0|z<0&&y<0&&x>=0|y<0&&x<0&&z>=0)=1 3)y是奇數(shù)y%2&#

3、160;!=07. 下面for循環(huán)語句最多可執(zhí)行 4 次 For (x=0,y=0 (y !=99)&&(x<4) x+)8. 設(shè)i,j,k均為int型變量,則執(zhí)行以下for語句后,k的值是 10 for (i=0,j=10 i<=j i+,j-) k=i+j 9若已知x,y,z,m,n均為int 型變量,則執(zhí)行下面語句后,x的值為 7 y的值為 9 z的值為 7 m=10 ; n=5; x=(-m=n+)? -m : +n; y=m+; z=n;10. 若有說明語句: w=1,x=2,y=3,z=4; 則

4、表達式w>x? w:z>y? z:x值是 4 11. 若定義的函數(shù)沒有返回值時,則應(yīng)該在該函數(shù)定義時加上類型說明符 void 12. 凡在函數(shù)中未指定存儲類型的變量,其隱含的存儲類別為 動態(tài)存儲 13. 在C語言中,一個函數(shù)直接或間接地調(diào)用自身,編構(gòu)成函數(shù)的 遞歸 14. 如果被調(diào)用的自定義函數(shù)和調(diào)用函數(shù)不再同一個文件中,則在應(yīng)以函數(shù)的文件中應(yīng)將該文件的存儲類型定義成 型,在調(diào)用函數(shù)的文件中將該函數(shù)說明為 型。15. 對于所定義的二維數(shù)組a23,元素a12是數(shù)組的第 6 個元素。N*j+m+116.若有定義:char *str=”I am a student.”; 則字符串在存儲單

5、元中占 16 個字節(jié)。17. 在執(zhí)行int a3=1,2,3,4;語句后,a12的值是 0 。18. 調(diào)用strlen(“abc0ef0g”)的返回值是 3 。0為停止符19. 設(shè)有定義:char s12=“string”; 則printf(“%dn”,strlen(s);的輸出值是 6 20. 執(zhí)行下列程序段后,*p等于 3 int a5=1,3,5,7,9; *p=a;p+;二 判斷(true or false)1. 調(diào)用函數(shù)時,實參的類型、個數(shù)和順序與函數(shù)定義時形參的類型、個數(shù)和順序完全一致。T2. 函數(shù)可以嵌套定義F3. 函數(shù)必須有返回值,否則不能正確作用F4. C程序中有調(diào)用關(guān)系的所

6、有函數(shù)必須放在同一源程序文件中。F5. 全局變量與函數(shù)體內(nèi)定義的局部變量重名時,局部變量不起作用。F6. 函數(shù)定義時可以不制定形參的類型,函數(shù)調(diào)用時由實參的類型決定形參的類型F7. 當函數(shù)定義放在main()函數(shù)前面時,可以缺省函數(shù)聲明。T8. C語言中允許函數(shù)嵌套調(diào)用T9. 局部靜態(tài)變量是在編譯時賦初值的,即只賦一次初值。T10. 外部變量必須定義在文件的開頭部分F11. 字符0是字符串的結(jié)束標記,其ASCII碼為0.T12. 若有說明 :int a34=0;則數(shù)組a中每個元素的初值都為0.T13. 若有說明 :int a24=0,0;則只有a00和a01的初值為0, 其

7、余元素的初值均不為0. F14. 若有說明 :int a34;則數(shù)組a中各元素可在程序的編譯階段達到初值0.F15. 若用數(shù)組名作為函數(shù)調(diào)用時的實參,則實際上傳遞給形參的是數(shù)組的第一個元素值。F16. 在兩個字符串的比較中,字符個數(shù)多的字符串比字符少的字符串大。F17. 當需要接受用戶從鍵盤上輸入的含有空格的字符串時,應(yīng)使用gets()函數(shù)。T18. 在C語言中,二維數(shù)組元素在內(nèi)存中的存放順序可以隨意調(diào)整變化。F19. &b指的是變量b的地址處所存放的值;F20. 指針變量可用于保存同類型變量的地址值;F21. 存放地址的變量同其他類型的變量一樣,可以存放任何類型的數(shù)據(jù);F2

8、2. 指向同一數(shù)組的兩指針p1,p2相減的結(jié)果與所指元素的下標相減的結(jié)果是相同的。F23. 如果定義函數(shù)時參數(shù)是指針變量,那么,調(diào)用函數(shù)時的參數(shù)就可以是同類型的指針變量,數(shù)組名或簡單變量的地址T24. char *name5定義了一個一維指針數(shù)組,它有5個元素,每個元素都是指向字符數(shù)據(jù)的指針型數(shù)據(jù)。F25. 語句y=*p+;和y=(*p)+;是等價的。F26. 函數(shù)指針指向的是函數(shù)的入口地址。T27. int *p;定義了一個指針變量,其值是整型的。F28. 用指針作為函數(shù)參數(shù)時,采用的是“地址傳送”方式.T三、 選擇題 1下列變量名中哪些是合法的?p 2a a# C$ t3 _var q i

9、nt2語言中用_表示邏輯值“真”。A) trueB) 整型值C) 非零整數(shù)值D) T3.下列合法的字符常量為_。 A) "a" B) 'n' C) 'china' D) a4. 設(shè)有語句char c='72' 則變量c_。 A) 包含1個字符 B)包含2個字符 C) 包含3個字符 D) 不合法5. 字符串"t"NameAddressn"的長度為_。 A) 19 B) 15 C) 18 D) 不合法6. 設(shè)a,b,c 為 int 型變量,且a = 3 ,b = 4 , c = 5,下面表達式值為的是

10、_。A) 'a' && 'b' B) a <= b C) a | b+c && b-c D) !(a<b) && !c | 1)7. 若有以下定義:char a ;int b ;float c ;double d ;則表達式 a * b + d c 的值的類型為_A) float B) int C) char D) double8. 設(shè)有語句int a = 3; 執(zhí)行了語句a += a -= a * a; 后,變量a的值是_。A) 3 B) 0 C) 9 D) -129. 設(shè)有語句int a = 3;

11、執(zhí)行了語句printf("%d", -a +); 后,輸出的結(jié)果是_C_,變量a的值是_D_。A) 3 B) 4 C) -3 D) -210. 將下列數(shù)學(xué)表達式表示為合法的C語言表達式。(1) (2) (3) (4) (5) (6) 12 下列可作為C語言賦值語句的是:_。A) x = 3, y = 5 B) a = b = cC) i - ;D) y = int ( x ) ;13. 以下程序的輸出結(jié)果為:_。main() int a = 2, c = 5;printf("a = %d, b = %dn", a, c);A) a = %2, b = %

12、5 B) a = 2, b = 5C) a=%d, b=%d D) a=%d, b=%d14. 在下面的條件語句中,只有一個在功能上與其它三個語句不等價(其中s1和s2表示它是C語句),這個不等價的語句是: 。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è)有聲明語句:int a=1,b=0;則執(zhí)行以下語句后輸出為: 。switch (a) case 1: switch (b) case 0: printf("*0*"

13、);break; case 1: printf("*1*");break; case 2: printf("*2*");break;A) *0* B) *0*2* C)*0*1*2* D)有語法錯誤16 在while (x)語句中的x與下面條件表達式等價的是: 。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" : "#%dn", x);A) *3

14、 B) #3 C) #3 D) *3#4#4 *4 *4#5 *5*5 #5 18. 以下能對外部的一維數(shù)組a(含有10個元素)進行正確初始化的語句是: 。A) int a10 = (0,0,0,0,0);B) int a10 = ;C) int a = 0;D) int a10 = 10*1;19. 以下能對外部的二維數(shù)組a進行正確初始化的語句是: 。A) int a2 = 1,0,1,5,2,3;B) int a3 = 1,2,1,5,2,3;C)2 int a24 = 1,2,1,5,2,6;D) int a3 = 1,0,2,2,3;20. 若二維數(shù)組a有m列,則在aij之前的元素個數(shù)

15、為: 。A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+121. 已知:static int a34;則數(shù)組a 中各元素 。A) 可在程序運行階段得到初值0 B) 可在程序編譯階段得到初值0C) 不能得到確定的初值 D) 可在程序的編譯或運行階段得到初值022. 判斷字符串s1是否大于字符串s2,應(yīng)當使用: 。A) if (s1 > s2) B) if (strcmp(s1, s2)C) if (strcmp(s2, s1) > 0) D) if (strcmp(s1, s2) > 0)23. .若用數(shù)組名作為函數(shù)調(diào)用時的實參,則實際上傳遞給形參的

16、是: 。A) 數(shù)組的首地址; B) 數(shù)組的第一個元素值;C) 數(shù)組中全部元素的值; D) 數(shù)組元素的個數(shù)。24. 在函數(shù)調(diào)用時,以下說法中正確的是: 。A) 在C語言中,實參與其對應(yīng)的形參各占獨立的存儲單元;B) 在C語言中,實參與其對應(yīng)的形參共占同一個存儲單元;C) 在C語言中,只有當實參與其對應(yīng)的形參同名時,才共占同一個存儲單元;D) 在C語言中,形參是虛擬的,不占存儲單元。25. C語言中形參的缺省存儲類別是: 。 A) 自動(auto) B) 靜態(tài)(static) C) 寄存器(register)D)外部(extern)26. C語言規(guī)定:簡單變量做實參時,它和對應(yīng)形參之間數(shù)據(jù)的傳遞方

17、式為: 。A) 地址傳遞; B) 單向值傳遞;C) 由實參傳給形參,再由形參傳回給實參; D) 由用戶指定傳遞方式。27. (1) 閱讀程序,選擇程序的運行結(jié)果。#include <stdio.h>int Try(int n)if (n > 0)return(n*Try(n-2);elsereturn 1;main() int x;x = Try(5);printf("%dn", x);A. 15B. 120C. 1D. 前面三個答案都是錯的(2)下面的函數(shù)f兩次進行調(diào)用,請選擇程序的運行結(jié)果。#include <stdio.h>int Fun

18、(int m)static int n = 0;m /= 2;m =m * 2;if (m)n *= m;return(Fun(m-2);else return n;main() int a,i,j;for (i=0; i<2; i+)a = Fun(4+i);printf("%dn",a); 第一次輸出的結(jié)果 A. 8 B. 0C. 64D. 4 第一次輸出的結(jié)果 A. 8 B. 0C. 64D. 428. 設(shè)有語句:int a10, *p=a ,則在下面語句中,不正確的是 A) P=P+1 B)P0=*P+1 C)a0= a0+1 D)a=a+129.

19、指向變量的指針,其含義是指該變量的 A)值 B)地址 C)名 D)一個標志30. 若int(*p)5 ,則其中p的含義是 A) 5個指向整形變量的指針 ; B) 指向5個整形變量的函數(shù)指針;C)一個指向具有5個整形元素的一維數(shù)組的指針;D)具有5個指針元素的一維數(shù)組指針,每個元素都只能指向整型量;31. 設(shè)有定義:int a=3,b,*p=&a;則下列語句中使b不為3的語句是 A) b=*&a; B)b=*P; C)b= a; D)b=*a;32. 設(shè)char *s;則以下表達式中,正確的是 A) s=”computer”; B) *s=”computer”; C)

20、*s=”computer”; D)*s=s33. 設(shè) char s10, *p=s;,以下表達式中不正確的是 A) p=s+5; B)s=s+p; C)s2=p4; D)*p=s0;34. 執(zhí)行下列程序段后,*p等于 int a5=1,3,5,7,9, *p=a; p+A) 1; B)3; C)5; D)7;程序設(shè)計題1. 編程計算1*2*3 + 3*4*5 + 99*100*101的值。#include <stdio.h>int main()int i,j,k,sum=0;for(i=1,j=2,k=3;i<100,j<101,k<102;i+=2,j+=2,k+=2)sum=sum+i*j*k;printf("%dn&qu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論