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

下載本文檔

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

文檔簡介

1、第一單元 程序設(shè)計和語言一、 選擇題1 C語言的基本構(gòu)成單位是: A 。A. 函數(shù)B. 函數(shù)和過程C. 超文本過程D. 子程序2 一個C語言程序總是從 B 開始執(zhí)行。A. 主過程 B. 主函數(shù) C. 子程序 D.主程序 3 C語言的程序一行寫不下時,可以 。A. 用逗號換行B. 用分號換行C. 在任意一空格處換行D. 用回車符換行 4 以下敘述不正確的是: C 。A. 在C程序中,語句之間必須要用分號;分隔B. 若a是實型變量,C程序中a=10是正確的,因為實型變量中允許存放整型數(shù)C. 在C程序中,無論是整數(shù)還是實數(shù)都能正確無誤地表示D. 在C程序中,%是只能用于整數(shù)運算的運算符5 以下不正確

2、的C語言標(biāo)識符是 D 。A. ABC B. abc C. a_bc D. ab.c6 下列字符串是標(biāo)識符的是: A 。A. _HJB. 9_studentC. longD. LINE 17 以下說法中正確的是: C 。A. C語言程序總是從第一個定義的函數(shù)開始執(zhí)行B. 在C語言程序中,要調(diào)用的函數(shù)必須放在main()函數(shù)中定義C. C語言程序總是從main()函數(shù)開始執(zhí)行D. C語言程序中的main()函數(shù)必須放在程序的開始部分8 不合法的常量是: D 。A. 2B. C. 3D. 4839 已知各變量的類型說明如下,則以下不符合C語言語法的表達式是: A 。int k,a,b;unsigne

3、d long w=5;double x=1.422;A. x%(-3)B. w+=-2C. k=(a=2,b=3,a+b)D. a+=a=+(b=4)*(a=3)10 在C語言中,字符型數(shù)據(jù)在內(nèi)存中以 D 形式存放。A. 原碼 B. BCD碼 C. 反碼 D. ASCII碼11 若有定義:int a=7; float x=2.5; y=4.7;則表達式x+a%3*(int)(x+y)%2/4的值是: A 。A. 2.500000B. 2.750000C. 3.500000D. 0.00000012 設(shè)有說明:char w; int x; float y; double z;則表達式w*x+z-

4、y值的數(shù)據(jù)類型為: D 。A. floatB. charC. intD. double13 以下 BC 是不正確的轉(zhuǎn)義字符。 A. B. C. 081 D. 014 若x為int型變量,則執(zhí)行以下語句后,x的值為 B 。 x=6; x+=x-=x*x; A. 36 B. -60 C. 60 D. -2415 字符串ABC的長度是 B 。A. 11 B. 7 C. 5 D. 3二、 填空題1 一個函數(shù)由兩部分組成,它們是 和 。2 一個C源程序至少包含一個 ,即 。3 設(shè)int a=12; 則表達式a/=a+a的值是 。4 表達式x=(a=3,6*a)和表達式x=a=3,6*a分別是 表達式和

5、表達式,兩個表達式執(zhí)行完的結(jié)果分別是 和 ,x值分別是 和 。5 在C語言中,實數(shù)有兩種表示形式,即 和 。6 在C語言中,運算符的優(yōu)先級最小的是 運算符。7 在C語言中,變量在使用前應(yīng)先 , 再 。 第一單元 程序設(shè)計和C語言一、 選擇題1. A 2. B 3. C 4. C 5. D 6. A 7. C 8. D 9. A 10. D 11. A12. D 13. BC 14. B 15. B二、 填空1 函數(shù)首部、函數(shù)體2 主函數(shù)、main函數(shù)3 04 賦值、逗號、18、18、18、35 浮點型、指數(shù)型6 賦值7 定義,使用第二單元 順序程序設(shè)計一、 選擇題1 若m為float型變量,則

6、執(zhí)行以下語句后的輸出為 C 。 m=1234.123; printf(%-8.3fn,m); printf(%10.3fn,m); A. 1234.123 B. 1234.123 C. 1234.123 D. -1234.123 1234.123 1234.123 1234.123 001234.1232 若x,y,z均為int型變量,則執(zhí)行以下語句后的輸出為 A 。 x=(y=(z=10)+5)-5; printf(x=%d,y=%d,z=%dn,x,y,z); y=(z=x=0,x+10); printf(x=%d,y=%d,z=%dn,x,y,z); A. X=10,Y=15,Z=10B

