c語言復(fù)習(xí)題資料_第1頁
c語言復(fù)習(xí)題資料_第2頁
c語言復(fù)習(xí)題資料_第3頁
c語言復(fù)習(xí)題資料_第4頁
c語言復(fù)習(xí)題資料_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 PAGE 4頁,共 NUMPAGES 6頁第 PAGE 31頁,共 NUMPAGES 31頁 模擬題一一、單項選擇題(每題2分, 30分)1. 結(jié)構(gòu)化程序設(shè)計方法中有三種基本結(jié)構(gòu),不正確的是_D_。A順序結(jié)構(gòu)B選擇結(jié)構(gòu)C循環(huán)結(jié)構(gòu)D數(shù)組結(jié)構(gòu)2. 在C語言中,下列變量名稱中合法的是_C_。A7x Bint CELse Da-b3.合法的字符常量是_C_。A. 084 B. ab C. x43D. “0”4. 下列變量的定義及賦值正確的是_ C _。A. int i=0;j; B. char c=”A”;C. double x,y,z; D. float a=b=100;x=y=z=100;5.

2、如有以下變量定義:int a=5,b=6,c=12;那么下列表達式結(jié)果為真的是_A_。A. a-b B. ab C. b/c D. c%b6.下列的數(shù)組定義中合法的是( A ) Aint a=string;Bint a5=0,1,2,3,4,5; Cchar s=string;Dchar a=0,1,2,3,4,5;7.下列循環(huán)語句中,不能夠正常結(jié)束的是_C_。A. int i=0; B. int i=0; for(;i100)break;C. int i=0,j=0; D. int i=0,j=0;while(i=j)j+; doi+=j;i+;j+;while(ij);8. 若有:int

3、a = 1,2,3,4,5,6,7,8,*p=a ; 不能正確表示a5的表達式是_A_。A. p + 5 B. p5 C. *(a +5) D. *(p +5)9. 設(shè)有int x=15,y=20則表達式(x/=2+1,y*5),y+25的值和執(zhí)行表達式后x、y的值分別是_B_。A. 125 8 100 B. 45 5 20 C. 125 5 100 D. 45 8 2010. 以下程序運行后,輸出結(jié)果是_C_。 #include int b=1;int f() int b=-5; return b*b;void main() printf(%d,%dn,b,f();A. -5,25 B. 1

4、,1 C. 1,25 D. 1,111. 以下程序運行后,輸出結(jié)果是_D_。 #include #define S(a,b) a*b main() int a=3 ,area; area=S(a,a+1) ; printf(area=%dn,area); A. 15 B. 12 C. 9 D. 1012.能正確表示a10或a 0的關(guān)系表達式是_C _。A. a=10 or a=10a=10 | a=0 D. a10 | a 013. 以下敘述中正確的是_D_。A主函數(shù)中定義的變量子函數(shù)可以使用B局部變量都是自動變量C只要是全局變量,所有函數(shù)都可以使用D不同位置定義的變量有效范圍不一樣14. 當(dāng)

5、a=1,b=3,c=5,d=4,x=3時,執(zhí)行下面一段程序后,x的值為_A_。 if(ad) x=1; else if(ad)x=2; else x=0;A. 1 B. 2 C. 3 D. 015. 現(xiàn)有一個文本文件,想以追加方式打開,下列方式正確的是_D_。if(fp=fopen(fname.dat,_)=NULL)printf(can not open file!n,num); exit(0);A. w B.ab C.b D.a二判斷題:本大題共10個小題,每小題1分,共10分。1、函數(shù)既可以嵌套定義,也可以嵌套調(diào)用。 N2、表達式i+表示對變量i自身加1。 Y3、 while語句的循環(huán)體

6、至少執(zhí)行一次。 N4、函數(shù)的遞歸調(diào)用不過是一個函數(shù)直接或間接的調(diào)用自己。 Y5、通過return語句 可以帶回一個或多個值。 N6、字符串只能存放到字符型數(shù)組中。 Y7、在標(biāo)準(zhǔn)C中“=”是判斷2個數(shù)是否相等。 N8、靜態(tài)外部變量只能在本文件使用。 Y9、C 語言是一種結(jié)構(gòu)化的程序設(shè)計語言。 Y10、語句scanf(“%7.2f”,&x)是合法的。 N三填空題:本大題共15個小題,每空2分,共30分。1下面程序的運行結(jié)果是 4 #include void main( ) int i=3;switch(i) case 1:printf(%dn, i+ ); break;case 2:printf(

7、%dn, i ); break;case 3:printf(%dn, +i ); break;default:printf(*n);2輸入一個不超過3位的正整數(shù),判斷它是個幾位數(shù), weishu ()是判斷位數(shù)的函數(shù),將程序補充完整。 #include int weishu(int x) if(x/1000) return(3); else if( x/100 ) return(2); else return(1); void main() int a; doscanf(%d,&a) ;printf(%d是%d位數(shù)n,a, weishu(a) ); while(a!=0) ; 3計算100到1

