1、C 语言考试系统练习题 1一、判断题1.变量根据其作用域的范围可以分为局部变量和全局变量。 (Y / N)YES2.C 语言的 switch 语句中 case 后只能为常量或常量表达式。 (Y / N)NO(字符等都可以)3.两个字符串中的字符个数不相同时也可进行字符串大小的比较。(Y / N)YES4.循环结构中的 continue 语句是使整个循环终止执行。 (Y / N)NO(继续进行)5.char *p=“girl“;的含义是定义字符型指针变量 p,p 的值是字符串“girl“。NO(字符串)二、单选1.设有说明:char w; int x; float y; double z; 则表
2、达式 w*x+z-y 值的数据类型为( D) 。A.float B.int C.char D.double2.C 语言规定,在一个源程序中,main 函数的位置(C ) 。A.必须在最开始 B.必须在系统调用的库函数的后面C.可以任意 D.必须在后面3.C 语言的 if 语句嵌套时,if 与 else 的配对关系是(A ) 。A.每个 else 总是与它上面的最近的 if 配对B.每个 else 总是与最外层的 if 配对C.每个 else 与 if 的配对是任意的D.每个 else 总是与它上面的 if 配对4.下列字符序号中,不可用作 C 语言标识符的是(B ) 。A.b70 B.#ab
3、C.symbol D.a_15.整形变量 x=1,y=3,经过下列计算后,x 的值不等于 6 的是 (B)A.x=(x=1+2,x*2) B.x=y2?6:5 C.x=9-(-y)-(y-) D.x=y*4/26.若有下列定义,则对 a 数组元素地址的正确引用是(CD ) 。A.*(p+5) B.*p+2 C.*(a+2) D.* B.int a2=1,2;C.char a2=1,2,3; D.char a2=1;10.C 语言不可嵌套的是(B ) 。A.函数调用 B.函数定义 C.循环语句 D.选择语句三、程序填空答题说明在“*SPACE*”语句的下一行完成程序填空,首先将填空标志【?】删除
4、,然后填入正确的答案,答题结束后,必须在程序环境中做好保存。1./*-功能:从键盘上输入一个正整数,判断其是否是回文数。说明:所谓回文数是指顺序读与反序读都是一样的数,如 121、25852 都是回文数。将整数的各位依次存入数组 a 中,然后再进行判断-*/#include int main()int num,a10,r;int i=0,j,flag=1; /*flag 作为是否为回文的标志*/scanf(“%d“,if (num=j;i-,j+)if (aj=ai)/*SPACE*/【continue】; elseflag=0;break;/*SPACE*/if (【flag = 1】)pr
5、intf(“是回文n“);elseprintf(“不是回文n“);return 0; 2./*-功能:已知一个数列,它的头两项分别是 0 和 1,从第三项开始以后的每项都是其前两项之和。编程打印此数,直到某项的值超过 200 为止。-*/#include int main()int i,f1=0,f2=1;/*SPACE*/for(【i = 0】;i+)printf(“5%d“,f1 );/*SPACE*/if(f1【200】) break;printf(“5%d“,f2);if(f2200) break;if(i%2=0) printf(“n“);f1+=f2;/*SPACE*/f2+=【f
6、1】;printf(“n“);return 0;四、程序设计答题说明考生必须在“*Program*” “*End*”范围内编写程序,答题结束后,必须在程序环境中做好保存,必须正确执行一次当前试题。/*-功能:编写函数 fun 求一个字符串(长度不超过 80)的长度,在 main 函数中输入字符串,并输出其长度。-*/#include void wwjt(); int fun(char *p1)/*Program*/int len(0);for (; p1 != 0; +p1, +len);return len;/* End */int main()char *p,a80;int len;p=a
7、;printf(“please input a string:n“);gets(p);len=fun(p);printf(“The strings length is:%dn“,len);wwjt();return 0;void wwjt()FILE *IN,*OUT;char *pIN,sin80;int iOUT,i;pIN=sin;IN=fopen(“3.IN“,“r“);if(IN=NULL)printf(“Please Verify The Currernt Dir.it May Be Changed“);OUT=fopen(“3.out“,“w“);if(OUT=NULL)prin
8、tf(“Please Verify The Current Dir. it May Be Changed“);for(i=0;i#define N 1000int fun(int m)/*FOUND*/int s=0,i; /原来的是 int s=0,i;/*FOUND*/for(i=1;i#define N 20void fun ( int a, int n ) int i, m, t, k ;for(i=0;iam) / 原来的是 if(akam) k=m;t=ai;ai=am;am=t; / t=ak;ak=am;ak=t; int main( )int bN=11,5,12,0,3,6,9,7,10,8, n=10, i;for ( i=0; in; i+ ) printf(“%d “, bi);printf(“n“);/*FOUND*/fun (int bN, n); / 这里我完全不知道他到底想干啥for ( i=0; in; i+ )printf(“%d “, bi);printf(“n“);return 0;答案仅供参考!