




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄 TOC o 1-3 h z u HYPERLINK l _Toc2 二級(jí)C語言筆試試卷(2007年4月) PAGEREF _Toc2 h 2 HYPERLINK l _Toc3 二級(jí)C語言筆試試卷參考答案(2007年4月) PAGEREF _Toc3 h 8 HYPERLINK l _Toc4 二級(jí)C語言筆試試卷(2007年11月) PAGEREF _Toc4 h 9 HYPERLINK l _Toc5 二級(jí)C語言筆試試卷參考答案(2007年11月) PAGEREF _Toc5 h 17 HYPERLINK l _Toc6 二級(jí)C語言筆試試卷(2008年4月) PAGEREF _Toc
2、6 h 19 HYPERLINK l _Toc7 二級(jí)C語言筆試試卷參考答案(2008年4月) PAGEREF _Toc7 h 25 HYPERLINK l _Toc8 二級(jí)C語言筆試試卷(2008年11月) PAGEREF _Toc8 h 27 HYPERLINK l _Toc9 二級(jí)C語言筆試試卷參考答案(2008年11月) PAGEREF _Toc9 h 33二級(jí)C語言筆試試卷(A)2007年4月 注意事項(xiàng):1.一、二題為客觀題,請(qǐng)將答案涂在機(jī)讀答題卡上 2. 三、四、五、六題為主觀題,請(qǐng)將答案做在答題紙上一、單項(xiàng)選擇題。(每小題分,共20分)1在C程序的函數(shù)調(diào)用時(shí),主調(diào)函數(shù)中的實(shí)參和被
3、調(diào)函數(shù)中的形參( )。(A) 個(gè)數(shù)、次序必須相同,但數(shù)據(jù)類型可以不考慮(B) 個(gè)數(shù)、次序和對(duì)應(yīng)參數(shù)的數(shù)據(jù)類型都應(yīng)該相同(C) 個(gè)數(shù)、次序和數(shù)據(jù)類型均可以不相同(D) 對(duì)應(yīng)參數(shù)數(shù)據(jù)類型應(yīng)相同,但個(gè)數(shù)和次序可以不考慮2如a為int型,則與表達(dá)式a等價(jià)的C語言關(guān)系表達(dá)式是( )(A) a0 (B) a!=0 (C) a=0 (D) a03循環(huán)語句for(a=0,b=0;(b!=45)|(a5);a+);的循環(huán)次數(shù)是( )(A) 4 (B) 3 (C) 5 (D) 無數(shù)多次4設(shè)有字符數(shù)組a,則正確的輸入語句是( )。(A) gets(a); (B) scanf(%c,a);(C) scanf(%s,a
4、); (D) gets(a);5. enum colorred,green,yellow=5,white,black;定義了一枚舉類型。編譯程序?yàn)橹当碇懈鳂?biāo)識(shí)符分配的枚舉值依次為( )。(A)1、2、3、4、5 (B)0、1、5、2、3 (C)0、1、5、6、7 (D)3、4、5、6、76運(yùn)行完下列程序后,在屏幕上的內(nèi)容是( )。void main () int a=0; a+=(a=12); printf (%dn,a);(A)0 (B)6 (C)12 (D)247若x,y為實(shí)數(shù)類型的變量,要判斷x,y相等,最好使用下列關(guān)系表達(dá)式( )。(A)x=y (B)x-y=0(C) fabs(x-y
5、)1e-8 (D)labs(x-y)b (B) p-a (C) +(p-a) (D) (p+)-a9以下程序的輸出結(jié)果是( )。int x=3,y=4;void main( ) int x,y=5; x=y+; printf(%d,x);(A)3 (B) 4 (C) 5 (D) 610在C語言中,函數(shù)默認(rèn)的存儲(chǔ)類型為( )。(A) auto(B) register(C)static (D) extern11有定義:float y,*p=&y;,假定變量y在內(nèi)存中所占地址為100103。那么p的值為( )。(A) 100(B) 101(C) 102(D) 10312. 有定義:int a10,
6、n, *p1=a,*p2=&a9;,則正確的賦值語句為( )。(A) n=p2-p1;(B) n=p2*p1;(C) n=p2+p1; (D) n=p1/p2;13調(diào)用strlen(abcd0efng0)的結(jié)果為( )。 (A) 4 (B) 5 (C) 8 (D) 1014執(zhí)行下面程序中輸出語句后,a的值是( )。#includemain( )int a;printf(%dn,(a=3*5,a*4,a); (A)65 (B)20 (C)15 (D)1015若有定義int a,b,x;且變量都已正確賦值,下面選項(xiàng)中合法的if語句是( )。(A)if(a=b) x+; (B)if(a=b) x+;
7、(C)if(ab) x+; (D)if(a=b) x+;16執(zhí)行下面的程序后,變量a的值是( )。 #include#define SQR(X) X*Xvoid main() int a=10,k=2,m=3; a/=SQR(m)/SQR(k);printf(%d n,a); (A)10 (B)1 (C)5 (D)017若變量t為double類型,表達(dá)式(t=1,t+5,t)的值是( )。 (A)1 (B)6.0 (C)1.0 (D)618在C語言中,下面關(guān)于數(shù)組的描述中正確的是( )。(A)數(shù)組的大小是固定的,但可以有不同類型的數(shù)組元素(B)數(shù)組的大小是可變的,但所有數(shù)組元素的類型必須相同(
8、C)數(shù)組的大小是固定的,所有數(shù)組元素的類型必須相同(D)數(shù)組的大小是可變的,可以有不同的類型的數(shù)組元素19下述程序的輸出結(jié)果是( )。#include void main()int a,b,c=241; a=c/100%9; b=-1&-1; printf(%d,%dn,a,b);(A)2,0 (B)2,1 (C)6,1 (D)0,-120.若有以下說明和語句,則下列引用方式中不正確的是( )。 struct worker int no;char *name;work,*p=&work;(A)work.no (B)(*p).no (C)p-no (D)work-no二、基本概念選擇填空題(本大
9、題后面有若干備選項(xiàng),請(qǐng)選擇合適的備選項(xiàng)并將其號(hào)碼填入各小題的空白處。每空2分,共10分)1在C語言中,函數(shù)一般由兩個(gè)部分組成,它們是函數(shù)首部和 。2任何程序都可調(diào)用標(biāo)準(zhǔn)函數(shù)exit(),當(dāng)它被調(diào)用時(shí)就 程序的執(zhí)行。3一個(gè)C語言程序在可以被執(zhí)行之前,需要經(jīng)過的4個(gè)處理程序是:編輯程序、預(yù)處理程序、編譯程序和 。4在C語言中無固有的輸入和輸出語句,但是用C語言編寫的程序可以用函數(shù)調(diào)用的形式來實(shí)現(xiàn)輸入、輸出,這些函數(shù)由 提供。5C標(biāo)準(zhǔn)庫函數(shù)rewind的作用是 。備選項(xiàng):(A) 主函數(shù)(B) 函數(shù)體(C) 函數(shù)首部(D) 用戶自定義函數(shù)(E) 終止(F) 使讀寫指針指向文件的開頭(G) 標(biāo)準(zhǔn)I/O庫
10、/系統(tǒng)(H) 連接程序(J) 判斷文件指針是否指向文件末尾三、程序填空題。(每空2分,共20分)。1. 下面程序的功能是從鍵盤上輸入一行字符,將其中的小寫字母轉(zhuǎn)換為大寫字母后輸出。請(qǐng)?zhí)羁胀晟瞥绦颉?include void main()char c; while(c= )!=n) if(c=a&c=z) printf(%c,c-32);2.下面程序的功能是從當(dāng)前目錄下的文本文件“f1.txt”中讀取前10個(gè)字符,依次顯示在屏幕上;如果文本文件中不足10個(gè)字符,則讀完為止;請(qǐng)?zhí)羁胀晟瞥绦颉?include void main()FILE *fp;int i;char c;if( =NULL) p
11、rintf(Cant open this file!n);return;for(i=0;i10;i+)if(feof(fp)break;c=fgetc(fp);putchar(c);fclose(fp);3. 下面程序的功能是輸出數(shù)組中的各字符串,請(qǐng)?zhí)羁胀瓿沙绦颉?#include void main() char *a=abcd,12345,efghijk,67890;char ; int j=0;p=a;for(;j4;j+) ; 4. 下面函數(shù)mfc用于求取兩個(gè)正整數(shù)的最大公因子,請(qǐng)?zhí)羁胀晟坪瘮?shù)。int mcf(int a,int b)int temp;while(b)temp= ; a
12、=b;b=temp;return a;5. 下面程序的功能是將字符串str的內(nèi)容顛倒過來并輸出,請(qǐng)?zhí)羁胀晟瞥绦颉?include void main()char str=abcdefg,*p1,*p2,ch; p1=p2=str;while(*p2!=0)p2+; ; while(p1p2)ch=*p1,*p1=*p2,*p2=ch; ; p2-;puts(str);6. 下面函數(shù)yh的功能是構(gòu)成一個(gè)楊輝三角形,請(qǐng)?zhí)羁胀瓿稍摵瘮?shù)。#include #define N 11void yh(int aN)int j,k;for(j=1;jN;j+)aj1=1;ajj= ; for( ;jN;j+)
13、for(k=2;kj;k+)ajk= +aj-1k; 四、閱讀程序題(每小題5分,共30分1下面程序的輸出結(jié)果是( )。#include void main()void fun(int *k);int w=5;fun(&w);void fun(int *k) (*k)+;printf(%dn,*k+);2下面程序的輸出結(jié)果是( )。#include void main()char ch25=1234,5678,*p2; int j,k,s=0;for(k=0;k2;k+)pk=chk;for(k=0;k0&pkj=9;j+=2)s=10*s+pkj-0;printf(s=%dn,s); 3下面
14、程序的輸出結(jié)果是( )。#includeint func(int,int);void main()int k=4,m=1,p; p=func(k,m); printf(%d,p); p=func(k,m); printf(%dn,p);int func(int a,int b)static int m=1,n=2; n+=m+1; m=n+a+b; return m;4下面程序的輸出結(jié)果是( )。#include void main()int a10=1,2,3,4,5,6,7,8,9,10,k,s,i;double ave;for(k=s=i=0;i10;i+)if(ai%2)continu
15、e;s+=ai;k+;if(k!=0)ave=s/k;printf(%d,%fn,k,ave);5在下列程序中,若輸入為:today is Monday!,則輸出結(jié)果是( )。#includevoid main()char s40,c,*str=s;int num=0,word=0; gets(str); while(c=*str+)!=0) if(c= )word=0;else if(word=0)word=1; num+;printf(%d wordsn,num);6. 下列程序的輸出結(jié)果是( )。#includeunsigned f(unsigned num)unsigned k=1;
16、do k*=num%10;num/=10;while(num); return k;void main()int x=35,y=550;printf(%d,%dn,f(x),f(y);五、編程序。(每小題10分,共20分)1函數(shù)delspace的功能是刪除一個(gè)字符串中所有的空格。例如,輸入字符串為This is a string,則輸出結(jié)果為Thisisastring。測(cè)試用主函數(shù)如下所示,請(qǐng)編制函數(shù)delspace。 #include #include void main()char *delspace(char *str);char s81,*ds;gets(s);ds=delspace(
17、s);printf(nResult: %sn, ds);2. 已知兩個(gè)3位數(shù)abc和cba之和為1333(即abc+cba=1333),編程序求出3個(gè)數(shù)字a、b和c。二級(jí)C語言筆試試卷(A)參考答案(2007年4月)一、單項(xiàng)選擇題。(每小題分,共20分)BBDCCDCCCDAAACABCCBD二、基本概念選擇填空題(每空2分,共10分) B E H G F三、程序填空題。(每空2分,共20分)。 getchar() (fp=fopen(f1.txt,r) *p puts(pj)或puts(*(p+j) a%b p2- p1+ 1 j=3 aj-1k-1四、閱讀程序題(每小題5分,共30分)1.
18、62. s=13573 9,19 4 5,6.0000005 3 words6 15,0五、編程序。(每小題10分,共20分)1參考程序及評(píng)分標(biāo)準(zhǔn)char *delspace(char *str)char *p=str; /2分while(*p)if(*p= )strcpy(p,p+1);elsep+;/6分return str;/2分2. 參考程序及評(píng)分標(biāo)準(zhǔn)/參考程序一#include void main()int n,a,b,c;/2分for(n=100;n1000;n+)a=n/100;b=n/10%10;c=n%10;if(a*100+b*10+c+c*100+b*10+a=1333)
19、printf(abc is: %d%d%dn,a,b,c);/8分/參考程序二#include void main()int n,m,a,b,c;/2分for(a=1;a10;a+)for(b=0;b10;b+)for(c=0;c10;c+)n=a*100+b*10+c;m=c*100+b*10+a;if(n+m=1333)printf(abc is: %d%d%dn,a,b,c);/8分二級(jí)C語言筆試試卷(A)2007年11月注意事項(xiàng):1.一題為客觀題,請(qǐng)將答案涂在機(jī)讀答題卡上 2.請(qǐng)將二、三、四、五題的答案做在答題紙上一.單項(xiàng)選擇題。(每小題1分,共20分)1. 一個(gè)C程序的執(zhí)行是從( )
20、。 (A)本程序的main函數(shù)開始 (B)本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束 (C)本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束 (D)本程序文件的第一個(gè)函數(shù)開始,到本程序main函數(shù)結(jié)束2. 設(shè)有C語句:int x=3, y=4,z=5;,則下面表達(dá)式中值為0的是( )。 (A)x&y (B)x=y(C) x|y+z&y-z (D)!(xy )& !z|1)3. 以下有關(guān)宏替換的敘述不正確的是( )。(A)宏替換不占用運(yùn)行時(shí)間 (B)宏名無類型(C)宏替換只是字符串替換; (D)宏替換是在運(yùn)行時(shí)進(jìn)行的4. 在標(biāo)準(zhǔn)庫函數(shù)的調(diào)用形式“fread(buffer,
21、size,count,fp);”中,參數(shù)buffer代表的是( )。 (A)一個(gè)整型變量,代表要讀入的數(shù)據(jù)總數(shù) (B)一個(gè)文件指針,指向要讀的文件 (C)一個(gè)指針,指向讀入數(shù)據(jù)存放的首地址 (D)一個(gè)存儲(chǔ)區(qū),存放要讀的數(shù)據(jù)項(xiàng)5. 位運(yùn)算中,操作數(shù)每左移一位,在沒有溢出的情況下其結(jié)果相當(dāng)于( )。 (A)操作數(shù)乘以2 (B) 操作數(shù)除以2(C) 操作數(shù)除以4 (D) 操作數(shù)乘以4 6. 下面程序運(yùn)行后,變量m的值為( )。 #include void main() int m, n, k; m=(n=4)+(k=10-7); printf(m=%dn”,m);(A)4 (B) 3 (C) 7 (
22、D)147. 下面程序運(yùn)行結(jié)果(或出現(xiàn)的情況)是( )。 #include void main() int x=3,y=0,z=0; if (x=y+z) printf(*); else printf(#n);(A)有語法錯(cuò)誤不能通過編譯 (B)輸出:* (C)可以通過編譯,但不能通過連接,因而不能運(yùn)行 (D)輸出:# 8. 已有定義int k=2; int *ptrl, *ptr2,且ptr1和ptr2 均已指向變量k,下面不能正確執(zhí)行的賦值語句是( )。 (A)k =*ptr1+*ptr2; (B) ptr2 = k;(C) ptr1=ptr2; (D) k = *ptr1*(*ptr2)
23、; 9. 若有已經(jīng)建好的鏈表結(jié)構(gòu)如下,指針平p、q分別指向圖示節(jié)點(diǎn)(b節(jié)點(diǎn)為插入c節(jié)點(diǎn)前的鏈表末尾); a b c p q 不能實(shí)現(xiàn)將q所指節(jié)點(diǎn)插入到鏈表末尾的一組語句是( )。 (A)qnext = NULL; p=pnext; pnext=q; (B)p=pnext;qnext=pnext; pnext=q; (C)p= pnext;qnext=p; pnext=q; (D)p= (*p).next; (*q).next = (*p).next; (*p).next = q;10. 有定義int a=3,b=4,c=5;執(zhí)行完表達(dá)式a+-b&b+c-&+c后,a,b,c的值分別為( )(A
24、)3 4 5 (B) 4 3 5 (C) 4 4 4 (D) 4 4 511. 下列程序的執(zhí)行結(jié)果是( )。 #include union ss short int i; char c2; ; void main () union ss x ; x.c0=10; x.c1=1; printf(%d,x.i);(A)11 (B) 266 (C) 265 (D) 138 12. 若有C語言int i = 10;,則執(zhí)行下面程序段后變量i 的值是( )。 switch (i) case 9: i+=1; case 10: case 11: i-=1; default: i+=1; (A)10 (B)
25、 11 (C) 12 (D) 9 13. 在下列選項(xiàng)中,不正確的賦值語句是( )。(A)t/=5; (B) n1=(n2=(n3=0); (C) k=i= = j; (D) a=b+c=1;14. 下面C程序運(yùn)行后變量x的值是( )。 #include void main() int a,b,c,x; a=b=c=0; x=35; if(!a) x-; else if(b) ; if (c) x=3; else x=4; printf (%dn,x);(A)34 (B) 4 (C) 35 (D) 3 15. 設(shè)有以下宏定義:#define N 3#define Y(n) (N+1*n)則執(zhí)行語
26、句: z=2 *(N*Y(5+1); 后,z的值為( )。(A)30 (B) 72 (C) 48 (D) 54 16. 在以下的四個(gè)運(yùn)算符中,優(yōu)先級(jí)最低的運(yùn)算符是( )。(A)= (B) / (C) != (D) & 17. 已知E的ASCII碼是69,則執(zhí)行下面語句的結(jié)果是( )。printf(%c,D-);(A)66 (B) A (C) B (D) E 18. 設(shè)有以下語句:int a=3, b=6,c; c=ab2; 執(zhí)行后c的低8位二進(jìn)制值是( )。(A)00011011 (B)00010100 (C) 00011100 (D) 0001100019. 在C語言中,以下敘述錯(cuò)誤的是(
27、)。 (A)函數(shù)被調(diào)用時(shí),系統(tǒng)才為形參分配內(nèi)存 (B)實(shí)參和對(duì)應(yīng)形參的數(shù)據(jù)類型必須一致 (C)實(shí)參可以是變量、常量或表達(dá)式 (D)形參可以是變量、常量或表達(dá)式20. 字符串常量ab cnt012xa1*2在內(nèi)存中所占的存儲(chǔ)空間節(jié)數(shù)是( )。(A)11 (B)13 (C) 15 (D) 18 二基本概念選擇填空題(本大題后面有若干備選項(xiàng),請(qǐng)選擇合適的備選項(xiàng),并講其號(hào)碼填入各小題的空白處。每空2分,共10分)1. 函數(shù)首部int main(int argc, char *argv )中argc表示的是 。2. C語言能處理的文件類型可以是文本文件和 。3. 下面語句定義了共用體(聯(lián)合體)變量a,則
28、a占用 個(gè)字節(jié)。 union data short int i ;char c ; double d;a;4. 為了避免嵌套的if-else 語句的二義性,C語言規(guī)定else 總是與 組成配對(duì)關(guān)系。5. 宏定義中的宏名不能包含 。備選項(xiàng):(A)空格(B)二進(jìn)制文件(C)數(shù)字(D)在其之前未配對(duì)的if(E)參數(shù)字符串(F)命令行參數(shù)的個(gè)數(shù)(G)11(H)在其之前最近的未配對(duì)的if(J)8(K)在定義該函數(shù)時(shí)所指定的數(shù)據(jù)類型(L)下劃線(M)程序文件三. 程序填空題(每空2分,共20分)1. 下面程序的功能是:從鍵盤上輸入若干個(gè)學(xué)生的成績(jī)(用負(fù)數(shù)結(jié)束輸入過程),統(tǒng)計(jì)計(jì)算出平均成績(jī);請(qǐng)?zhí)羁胀瓿沙绦颉?/p>
29、 #include void main() float sum=0.0,ave,a; int n=0; printf(nter markn); scanf(%,); while(a=0.0) sum=sum+a; ; scanf(%,); ave=sum/n; printf(ave=%fn,ave); 2. 下面程序的功能是將一個(gè)字符串str的內(nèi)容顛倒并輸出,請(qǐng)?zhí)羁胀瓿沙绦颉?#include void main() char str=abcdefg; char *p1,*p2,ch; p1=str; p2=str; while(*p2!=0) p2+ ; while(p1p2) ch=*p1
30、,*p1=*p2,*p2=ch; ; p2-; puts(str); 3. 下面程序從終端輸入一行字符串存入字符數(shù)組,然后輸出;請(qǐng)?zhí)羁胀瓿沙绦颉?#include void main() char str80,*sp; int n; for(n=0;n80;n+) strn= ; if(strn=n) break; strn=0; sp=str; while(*sp) putchar( ); 4. 下面函數(shù)fun的功能是比較兩個(gè)字符串的大小,若兩字符串相同則返回0值,否則返回兩個(gè)字符串中第一個(gè)不相同字符之差;請(qǐng)?zhí)羁胀瓿珊瘮?shù)。 #include int fun(char *s,char *t)
31、while(*t+=*s+ & *t!=0& *s!=0) ; return( );void main() char str180,str280; gets(str1); gets(str2); printf(dn,fun(str1,str2);5. 下面程序的功能是統(tǒng)計(jì)字符串中大小寫字母的個(gè)數(shù),請(qǐng)?zhí)羁胀瓿沙绦颉?#include #define IA(x) void main() char str80,*s,ch; int count=0; gets(str); s=str; while(*s) ch=*s+; if(IA(ch) count+; printf(the sum is %dn,
32、count);6. 下面函數(shù)在一維數(shù)組v中將x插入到下標(biāo)為i(i=0)的元素前,如果i大于等于元素的個(gè)數(shù),則x添加到v數(shù)組原數(shù)據(jù)的末尾。V數(shù)組原有元素個(gè)數(shù)保存在指針n所指向的變量中,插入后元素個(gè)數(shù)加1;請(qǐng)?zhí)羁胀瓿沙绦颉?#include void insline(double,int *n,double x,int ,i) int j; if( ) for(j=*n-1; ;j-) =vj; else i=*n; vi=x; (*n)+; void main() double s10=11,23,65,78,x; int m=4,*p=&m,k; x=99; scanf(%d,&k); ins
33、line(s,p,x,k); for(k=0;km;k+)printf(%f,sk); putchar(n); 四閱讀程序題(每小題5分,共30分)1. 寫出下面程序的運(yùn)行結(jié)果。 #include int f(int num,int run) strtic int fact,i; if(run=0) fact=1; i=1; fact *=i; if(+i=num) f(num,1); return(fact); void main() int i=0; printf(f=%dn,f(3,0);2. 寫出下面程序的運(yùn)行結(jié)果。 #include void main() int a,b; for(
34、a=1,b=1;a=20) break; if(b%3=1) b+=3; continue; b-=5; printf(%d,%dn,a,b); 3. 寫出下面程序的運(yùn)行結(jié)果。 #include void main() char ch25=1234,5678,*p2; int j,k,s=0; for(k=0;k2;k+) pk=chk; for(k=0;k0&pkj=9;j+=2) s=10*s+pkj-0; printf(s=%dn,s);4. 寫出下面程序在輸入數(shù)據(jù)為:a4BZ!(表示按Enter鍵)時(shí)的運(yùn)行結(jié)果。 #include void main() char ps80,*str;
35、 char c; gets(ps); str=ps; while(c=*str)!=0) if(c= a& c=A& cZ&cz) c=c-26; *str=c; str+; printf(%sn,ps); 5. 寫出下面程序的運(yùn)行結(jié)果。 #include void main() long fun(int n); printf(%ldn,fun(4);long fun(int n) long s; if(n=1n=2) s=2; else s=n+fun(n-1); return s;6. 寫出下面程序的運(yùn)行結(jié)果。 #include void main() void fun(int *x,in
36、t *y); int a=1,2,3,4,j,x=0; for(j=0;j= a & x=z i=ivj+1四.閱讀程序題(每小題5分,共30分)1. f=6 2. 8, 17 3. s=1357 4. e4FD! 5. 9 6. 4321五.編程序(每小題10分,共20分)1.參考程序及評(píng)分標(biāo)準(zhǔn):#includeviod main() int check(int n); int n; for(n=1;n=100;n+) if(check(n) printf(%d,%dn,n,n*n); 5分int check(int n) int k; k=n*n; if(k%10=nk%100=n) re
37、turn 1; else return 0; 5分 2.參考程序及評(píng)分標(biāo)準(zhǔn)一:#include#define N 5viod main() int aN+1,x,i,k; for(i=0;iN;i+) scanf(%d,&ai); scanf(%d,&x); /2分 for(i=0;aixⅈk-) ak=ak-1; ai=x; /3分 for(i=0;i=N;i+) printf(%5d,ai); putchar(n); /2分 參考程序及評(píng)分標(biāo)準(zhǔn)二:#include#define N 5viod main() void insert(int v,int n,int x);int aN+
38、1,x,i; for(i=0;iN;i+) scanf(%d,&ai); scanf(%d,&x); /2分 insert(a,N,x); /2分 for(i=0;i=N;i+) printf(%5d,ai); putchar(n); /2分 void insert(int v,int n,int x) int i,k; for(i=0;vixⅈk-) vk=vk-1; vi=x; /2分二級(jí)C語言筆試試卷(A)2008年4月注意事項(xiàng):1.一題答案填涂在答題卡上 2.二、三、四、五題答案做在答題紙上一.單項(xiàng)選擇題。(每小題1分,共20分)1. C程序的源程序由預(yù)處理命令和( )組成。 (
39、A)函數(shù) (B)語句 (C)保留字 (D)標(biāo)始符2. 下面程序段中,與if(x%2)中的x%2所表示條件等價(jià)的是( )。 scanf(%d,&x); (A)x%2=0 (B)x%2!=1 (C) x%2!=0 (D) x%2=13. 執(zhí)行下面C語言序列后,變量b的值是( )。 Int a,b,c; a=b=c=1; +a|+b&+c; (A)錯(cuò)誤 (B)0 (C) 2 (D) 14. 設(shè)有C語句int a34;, 則每次移動(dòng)過a數(shù)組一行元素的指針變量定義形式是( )。 (A)int *p; (B)int *p; (C) int(*p)4; (D) int *p4;5. 設(shè)有整型變量a, 實(shí)型變
40、量f,雙精度型變量x,則表達(dá)式10+b+x*f值的類型為( )。 (A)int (B)float (C)double (D)不能確定6. C語言中規(guī)定,函數(shù)調(diào)用中用簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是( )。(A)地址傳遞 (B)單向值傳遞 (C) 由實(shí)參傳給形參,再由形參傳回給實(shí)參 (D) 由用戶指定傳遞方式7. 下面程序的輸出是( )。 #include void main() int x=10,y=3; printf(%dn,y=x/y);(A)0 (B)1 (C) 3 (D) 不確定的值8. 執(zhí)行下面的程序段后,B的值為( )。 int x=35; char z=A; i
41、nt B; B=(X&5)&(za); (A)0 (B)1 (C)2 (D) 39. 以下程序的輸出結(jié)果為( )。 #include void main() int i=0; for(;) if(i+=5) break; printf(%dn,i); (A)0 (B)5 (C) 6 (D) 前3個(gè)選項(xiàng)都錯(cuò)10. 已知:char s4=cba;char *p; 執(zhí)行語句列p=s;printf(%cn,*p+1);后,其輸出為( )。 (A)c (B)b (C) a (D) d11. 運(yùn)行完下列程序后,在屏幕上的內(nèi)容是( )。 #include void main() int a=0; a+=a=
42、12; printf(%dn,a); (A)0 (B)6 (C) 12 (D) 2412. 已知:int x= 1 , y = 2, z =0,則執(zhí)行z=xy?(10+x,10-x):(20+y,20-y)后,z的值為( )。 (A)11 (B)9 (C) 18 (D) 2213. 若已定義x和y為double類型,則表達(dá)式x=2,y=x+10/4的值是( ) (A)2 (B)4 (C)4.0 (D) 4.514. 以下程序的輸出結(jié)果是( )。 #include int x=3,y=4; void main() int x=0; x+=y+; printf(%d,x); (A)3 (B)4 (
43、C)5 (D) 615. 在下面C語言的函數(shù)說明語句中,正確的是( )。(A)int fun(int x, int y); (B)int fun(int x,y);(C) int fun(x,y); (D) int fun(int x; int y);16. 有定義:int x,y=10,*p=&y;, 則能使得x的值也等于10的語句是( )。 (A)x=p; (B)x=&p; (C)x=&y; (D) x=*p;17. 有定義: int a54, (*p)4=a;, 則*(*(p+2)+3)等價(jià)于( )。 (A)a20 (B)a21 (C) a22 (D) a2318. 有定義:char*
44、s=tNameAddress;, 那么strlen(s)等于( )。 (A)15 (B)16 (C) 17 (D) 1819.設(shè)有定義int m=1,n=-1;則執(zhí)行語句printf(%dn,(m-&+n);后的輸出結(jié)果是()。 (A)-1 (B)0 (C) 1 (D) 220. 設(shè)有C語句:struct Tint n; double x;d,*p;, 若要使p指向結(jié)構(gòu)體變量中的成員n,正確的賦值語句是( )。(A)p=&d.n (B)*p=d.n(C) p=(struct T *)&d.n (D) p=(struct T *)d.n二. 基本概念選擇填空題(本大題后面有若干備選項(xiàng),請(qǐng)選擇合適
45、的備選項(xiàng)并將其號(hào)碼填入各個(gè)小題的空白處。沒空2分,共10分)1.一個(gè)C程序無論由多少個(gè)函數(shù)組成,只能有一個(gè)主函數(shù),其函數(shù)名是 。2.表達(dá)式x*=x+b等價(jià)于表達(dá)式 。3.在C語言中, 語句是一條限定轉(zhuǎn)移語句,其功能是提前結(jié)束本次循環(huán)體的執(zhí)行過程而直接進(jìn)入下一次循環(huán)。4.結(jié)構(gòu)體數(shù)據(jù)類型仍然是一類變量的抽象形式,系統(tǒng)不會(huì)為數(shù)據(jù)類型分配存儲(chǔ)空間。要使用結(jié)構(gòu)體類型數(shù)據(jù),必須要 。5.調(diào)用feof庫函數(shù)可以判斷文件內(nèi)部讀寫位置指針是否達(dá)到文件尾,當(dāng)讀寫位置指針到達(dá)文件尾時(shí),該函數(shù)的返回值是: 。備選項(xiàng):(A)void (B)x=x*x+b (C)continue(D)x=x*(x+b) (E)break
46、 (F)定義結(jié)構(gòu)體成員(G)定義結(jié)構(gòu)體類型變量 (H)定義聯(lián)合體類型變量 (I)0(J)非0 (K)main (L)goto三.程序填空題。(每空2分,共20分)。1. 程序的功能是:統(tǒng)計(jì)輸入字符串中小寫字母的個(gè)數(shù)。 #include void main() char c;int num=0; while(c=getchar()!= ) if(cz) continue; printf(%dn,num);2. 下面程序的功能是輸出數(shù)組中的各字符串,請(qǐng)?zhí)羁胀瓿沙绦颉?#include void main() char*a=abcd,12345,efghijk,67890; int j=0; for
47、(; ;j+) puts( );3. 下面程序?qū)崿F(xiàn)計(jì)算1+(1+2)+(1+2+3)+(1+2+3+10),請(qǐng)?zhí)羁胀晟瞥绦颉?#include void main() int total,sum,m,n; total=0; for(m=1;m=10;m+) sum=0; for(n=1; ;n+) sum=sum+n; ; printf(total=%dn,total); 4. 函數(shù)fun的功能是判斷一個(gè)3位整數(shù)的各位數(shù)和百位數(shù)之和是否等于其十位上的數(shù)字,是則返回yes!,否則返回no!,請(qǐng)?zhí)羁胀瓿珊瘮?shù)。 #include fun(int n) int g,s,b; g=n%10; s=n/1
48、0%10; b=n/100; if(g+b)=s) returnyes; else return ;void main() int n; scanf(%d,&n); printf(%sn,fun(n);5. 下面程序的功能是打印出整數(shù)11000中滿足條件:個(gè)位數(shù)字的立方等于其本身的所有數(shù),請(qǐng)?zhí)羁胀瓿沙绦颉?#include void main() int n; for(i=1;i1000;i+) g= ; if( ) printf(%4d,i); printf(n); 四. 閱讀程序,填寫結(jié)果(每小題5分,共30分)1. 下列程序的運(yùn)行結(jié)果是( )。 #include void main()
49、void add(); int i; for(i=0;i3;i+) add()void add() static int x=0; x+; printf(%d,x);2. 以下程序的輸出結(jié)果為( )。 #include void main() int a,b,c,x; a=b=c=0; x=35; if(!a) x-; else if(b) ; if(c) x=3; else x=4 printf(%dn,x);3. 以下程序的輸出結(jié)果為( )。 #include void main() int i,j,row,colum,max; int a34=1,2,3,4,9,8,7,6,-10,10
50、,-5,2; max=a00; for(i=0;i=2;i+) for(j=0;jmax) max=aij; row=i; colum=j; printf(max=%d,row=%d,colum=%dn,max,row,colum);4. 下面程序的執(zhí)行結(jié)果是( )。 #include #define Min(x,y) (x)(y)?(x):(y) void main() int a=1,b=2,c=3,d=4,t; t=Min(a+b,c+d)*1000; printf(t=%dn,t); 5. 下列程序的運(yùn)行結(jié)果是( )。#include void fun(int x) putchar(0
51、+x%10); if(x/10) fun(x/10); void main() int m=1234; fun(m); putchar(n);6. 以下程序的運(yùn)行結(jié)果是( )。 #include void main() int a=1,3,5,s=1,j,*p=a; for(j=0;j3;j+) s*=*(p+j); printf(s=%dn,s);五、程序設(shè)計(jì)題。(每小題10分,共20分)1. 編程序?qū)崿F(xiàn)功能:一個(gè)正整數(shù)與3的和是5的倍數(shù),與3的差是6的倍數(shù),求出符合此條件的最小正整數(shù)。2. 函數(shù)reverse的原型為:void reverse(char s);,其功能是將字符串s中的字符位
52、置顛倒。例如,字符串“abcdefg”中的字符位置顛倒后變?yōu)椤癵fedcba”。編制函數(shù)reverse并用相應(yīng)的主函數(shù)進(jìn)行測(cè)試。二級(jí)C語言筆試試卷(A)參考答案(2008年4月)單項(xiàng)選擇題。(每小題1分,共20分)1A 2C 3D 4C 5C 6B 7C 8B 9C 10D 11D 12C 13C 14B 15A 16D 17D 18A 19B 20C二、基本概念選擇填空題 K D C G J三、程序填空題。(每空2分,共20分)。1.n num+;2.j4 *(a+j) 或aj3.n=m total+=sum;4.char* no5.i%10; g*g*g=i四、閱讀程序題(每小題5分,共3
53、0分)1.1 2 32.43.max=10,row=2,colum=14.t=35.43216.s=15五編程序(每小題10分,共20分)1.參考程序評(píng)分標(biāo)準(zhǔn)評(píng)分標(biāo)準(zhǔn):主函數(shù)框架結(jié)構(gòu)正確2分;循環(huán)控制結(jié)構(gòu)正確4分;判斷條件正確4分;參考程序#includevoid main() int i; for(i=9;i+) if(i+3)%5=0&(i-3)%6=0) printf(%dn,i); break; 2.參考程序及評(píng)分標(biāo)準(zhǔn)評(píng)分標(biāo)準(zhǔn):(1)函數(shù)reverse中的循環(huán)控制結(jié)構(gòu)正確3分;(2)字符交換正確3分;(3)主函數(shù)調(diào)用函數(shù)reverse正確2分;(4)主函數(shù)中字符串輸入/輸出操作正確2分
54、;#include#includevoid reverse(char s) int i,j; char c; for(i=0,j=strlen(s)-1;i=y)&(y=z) (B)(x=y) AND (y=z) (C)(x=y=z) (D) (x=y)&(y=z)6. 若有C語句int k=5;float x=1.2;,則表達(dá)式(int)(x+k) 的值是( )(A)5 (B)6.2 (C) 7 (D) 67. 設(shè)有定義:int x,*p;,能使指針變量p指向變量x的語句是( )(A)*p=&x; (B)p=&x; (C)*p=x; (D) p=*&x;8. 在執(zhí)行語句if(x=y=2)=x
55、&(x=5) y*=x;后變量x,y的值應(yīng)分別為( ) (A)2、2 (B)5、2 (C)5、10 (D) 執(zhí)行時(shí)報(bào)錯(cuò)9. 以下程序的輸出結(jié)果為( ) #include void main() int x,n; for(n=10,x=0;n=0;x+,n-) ; printf(%dn,x); (A)程序無限循環(huán)無輸出 (B)10 (C)1 (D)010. 下面程序的輸出結(jié)果為( ) #include void main() int x=1,y=1,z; z=1|+x&y-; printf(n%d,%d,%d,x,y,z); (A)1,1,1 (B)2,0,1 (C) 2,1,1 (D)2,0,
56、011. 下面程序執(zhí)行后輸出為( ) #include void main() enum weekdaysun,mon=3,tue,wed,thu;enum weekday day;day=wed; printf(%dn,day); (A)5 (B)6 (C) 4 (D) 編譯時(shí)出錯(cuò)12. 下面程序執(zhí)行后輸出為( ) #include void main() int a; printf(%dn,(a=3*5,a*4,a+5); (A)65 (B)20 (C) 15 (D) 1013. 以下程序的輸出結(jié)果是( )。 #include void main() struct int x,y; d2=
57、1,3,2,7; printf(%dn,d0.y/d0.x*d1.x); (A)0 (B)1 (C)3 (D) 614. 下面程序執(zhí)行后輸出為( ) #include int f(int n) if(n=1) return 1; else if(n=2) return 2; else return f(n-1)+f(n-2);void main() printf(%dn,f(4); (A)1 (B)2 (C)3 (D) 515.下面程序的輸出結(jié)果為( ) #include void main() union int short x; /32位系統(tǒng)中,短整型數(shù)據(jù)占2個(gè)字節(jié) char ch2; u
58、; u.x=100; u.ch0=a; u.ch1=0; printf(%xn,u.x); (A)100 (B)97 (C) 61 (D) 016. 設(shè)有int a=0,b=5,c=2,x=0;,下面可以執(zhí)行到x+的語句是( ) (A)if(a)x+; (B)if(a=b)x+; (C) if(a=b)x+; (D) if(!(b-c)x+;17. 設(shè)有下列C語句,則下面敘述正確的選項(xiàng)是( ) typedef struct int n; char ch8; Stt;(A)Stt是結(jié)構(gòu)體變量名 (B)Stt是結(jié)構(gòu)體類型名 (C) typedef struct是結(jié)構(gòu)體類型 (D) struct是結(jié)
59、構(gòu)體類型名18. 下面程序執(zhí)行后輸出為( ) #include void main() int a=5,*p1,*p2; p1=&a; p2=&p1; (*p1)+; printf(%dn,*p2); (A)5 (B)4 (C) 6 (D) 不確定19.表達(dá)式k=(1210)?4:1?2:3的值為( ) (A)1 (B)2 (C) 3 (D) 420. 若fp是指向某文件的指針,且已讀到該文件的末尾,則C標(biāo)準(zhǔn)函數(shù)feof(fp)的返回值是( )(A)-1 (B)1 (C) 0 (D) NULL二. 基本概念選擇填空題(本大題后面有若干備選項(xiàng),請(qǐng)選擇合適的備選項(xiàng)并將其號(hào)碼填入各個(gè)小題的空白處。沒
60、空2分,共10分)1.表達(dá)式y(tǒng)/=x+a等價(jià)于表達(dá)式 。2.在執(zhí)行while循環(huán)時(shí),其循環(huán)體 。3.二維數(shù)組中,各數(shù)組元素的存放順序是 。4.在對(duì)文件進(jìn)行操作的過程中,若要求文件的讀寫位置回到文件的開頭,應(yīng)當(dāng)調(diào)用的標(biāo)準(zhǔn)庫函數(shù)是 。5.要將一個(gè)整數(shù)12000分別以ASCII碼文件和二進(jìn)制文件形式存放,各自所占的存儲(chǔ)空間分別是 字節(jié)。備選項(xiàng):(A)按列存放 (B)y=y/x+a (C)5和4(D)y=1/(x+a) (E)輸入函數(shù) (F)有可能一次都不被執(zhí)行(G)rewind (H)按列存放 (I)y=y/(x+a)(J)至少要被執(zhí)行一次 (K)fseek (L) 4和5三.程序填空題。(每空2分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧課堂省級(jí)課題申報(bào)書
- 數(shù)字孿生課題申報(bào)書
- 課題立項(xiàng)申報(bào)書幼兒園
- 孔子學(xué)堂課題申報(bào)書
- 兵團(tuán)課題申報(bào)書
- 經(jīng)濟(jì)類課題申報(bào)書范例
- 城市更新課題申報(bào)書范本
- 醫(yī)院消防勞務(wù)合同范本
- 課題申報(bào)書是啥
- 教育科研方法課題申報(bào)書
- 鼻部整形隆鼻術(shù)精選PPT
- 《伊利乳業(yè)集團(tuán)企業(yè)內(nèi)部審計(jì)存在的問題及優(yōu)化對(duì)策分析案例(論文)10000字》
- 中小學(xué)生心理健康檔案(表格)電子教案
- 反假貨幣培訓(xùn)考試題庫-相關(guān)法律法規(guī)及規(guī)范性文件知識(shí)考題
- 體育《網(wǎng)球正手擊球》教學(xué)PPT
- 離心機(jī)操作規(guī)程
- PowerMILL后處理修改教程
- 湘教版五年級(jí)下冊(cè)美術(shù)教學(xué)計(jì)劃
- WB/T 1066-2017貨架安裝及驗(yàn)收技術(shù)條件
- SB/T 10446-2007成品油批發(fā)企業(yè)管理技術(shù)規(guī)范
- 2022年08月安徽省引江濟(jì)淮集團(tuán)有限公司2022年社會(huì)招聘60名運(yùn)行維護(hù)人員高頻考點(diǎn)卷叁(3套)答案詳解篇
評(píng)論
0/150
提交評(píng)論