8、88之間的所有奇數(shù)的平均值,將程序補充完整。 #include void main() int i,j; float average=0,sum=0; for(i=101,j=0 ;i188;i+=2) sum+=i; j+ ; average =sum/j; printf(average =%.2fn,average); 4.判斷數(shù)組中的整數(shù)是不是素數(shù), 將程序補充完整。#include #include int prime(int n) int flag=1,i; for(i=2;i=sqrt(n);i+) if(n%i=0) flag=0;break; return flag; void

9、 main() int i,a6=3,7,9,11,10,6; for(i=0;i6;i+) if(prime(n)=1)printf(a%d=%d是素數(shù)n,i,ai);5下面程序的運行結(jié)果是 2 5 8 #include int fun(int k) static int b=1;int m;b=b+1;m=k*2+b;return m;void main( ) int i, s; for(i=0; i=2; i+) s=fun(i);printf( %d , s); /* %d前有空格 */printf(n);6下面程序的運行結(jié)果是 8, 3 #include void main( )in

10、t a10=3,9,7,8,5,10,1,2,4,6, *p;for ( p=a; pa+10; p+ )if ( *p % 2 = 0 ) printf(%d,%dn, *p, p-a);break;7以下程序的功能是:在一個34的二維數(shù)組中,將每行中的最小值與第0列元素對調(diào),請?zhí)羁铡?include void main( )int a34=6,3,5,8, 10,4,2,9, 1,7,15,11, i, j, t, k;for( i=0; i3; i+ )k=0;for ( j=1; j 4 ; j+ )if(aijaik) k = j ;if(k!=0)t=ai0; ai0=aik ;a

11、ik=t;8以下程序功能是:輸出低于平均成績的學(xué)生姓名,請?zhí)羁铡? include typedef structchar name20;float score;STU;void main( )STU s10, *p;int i;float ave=0;for (i=0; i10; i+) /* 讀入10人的姓名和成績 */scanf(%s%f, , &si.score );for (i=0; i10; i+)ave+=si.score;ave/=10;printf(低于平均成績的學(xué)生有:n);for(p=s; pscore name ); /* %s前有空格 */四、編程題(30

12、分,每題10分)1編程實現(xiàn)以下計算功能(從鍵盤上輸入x的值,計算并輸出y的值)。sin(x)/2 x 10y= (x-1)2 10 x b)&(n=cd)后n的值為( B ) A.1 B.2 C.3 D.4 6、 下述程序的輸出結(jié)果是( C ) #include void main() int x=-1,y=4; int k; k=+x=0&!(y-5)printf(“%d”,x); else printf(“%dn”,x-); A.7和5 B.6和3 C.7和4 D.6和4 9、若變量c為char類型,能正確判斷出c為小寫字母的表達式是( D ) A. a=c= a)|(c= z) C. (

13、a=c) D. (c= a)&(c= z) 10、在定義int a10;之后,對a的引用正確的是( D )。 A.a10 B.a6.3 C.a(6) D.a10-10 11、定義如下變量的數(shù)組: int i; int x33=1,2,3,4,5,6,7,8,9; 則下列語句的輸出結(jié)果是( A ) for(i=0;i3;i+)printf(“%d”,xi2-i); A.357 B.147 C.159 D.369 12. 在C語言中,形參的缺省存儲類是( A ) A. auto B. register C. static D. extern13. C語言函數(shù)返回值的類型是由( D ) 決定的。 A

14、.return語句中的表達式類型 B.調(diào)用函數(shù)的主調(diào)函數(shù)類型 C.調(diào)用函數(shù)時臨時分配的 D.定義函數(shù)時所指定的函數(shù)類型14.設(shè)#define NUM 1 + 2,則int var = 2 * NUM * 3 - NUM; var的值是多少?( C ) A. 15 B. 19 C. 9 D. 515.若有以下定義和語句:char strl = string, str25; 則用以復(fù)制字符串的正確方法是_B_。 A. strcpy(str2, Hello); B. strcpy(strl, Hello); C. str2 = str1; D. str1 = Hello;二、填空題(每空2分,共30