7、. X=10,Y=10,Z=10 X=0,Y=10,Z=0 X=0,Y=10,Z=10 C. X=10,Y=15,Z=10D. X=10,Y=10,Z=10X=10,Y=10,Z=0 X=0,Y=10,Z=03 若x是int型變量,y是float型變量,所用的scanf調(diào)用語句格式為: scanf(x=%d,y=%f,&x,&y); 則為了將數(shù)據(jù)10和66.6分別賦給x和y,正確的輸入應(yīng)是: A 。 A. x=10,y=66.6 B. 10 66.6C. 1066.6 D. x=10y=66.64 已知有變量定義:int a;char c;用scanf(“%d%c”,&a,&c);語句給a和c

8、輸入數(shù)據(jù),使30存入a,字符b存入c,則正確的輸入是: D 。A. 30b B. 30 bC. 30b D. 30b5 已知有變量定義:double x;long a; 要給a和x輸入數(shù)據(jù),正確的輸入語句是 。若要輸出a和x的值,正確的輸出C。 A. scanf(“%d%f”,&a,&x); B. scanf(“%ld%f”,&a,&x); printf(“%d,%f”,a,x); printf(“%ld,%f”,a,x);C. scanf(“%ld%lf”,&a,&x); D. scanf(“%ld%lf”,&a,&x); printf(“%ld,%lf”,a,x); printf(“%ld

9、,%f”,a,x);6 若有定義double x=1,y;則以下的語句執(zhí)行的結(jié)果是 C 。y=x+3/2; printf(“%f”,y); A.2.500000 B.2.5 C.2.000000 D.2 7 若a為整型變量,則以下語句 C 。a=-2L; printf(%dn,a);A. 賦值不合法B. 輸出為不確定的值C. 輸出值為-2D. 輸出值為2二、 讀程序?qū)懡Y(jié)果1 main() int x,y; scanf(%2d%*2d%ld,&x,&y); printf(%dn,x+y); 執(zhí)行時輸入:12345672 main() int x=4,y=0,z; x*=3+2; printf(%

10、d,x);x*=y=z=4; printf(%d,x); 3 main() float x; int i; x=3.6; i=(int)x; printf(x=%f,i=%d,x,i);4 main() int a=2; a%=4-1; printf(%d, ,a); a+=a*=a-=a*=3; printf(%d,a);5 main() int x=02,y=3; printf(x=%d,y=%d,x,y);6 main() char c1=6,c2=0; printf(%c,%c,%d,%dn,c1,c2,c1-c2,c1+c2);7 main() int x,y,z; x=y=1; z

11、=+x-1; printf(%d,%dn,x,z); z+=y+; printf(%d,%dn,y,z); 三、 填空題1 在C語言中,字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用,一個字符數(shù)據(jù)既能以 輸出,也能以 輸出。2 %-ms表示如果串長小于m,則在m列范圍內(nèi),字符串向 靠, 補空格。3 printf函數(shù)的“格式控制”包括兩部分,它們是 和 。4 函數(shù)的遞歸調(diào)用是指 。函數(shù)的返回值通過函數(shù)中的 語句獲得。5 Break語句只能用于 語句和 語句中。6 Strlen(“hello”)= 。7第二單元 順序程序設(shè)計一、 選擇題1. CA A D C CC二、 讀程序?qū)懡Y(jié)果1 172 20803 X=3

12、.600000,i=34 2,05 X=2,y=%d6 6,0,6,1027 2,12,2三、 填空1 字符 整數(shù)2 左 右3 格式說明 普通字符4 在函數(shù)中直接或間接的調(diào)用自己 , return5 Switch , 循環(huán)6 5第三單元 分支程序設(shè)計一、 選擇題1 若x=0,y=3,z=3,以下表達式值為0的是 。 A. !x B.xy? 1:0 C. x%2&y=z D. y=x|z/32 以下運算符中優(yōu)先級最低的運算符為 ,優(yōu)先級最高的為 。 A. & B. ! C. != D. | E. ?: F. =3 若w=1,x=2,y=3,z=4,則條件表達式wx?w:y10?x+100:x-1

