2006年6月份《c語言等級考試》模擬試卷集成[1]_第1頁
2006年6月份《c語言等級考試》模擬試卷集成[1]_第2頁
2006年6月份《c語言等級考試》模擬試卷集成[1]_第3頁
2006年6月份《c語言等級考試》模擬試卷集成[1]_第4頁
2006年6月份《c語言等級考試》模擬試卷集成[1]_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選文庫2006年6月份C語言等級考試模擬試卷集成一、選擇題部分二、改錯題部分三、填空題部分四、編程題部分一、選擇題 1、關(guān)于C語言數(shù)據(jù)類型的敘述,正確的是(C)。A)枚舉類型不是基本類型B)數(shù)組不是構(gòu)造類型C)變量必須先定義后使用D)不允許使用空類型 2、下面關(guān)于C語言用戶標(biāo)識符的描述,正確的是(D)。A)不區(qū)分大小寫B(tài))用戶標(biāo)識符不能描述常量C)類型名也是用戶標(biāo)識符D)用戶標(biāo)識符可以作為變量名 3、下面敘述正確的是(b)。A)2/3與2.0/3.0等價B)(int)2.0/3與2/3等價C)+5與6等價 D)A與”A”等價 4、已知char a;使用scanf()函數(shù)輸入一個字符給變量a,

2、不正確的函數(shù)調(diào)用是(B)。A)scanf(“%d”,&a); B)scanf(“%lf”,&a);C)scanf(“%c”,&a); D)scanf(“%u”,&a); 5、下面敘述中,(A)不是結(jié)構(gòu)化程序設(shè)計三種基本結(jié)構(gòu)的共同特點。A)先判斷后執(zhí)行 B)單入口,單出口C)程序中沒有執(zhí)行不到的語句 D)無死循環(huán) 6、已知int a=3, b=5; 則表達(dá)式 a &( ! b) 的值為(C)。A)3 B)2 C)0 D)1 7、已知char a=R; 則正確的賦值表達(dá)式是(A)。A)a=(a+)%4 B)a+2=3 C)a+=256- D)a=078 8、以下的語句中,無內(nèi)嵌的if語句是(B)。

3、A)if(x= =y) x+=y; B)if(xy & x!=y); x+=y;C)if(x!=y)scanf(“%d”,&x);else scanf(“%d”,&y);D)if(xy) x+;y+; 9、設(shè)有整型變量x,下述語句(B)不會出現(xiàn)死循環(huán)。A)for( ; ; x+=1) B)for( ; (x=getchar()!=n; ) ;C)while(1) x+ ;D)for(x=10; ;x-) ; 10、下列數(shù)組聲明中,正確的是(A)。A)int a5=0; B)int a=0 1 2;C)int a5=0; D)int a ; 11、以下數(shù)組定義中,正確的是(D)。A)int a2

4、3=1,2,3,4,5,6,7; B)int a=1,2,3,4,5,6,7,8,9;C)int a2=1,2,3,4,5,6; D)int a4=6; 12、設(shè)有如下數(shù)組定義:char str8=“FuJian”;則分配給數(shù)組str的存儲空間是(C)字節(jié)。A)6 B)7 C)8 D)9 13、以下程序的運行結(jié)果是(A)。int fun(int array44)int j; for(j=0;j4;j+) printf(“%2d”,array2j); printf(“n”);main()int a44=0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0; fun(a);A)2 0 0

5、 5 B)1 0 0 4C)0 1 2 0 D)0 4 5 0 14、若有以下宏定義,#define MOD(x,y) x%y則執(zhí)行以下程序段后,z的值是(D)。int z,a=15,b=100;z=MOD(b,a);A)100 B)15C)11D)10 15、對于基類型相同的兩個指針變量之間,不能進(jìn)行的運算是(C)。A)next=head-next;head-next=p; B)head-next=p;p-next=head-next;C)p.next=head.next;head.next=p;D)(*head).next=p;(*p).next=(*head).next; 19、設(shè)有如下

6、定義:typedef int *INTEGER;INTEGER p,*q;則(B)是正確的敘述。A)p是int型變量 B)q是基類型為int的指針變量C)p是基類型為int的指針變量 D)程序中可用INTEGER代替int類型名 20、以下程序的可執(zhí)行文件名是file.exe。main()int argc;char *argv;int i; for(i=2;iargc;i+) printf(“%s%c”,argvi,(iargc-1)? : n);在DOS命令行輸入:file My C Language and Programming,其輸出結(jié)果是(A)。A)C Language and Pr