15、分) 1、結(jié)構(gòu)化設(shè)計中的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、 循環(huán)結(jié)構(gòu) 、 選擇結(jié)構(gòu) 。 2、若函數(shù)調(diào)用語句f(a, b, f(a + b, a - b, b);,則函數(shù)f的參數(shù)個數(shù)是 3 。3、定義int x,y;執(zhí)行y=(x=1,+x,x+2);語句后,y的值是_4_。 4、若用數(shù)組名作為函數(shù)調(diào)用的實參,則實參傳遞給形參的是_地址_ _。5、在C語言中,表示邏輯真值用_1_表示。6、設(shè)int a34 = 1, 2, 5, 3, 2, 4, 7, 9, 3, 6, 5, 8;則表達式a12 + a23的值是_15_。7、scanf函數(shù)是一個標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件_stdio.h_中。8、設(shè)ch

16、ar s10 = abcd,t = 12345;,則s和t在內(nèi)存中分配的字節(jié)數(shù)分別是_10_和 6 。9、有以下程序段: int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b; b=*(p+5);b中的值是 9 。10、設(shè)char s = E_mail;,則執(zhí)行printf(%dn, strlen(s);后輸出的值是_6_。11、在循環(huán)中,結(jié)束單次循環(huán)用哪條語句 continue 。12、有如下語句:swich(t) case 0:s=2;break; case 1:case 2:s=3;break;case 3:s=4;case 4:s=5; cefault:s=6;

17、當(dāng)t=1時,s為 3 ;當(dāng)t=3時,s為 6 。三、判斷題(每題1分,共10分)1、邏輯運算符的優(yōu)先級別高于算術(shù)運算符。( 錯 )2、在C語言中,不允許在函數(shù)中再定義函數(shù)。( 對 )3、C語言中可以把一個字符串賦給一個字符變量。( 錯 )4、getchar函數(shù)的功能是接收從鍵盤輸入的一串字符。( 錯 )5、語句int *num=“china”,”japan”,”usa”;數(shù)組num中元素都是指針。( 對)6、結(jié)構(gòu)體比共用體更節(jié)省內(nèi)存空間。(錯)7、c語言編譯生成的文件名后綴為*.exe。(錯)8、函數(shù)參數(shù)值傳遞中,實參不隨形參的改變而改變。(對)9、有語句int a34,(*p)4;p=a;,

18、則*(p+1)表示的數(shù)組a01元素。(錯)10、局部變量和全局變量可以重名。(對)四、編程題 1、編程輸出11000之間能被3整除,又能被7整除的數(shù)。2、編寫程序打印以下圖案 :*3、編寫函數(shù),使輸入的一個字符串反序存放,在主函數(shù)中輸入和輸出字符串 4、編寫程序,將輸入的20個整數(shù)保存到數(shù)組中,并求出其中的最大值、最小值及平均值。模擬題三一、選擇題:本大題共15個小題,每小題2分,共30分。在每小題給出的四個選項中,只有一項是正確的。 1C語言源程序的基本單位是 。(易)(A)過程 (B)函數(shù) (C)子程序 (D)標(biāo)識符2 是合法的用戶自定義標(biāo)識符。(易)(A)b-b (B)float (C)

19、 (D)_isw 3以下程序的輸出結(jié)果是 (中)# include void main() int i=010,j=10; printf(%d,%dn,+i,j-);(A)11,10 (B)9,10 (C)9,9 (D)10,94設(shè)變量定義為“int a, b;”,執(zhí)行下列語句時,輸入 ,則a和b的值都是10。scanf(a=%d, b=%d,&a, &b);(易)(A)10 10 (B)10, 10 (C)a=10 b=10 (D)a=10, b=105若變量已正確定義,有以下程序段(中)int a=3,b=5,c=7;if(ab)a=b;c=a;if(c!=a)c=b;printf(%d,

20、%d,%dn,a,b,c);其輸出結(jié)果是 。(A)程序段有語法錯 (B)3,5,3 (C)3,5,5 (D)3,5,76有以下程序(難)# include void main() int i; for (i=0; i3; i+)switch (i) case 1: printf(%d, i); case 2: printf(%d, i); default : printf(%d, i); 執(zhí)行后輸出結(jié)果是 (A)011122 (B)012 (C)012020 (D)1207若k為整型,則while循環(huán)執(zhí)行 次(中) k=3; while(k= =0) printf(“%d”,k); k-; p

21、rintf(“n”);(A) 1 (B) 3 (C) 2 (D)08有以下程序(難)#includevoid main() int i, j;for(i=3; i=1; i-) for(j=1; jx=2.0 (B)(*p).y=3.0 (C)point.x=2.0 (D)*p-y=3.0二填空題:本大題共15個小題,每小題2分,共30分。請將要填入的內(nèi)容寫在橫線上。C語言中結(jié)構(gòu)化程序設(shè)計的三種結(jié)構(gòu)是:順序結(jié)構(gòu)、 結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。(易)2若整型變量m和n中的值分別為1和2,要求按以下格式輸出m 和n 的值:(中)m=1,n=2請完成輸出語句:printf (_ ,m,n); 3若a是int型變

22、量,則下面表達式(a=4*5,a*2),a+6的值為 。(中)4當(dāng)x=2,y=3,z=1時,執(zhí)行以下程序段后,輸出結(jié)果是 。(中) if(xy) if(xz) printf(%dn,z); else printf (%dn,y); printf(endn);5設(shè)i,n,p均為int型變量,則執(zhí)行以下程序段后,p的值為 。(中) p=1;n=4; for(i=1;i=n;i+) p=p*i;6下面程序段是從鍵盤輸入的字符中統(tǒng)計數(shù)字字符的個數(shù),用換行符結(jié)束循環(huán)。請?zhí)羁?。(難) int n=0,c; c=getchar(); while( ) if( )n+; c=getchar(); 7以下程序的