13、0); printf(%dn,w+|z+); printf(%dn,!wz); printf(%dn,w&z); A. 0 B. 1 C. 0 D. 0 1 1 1 1 1 1 0 0 1 1 1 05 分析以下程序, 下列說法正確的是 。main() int x=5,a=0,b=0;if(x=a+b) printf(* * * *n);else printf(# # # #n); A. 有語法錯,不能通過編譯 B. 通過編譯,但不能連接C. 輸出* * * * D. 輸出# # # #6 分析以下程序, 下列說法正確的是 。main() int x=5,a=0,b=3;if(x=a+b) p

14、rintf(* * * *n);else printf(# # # #n); A. 有語法錯,不能通過編譯 B. 通過編譯,但不能連接C. 輸出* * * * D. 輸出# # # #7 分析以下程序, 下列說法正確的是 。main() int x=0,a=0,b=0;if(x=a+b) printf(* * * *n);else printf(# # # #n); A. 有語法錯,不能通過編譯 B. 通過編譯,但不能連接C. 輸出* * * * D. 輸出# # # #8 分析以下程序, 下列說法正確的是 。main() int x=0,a=0,b=0;if(x=a+b) printf(*

15、* * *n);else printf(# # # #n); A. 有語法錯,不能通過編譯 B. 通過編譯,但不能連接C. 輸出* * * * D. 輸出# # # #二、 讀程序?qū)懡Y(jié)果1 include main() int a=-1,b=4,k;k=(a+=0)&(!(b-=z=x)?1:0); printf(%d,z=y & y=x);4 main() int x=1,y=1,z=10; if(z0) x=3;else x=5;printf(%dt,x);if(z=y0) x=3;else if(y=0) x=5;else x=7;printf(%dt,x);printf(%dt,z);

16、 5 main() char x=B; switch(x) case A: printf(“It is A.”); case B: printf(“It is B.”); case C: printf(“It is C.”); default: printf(“other.”); 6 main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+;break; case 1: b+;break; case 2: a+;b+;break; case 3: a+;b+; printf(a=%d,b=%dn,a,b); 第三單元

17、分支程序設(shè)計一、選擇題1.C、EB、D、C 、D 、C、D、C二、讀程序?qū)懡Y(jié)果11,0,3220030141705It is B. It is C.other.6a=2,b=1第四單元 循環(huán)程序設(shè)計一、 選擇題1 程序段如下:則以下說法中正確的是: 。int k=5;do k-;while(k=0);A. 循環(huán)執(zhí)行5次 B. 循環(huán)是無限循環(huán)C. 循環(huán)體語句一次也不執(zhí)行 D. 循環(huán)體語句執(zhí)行一次2 設(shè)i和x都是int類型,則for循環(huán)語句 。for(i=0,x=0;i=9&x!=876;i+) scanf(%d,&x);A. 最多執(zhí)行10次 B. 最多執(zhí)行9次C. 是無限循環(huán) D. 循環(huán)體一次也

18、不執(zhí)行3 下述for循環(huán)語句 。int i,k;for(i=0,k=-1;k=1;i+,k+) printf(* * * *);A. 判斷循環(huán)結(jié)束的條件非法 B. 是無限循環(huán)C. 只循環(huán)一次 D. 一次也不循環(huán)4 程序段如下:則以下說法中正確的是: 。int k=-20;while(k=0) k=k+1;A. while循環(huán)執(zhí)行20次 B. 循環(huán)是無限循環(huán)C. 循環(huán)體語句一次也不執(zhí)行 D. 循環(huán)體語句執(zhí)行一次5 下列程序段執(zhí)行后k值為 。int k=0,i,j;for(i=0;i5;i+)for(j=0;j3;j+) k=k+1 ;A. 15 B. 3 C. 5 D. 86 程序段如下:則以下

19、說法中不正確的是: 。#include main()int k=2,;while(k7) if(k%2) k=k+3; printf(“k=%dn”,k);continue;k=k+1;printf(“k=%dn”,k);A. k=k+3;執(zhí)行一次 B. k=k+1;執(zhí)行2次C. 執(zhí)行后k值為7 D. 循環(huán)體只執(zhí)行一次二、 讀程序?qū)懡Y(jié)果1 main() int num=0; while(num=2) num+; printf(%dn,num); 2 main() int i=0,s=0; do s+=i*2+1; printf(i=%d,s=%dn,i,s); i+;while(s10); 3

20、 #include main() int i,m=1; for(i=5;i=1;i-) m=(m+1)*2;printf(m=%dn,m); 4 指出下面三個程序的功能,當(dāng)輸入為:quert?時,它們的執(zhí)行結(jié)果是什么? #include main() char c; c=getchar(); while (c!=?) putchar(c); c=getchar(); #include main() char c; while (c=getchar()!=?) putchar(+c); #include main() while (putchar(getchar()!=?); 5.main()

21、printf(“%dn”,sub(6);sub(int n) if(n= =1 | n= =2) return 1;else return sub(n-1) + sub(n-2); 第四單元 循環(huán)程序設(shè)計一、選擇題1D 2A . 3B . 4C5A6D二、讀程序?qū)懡Y(jié)果11 2 32i=0,s=1 i=1,s=4 i=2,s=9 i=3,s=163m=4 m=10 m=22 m=46 m=944(1) quert (2) rvfsu (3) quert?5. 8第五單元 數(shù) 組一、 選擇題1 以下關(guān)于數(shù)組的描述正確的是 。A. 數(shù)組的大小是固定的,但可以有不同的類型的數(shù)組元素。B. 數(shù)組的大小是

22、可變的,但所有數(shù)組元素的類型必須相同。C. 數(shù)組的大小是固定的,但所有數(shù)組元素的類型必須相同。D. 數(shù)組的大小是可變的,但可以有不同的類型的數(shù)組元素。2 在定義int a10;之后,對a的引用正確的是 。A. a10 B. a6.3 C. a(6) D. a10-103 以下能正確定義數(shù)組并正確賦初值的語句是 。A. int n=5,bnn; B. int a12=1,3;C. int c2=1,2,3,4 D. int a32=1,2,3,44 以下不能正確賦值的是 。A. char s110;s1=test; B. char s2=t,e,s,tC. char s320= test; D.

23、 char s44= t,e,s,t5 下面程序段運行時輸出結(jié)果是 。char s18= a book! ;printf(%.4s,s);A. a book! B. a book! C. a bo D. 格式描述不正確,沒有確定輸出6 下面程序段運行時輸出結(jié)果是 。char s12= A book;printf(%dn,strlen(s);A. 12 B. 8 C. 7 D. 67 在執(zhí)行int a3=1,2,3,4,5,6;語句后,a10的值是 。A. 4 B. 1 C. 2 D. 5. 8.合法的數(shù)組定義是( )A) int a=string; B) int a5=0,1,2,3,4,5;