7、ogramming B)My C Language and ProgrammingC)MyCLanguageandProgramming D)file My C Language and Programming 21、在C語言源程序中,以下敘述正確的是(C)。A)main函數(shù)必須位于文件的開頭 B)每行只能寫一條語句C)程序中的一個語句可以寫成多行 D)每個語句的最后必須有點號 22、下面關(guān)于算術(shù)運算符的敘述,錯誤的是(A)。A)其運算對象不包含函數(shù)B)%(模運算符)的運算對象只能為整型量C)算術(shù)運算符的結(jié)合方向是“自左至右”D)自加和自減運算符的結(jié)合方向是“自右至左” 23、下面敘述中,(A

8、)不是結(jié)構(gòu)化程序設(shè)計中的三種基本結(jié)構(gòu)之一。A)數(shù)據(jù)結(jié)構(gòu) B)選擇結(jié)構(gòu)C)循環(huán)結(jié)構(gòu) D)順序結(jié)構(gòu) 24、已知 double a=5.2; 則正確的賦值表達(dá)式是(A)。A)a+=a-=(a=4)*(a=3) B)a=a*3=2C)a%3 D)a=double(-3) 25、邏輯運算符的優(yōu)先級依次為(C)。A)| & ! B)& | !C)! & | D)! | & 26、對于整型變量x,與while(!x) 等價的是(B)。A)while(x!=0) B)while(x= =0)C)while(x!=1) D)while( x) 27、下列數(shù)組聲明中,正確的是(A)。A)int a10; B)in

9、t n=10,an;C)int N=10;int aN;D)int n;scanf(“%d”,&n);int an; 28、有如下定義:char str6=a,b,0,d,e,f;則語句:printf(“%s”,str);的輸出結(jié)果是(D)。A)ab B)abdefC)ab0 D)ab 29、執(zhí)行以下程序段的輸出結(jié)果是(B)。int a=10,*p=&a;printf(“%d”,+(*p);A)10 B)11C)變量a的地址 D)變量a的地址+1 30、若有以下程序段,且0i4,0jnext=p-next;free(p) B)head-next=p;p-next=head-next;free(

10、p);C)free(p);head-next=p;p-next=head-next;D)free(p);head-next=p-next; 32、假定已有如下變量說明和枚舉定義:char ch;int j,k;enum daysun,mon,tue,wed,thu,fri,sat;int asat判斷下列語句是否符合語法規(guī)則,結(jié)果是(C)。char a; /*語句1 */j+k=j; /*語句2 */if(amon0) j+; /*語句 3 */A)語句2錯誤,其它正確 B)語句1正確,其它錯誤C)語句3正確,其它錯誤 D)語句1錯誤,其它正確 33、以下(D)是正確的常量。A)E-5 B)1

11、E5.1C)a12 D)32766L 34、標(biāo)準(zhǔn)函數(shù)fgets(s,n,f)的功能是(B)。A)從文件f中讀取長度為n的字符串存入指針s所指的內(nèi)存B)從文件f中讀取長度不超過n-1的字符串存入指針s所指的內(nèi)存C)從文件f中讀取n個字符串存入指針s所指的內(nèi)存D)從文件f中讀取長度為n-1的字符串存入指針s所指的內(nèi)存 35、關(guān)于C語言的源程序的敘述中,錯誤的是(C)。A)C語言的源程序由函數(shù)構(gòu)成B)main函數(shù)可以書寫在自定義函數(shù)之后C)必須包含有輸入語句D)一行可以書寫多個語句 36、下面敘述正確的是(A)。A)制類型轉(zhuǎn)換運算的優(yōu)先級高于算術(shù)強(qiáng)運算B)若a和b是整型變量,(a+b)+是合法的C)

12、A*B是不合法的D)”A”+”B”是合法的 37、設(shè)有以下語句,則(D)是對a數(shù)組元素的不正確引用,其中0inext=&c;p-next=head-next; D)(*head).next=p; (*p).next=&b; 48、設(shè)有如下定義: typedef int *INTEGER; INTEGER p,*q; 則(b)是正確的敘述。A)p是int型變量 B)q是基類型為int的指針變量C)p是基類型為int的指針變量D)程序中可用INTEGER代替int類型名 49、已知int a=R; 則正確的表達(dá)式是(A)。A)a%10 B)a=int(3e2)C)2*a=a+ D)a=a+a=a+

13、3 50、C語言對if嵌套語句的規(guī)定:else總是與(B)配對。A)第一個if B)之前最近的且尚未配對的ifC)縮進(jìn)位置相同的if D)之前最近的if 51、設(shè)有如下函數(shù)定義:int fun(char *str)char *p=str; while (*p != 0) p+; return (p-str);則以下語句執(zhí)行后的輸出結(jié)果是(A)。printf(“%dn”,fun(“Student”);A)7 B)8C)9 D)10 52、設(shè)有如下定義語句:union u_typeint i; double x; float f;struct str_typechar str100; union