23、輸出結(jié)果是 。(中)#include void main ( ) int a33 =1,2,3,4,5,6,7,8,9,i,s=0; for(i=0;i=2;i+) s=s+aii; printf (“s=%dn”,s);8下面程序段的運行結(jié)果是 。(中)char c5=a, b, 0, c , 0;printf(“%s”,c);9. 下面程序的輸出結(jié)果是 。(難)# include int f(int b8 , int n) int i , r ; r=1 ; for (i=0 ; i=n ; i+) r=r*bi ; return (r) ;void main( ) int x , a =

24、2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ; x=f(a , 3) ; printf(%d , x) ;10以下程序的輸出結(jié)果是 。(中)#define f(x) x*x#include void main() int a=6, c;c=f(a);printf(“%dn”, c);11以下定義數(shù)組的語句中正確的是 。(中)#include void main( ) int i,a33=1,2,3,4,5,6,7,8,9; for(i=0;i3;i+) printf(%d,ai2-i);12下面程序段的運行結(jié)果是 (難)void main( ) int f(int x); in

25、t a=2 , i ; for (i=0 ; i3 ; i+) printf(%d , f(a) ; printf(n) ;int f(int x) int y=0 ; static z=3 ; y+ ; z+ ; return(x+y+z) ;13以下函數(shù)的功能是,把兩個指針變量所指的存儲單元中的內(nèi)容進行交換。(中)void exchange(int *p1, int *p2) int t; t=*p2; *p2 = ; *p1 = ;14以下程序的輸出結(jié)果是 。(中)#include main() int a=1,2,3,4,5,*p; p=a; printf(%dn,*(+p); 15下

26、面程序段的運行結(jié)果是 。(中) char *p=abcde; p+=3;printf(%s,p);三判斷題:本大題共10個小題,每小題1分,共10分。將答案寫在括號內(nèi)。1若已定義int a=4,b=5;則a&b的值為1。 (易)( )2在C程序中C 源程序中不能表示的數(shù)制是八進制。 (易)( )3用scanf(%7.2f,&a);輸入時,整個數(shù)據(jù)占7位,小數(shù)部分占2位。(中)( ) 4當(dāng)if語句嵌套時,else總和前面與其具有相同縮進位置的if配對。(中)( )5break語句的作用是結(jié)束本次循環(huán)。 (易) ( )6表達式strcmp(“box”, “boss”) 的值是一個正數(shù)。(中)( )

27、7函數(shù)可以嵌套定義但不能嵌套調(diào)用。(易) ( )8char *p=“good”;的含義是定義字符型指針變量p,p的值是字符串“good”。(中)( )9有二維數(shù)組a34,*(*(a+2)+3)代表數(shù)組元素a23的值。(難) ( )10在定義一個結(jié)構(gòu)體變量時,系統(tǒng)分配給它的存儲空間是該結(jié)構(gòu)體中所有成員所需存儲空間的總和。 (易) ( )模擬題三參考答案選擇題:本大題共15個小題,每小題2分,共30分。1B2D3B4D5B6A7D8D9D10B11C12C13B14D15D填空題:本大題共15個小題,每小題2分,共30分1. 選擇2. m=%d,n=%d3. 264. end5. 246. c!=

28、n c=0&c=97. s=158. ab9. 12010. 3611. 3 5 712. 789 13. *p1 t14. 215. de判斷題:本大題共10個小題,每小題1分,共10分。1-5 6-10模擬題四一、選擇題:本大題共15個小題,每小題2分,共30分。在每小題給出的四個選項中,只有一項是正確的。1下列選項中不屬于結(jié)構(gòu)化程序設(shè)計原則的是 。 (易)(A) 可封裝 (B) 自頂向下 (C) 逐步細(xì)化 (D) 模塊化設(shè)計2以下C語言用戶自定義標(biāo)識符中,合法的是 。(易)(A)int (B)a b (C)7y (D)_123 3以下程序的輸出結(jié)果是 。 (易)# include voi

29、d main() int a=8,b=9,c,d;c=+a; d=b-; printf(%d,%d,%d,%d n,a,b,c,d);(A)9,8,9,8 (B)9,8,9,9 (C)9 8 9 8 (D)9 8 9 94已知i、j、k為int型變量,若從鍵盤輸入:1,2,3,使i的值為1、j的值為2、k的值為3,以下選項中正確的輸入語句是 。(易) (中)(A)scanf(“%2d%2d%2d”,&i,&j,&k);(B)scanf(“%d %d %d”,&i,&j,&k);(C)scanf(“%d,%d,%d”,&i,&j,&k);(D)scanf(“i=%d,j=%d,k=%d”,&i,

30、&j,&k);5已知char ch=d;則表達式ch=(ch=a & ch=z)?(ch-32):ch;的值是 。(易) (A) a (B) d (C) A (D) D6有以下程序 #include main( ) char ch; ch=getchar( ); switch(ch) case A : printf(“%c”,A); case B : printf(“%c”,B); break; default: printf(“%sn”,”other”); 當(dāng)從鍵盤輸入字母A時,運行結(jié)果為: 。(中)(A) AB (B) A (C)B (D) other7設(shè)有程序段 int k=10; wh

31、ile(k=0)k=k-1; 這下面描述中正確的是_.(中)(A)while循環(huán)執(zhí)行10次 (B)循環(huán)是無限循環(huán) (C)循環(huán)體語句一次也不執(zhí)行 (D)循環(huán)體語句執(zhí)行一次8執(zhí)行語句for(i=1;i+4; );后變量i的值是_. (A)3 (B)4 (C)5 (D)不定9下面程序段的運行結(jié)果是_. char a7=abcdef;char b4=ABC; strcpy(a,b); printf(%c,a5); (A)空格 (B)0 (C)e (D)f10若有以下程序: void main() int m 3=1,3,2,4,5,7,6,8,9,10,11; int i,k=2; for(i=0;i

32、3;i+) printf(“%d”,mki);程序執(zhí)行后的輸出結(jié)果是: 。(中)a) 4 5 7 b) 2 7 9 c) 9 10 11 d) 6 8 911有以下程序:void fun(int a,int b,int c)a=456,b=567,c=678; main()int x=10,y=20,z=30;fun(x,y,z);printf(%d,%d,%dn,x,y,z);輸出結(jié)果是 。(中) A)30,20,10 B)10,20,30 C)456,567,678 D)678,567,45612以下敘述中正確的是 。 (易)(A) 構(gòu)成C程序的基本單位是函數(shù) (B) 可以在一個函數(shù)中定義

