1单选复习题1.下列定义变量的语句中错误的是______。A、int_intB、doubleint_C、charForD、floatUS$答案:D知识点:常量、变量和标识符2.以下不合法的用户标识符是______。A、j2_KEYB、DoubleC、4dD、_8_答案:C知识点:常量、变量和标识符3.以下4组用户定义标识符中,全部合法的一组是______。A、_mainencludesinB、If-maxturboC、txtREAL3COMD、intk_2_001答案:A知识点:常量、变量和标识符4.以下定义语句中正确的是______。A、chara='A'b='B';B、floata=b=10.0;C、inta=10,*b=&a;D、float*a,b=&a;答案:C知识点:常量、变量和标识符5.以下不能定义为用户标识符的是______。A、scanfB、VoidC、_3com_D、int答案:D知识点:常量、变量和标识符6.以下有4组用户标识符,其中合法的一组是______。A、For-subCaseB、4dDOSizeC、f2_G3IFabcD、WORDVoiddefine答案:C知识点:常量、变量和标识符7.C语言中最简单的数据类型包括______。A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型答案:B知识点:常量、变量和标识符8.下列选项中,合法的C语言关键字是______。A、VARB、cherC、integerD、default答案:D知识点:常量、变量和标识符9.以下不能定义为用户标识符的是______。A、MainB、_0C、_intD、sizeof答案:D知识点:常量、变量和标识符10.下列叙述中正确的是______。A、C语言中既有逻辑类型也有集合类型B、C语言中没有逻辑类型但有集合类型C、C语言中有逻辑类型但没有集合类型D、C语言中既没有逻辑类型也没有集合类型答案:D知识点:常量、变量和标识符11.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是______。A、c=b=a;B、(a=c)‖(b=c);C、(a=c)&&(b=c);D、a=c=b;答案:C知识点:赋值表达式12.以下选项中非法的表达式是______。A、0=x100B、i=j==0C、(char)(65+3)D、x+1=x+1答案:D2知识点:赋值表达式13.以下程序的输出结果是______。#includestdio.hmain(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(%d,%d\n,a,b);}A、6,1B、2,1C、6,0D、2,0答案:B知识点:赋值表达式14.以下循环体的执行次数是______。main(){inti,j;for(i=0,j=1;i=j+1;i+=2,j--)printf(%d\n,i);}A、3B、2C、1D、0答案:C知识点:赋值表达式15.有以下定义语句doublea,b;intw;longc;若各变量已正确赋值,则下列选项中正确的表达式是______。A、a=a+b=b++B、w%((int)a+b)C、(c+w)%(int)aD、w=a=b;答案:C知识点:赋值表达式16.有如下程序main(){inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);printf(%d%d%3.1f%3.1f\n,a,c,f,x);}程序运行后输出结果是______。A、16516.5B、1651.56.5C、1651.06.5D、2651.56.5答案:B知识点:赋值表达式17.若变量a、i已正确定义,且i已正确赋值,合法的语句是______。A、a==1B、++i;C、a=a++=5;D、a=int(i);答案:B知识点:赋值表达式18.若变量已正确定义并赋值,下面符合C语言语法的表达式是______。A、a:=b+1B、a=b=c+2C、int18.5%3D、a=a+7=c+b答案:B知识点:赋值表达式20.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是______。A、x=x*100+0.5/100.0B、x=(x*100+0.5)/100.0C、x=(int)(x*100+0.5)/100.0D、x=(x/100+0.5)*100.0答案:C知识点:赋值表达式22.在一个C程序中______。A、main函数必须出现在所有函数之前B、main函数可以在任何地方出现C、main函数必须出现在所有函数之后D、main函数必须出现在固定位置答案:B知识点:简单C语言程序的构成和格式23.以下说法中正确的是______。A、#define和printf都是C语句3B、#define是C语句,而printf不是C、printf是C语句,但#define不是D、#define和printf都不是C语句答案:D知识点:简单C语言程序的构成和格式24.若k是int型变量,且有下面的程序片段k=-3if(k=0)printf(####)elseprintf(&&&&);上面程序片段的输出结果是______。A、####B、&&&&C、####&&&&D、有语法错误,无输出结果答案:D知识点:简单C语言程序的构成和格式25.以下4个选项中,不能看作一条语句的是______。A、{;}B、a=0,b=0,c=0;C、if(a0);D、if(b==0)m=1;n=2;答案:D知识点:简单C语言程序的构成和格式26.有以下程序main(){inta=0,b=0;a=10;/*给a赋值*/b=20;/*给b赋值*/printf(a+b=%d\n,a+b);}程序运行后的输出结果是______。A、a+b=10B、a+b=30C、30D、出错答案:B知识点:简单C语言程序的构成和格式27.以下选项中,不能作为合法常量的是______。A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e0答案:B知识点:实型数据28.以下符合C语言语法的实型常量是______。A、1.2E0.5B、3.14159EC、.5E-3D、E15答案:C知识点:实型数据30.表达式3.6-5/2+1.2+5%2的值是______。A、4.3B、4.8C、3.3D、3.8答案:D知识点:算术表达式31.设inta=12,则执行完语句a+=a-=a*a后,a的值是______。A、552B、264C、144D、-264(?)答案:D知识点:算术表达式32.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是______。A、x/y*zB、x*(1/(y*z))C、x/y*1/zD、x/y/z答案:A知识点:算术表达式33.若有定义:inta=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是______。A、1.4B、1C、2.0D、2答案:B知识点:算术表达式34.设有定义:floata=2,b=4,h=3;,以下C语言表达式与代数式1/2((a+b)h)计算结果不相符的是______。A、(a+b)*h/2B、(1/2)*(a+b)*hC、(a+b)*h*1/2D、h/2*(a+b)答案:B知识点:算术表达式35.假定x和y为double型,表达式x=2,y=x+3/2的值是______。A、3.500000B、3C、2.000000D、3.000000答案:D知识点:算术表达式436.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是______。A、1B、2C、2.000000D、2.500000答案:C知识点:算术表达式37.若有以下程序段intc1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是______。A、0B、0.5C、1D、2答案:A知识点:算术表达式38.设有intx=11;则表达式(x++*1/3)的值是______。A、3B、4C、11D、12答案:A知识点:算术表达式39.下列程序的输出结果是______。main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf(%d\n,d*y);}A、3B、3.2C、0D、3.07答案:C知识点:算术表达式40.请读程序片段:inti=65536;printf(%d\n,i);上面程序片段的输出结果是______。A、65536B、0C、有语法错误,无输出结果D、-1答案:B知识点:整型数据41.若有以下定义和语句:intu=010,v=0x10,w=10;printf(%d,%d,%d\n,u,v,w);则输出结果是:______。A、8,16,10B、10,10,10C、8,8,10D、8,10,10答案:A知识点:整型数据42.在C语言中,不正确的int类型的常数是______。A、32768B、0C、037D、0xAF答案:A知识点:整型数据(32767)43.以下程序的输出结果是______。main(){intk=17;printf(%d,%o,%x\n,k,k,k);}A、17,021,0x11B、17,17,17C、17,0x11,021D、17,21,11答案:D知识点:整型数据44.下面程序的输出是______。main(){unsigneda=32768;printf(a=%d\n,a);}A、a=32768B、a=32767C、a=-32768D、a=-1答案:C知识点:整型数据45.在C语言中,合法的长整型常数是______。A、0LB、4962710C、324562&D、216D答案:A知识点:整型数据46.C语言中运算对象必须是整型的运算符是______。5A、%=B、/C、=D、=答案:A知识点:整型数据47.以下选项中不属于C语言的类型名称是______。A、signedshortintB、unsignedlongintC、unsignedintD、longshort答案:D知识点:整型数据48.有以下程序main(){intm=0256,n=256;printf(%o%o\n,m,n);}程序运行后的输出结果是______。A、02560400B、0256256C、256400D、400400答案:C知识点:整型数据49.若执下面程序时从键盘上输入5,main(){intx;scanf(%d,&x);if(x++5)printf(%d\n,x);elseprintf(%d\n,x--);}则输出是______。A、7B、6C、5D、4答案:B知识点:自加、自减运算符和逗号运算符50.有以下程序main(){chara1='M',a2='m';printf(%c\n,(a1,a2));}以下叙述中正确的是______。A、程序输出大写字母MB、程序输出小写字母mC、格式说明符不足,编译出错D、程序运行时产生出错信息答案:B知识点:自加、自减运算符和逗号运算符51.以下程序的输出结果是______。main(){inta;printf(%d\n,(a=3*5,a*4,a+5));}A、65B、20C、15D、10答案:B知识点:自加、自减运算符和逗号运算符53.设有如下程序段intx=2002,y=2003;printf(%d\n,(x,y));则以下叙述中正确的是______。A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出B、运行时产生错误信息C、输出值为2002D、输出值为2003答案:D知识点:自加、自减运算符和逗号运算符54.有以下程序main(){intx,y,z;x=y=1;z=x++,y++,++y;printf(%d,%d,%d\n,x,y,z);}程序运行后的输出结果是______。A、2,3,3B、2,3,2C、2,