14、u_type u2;則語句 printf(“%d”,sizeof(struct str_type); 的輸出結(jié)果是(B)。A)100 B)116C)120 D)200 53、對于整型變量x,下述if語句(B)與賦值語句:x=x%2= =0?1:0;不等價。A)if(x%2!=0) x=0;else x=1; B)if(x%2) x=1;else x=0;C)if(x%2= =0) x=1;else x=0; D)if(x%2= =1) x=0;else x=1; 54、對于整型變量x和y,語句for(x=0,y=0;(y!=123)&(x4);x+) y+;中的“y+;”被執(zhí)行(A)。A)4次

15、 B)0次C)123次 D)3次 55、以下(D)是正確的變量名。A)5f B)ifC)f.5 D)_f5 56、設(shè)有如下程序段:int a33=1,0,2,1,0,2,1,0,1,i,j,s=0;for(i=0;i3;i+) for(j=0;ji;j+) s=s+aij;則執(zhí)行該程序段后,s的值是(C)。A)0 B)1C)2 D)3 57、以下敘述中,正確的是(B)。A)“#define PRICE=30”定義了與30等價的符號常量PRICEB)預(yù)編譯處理命令行都必須以“#”開頭C)宏名只能包含大寫字母和數(shù)字字符D)在程序的一行上可以書寫幾個有效的宏定義 58、對枚舉類型進(jìn)行定義,不正確的是

16、(A)。A)enum b1,2,3; B)enum aA,B,C;C)enum cD=3,E,F; D)enum dX=0,Y=5,Z=9; 59、以下程序的功能是(C)。#include main()FILE *fp; long int n; fp=fopen(“wj.txt”,”rb”); fseek(fp,0,SEEK_END); n=ftell(fp); fclose(fp); printf(“%ld”,n);A)計算文件wj.txt的起始地址 B)計算文件wj.txt的終止地址C)計算文件wj.txt內(nèi)容數(shù) D)將文件指針定位到文件末尾的字節(jié)(以下紅色字體為答案)二、改錯題注意:(1

17、)修改程序在每對“/*/”之間存在的錯誤; (2)不得刪改程序中所有的“/*/”注釋和其它代碼; (3)完成修改后務(wù)必以原文件名保存程序,并運行該程序; (4)源程序存放在KS文件夾下,須先運行Turbo C 再調(diào)用相應(yīng)源程序文件。 (5)按Alt+Tab鍵,切換題目與Turbo C;按Alt+Enter鍵,切換Turbo C窗口大小。 1、程序cmody031.c的功能是:從鍵盤上輸入兩個整數(shù),及一個運算符(+、-、*、/ 或%),進(jìn)行相應(yīng)的運算后輸出運算的結(jié)果。如輸入:1+2將輸出:1+2=3#include #include void main() int m,n,result,flag

18、=0; /*/ char ch, /*/ /*/char ch; /*/ clrscr(); printf(Input an expression: ); scanf(%d%c%d,&m,&ch,&n); /*/ switch ch /*/ /*/ switch(ch) /*/ case +: result=m+n; break; case -: result=m-n; break; case *: result=m*n; break; case %: result=m%n; break; case /: result=m/n; break; default: printf(Error!n);

19、 flag=1; if (!flag) printf(%d %c %d = %dn,m,ch,n,result); getch();2、程序cmody032.c的功能是:輸出201300之間的所有素數(shù),統(tǒng)計總個數(shù)。#include #include void main() int num; printf(n); num=fun(); printf(nThe total of prime is %d,num); getch();int fun() int m,i,k,n=0; for(m=201; m=300;m+=2) k=sqrt(m+1); for(i=2;i=k+1) /*/ print

20、f(%-4d,m); n+; if(n%10=0) printf(n); return n;3、程序cmody011.c的功能是:從字符串?dāng)?shù)組str1中取出ASCII碼值為偶數(shù)且下標(biāo)為偶數(shù)的字符依次存放在字符串t中。例如,若str1所指的字符串為:4AZ18c?Ge9a0z! 則t所指的字符串為:4Z8z注意:數(shù)組下標(biāo)從0開始。#include #include #include #include void main() char str1100, t200; int i, j; /*/ i = 0; /*/ /*/ j = 0; /*/ clrscr(); strcpy(str1, 4AZ1