33、另一個函數(shù) (C) 函數(shù)不能嵌套調(diào)用(D) 被調(diào)函數(shù)的定義位置一定要在主調(diào)函數(shù)之前 13已知int a=1,2,3,4,5,6,7,8,9,0,*p=a;則printf(“%d”,*p+9);的運行結(jié)果為 。(難)(A)0 (B)1 (C)10 (D)914若有定義:int a5,*p=a;則對a數(shù)組元素地址的正確引用是 。 (易)(A)p+5 (B)*a+1 (C)&a+1 (D)&a015定義共用體的關(guān)鍵字是_ 。(易)(A)union(B)enum(C)struct(D)typedef二判斷題:本大題共15個小題,每小題1分,共15分。將答案寫在括號內(nèi)。1C程序總是從main函數(shù)開始執(zhí)行

34、,無論main函數(shù)的位置如何。 (易) ( )2 當(dāng)if語句嵌套時,else總是與它前面最近的一個未匹配的if相匹配,不受縮進格式影響。(中)( )3在循環(huán)過程中,使用break語句和continue語句的作用是一樣的。 (易) ( )4表達式1/8的值是0。 (易)( )5C語言編繹系統(tǒng)以0代表“假”,以1代表“真”。 (易) ( )6已知char *array=china; 則array的值是字符串china。 (中) ( )7函數(shù)中的形參和調(diào)用時的實參都是數(shù)組名時,傳遞方式為地址傳遞。 (中) ( )8當(dāng)判斷兩個字符串s1和s2是否相等,可以使用用:if (s1= =s2) 。 (中)(

35、 )9假設(shè)有inta10,*p;則P=&a0與p=a相等。 (易) ( )10 共用體變量所占的內(nèi)存長度等于最長的成員的長度 (中) ( )三、填空題:本大題共15個小題,每小題2分,共30分。請將要填入的內(nèi)容寫在橫線上。1.C語言中運算對象必需是整型的運算符是 (易)2設(shè)n=10,i=4,則賦值運算n%i+1執(zhí)行后的n值是 。(易)3當(dāng)10 x100時,y值為50,用C語言描述為if( ) y=50; (易)4. 輸入兩個實數(shù),按代數(shù)值由大到小的次序輸出這兩個數(shù)。(中)void main() float m,n,t; scanf(“%f,%f”,&m,&n); if (mb) if(ac)

