一、单项选择题1.若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。A、x+n=I;B、x==5;C、x=n/2.5;D、5=x=4+1;【参考答案】错误C【学生答案】[未答此题]2.下述错误的C语言常量是:().A、0xfB、5.C、090D、.25【参考答案】错误C【学生答案】[未答此题]3.根据下面的程序,使a=123,c1='o',c2='k'哪一种是正确的键盘输入方法?()。(规定用字符串[CR]表示回车,U表示空格)main(){inta;charc1,c2;scanf(%d%c%c,&a,&c1,&c2);}A、123UoUk[CR]B、123ok[CR]C、123Uok[CR]D、123oUk[CR]【参考答案】错误B【学生答案】[未答此题]4.已知键入a=4,b=3,执行下面程序输出的结果是().main(){inta,b,s;scanf(%d%d,&a,&b);s=a;if(ab)s=b;s=s*s;printf(%d\n,s);}A、13B、9C、16D、15【参考答案】错误B【学生答案】[未答此题]5.执行下面程序段后,i的值是().inti=10;switch(i){case9:i+=1;case10:i--;case11:i*=3;case12:++i;}A、28B、10C、9D、27【参考答案】错误A【学生答案】[未答此题]6.以下不是无限循环的语句为()。A、while(1){x++;}B、for(;;x++=i);C、for(i=10;;i--)sum+=i;D、for(y=0,x=1;x++y;x=i++)i=x;【参考答案】错误D【学生答案】[未答此题]7.下面程序段运行的结果是().x=-1;do{x=x*x;}while(!x);A、循环执行一次B、有语法错误C、死循环D、循环执行两次【参考答案】错误A【学生答案】[未答此题]8.若有说明:inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。A、3B、无确定值C、4D、2【参考答案】错误A【学生答案】[未答此题]9.若定义inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;则数值为4的表达式是().A、a[4]B、a[g-c]C、a['d'-'c']D、a['d'-c]【参考答案】错误D【学生答案】[未答此题]10.以下叙述中正确的是()。A、可以在一个函数中定义另一个函数B、main()函数必须放在其它函数之前C、构成C程序的基本单位是函数D、所有被调用的函数一定要在调用之前进行定义【参考答案】错误C【学生答案】[未答此题]11.下述函数的功能是().intfun(char*x){char*y=x;while(*y++);returny-x-1;}A、比较两个字符串的大小B、求字符串存放位置C、求字符串的长度D、将字符串x连接到字符串y后面【参考答案】错误C【学生答案】[未答此题]12.有关文件包含命令说法,下列叙述正确的是().A、将预处理的结果作为一个源程序编译,得到一个目标文件.B、一个include命令可指定多个被包含文件.C、将预处理的结果作为多个文件编译.D、被包含的文件可以是源文件或目标文件.【参考答案】错误A【学生答案】[未答此题]13.在声明语句:int*f();中,标识符f代表的是()。A、一个返回值为指针型的函数名B、一个用于指向函数的指针变量C、一个用于指向一维数组的行指针D、一个用于指向整型数据的指针变量【参考答案】错误A【学生答案】[未答此题]14.下面程序的输出结果应该是().chars[]=ABCD;main(){char*p;for(p=s;ps+4;p++)printf(%s,p);}A、DCBAB、ABCDBCDCDDC、ABCDABCABAD、ABCD【参考答案】错误B【学生答案】[未答此题]15.设有如下定义:structsk{inta;floatb;}data,*p;若要使p指向data中的a域,正确的赋值语句是()。A、p=(structsk*)data.a;B、*p=data.a;C、p=&data.a;D、p=&data,a;【参考答案】错误C二、判断题1.在C程序中,%作为运算符时,是只能用于整数运算。【学生答案】错误未答此题============================================================【参考答案】正确2.若a=3,b=2,c=1则关系表达式(ab)==c的值为真。【学生答案】错误未答此题============================================================【参考答案】正确/*------------------------------------------------------【程序改错】--------------------------------------------------------3.格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数.【学生答案】错误未答此题============================================================【参考答案】错误4.整型变量在全部范围内可以用字符格式输出.【学生答案】错误未答此题============================================================【参考答案】错误5.已知a=3,b=4,c=5,则逻辑表达式!(a+b)+c-1&&b+c/2的值为0.【学生答案】错误未答此题============================================================【参考答案】错误6.语句if(ab)printf(%d,a);elseprintf(%d,b);可以用条件表达式ab?a:b取代.【学生答案】错误未答此题============================================================【参考答案】错误7.已知a=4,b=2,c=3,d=5,表达式ab?a:cd?c:d的值为4.【学生答案】错误未答此题============================================================【参考答案】正确8.for循环的三个表达式都可以省略.【学生答案】错误未答此题============================================================【参考答案】正确9.continue语句对于while和do-while循环来说,意味着转去计算While表达式.【学生答案】错误未答此题============================================================【参考答案】正确10.for语句的循环体至少执行一次.【学生答案】错误未答此题============================================================【参考答案】错误11.语句charch[12]={CProgram};与语句charch[]=CProgram;具有不同的赋初值功能.【学生答案】错误未答此题============================================================【参考答案】错误12.定义chars[9];gets(s);若输入的字符串是Turboc↙(↙代表按回车键操作)则输入给数组s中的字符个数是7.【学生答案】错误未答此题============================================================【参考答案】正确13.对静态数组的初始化是在编译阶段完成的.【学生答案】错误未答此题============================================================【参考答案】正确14.C语言中,通过函数调用只能获得一个返回值.【学生答案】错误未答此题============================================================【参考答案】错误15.字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.【学生答案】错误未答此题============================================================【参考答案】错误16.函数的返回值可以通过函数中的return语句获得。【学生答案】错误未答此题============================================================【参考答案】正确17.被包含文件是在编译时先单独生成目标文件,然后连接到可执行文件中去.【学生答案】错误未答此题============================================================【参考答案】错误18.char*p=girl;的含义是定义字符型指针变量p,p的值是字符串girl。【学生答案】错误未答此题============================================================【参考答案】错误19.对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。【学生答案】错误未答此题============================================================【参考答案】正确20.用fopen(file,r+);打开的文件file可以进行修改。【学生答案】错误未答此题============================================================【参考答案】正确三、填空题1.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后x的值是_____.【空1】错误【学生答案】[无]【参考答案】0============================================================2.以下程序的输出结果为_____,#includestdio.hmain(){inta=010,j=10;printf(%d,%d\n,++a,j--);}【空1】错误【学生答案】[无]【参考答案】9,10============================================================3.设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t的值是_____.【空1】错误【学生答案】[无]【参考答案】1============================================================4.若输入字符串:abcde回车,则以下while循环体将执行_____次.while((ch=getchar())=='e')printf(*);【空1】错误【学生答案】[无]【参考答案】0============================================================5.若有以下数组a,数组元素:a[0]~a[9],其值为941282107513该数组的元素中,数值最小的元素的下标值是_____.【空1】错误【学生答案】[无]【参考答案】8============================================================6.函数不可以进行嵌套定义,但可以进行嵌