24、 C) char a=string; D) char a=0,1,2,3,4,5;二、 讀程序?qū)懡Y(jié)果1 #include void main()int a8=1,0,1,0,1,0,1,0,i;for(i=2;i8;i+)ai+= ai-1 + ai-2;for(i=0;i8;i+)printf(“%5d”,ai); 2 #include void main()float b6=1.1,2.2,3.3,4.4,5.5,6.6,t;int i;t=b0;for(i=0;i5;i+)bi=bi+1;b5=t;for(i=0;i6;i+)printf(“%6.2f”,bi); 3 #include

25、void main() int p7=11,13,14,15,16,17,18,i=0,k=0;while(i7 & pi%2) k=k+pi; i+;printf(k=%dn,k); 4 void main() int a33=1,3,5,7,9,11,13,15,17; int sum=0,i,j; for (i=0;i3;i+) for (j=0;j3;j+) aij=i+j; if (i=j) sum=sum+aij; printf(sum=%d,sum); 5 void main() int a44,i,j,k; for (i=0;i4;i+) for (j=0;j4;j+) aij

26、=i-j; for (i=0;i4;i+) for (j=0;j=i;j+) printf(%4d,aij); printf(n); 6 #include main() int i,s; char s1100,s2100; printf(input string1:n); gets(s1); printf(input string2:n); gets(s2); i=0; while (s1i=s2i)&(s1i!=0) i+; if (s1i=0)&(s2i=0) s=0; else s=s1i-s2i; printf(%dn,s); 輸入數(shù)據(jù) aidand7 void main()char