36、printf(%dn,a); else printf (%dn,b); printf(OKn);6有以下程序段s=1.0for(k=1;k=n;k+) s=s+1.0/(k*(k+1); printf(“%fn”,s);請?zhí)羁眨挂韵鲁绦蚨蔚墓δ芘c上面的程序段完全相同。(中)s=1.0,k=1;while( ) s=s+1.0/(k*(k+1); ; printf(“%fn”,s);7以下程序運行后的輸出結(jié)果是 。(中)#includevoid main() int i,sum=0; for(i=1;i9;i+=2) sum+=1;printf(“%dn”,sum);8若有定義語句:char

37、s10=abcdn0;,則strlen(s)的值是 。(中)9. 以下程序的輸出結(jié)果是 。 (中) #include void main() int a5= 1,3,5,7,9,*p;p=a;p+;printf(%d,*p); 10以下程序的輸出結(jié)果是 。(難)#define f(x) x*xmain() int a=8, b=4, c; c=f(a)/f(b); printf(“%dn”, c);11以下函數(shù)的功能是計算xn,主函數(shù)中已定義a,b,m變量并賦值,通過調(diào)用函數(shù)fun( )計算表達式m=a4+b4的語句為 。(中)double fun(double x,int n) int i;

38、 double y=1;for(i=1,i=n;i+)y=y*x;return y12下面程序的運行結(jié)果是 。(難)#include f(int a) static int b=0; b=b+1; return(a+b);main( ) int a=2,i; for(i=0;i3;i+) printf(“ %d”,f(a); 13已知int a34=1,3,5,7,9,11,13,15,17,19,21,23,(*p)4,; p=a;通過指針輸出數(shù)組元素a23的方法為printf(a23=%dn, ); (難)14以下程序運行后的輸出結(jié)果是 。(難)void main()char s=l59,

39、*p; p=s; printf(c,*p+);printf(c,*p+);15以下程序是建立一個名為myfile的文件,并把從鍵盤輸入的字符存入該文件,當(dāng)鍵盤上輸入結(jié)束時關(guān)閉該文件。(難)#include main() FILE *fp;char c;fp= ;doc=getchar();fputc(c,fp);while(c!=n); ; 模擬題四答案選擇題:本大題共15個小題,每小題2分,共30分。1A2D3B4C5D6A7C8C9D 10D11B12A13C14D15A判斷題:本大題共10個小題,每小題1分,共10分。1-5 6-10填空題:本大題共15個小題,每小題2分,共30分1.

40、%2. 33. x=10&x=1004. m=n n=t5. OK6. k=n k+(或k=k+1)7. 48. 59. 310. 6411. m=fun(a,4)+fun(b,4)12. 3 4 5 13. *(*(p+2)+3)14. 1515. fopen(myfile.txt,w) fclose(fp);模擬題五一、選擇題:本大題共15個小題,每小題2分,共30分。在每小題給出的四個選項中,只有一項是正確的,將正確選項前的字母寫在相應(yīng)橫線上。1以下敘述中錯誤的是 (易)(A)C語言中的符號常量必須使用大寫 (B)C語言中的所有關(guān)鍵字都必須是小寫(C)C程序的執(zhí)行總是從主函數(shù)開始,并在主

41、函數(shù)中結(jié)束 (D)C語言是一種結(jié)構(gòu)化程序設(shè)計語言2在C語言中,數(shù)字078是 (易)(A) 十進制數(shù) (B)八進制數(shù) (C)十六進制數(shù) (D) 非法數(shù)3C語言中字符型數(shù)據(jù)在內(nèi)存中的存儲形式是 (易) (A)原碼 (B)補碼 (C)反碼 (D)ASCII碼4執(zhí)行printf(“%x”,100);后的輸出結(jié)果是 (中) (A)100 (B)0 x100 (C)0X64 (D)64 5有以下程序: #include main( ) int a,b;int x;a=10;b=4;x=3.2+a/b;printf(“%d”, x); 程序運行后的輸出結(jié)果是 (中)(A)5.2 (B)5 (C)5.7 (D

42、)6 6以下程序,運行后的輸出結(jié)果是 (易) #include main( ) int x=1, a=0, b=0;switch(x) case 0: b+; case 1: a+;case 2: a+; b+;printf(“a=%d, b=%d n”, a, b);(A)a=2, b=1 (B)a=1, b=1 (C)a=1, b=0 (D)a=2, b=27有以下程序,運行后的輸出結(jié)果是 (易) #include main( ) int n=10;while( n7 ) n- -; printf(“%dn”,n);printf(“a=%d, b=%d n”, a, b);( A ) 10

43、 (B)9 (C)10 (D)9 9 8 9 8 8 7 8 7 7 68在一個C源程序文件中所定義的全局變量,其作用域為 (易)(A)由具體定義位置和extern說明來決定范圍(B)所在程序的全部范圍(C)所在函數(shù)的全部范圍(D)所在文件的全部范圍9若有如下程序: #include#define s(x, y) x*(y)void main( ) int a,b,area; a=2,b=3; area=s(a+2,b+2);printf(“%d”,area);程序運行后的輸出結(jié)果是 (中)(A)12 (B)20 (C)10 (D)1410以下不能正確進行字符串賦值的語句組是 (中)(A)ch

