![2006年6月份《c语言等级考试》模拟试卷集成[1]_第1页](http://file1.renrendoc.com/fileroot_temp2/2020-5/25/5383963b-8f75-4acb-b71c-5ca518a252ed/5383963b-8f75-4acb-b71c-5ca518a252ed1.gif)
![2006年6月份《c语言等级考试》模拟试卷集成[1]_第2页](http://file1.renrendoc.com/fileroot_temp2/2020-5/25/5383963b-8f75-4acb-b71c-5ca518a252ed/5383963b-8f75-4acb-b71c-5ca518a252ed2.gif)
![2006年6月份《c语言等级考试》模拟试卷集成[1]_第3页](http://file1.renrendoc.com/fileroot_temp2/2020-5/25/5383963b-8f75-4acb-b71c-5ca518a252ed/5383963b-8f75-4acb-b71c-5ca518a252ed3.gif)
![2006年6月份《c语言等级考试》模拟试卷集成[1]_第4页](http://file1.renrendoc.com/fileroot_temp2/2020-5/25/5383963b-8f75-4acb-b71c-5ca518a252ed/5383963b-8f75-4acb-b71c-5ca518a252ed4.gif)
![2006年6月份《c语言等级考试》模拟试卷集成[1]_第5页](http://file1.renrendoc.com/fileroot_temp2/2020-5/25/5383963b-8f75-4acb-b71c-5ca518a252ed/5383963b-8f75-4acb-b71c-5ca518a252ed5.gif)
已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2006年6月份C语言等级考试模拟试卷集成一、选择题部分二、改错题部分三、填空题部分四、编程题部分一、选择题 1、关于C语言数据类型的叙述,正确的是(C)。A)枚举类型不是基本类型B)数组不是构造类型C)变量必须先定义后使用D)不允许使用空类型 2、下面关于C语言用户标识符的描述,正确的是(D)。A)不区分大小写B)用户标识符不能描述常量C)类型名也是用户标识符D)用户标识符可以作为变量名 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()函数输入一个字符给变量a,不正确的函数调用是(B)。A)scanf(“%d”,&a); B)scanf(“%lf”,&a);C)scanf(“%c”,&a); D)scanf(“%u”,&a); 5、下面叙述中,(A)不是结构化程序设计三种基本结构的共同特点。A)先判断后执行 B)单入口,单出口C)程序中没有执行不到的语句 D)无死循环 6、已知int a=3, b=5; 则表达式 a &( ! b) 的值为(C)。A)3 B)2 C)0 D)1 7、已知char a=R; 则正确的赋值表达式是(A)。A)a=(a+)%4 B)a+2=3 C)a+=256- D)a=078 8、以下的语句中,无内嵌的if语句是(B)。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、设有整型变量x,下述语句(B)不会出现死循环。A)for( ; ; x+=1) B)for( ; (x=getchar()!=n; ) ;C)while(1) x+ ;D)for(x=10; ;x-) ; 10、下列数组声明中,正确的是(A)。A)int a5=0; B)int a=0 1 2;C)int a5=0; D)int a ; 11、以下数组定义中,正确的是(D)。A)int a23=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、设有如下数组定义:char str8=“FuJian”;则分配给数组str的存储空间是(C)字节。A)6 B)7 C)8 D)9 13、以下程序的运行结果是(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 B)1 0 0 4C)0 1 2 0 D)0 4 5 0 14、若有以下宏定义,#define MOD(x,y) x%y则执行以下程序段后,z的值是(D)。int z,a=15,b=100;z=MOD(b,a);A)100 B)15C)11D)10 15、对于基类型相同的两个指针变量之间,不能进行的运算是(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、设有如下定义:typedef int *INTEGER;INTEGER p,*q;则(B)是正确的叙述。A)p是int型变量 B)q是基类型为int的指针变量C)p是基类型为int的指针变量 D)程序中可用INTEGER代替int类型名 20、以下程序的可执行文件名是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,其输出结果是(A)。A)C Language and Programming B)My C Language and ProgrammingC)MyCLanguageandProgramming D)file My C Language and Programming 21、在C语言源程序中,以下叙述正确的是(C)。A)main函数必须位于文件的开头 B)每行只能写一条语句C)程序中的一个语句可以写成多行 D)每个语句的最后必须有点号 22、下面关于算术运算符的叙述,错误的是(A)。A)其运算对象不包含函数B)%(模运算符)的运算对象只能为整型量C)算术运算符的结合方向是“自左至右”D)自加和自减运算符的结合方向是“自右至左” 23、下面叙述中,(A)不是结构化程序设计中的三种基本结构之一。A)数据结构 B)选择结构C)循环结构 D)顺序结构 24、已知 double a=5.2; 则正确的赋值表达式是(A)。A)a+=a-=(a=4)*(a=3) B)a=a*3=2C)a%3 D)a=double(-3) 25、逻辑运算符的优先级依次为(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、下列数组声明中,正确的是(A)。A)int a10; B)int 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);的输出结果是(D)。A)ab B)abdefC)ab0 D)ab 29、执行以下程序段的输出结果是(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(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判断下列语句是否符合语法规则,结果是(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)1E5.1C)a12 D)32766L 34、标准函数fgets(s,n,f)的功能是(B)。A)从文件f中读取长度为n的字符串存入指针s所指的内存B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存C)从文件f中读取n个字符串存入指针s所指的内存D)从文件f中读取长度为n-1的字符串存入指针s所指的内存 35、关于C语言的源程序的叙述中,错误的是(C)。A)C语言的源程序由函数构成B)main函数可以书写在自定义函数之后C)必须包含有输入语句D)一行可以书写多个语句 36、下面叙述正确的是(A)。A)制类型转换运算的优先级高于算术强运算B)若a和b是整型变量,(a+b)+是合法的C)A*B是不合法的D)”A”+”B”是合法的 37、设有以下语句,则(D)是对a数组元素的不正确引用,其中0inext=&c;p-next=head-next; D)(*head).next=p; (*p).next=&b; 48、设有如下定义: typedef int *INTEGER; INTEGER p,*q; 则(b)是正确的叙述。A)p是int型变量 B)q是基类型为int的指针变量C)p是基类型为int的指针变量D)程序中可用INTEGER代替int类型名 49、已知int a=R; 则正确的表达式是(A)。A)a%10 B)a=int(3e2)C)2*a=a+ D)a=a+a=a+3 50、C语言对if嵌套语句的规定:else总是与(B)配对。A)第一个if B)之前最近的且尚未配对的ifC)缩进位置相同的if D)之前最近的if 51、设有如下函数定义:int fun(char *str)char *p=str; while (*p != 0) p+; return (p-str);则以下语句执行后的输出结果是(A)。printf(“%dn”,fun(“Student”);A)7 B)8C)9 D)10 52、设有如下定义语句:union u_typeint i; double x; float f;struct str_typechar str100; union u_type u2;则语句 printf(“%d”,sizeof(struct str_type); 的输出结果是(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+;”被执行(A)。A)4次 B)0次C)123次 D)3次 55、以下(D)是正确的变量名。A)5f B)ifC)f.5 D)_f5 56、设有如下程序段: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;则执行该程序段后,s的值是(C)。A)0 B)1C)2 D)3 57、以下叙述中,正确的是(B)。A)“#define PRICE=30”定义了与30等价的符号常量PRICEB)预编译处理命令行都必须以“#”开头C)宏名只能包含大写字母和数字字符D)在程序的一行上可以书写几个有效的宏定义 58、对枚举类型进行定义,不正确的是(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内容数 D)将文件指针定位到文件末尾的字节(以下红色字体为答案)二、改错题注意:(1)修改程序在每对“/*/”之间存在的错误; (2)不得删改程序中所有的“/*/”注释和其它代码; (3)完成修改后务必以原文件名保存程序,并运行该程序; (4)源程序存放在KS文件夹下,须先运行Turbo C 再调用相应源程序文件。 (5)按Alt+Tab键,切换题目与Turbo C;按Alt+Enter键,切换Turbo C窗口大小。 1、程序cmody031.c的功能是:从键盘上输入两个整数,及一个运算符(+、-、*、/ 或%),进行相应的运算后输出运算的结果。如输入:1+2将输出:1+2=3#include #include void main() int m,n,result,flag=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); flag=1; if (!flag) printf(%d %c %d = %dn,m,ch,n,result); getch();2、程序cmody032.c的功能是:输出201300之间的所有素数,统计总个数。#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) /*/ printf(%-4d,m); n+; if(n%10=0) printf(n); return n;3、程序cmody011.c的功能是:从字符串数组str1中取出ASCII码值为偶数且下标为偶数的字符依次存放在字符串t中。例如,若str1所指的字符串为:4AZ18c?Ge9a0z! 则t所指的字符串为:4Z8z注意:数组下标从0开始。#include #include #include #include void main() char str1100, t200; int i, j; /*/ i = 0; /*/ /*/ j = 0; /*/ clrscr(); strcpy(str1, 4AZ18c?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中,函数fun(int n)的功能是:根据参数n,计算大于10的最小n 个能被3整除的正整数的倒数之和。例如: 1 1 1 1 1fun(8)= + + + + + =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输出如下所示图形: * * * * *#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的功能是求解百元买百鸡问题: 设一只公鸡2元、一只母鸡1元、一只小鸡0.5元。问一百元买一百只鸡,公鸡、母鸡、小鸡数可分别为多少?有多少种分配方案?#include #include /*/int 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); getch();三、填空题注意:(1)编写程序,补充在每对“/*/”之间的空白处,以完成题目的要求; (2)不得删改程序中所有的“/*/”注释和其它代码; (3)完成填空后务必以原文件名保存程序,并运行该程序; (4)源程序存放在KS文件夹下,须先运行Turbo C 再调用相应源程序文件。 (5)按Alt+Tab键,切换题目与Turbo C;按Alt+Enter键,切换Turbo C窗口大小。 1、补充程序ccon021.c,使其计算满足下式的一位整数A和B的值。 A B B A 4 0 3#include void main() int a,b,k; int plu = /*/ 403 /*/; 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,使其实现输入若干整数,统计其中大于零和小于零的个数。以零结束输入。#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 integer: %d, negative integer: %dn,a,b);3、补充程序Ccon023.c,该程序可测试歌德巴赫猜想:从键盘上输入一个大于6的偶数,总能找到两个素数,使得这两素数之和正好等于该偶数。#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:); 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=x0-f/f1; /*/ while /*/(fabs(x-x0)=1e-6); printf(the root is: %.2fn,x);5、补充程序Ccon032.c,该程序的功能是将输入的一行字符中的大写字母转变为相应的小写字母,小写字母则转变为相应的大写字母,其余字符不变。#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,其中main函数通过调用average函数计算数组元素的平均值。#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#include #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; sign=/*/ -sign /*/; pi*=/*/ 4 /*/; printf(%fn,pi);9、补充程序Ccon013.c,程序实现从10个数中找出最大值和最小值。#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); find_max_min(/*/ num /*/,10); printf(max=%d,num=%dn,max,min); 四、编程题注意:(1)在一对“/*/”之间编写程序,以完成题目的要求;(2)不得删改程序中所有的“/*/”注释和其它代码;(3)完成填空后务必以原文件名保存程序,并运行该程序; (4)源程序存放在KS文件夹下,须先运行Turbo C 再调用相应源程序文件。 (5)按Alt+Tab键,切换题目与Turbo C;按Alt+Enter键,切换Turbo C窗口大小。 1、打开文件夹中的cprog021.c,完成其中的函数fun1,该函数的数学表达式是: ex + |x 6 | 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) = %8.3lfn, fun1(3.76);2、打开文件夹中的cprog022.c,完成其中的函数fun2( char a ,char b ,char c ),实现:将三个字符串a、b、c从小到大排序后输出。注意:字符串比较函数为strcmp (str1,str2),字符串赋值函数为 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);(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,完成其中的函数 fun1,该函数的数学表达式是: 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) = %8.3lfn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 6S推进第一阶段考核制度
- 那段美好的回忆话题作文(9篇)
- 食品营养学食品标签阅读题
- 含java面试题及答案软件
- 我心中的梦想之物作文7篇范文
- 翻船事故面试题及答案
- 我们的语文老师写人(10篇)
- 城建史考试题及答案
- 得物java面试题及答案
- asp面试题及答案
- GB 15612-1995食品添加剂蒸馏单硬脂酸甘油酯
- 广东省著名旅游景点课件
- 洗煤厂培训教程
- 郴州云湘矿冶有限责任公司10000ta锡精炼智能化升级技改项目报告书
- GB∕T 31564-2015 热喷涂 热喷涂沉积效率的测定
- 施工管理人员年度安全培训考核记录表格
- 小型农田水利灌溉工程施工组织设计(word共114页)
- 江苏自考精密加工与特种加工复习大全
- 通信电源施工方案
- 蓟中上元古界剖面研究生地质实习-中国科学院地质与地球物理研究所
- 管式加热炉温度控制系统设计++
评论
0/150
提交评论