21、8c?Ge9a0z!); for (i = 0; istrlen(str1); i+) /*/ if (str1i %2= 0) & (i%2!=0) /*/ /*/ if (str1i %2= 0) & (i%2=0) /*/ tj = str1i; j+; tj = 0; printf(n Original string: %sn, str1); printf(n Result string: %sn, t);4、程序cmody012.c中,函數(shù)fun(int n)的功能是:根據(jù)參數(shù)n,計算大于10的最小n 個能被3整除的正整數(shù)的倒數(shù)之和。例如: 1 1 1 1 1fun(8)= + +

22、+ + + =0.396 12 15 18 21 33#include #include #include #include #define M 50double fun(int n) double y = 0.0; int i,j; j=0; for(i=1;i+) /*/ if(i10)&(i%3=0) /*/ /*/ y+=1/i; /*/ /*/ y+=1.0/i; /*/ j+; if(j=n) break; return y;void main() clrscr(); printf(fun(8) = %8.3lfn, fun(8);5、程序cmody021.c輸出如下所示圖形: *

23、 * * * *#include void main()/*/ int i; j; /*/ /*/ int i,j; /*/ for (i=1;i=5;i+) for (j=1;j=10-2*i;j+) printf( );/*/ for (j=1;j=5;j+) /*/ /*/ for (j=1;j=2*i-1;j+) /*/ printf(* ); printf(n); 6、程序cmody022.c的功能是求解百元買百雞問題: 設(shè)一只公雞2元、一只母雞1元、一只小雞0.5元。問一百元買一百只雞,公雞、母雞、小雞數(shù)可分別為多少?有多少種分配方案?#include #include /*/in

24、t fun();/*/ /*/ int fun() /*/ int hen,cock,chicken,n=0; clrscr(); /*/ if(cock+hen+chicken=100)&(chicken=0) /*/ for(cock=0;cock=50;cock+=1) for(hen=0;henhen:%d,cock:%d,chicken:%dn,n,hen,cock,chicken); if(n=20) getch(); return n;void main() int num; num=fun(); printf(n There are %d solutions.n,num); g

25、etch();三、填空題注意:(1)編寫程序,補充在每對“/*/”之間的空白處,以完成題目的要求; (2)不得刪改程序中所有的“/*/”注釋和其它代碼; (3)完成填空后務(wù)必以原文件名保存程序,并運行該程序; (4)源程序存放在KS文件夾下,須先運行Turbo C 再調(diào)用相應(yīng)源程序文件。 (5)按Alt+Tab鍵,切換題目與Turbo C;按Alt+Enter鍵,切換Turbo C窗口大小。 1、補充程序ccon021.c,使其計算滿足下式的一位整數(shù)A和B的值。 A B B A 4 0 3#include void main() int a,b,k; int plu = /*/ 403 /*/

26、; for(a=1; a10; a+) for(b=1; b10; b+) k = (a*10+b) * /*/ (b*10+a) /*/ ; if(k=plu) printf(A = %d, B = %dn,a,b); 2、補充程序Ccon022.c,使其實現(xiàn)輸入若干整數(shù),統(tǒng)計其中大于零和小于零的個數(shù)。以零結(jié)束輸入。#include void main() int n,a,b; /*/ a=0; b=0; /*/ scanf(%d,&n); while(/*/ n!=0 /*/) if(n0) a+; else /*/ b+ /*/ scanf(%d,&n); printf(Positive

27、 integer: %d, negative integer: %dn,a,b);3、補充程序Ccon023.c,該程序可測試歌德巴赫猜想:從鍵盤上輸入一個大于6的偶數(shù),總能找到兩個素數(shù),使得這兩素數(shù)之和正好等于該偶數(shù)。#include #include int prime(int n) int k,flag=1; for(k=2; k=n/2+1; k+) if (n%k=0) flag=/*/ 0 /*/ ; break; return flag;void main() int num, a; clrscr(); do printf(Please input an even number:

28、); scanf(%d, &num); while(num=6|num%2=1); for(a=2;a=num/2+1;a+) if(prime(a) & prime(/*/ num-a /*/) printf(n %d = %d + %d , num, a, num-a);4、補充程序Ccon031.c,使其用牛頓迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。#include #include /*/void main() /*/ float x,x0,f,f1; x=1.5; do x0=x; f=(2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x

29、=x0-f/f1; /*/ while /*/(fabs(x-x0)=1e-6); printf(the root is: %.2fn,x);5、補充程序Ccon032.c,該程序的功能是將輸入的一行字符中的大寫字母轉(zhuǎn)變?yōu)橄鄳?yīng)的小寫字母,小寫字母則轉(zhuǎn)變?yōu)橄鄳?yīng)的大寫字母,其余字符不變。#include void main() char s80; int i; printf(Please input a string: ); for(i=0;(si=getchar()!=n)&(i=a&si=A&(si=Z /*/) si=si+32; printf(%c,si); 6、補充程序Ccon033.c