44、ar s5=a,e,i,o,u;(B)char *s; s=”good”;(C)char s 5=”good”;(D)char s5; s=”good”;11若有說明“int a34=0;”,則下面敘述正確的是 (易)(A)只有a00可得到初值(B)此說明語句不正確(C)數(shù)組a中各元素都可得到初值,但其值不一定為0(D)數(shù)組a中每個元素均可得到初值012以下程序的輸出結(jié)果是 (難)#includeint fun( int a, int b, int c ) c=a*b; main( ) int c ;fun( 2, 3, c ); printf( ”%dn”, c );(A) 0 (B)1 (

45、C)6 (D)無定值13若已有定義:int a5=10, 20, 30, 40, 50, *p=&a1; 則執(zhí)行語句*p+; 后,*p的值是 (難) (A)20 (B)30 (C)21 (D)3114當(dāng)定義一個結(jié)構(gòu)體變量時,系統(tǒng)分配給它的內(nèi)存是 (易)(A)各成員所需內(nèi)存總和(B)成員中占內(nèi)存容量最大者所需的容量(C)結(jié)構(gòu)體中第一個成員所需內(nèi)存量(D)結(jié)構(gòu)體中最后一個成員所需內(nèi)存量15對于C語言函數(shù),下列敘述正確的是 (易)(A)函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套(B)函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套(C)函數(shù)的定義和調(diào)用都不能嵌套(D)函數(shù)的定義和調(diào)用都能嵌套二填空題:請將正確答案

46、填寫在相應(yīng)橫線上。本大題共15個空,每空2分,共30分。1以下程序的功能是:輸入一個英文字符,判斷它是否為大寫字母,如果是,將它轉(zhuǎn)換為小寫字母輸出,否則,直接輸出。請將程序補充完整。(中)#include main()char ch; scanf(“%c”, &ch); ch=(ch=A&ch=Z) ? _: ch ;printf(“%c”, ch);2以下函數(shù)fmax返回數(shù)組arr中最大元素的下標(biāo),數(shù)組中元素的個數(shù)由x傳入,請將程序補充完整。(中)fmax(int arr, int x)int max, q;for(q=1,max=0;qarrmax) _;return max;3凡是函數(shù)中

47、未指定存儲類別的局部變量,其隱含的存儲類別為_。(易)4下列給定程序中,函數(shù)fun的功能是:逆置數(shù)組元素中的值。例如:若a所指數(shù)組中的數(shù)據(jù)為:1,2,3,4,5,6,7,8,9,則逆置后依次為9,8,7,6,5,4,3,2,1。形參n給出數(shù)組中數(shù)據(jù)的個數(shù)。請將程序補充完整。(中)# includevoid fun(int a , int n) int i , t;for(i=0; i_; i+) t=ai; ai=an-1-_; _=t; main( ) int b9=1, 2, 3, 4, 5, 6, 7, 8, 9, i; fun(b, 9); printf(“The data after

48、 inverting: n”); for(i=0; i9; i+) printf(“%4d”, bi ); printf(“n”);5執(zhí)行語句“ for(s=0, i=1 ; i=10 ; i=i+3) s+=i; ”后,變量 s 、i 的當(dāng)前值是_、_。(中)6求s=1+2+3+.+100 (易) main( ) int i,s=0; i=1; do s=s+i; i+; while(_); prntf(%d,s); 7下面程序的輸出結(jié)果是_(難)#includeint f ( ) static int i=0; int s=1; s+=i; i+; return s; void main(

