《C程序设计等级考试复习16模拟题参考答案范文》由会员分享,可在线阅读,更多相关《C程序设计等级考试复习16模拟题参考答案范文(9页珍藏版)》请在金锄头文库上搜索。
1、模拟测试(一)一、填空题(20)1、 x+y=10 & x+y=30 、 sqrt(b*b-4*a*c)/(2*sin(3.14159/4) 、 sqrt(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)+(z2-z1)*(z2-z1) 2、 1 3、 10, 14 4、 24 24 5、 按行的顺序 6、 11 7、 6 8、 1 0 9、 1 10、 -1, 65535 二、单项选择题(20)(把正确答案填入下表各对应的题号下)12345678910ADCACBDDCA三、程序填空(15)1、 fabs(t)=1.0E-6 、 t 、 n+2 2、 jai+1 、 i+ 、 a
2、i 3、 int *n 、 k=0 & xvk 、 vk+1 四、阅读程序并写出程序的输出结果(20)1、Max=12, row=2, colum=1 2、 3,2,5, 3,3,5 4,2,6, 3,4,6 3、 Max of array A=64 4、 7 55、 8 五、 程序设计(25分)1、用二重循环建立以下数组,并打印出来 1、 main() (不用scanf()函数和静态数组) int a55,i,j;/*定义数组和变量*/ 0 1 1 1 1 for(i=0;i5;i+)/*用二重循环产生二维数组*/ -1 0 1 1 1 for(j=0;j5;j+) -1 -1 0 1 1
3、if (ij) ajj=-1; -1 -1 -1 -1 0 else aij=0;2、编一程序打印输出如下图案 for(i=0;i5;i+) /*打印输出*/ A for(j=0;j5;j+) BBB printf(%d ,aij); CCCCC printf(n);/*输出一行后换行*/ DDDDDDD EEEEEEEEE main() int i,j; char ch= A ,space= ;/*定义字符变量ch,space */ for(i=1;i6;i+) /*i循环控制打印行数,共 5*/ for(j=1;j40-i;j+) /* 输出39-i个空格,即将第一行打印在第40列上.*/
4、 printf(%c,space); for(j=0;k2*i-1;k+) /* 打印2*i-1个字符,即第一行打印1个.*/ printf(%c,ch); ch+; /* 输出一行后,让ch增加1,即变为相邻的下一字符 */ printf(n);/*输出一行后,换行*/ 3、编一个函数void fun( char *ss),它的功能是:把ss字符串中的字符按逆序存放。例如:若输入字符串为ABCDEFG,则逆置后的字符串为GFEDCBA。在主函数main调用该函数实现输入任意字符串,按逆置打印输出。 #include string.h void fun( char *ss) int i,j,k
5、; char ch; k=strlen(ss); /*求出字符串的长度*/ for(i=0;ik/2;i+) /*将字符串倒置,即第O个与第k-1个交换,.*/ j=k-i-1; ch=*( ss+i ); *( ss+i )=*( ss+j); *( ss+j )=ch ; main() char str80; /*定义一字符数组,存放字符串数据*/ printf(Enter the string n); scanf(%s,str); /*输入字符串*/ fun(str); /*调用函数,倒置字符串*/ printf(%s,str); 模拟试题二一、填空题(10)1、 32 2、 交换x和y
6、变量的值 3、 11 13 4、 5 5、 9.5 6、 2 二、单项选择题(20)(把正确答案填入下表各对应的题号下)12345678910ADCDADD DA三、写出程序的输出结果(20)1、 6 2、 8 11 3、 10010 4、8, 17 5、 CDG四、根据各编程题意填空(25)1、 bi.dat 、 &j 、 fp 2、 int a 、 ak!=a0 、 k 3、 printf(Enter the 10 numbern) 、 &ai 、 k=i 、 ai 五、编程题(20)1 请编一个函数int fun(int pm),它的功能是:判断pm是否是素数。若pm是素数,返回1;若不
7、是素数,返回0。pm的值由主函数从键盘读入。int fun(int pm) int i; for (i=2;i=pm/2;i+) if (pm%2=0) return 0; return 1; main() int x,k; scanf(%d,&x); k=fun(x);if(k) printf(%d 是素数n,x); else printf(%d 不是素数n,x);2请编写函数void fun(int *a, int *n, int y),它的功能是:把y值插入到a数组中,a数组中的数由主函数按由小到大的次序从键盘读入,y的值也从键盘读入。插入后,数组中的数仍然有序。void fun(int
8、 *a, int *n ,int y) int k,i; k=*n;for(i=0;i*n;i+)if (yai) k=i; break;if (kk;i-) ai=ai-1; ak=y;(*n)+;main() int a=. int n=1,y,i; scanf(%d,&y); fun(a,&n,y); for (i=0;in; i+) printf(%d ,ai);模拟试题三一、填空题(10)1、 是指向含有n个元素的一维数组的指针变量的指针变量 2、 1 3、 .123 4、 4 5、 900 6、 存储单元 7、 2 8、 8 9、 非0 10、 y=z 二、单项选择题(20)(把正确答案填入下表各对应的题号下)12345678910CDCCADDABD三、写出程序的输出结果(20)1、 i=6 j=720 2、The output of 5.3 is: 3、The output of 5.521-10101 123-7B 四、根据各编程题意填空(25)1、 t=-t*x*x/(n*(n+1) 、 n+=2 、 epsil=A & *pc=Z) *pc+=32; els