一、判断题第1题:C语言编译时不检查语法错第2题:C语言的函数可以嵌套定义错第3题:在标准C语言中,共用体变量中的各成员的首地址是不一样的。错第4题:在标准C中,“=”是判断两个数是否相等。错第5题:C语言的源程序不必通过编译就可以直接运行错第6题:指针变量与变量的指针都与地址有关对第7题:局部变量的作用域是当前文件。错第8题:在标准C语言中,宏替换是程序运行时完成的。错第9题:C语言允许直接访问物理地址。对第10题:全局变量的作用域一定比局部变量的作用域范围大错二、单选题选择正确的答案输入第1题:以下程序的输出结果是main(){intn=4;while(n--)printf(%d,--n);}参考答案:AA、20B、31C、321D、210第2题:C语言中以追加方式打开一个文件应选择_______________参数参考答案:DA、“r”B、“w”C、“rb”D、“a”第3题:已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\103’是字母参考答案:CA、AB、BC、CD、D第4题:设有以下宏定义:#defineN3#defineY(n)((N+1)*n)则执行语句:z=2*(N+Y(5+1));后,z的值为参考答案:CA、出错B、42C、48D、54第5题:下列表达式的值为0的是()参考答案:CA、3﹪5B、3/5.0C、3/5D、3<5第6题:下列说法中,正确的是参考答案:CA、主函数名是由程序设计人员按照“标识符”的规则选取的B、分号和回车符号都可以作为一个语句的结束符号C、在程序清单的任何地方都可以插入一个或多个空格符号D、程序的执行,总是从源程序清单的第1行开始第7题:字符串指针变量中存入的是参考答案:AA、字符串的首地址B、字符串C、第一个字符D、字符串变量第8题:在c语言中,不允许有常量的数据类型是参考答案:BA、整型B、结构型C、字符型D、字符串第9题:C语言中while和do-while循环的主要区别是参考答案:AA、do-while循环体至少无条件执行一次B、while的循环控制条件比do-while循环控制条件严格C、do-while循环允许从外部转到循环体内D、do-while循环体不能是复合语句第10题:数组定义为inta[3][2]={1,2,3,4,5,6},数组元素_____的值为6。参考答案:BA、a[3][2]B、a[2][1]C、a[1][2]D、a[2][3]三、程序填空题第1题:以下程序将一个磁盘文件中的信息复制到另一个磁盘文件中。#includestdio.hmain(){FILE*in,*out;charch;charinfile[10],outfile[10];printf(Entertheinfilename\n);scanf(%s,___);printf(Entertheoutfilename\n);scanf(%s,outfile);if((in=fopen(infile,__))==NULL){printf(cannotopeninfile%s\n,infile);exit(0);}if((out=fopen(outfile,w))==NULL){printf(cannotopenoutfile%s\n,outfile);exit(0);}while(__)fputc(__,out);___;fclose(out);}请在左边文本框当中输入正确答案参考答案:infile请在左边文本框当中输入正确答案参考答案:r请在左边文本框当中输入正确答案!feof(in)请在左边文本框当中输入正确答案参考答案:fgetc(in)请在左边文本框当中输入正确答案参考答案:fclose(in)第2题:输入一个正整数n,如果它是素数,输出YES,否则输出NO(素数就是只能被1和自身整除的正整数)。#include<stdio.h#include<math.hintprime(intm);main(){intn;scanf(%d,&n);if(____)printf(YES\n);elseprintf(NO\n)}intprime(intm){intj,n;if(____)return0;n=sqrt(m);for(____;j<=n;j++)if(____)return0;;_____}请在左边文本框当中输入正确答案参考答案:prime(n)请在左边文本框当中输入正确答案参考答案:m==1请在左边文本框当中输入正确答案参考答案:j=2请在左边文本框当中输入正确答案参考答案:m%j==0请在左边文本框当中输入正确答案参考答案:return1四、程序阅读题第1题:阅读下列程序,写出程序的输出结果。#include<stdio.h>voidmain(){intI=5;do{switch(I%2){case4:I--;break;case6:I--;continue;}I--;I--;printf(%3d,I);}while(I>0);}A)、31-1B)、531C)、321D)、310参考答案:A第2题:阅读程序,写出运行结果。#include<stdio.h>voidmain(){inta[6]={12,4,17,25,27,16};intb[6]={27,13,4,25,23,16},I,j;for(I=0;I<6;I++){for(j=0;j<6;j++)if(a[I]==b[j])break;if(j<6)printf(%4d,a[I]);}printf(\n);}A)、12417252716B)、4252716C)、252716D)、2716参考答案:B第3题:写出下列程序的输出结果。#include<stdio.h>voidmain(){intk,a=1,b=2;k=(a++==b)?2:3;printf(“k=%d\n”,k);}A)、k=1B)、k=2C)、k=3D)、k=4参考答案:C第4题:阅读下面程序,写出运算结果.#include<math.h>#include<stdio.h>voidmain(){doublef(double,int);printf(%0.21f\n,f(2.0,10));}doublef(doublex,intn){doublet;if(n==1)t=x;elset=x*f(x,n/2);returnt;}A)、16B)、16.00C)、1600D)、16.2参考答案:B第5题:阅读下列程序,写出程序的输出结果。#include<stdio.h>voidmain(){intx=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(!ok1)x=1;elseif(ok2)x=10;elsex=-1;printf(“%d\n”,x);}A)、100B)、1C)、10D)、-1参考答案:D五、程序设计题第1题:三个整数a、b、c,由键盘输入,输出其中最大的一个数(用if-else实现)参考答案:#include<stdio.h>main(){inta,b,c;printf(请输入三个整数:);scanf(%d,%d,%d,&a,&b,&c);if(a<b)if(b<c)printf(max=%d\n,c);elseprintf(max=%d\n,b);elseif(a<c)printf(max=%d\n,c);elseprintf(max=%d\n,a);}第2题:从键盘输入两个数a、b。利用函数的方法求出两个数当中大的。并在屏幕上输出。参考答案:#include<stdio.h>main(){inta,b,c,max();printf(输入两个数:);scanf(%d,%d,&a,&b);c=max(a,b);printf(a,b中最大的是:%d,c);}intmax(intx,inty){intz;z=x>y?x:y;return(z);}第3题:编写程序建立一个整型数组,数组元素依次是1,2,3,4,5,6,7,8,9;通过对自定义函数inv的调用,使数组元素依次是9,8,7,6,5,4,3,2,1。参考答案:#include<stdio.h>voidinv(inta[],intn){intk,j=n-1,temp;for(k=0;k<j;k++,j--){temp=a[k];a[k]=a[j];a[j]=temp;}}voidmain(){intj;inta[]={1,2,3,4,5,6,7,8,9};inv(a,9);for(j=0;j<9;j++)printf(%d,*(a+j));printf(\n);}