49、 ) int i,a=0;for(i=0;i5;i+)a+=f( );printf(“%d”,a);8設(shè)有如下定義:char str=”Beijing”;則執(zhí)行下列語句后的輸出結(jié)果為_。(中) printf (“%d”,strlen(strcpy(str, “Hello”);9有以下程序段: int a10=1,2,3,4,5,6,7,8,9,10, *p=&a3, b; b=p5; 則b中的值是_。(難)10有一個switch語句描述的多分支結(jié)構(gòu)程序如下:#includevoid main( )int x,y; scanf(“%d”,&x); switch(x) case 0: y=1; c

50、ase 1: y=10; case 2: y=100; case 3: y=1000; default: y=-1; printf(“y=%d”,y);當(dāng)輸入0時,程序運行結(jié)果是_;當(dāng)輸入2時,程序運行結(jié)果是_。(中) 11已知“int a,b;”,執(zhí)行語句“a=(b=2*3,b*5),b+6”后,變量a的值是_。(中)三判斷題:本大題共10個小題,每小題1分,共10分。1在循環(huán)結(jié)構(gòu)中continue語句是結(jié)束整個循環(huán),break語句是結(jié)束本次循環(huán)。( )(易)2在C程序中無論是整數(shù)還是實數(shù),都能準(zhǔn)確無誤的表示。( )(中)3賦值表達式的左邊必須是變量。( )(易)4C程序中每一行只能寫一條語

51、句。( )(易)5可以用語句“int n=5; int a4n;”定義數(shù)組a。( )(中)6C源程序中能表示的數(shù)制有:十六進制、八進制、十進制、二進制。( )(中)7在不同函數(shù)中,可以使用相同名字的變量。( )(易)8可以給指針變量賦一個整數(shù)作為地址值。( )(易)9邏輯運算符兩側(cè)的運算對象可以是任意合法的表達式。( )(中)10若有定義語句:double a, *p=&a; 則定義語句中的*是一個間址運算符。( )(易)四編程題:本大題共3個小題,每小題各10分,共30分。1編寫程序,從鍵盤輸入一個3位的整數(shù),求它的百、十、個位上的數(shù)字并依次輸出。(中)2有一函數(shù):,編寫程序,使輸入x時輸出

52、相應(yīng)的y值。(易)3編寫函數(shù)fun,其功能是:計算n門課程的平均分,結(jié)果作為函數(shù)值返回。 例如,若有5門課程的成績是:90.5,72,80,61.5,55,則函數(shù)的值為71.80。 注意:部分源程序給出如下,僅在函數(shù)fun的花括號中填入你編寫的若干語句。(難)#includefloat fun( float * a, int n )void main( ) float score30= 90.5, 72, 80, 61.5, 55, aver;aver=fun( score, 5 );printf(“The average score is:%5.2f n”, aver );模擬題五答案一、選

53、擇題:本大題共15個小題,每小題2分,共30分。在每小題給出的四個選項中,只有一項是正確的,將正確選項前的字母寫在相應(yīng)橫線上。1A 2D 3D 4D 5B 6A 7B 8A 9A 10D 11D 12D 13B 14A 15A 二填空題:請將正確答案填寫在相應(yīng)橫線上。本大題共15個空,每空2分,共30分。1ch+322max=q3auto 4n/2 i an-1-i522 136i (D)_isw 2有以下程序 #include void main() int i=10,j=1; printf(%d,%dn,i-, +j); 執(zhí)行后輸出的結(jié)果是 。(A)9,2 (B) 10,2 (C) 9,1

54、 (D)10,1 3. 設(shè)變量定義為“int a, b;”,執(zhí)行下列語句時,輸入_,則a和b的值都是10。scanf(a=%d, b=%d,&a, &b);(A)10 10 (B)10, 10 (C)a=10 b=10 (D)a=10, b=104有以下程序段int a, b, c;a=10; b=50; c=30;if (ab) a=b;b=c; c=a;printf(a=%d b=%d c=%dn”, a, b, c);程序的輸出結(jié)果是 。(A)a=10 b=50 c=10 (B)a=10 b=50 c=30 (C)a=10 b=30 c=10 (D)a=50 b=30 c=505若k為整

55、型,則while循環(huán)執(zhí)行 次。 k=5; while(k=0) printf(“%d”,k); k-; printf(“n”);(A)10 (B)9 (C)0 (D)16有以下程序#include void 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);程序的運行結(jié)果是 。(A)a=1, b=0 (B)a=2, b=2 (C)a=1, b=1 (D)a=2,

56、 b=17數(shù)組定義為 int a32=1, 2, 3, 4, 5, 6,數(shù)組元素 的值為6。 (A)a32 (B)a21 (C)a12 (D)a238以下能正確定義數(shù)組并正確賦初值的語句是 。 (A) int N=5,bNN; (B) int a12=1,3; (C)int c2=1,2,3,4; (D) int d32=1,2,34; 9若有定義語句:char s10=123456700;,則strlen(s)的值是 。(A)7 (B)8 (C)9 (D)1010下列程序的輸出結(jié)果是 。#include fun(int a, int b, int c) c =a*b; void main(

57、) int c; fun(2,3,c); printf(”%dn”,c);(A)0 (B)1 (C)6 (D)無法確定11設(shè)變量定義為“int a4;”,則表達式_不符合C語言語法。(A)*a (B)a0 (C)a (D)a+12設(shè)變量定義為“int x, *p=&x;”,則&*p相當(dāng)于 。(A)p (B)*p (C)x (D)*&x13有以下程序#includevoid main() int i, j;for(i=3; i=l; i-) for(j=1; jname (B)stu2.age (C)(*p).name (D)p-name二判斷題:本大題共10個小題,每小題1分,共10分。1 printf(“n”);實現(xiàn)在輸出時進行換行。 ( )2若已定義int a=2,b=3;則a&b的值為1。 ( )3 a是正確的字符常量。 ( )4 在c語言中,函數(shù)返回值的類型最終取決于return語句中表達式值的類型。( )5已定義int n=6;則具有6個元素的一維數(shù)組可定義為float an;。 ( ) 6用scanf(%7.2f,&a);輸入時,整個數(shù)據(jù)占7位,小數(shù)部分占2位。 ( )7當(dāng)if語句嵌套時,else總和前面與其具有相同縮進位置的if配對。 ( )8 C程序總是從main函數(shù)開始執(zhí)行,無論main函數(shù)的位置如何。 ( )9數(shù)組定義為 in

溫馨提示

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

最新文檔

評論

0/150

提交評論