27、ch35= AAAA,BBB,CC;printf(%sn,ch1); 8 #inlcude #include void main()char str1080,c80;int i;for(i=0;i10;i+)gets(stri);strcpy(c,str0);for(i=1;i10;i+)if(strlen(c)strlen(stri)strcpy(c,stri);puts(c);9.下列程序的執(zhí)行結(jié)果是 main() int x=1,y=2,z=3;x+=y+=z;printf(%d,(xy?x+:y+);第五單元 數(shù)組一、 選擇題1. C 2. D 3. D 4. A 5. C 6. D

28、7. A 8.B二、 讀程序?qū)懡Y(jié)果1 1 0 2 2 5 7 13 202 2.20 3.30 4.40 5.50 6.60 1.103 k=244 sum=65 0 1 0 2 1 0 3 2 1 06 -57 “BBB”8 沒有輸入數(shù)據(jù)9 5第六單元 函 數(shù)一、 選擇題1 在C語言中,當(dāng)函數(shù)調(diào)用時 。A. 實參和形參各占一個獨立的存儲單元B. 實參和形參共用存儲單元C. 可以由用戶指定實參和形參是否共用存儲單元D. 由系統(tǒng)自動確定實參和形參是否共用存儲單元2 以下函數(shù)調(diào)用語句中實參的個數(shù)為 。exce(v1,v2),(v3,v4,v5),v6);A. 3B. 4C. 5D. 63 如果在一

29、個函數(shù)的復(fù)合語句中定義了一個變量,則該變量 。A. 只在該符合語句中有效,在該符合語句外無效B. 在該函數(shù)中任何位置都有效C. 在本程序的原文件范圍內(nèi)均有效D. 此定義方法錯誤,其變量為非法變量4 C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是 。A. float型 B. int型 C. long型 D. double型5 C語言規(guī)定,函數(shù)返回值的類型是由 。A. return語句中的表達式類型所決定B. 調(diào)用該函數(shù)時的主調(diào)函數(shù)類型所決定C. 調(diào)用該函數(shù)時系統(tǒng)臨時決定D. 在定義該函數(shù)時所指定的函數(shù)類型決定6 在C語言程序中,以下描述正確的是 。A. 函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不

30、可以嵌套B. 函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C. 函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套D. 函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套7 以下敘述中正確的是 。A. 全局變量的作用域一定比局部變量的作用域范圍大B. 靜態(tài)(static)類別變量的生存期貫穿于整個程序的運行期間C. 函數(shù)的形參都屬于全局變量D. 未在定義語句中賦初值的auto變量和static變量的初值都是隨機值8. 以下程序的運行結(jié)果是:#includevoid sub(int s,int y) static int t=3;y=st;t-;main() int a=1,2,3,4,i,x=0;for(i=0;iO) fun(

31、k-1);printf( %d,k);A)5 4 3 2 l B)0 1 2 3 4 5C)1 2 3 4 5 D)5 4 3 2 1 010. 以下所列的各函數(shù)首部中,正確的是_。A)void play(vat a:Integer,var b:Integer)B)void play(int a,b)C)void play(int a,int b)D)Sub play(a as integer,b as integer)11. 當(dāng)調(diào)用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳送的是_。A)數(shù)組的長度 B)數(shù)組的首地址C)數(shù)組每一個元素的地址 D)數(shù)組每個元素中的值12. 在調(diào)用函數(shù)時,如果實參是簡單

32、變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是_。A)地址傳遞 B)單向值傳遞C)由實參傳給形,再由形參傳回實參 D)傳遞方式由用戶指定13. 以下函數(shù)值的類型是_。fun(float x) float y;y=3*x-4;return y;A)int B)不確定 C)void D)float二、 讀程序?qū)懡Y(jié)果1 fun1(int a,int b) int c; a+=a; b+=b; c=fun2(a,b); return c*c; fun2(int a,int b) int c; c=a*b%3; return c; main() int x=11,y=19; printf(The final result is:%dn,fun1(x,y); 2 int x;main() x=5; cude(); printf(%dn,x); cude() x=x*x*x; 3 #include

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論