30、,其中main函數(shù)通過調(diào)用average函數(shù)計算數(shù)組元素的平均值。#include float average(int *pa,int n) int k; /*/ float avg=0.0; /*/ for(k=0;kn;k+) avg = avg+/*/ pak /*/; avg = avg/n; return avg;void main() int a5=20,30,45,64,23; float m; m=average(/*/ a /*/, 5); printf(Average=%fn,m); |x| - 27、補充程序Ccon011.c,使其計算 f(x)= x2 + 1#incl

31、ude #include void main() int x; /*/ float f; /*/ printf(Input an integer: ); scanf(%d,&x); f = /*/ (abs(x)-2.0)/(x*x+1) /*/ ; printf(F(x)=%fn,f); 1 1 1 18、補充程序Ccon012.c,該程序用公式 4(1- + - + + )3 5 7 10001計算圓周率的近似率。 #include void main() double pi=0; long i, sign=1; for(i=1;i=10001;i+=2) pi+=1.0*sign/i;

32、sign=/*/ -sign /*/; pi*=/*/ 4 /*/; printf(%fn,pi);9、補充程序Ccon013.c,程序?qū)崿F(xiàn)從10個數(shù)中找出最大值和最小值。#include #include int max,min;void find_max_min(int *p,int n) int *q; max=min=*p; for(q=p; q/*/ p+n /*/; q+) if(/*/ max*q) min=*q;void main() int i,num10; printf(Input 10 numbers: ); for(i=0;i10;i+) scanf(%d,&numi)

33、; find_max_min(/*/ num /*/,10); printf(max=%d,num=%dn,max,min); 四、編程題注意:(1)在一對“/*/”之間編寫程序,以完成題目的要求;(2)不得刪改程序中所有的“/*/”注釋和其它代碼;(3)完成填空后務(wù)必以原文件名保存程序,并運行該程序; (4)源程序存放在KS文件夾下,須先運行Turbo C 再調(diào)用相應(yīng)源程序文件。 (5)按Alt+Tab鍵,切換題目與Turbo C;按Alt+Enter鍵,切換Turbo C窗口大小。 1、打開文件夾中的cprog021.c,完成其中的函數(shù)fun1,該函數(shù)的數(shù)學(xué)表達(dá)式是: ex + |x 6

34、| fun1(x)= x + 1.3例如: fun1(0.76) = 3.582 fun1(3.00) = 5.369fun1(3.76) = 8.931#include #include double fun1(double x) /*/double y = 0.0; y=(exp(x)+fabs(x-6)/(x+1.3); return y; /*/void main() clrscr(); printf(fun1(0.76) = %8.3lfn, fun1(0.76); printf(fun1(3.00) = %8.3lfn, fun1(3.00); printf(fun1(3.76)

35、= %8.3lfn, fun1(3.76);2、打開文件夾中的cprog022.c,完成其中的函數(shù)fun2( char a ,char b ,char c ),實現(xiàn):將三個字符串a(chǎn)、b、c從小到大排序后輸出。注意:字符串比較函數(shù)為strcmp (str1,str2),字符串賦值函數(shù)為 strcpy(str1,str2) 。#include #include #include #include void fun2(char a,char b,char c)/*/char st100; if (strcmp(a,b)0) strcpy(str,a);strcpy(a,b);strcpy(b,str

36、);(a,c) if(strcmp(b,c)0) strcpy(str,b);strcpy(b,c);strcpy(c,str); /*/void main() char str115=Fuzhou,str215=Fujian,str315=China; clrscr(); fun2(str1,str2,str3); printf(The ordered strings is : %s, %s, %sn,str1,str2,str3); getch();3、打開文件夾中的cprog011.c,完成其中的函數(shù) fun1,該函數(shù)的數(shù)學(xué)表達(dá)式是: 1+sin x + ex fun1(x)= 1 + x例如: fun1(0.76) = 2.175 fun1(3.00) = 5.307fun1(3.76) = 9.111#include #include double fun1(double x) /*/double y = 0.0; y=(1+sin(x)+exp(x)/(1+x); return y; /*/ void main() clrscr(); printf(fun1(0.76) = %8.3lfn, fun1(0.76); printf(fun1(3.00) = %8.3lfn, fun1(3.00); printf(fun1(3.76) = %

溫馨提示

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

評論

0/150

提交評論