C语言-基本选择题及答案

上传人:奇异 文档编号:68877471 上传时间:2022-04-05 格式:DOCX 页数:16 大小:66.26KB
收藏 版权申诉 举报 下载
C语言-基本选择题及答案_第1页
第1页 / 共16页
C语言-基本选择题及答案_第2页
第2页 / 共16页
C语言-基本选择题及答案_第3页
第3页 / 共16页
资源描述:

《C语言-基本选择题及答案》由会员分享,可在线阅读,更多相关《C语言-基本选择题及答案(16页珍藏版)》请在装配图网上搜索。

1、计算机程序设计基础(C语言)单项选择练习题一基本概念1. c语言程序是由c构成的。A)一些可执行语言B)main函数C)函数D)包含文件中的第一个函数2. (A)是构成C语言程序的基本单位。A函数B、过程C、子程序D、子例程3. C语言程序从C开始执行。A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在_D。A)程序文件的开始B)程序文件的最后C)它所调用的函数的前面D)程序文件的任何位置5、以下说法中正确的是(C)。A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的

2、函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分6.下列方法中错误的是(D)。A.主函数可以分为两个部分:主函数说明部分和主函数体。B.主函数可以调用任何非主函数的其它函数。C.任何非主函数可以调用其它任何非主函数。D.程序可以从任何非主函数开始执行。7 .下列说法错误的是:(B)A. C程序运行步骤是编辑、编译、连接、执行。B. C语言的变量名必须用小写,常量用大写。C. C语言的三种基本结构是顺序、选择、循环。D. C程序一定由函数构成的。8 .下列关于C语言的说法错误的是(B)。A) C程序的工作过程是编

3、辑、编译、连接、运行B) C语言不区分大小写。C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行9 .系统默认的C语言源程序扩展名为.C,需经过C之后,生成.exe文件,才能运行?A)编辑?编译B)编辑?连接C)编译?连接D)编辑?改错*10.下列说法中正确的是(B)。A.由于C源程序是高级语言程序,因此一定要在TC软件中输入。B.由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。C.由于C程序是高级语言程序,因此输入后即可执行。D.由于C程序是高级语言程序,因此它是由命令组成的。二、数据类型、运算符与表达式1.不是C语言提供的合法关键字

4、是(B)0A.switchB.cherC.caseD.default*2.C语言提供的合法关键字是(D)0A.nextB.stringC.docaseD.struct*3.下列不属于C语言中关键字的是BA)longB)printC)defaultD)typedef4 .下列正确的标识符是(C)。A.-a1B.aiC.a2_iD.intt5 .下列C语言用户标识符中合法的是(B)。A、*yB、sumC、intD、%5f6 .下面四个选项中,合法的标识符是:(D)A.autoB.defineC.6aD.c7 .下列C语言用户标识符中合法的是(B)。A)3axB)xC)caseD)-e2E)unio

5、n8 .以下选项中合法的用户标识符是BA)longB)_2TestC)3DmaxD)A.dat9 .下列四组选项中,正确的C语言标识符是(C)。A)%xB)a+bC)a123D)12310.请选出可用作C语言用户标识符的一组标识符(B)A)voidB)a3_b3C)ForD)2adefine_123-abcDOWORDsumCasesizeof11、下列四组字符串中都可以用作C语言程序中的标识符的是(A)0、print _3d db8 aBc B、str_1 Cpp pow while D、Iam one_half start$it 3pai、Pxq My-book line# His.age

6、12 .下列C语言标识符中合法的变量名是B。A)2e3B)youC)*yD)float13 .C语言中的简单数据类型包括(D)。A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型14、下列可以正确表示字符型常量的是(A)。A、tB、aC、n”D、29715 .下列表达式中,D是正确的C语言字符常量。A)xB)e3C)COMPUTERD)#16 .在下列表达式中,属于字符型常量的是B0A)AB)aC)AD)b17 .以下选项中合法的字符常量是(B)A)BB)nC)68D)E18 .下面字符常量表示错误的是(D)A)aB)?C)nD)n19 .已定义

7、c为字符型变量,则下列语句中正确的是(C)A)c=97B)c=97C)c=aD)c=a20 .已知ch是字符型变量,不正确的赋值语句是(A)A)ch=a+b;B)ch=0;C)ch=7;D)ch=;21 .C语言中字符型(char)数据在内存中的存储的是(D)A)原码B)补码C)反码D)ASCII码22 .在C语言中,字符型数据所占的内存空间是(C)A)2个字节B)4字节C)1字节D)由用户自定义*23.若int类型数据占2个字节,则unsignedint类型数据的取值范围是(B)A)0255B)065535C)-3276832767D)-25625526 .C语言中运算对象必须是整型的运算符

8、是(A)A)%=B)/C)=D)=27 .在C语言程序中,表达式8/5的结果是(B)A)1.6B)1C)3D)028 .设x为int型变量,则执行以下语句后,x的值为Bx=10;x+=x;A)10B)20C)40D)3031 .在C语言程序中,表达式5%2的结果是CA)2.5B)2C)1D)332 .如果inta=3,b=4;则条件表达式ab?a:b的值是一AA)3B)4C)0D)133 .若intx=2,y=3,z=4则表达式xz?y:z的结果是(B).A)4B)3C)2D)0E)134 .C语言中,关系表达式和逻辑表达式的值是(B)37.下面(D)表达式的值为4.A)11/3B)11.0/

9、3C)(float)11/3D)(int)(11.0/3+0.5)*39.已知intx=5,y=5,z=5;执行语句x%=y+z后,x的值是(C)A.0B.1C.5D.640 .已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=A+6-3;后,c2中的值为(B)A)68B)DC)错误D)d41 .下列关于C语言的叙述错误的是(A)A)大写字母和小写字母的意义相同B)不同类型的变量可以在一个表达式中C)在赋值表达式中等号(二)左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义42 .有:intw=11,x=12,y=3,m;执行下面语句后m的结

10、果是(C)m=(wx)?w:x;m=(mx)?w:x;m=(my)?m:y;A.12B.0C.3D.145.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是(B)A.b=1.0/aB.b=(float)(1/a)C.b=1/(float)aD.b=1/(a*1.0)48.以下运算符中优先级最高的运算符是(B)A)&B)+C)+=D)!=49.若“intn;floatf=13.8;”,则执行“n=(int)f%3后,n的值是(A)A.1B.4C.4.333333D.4.652 .设x为int型变量,则执行以下语句后,x的值为(C)x=10;x*=x;A)10B)20C)100D

11、)053 .若有语句inta=1,b;doubley=2.3;b=(int)y;则b的值为(B)A)3B)2C)1D)2.354 .已知intx;chary;则下面错误的scanf函数调用语句为(B)A)scanf(d,%d,&x,&y);B)scanf(d,%C,x,y)C)scanf(d%d,&x,&y)D)scanf(d,%C,&x,&y)57.在C语言的库函数中,可以输出char型变量x值的语句是CA)getchar(x);B)fputc(x)C)putchar(x)D)puts(x)60 .以下说法正确的是(C)A) x+5是一个错误的表达式B) C语言不允许类型的混合运算C)强制类

12、型转换时,类型说明符必须加括号D)(int)x+y和(int)(x+y)是完全等价的表达式61 .设intx=0,y=1;表达式(x|y)的值是(B)A)0B)1C)2D)-1三、选择结构1 .在C语言中,认为(D)为逻辑真”A)trueB)大于0的数C)非0整数D)非0的数2 .表示关系x=y=z的c语言表达式为AA)(x=y)&(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=10或a&0”的C语言表达式是(D)A)a=10ora=0|a=10&a=10IIa=04、判断char型变量c1是否为大写字母的表达式为(D)。A、A=c1=A)&(c1=Z)C、(A

13、=c1)D、c1=A&c1=Z5 .为表示逻辑表达式79X79)&(X79)!=(X90)C)79X79)|(X0&b&c0&dM0的值是(A)A.1B.0C.-1D.出错7 .设a为整型变量,则不能正确表达数学关系10a15的C语言表达式是(A)。A.10a10&a15D.!(a=15)8 .设x,t均为int型变量,则执行语句“x=10;t=x&x10;”后,t的值为(D)A.不定值B.10C.1D.09 .若inti=10;执行下列程序后,变量i的正确结果是(A)。switch(i)case9:i+=1;case 10: i+=1;case 11: i+=1;default:i+=1;A

14、、13B、12C、11D、1010 .在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是(D)0A、if(a)s1;elses2;B、if(a=0)s2;elses1;C、if(a!=0)s1;elses2;D、if(a=0)s1;elses2;11 .假定所有变量均已正确定义,则下列程序段运行后y的值是(A)inta=0,y=10;if(a=0)y-;elseif(a0)y+;elsey+=y;A.20B.11C.9D.012 .假定所有变量均已正确定义,则下列程序段运行后x的值是(B)。a=b=c=0;x=35;if(!a)x-;elseif

15、(b);if(c)x=3;elsex=4;A.34B.4C.35D.313 .C语言对嵌套if语句的规定是:else语句总是与(D)配对。A)其之前最近的ifB)第一个ifC)缩进位置相同的ifD)其之前最近的且尚未配对的if14 .在C语言语句中,用来决定分支流程的表达式是(A)。A.可用任意表达式B.只能用逻辑表达式或关系表达式C.只能用逻辑表达式D.只能用关系表达式15 .C语言中用(B)表示逻辑“真”。A.trueB.整数值1C.非零整数值D.false16、若k是int型变量,且有下面的程序段:intk;k=-3;if(k=0)printf(#);elseprintf(“&);上面程

16、序段的输出结果是(A)A#B、&C#&D、有语法错误,无输出结果17.main()intx=0,a=0,b=0;switch(x)case0:b+;case 1: a+;case 2: a+;b+;printf(a=%d,b=%dn,a,b);该程序的输出结果是DA)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=218 .以下程序的输出结果是:(C)main()intx=-10,y=1,z=1;if(xy)if(yb)a=b;b=c;c二a;printf(a=%2db=%2dc=%2dn,a,b,c);A)a=10b=50c=10B)a=10b=30c=10四、循环结构*1

17、.在C语言中,A) do-whileB) do-whileC) do-whileD) do-whileC)a=50b=30c=10D)a=50b=30c=50卜列说法中正确的是(D)。语句构成的循环不能用其它语句构成的循环来代替。语句构成的循环只能用break语句退出。语句构成白循环在while后的表达式非零时结束循环。语句构成的循环,在while后的表达式为零时结束循环。2. break语句不能出现在(D)语句中elseA.switchB.forC.whileD.if*3.对于break语句和continue语句的说法错误的是(B)A) break语句不能用于循环语句和switch语句之外的

18、任何其他语句中。B) break和continue也可以用于if语句中C) continue语句只结束本次循环,而不是终止整个循环的执行。D) break语句是结束整个循环过程,不再判断执行循环的条件是否成立。4 .语句while(!y);中的表达式!y等价于AA)y=0B)y!=1C)y=!0D)y=15 .若有“inta=1,x=1;,则循环语句“while(a0);A.是死循环B.循环执行一次C.循环执行二次D.有语法错误10.下面程序段执行后的结果为:(B)intsum=0,n=10;dosum=sum+n;n+;while(n0;i+);”的循环执行(A)。A.无限次B.不确定次C.

19、10次D.9次13 .执行语句for(j=0;j=3;j+)a=1;后变量j的值是C.A)0B)3C)4D)114 .有如下程序main()inti,sum=2;for(i=1;i=3;i+=2)sum+=i;printf(dn”,sum);该程序的执行结果是AA)6B)3C)死循环D)4五数组1 .以下对一维数组a的正确说明是:DA)chara(10);B)inta口;C)intk=5,ak;D)chara3=a,b,c;2 .以下能对一维数组a进行初始化的语句是:(C)A.inta5=(0,1,2,3,4,)B.inta(5)=C.inta3=0,1,2D.inta5=10*13 .在C语

20、言中对一维整型数组的正确定义为D0A)inta(10);B)intn=10,an;C)intn;an;D)#defineN10intaN;4、已知:inta10;则对a数组元素的正确引用是(D)。A、a10B、a3.5C、a(5)D、a05.执行下面的程序段后,变量k中的值为CA)不定值B)33C)30D)10intk=3,s2;s0=k;k=s0*10;*6.下列说法中错误的是CA构成数组的所有元素的数据类型必须是相同的B用指针法引用数组元素允许数组元素的下标越界C一维数组元素的下标依次是1、2、3D定义数组时的长度可以是整型常量表达式7 .若有以下数组说明,则数值最大的和最小的元素下标分别

21、是(B)。inta12=1,2,3,4,5,6,7,8,9,10,11,12;A.1,12B.0,11C.1,11D.0,128 .若有以下数组说明,则i=10;aai元素数值是(B)。inta12=1,4,7,10,2,5,8,11,3,6,9,12;A.10B.9C.6D.59 .假定int类型变量占用两个字节,具有定义:intx10=0,2,4;,则数组x在内存中所占字节数是DA)3B)6C)10D)2011 .若有说明:inta3=1,2,3,4,5,6,7;则数组a的第一维的大小为:(B)A.2B.3C.4D.无确定值12 .以下定义语句中,错误的是(D)A)inta=1,2;B)c

22、har*a;C)chars10=test;D)intn=5,an;13 .下面程序段的输出结果是:(C)inti;intx33=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+)printf(%d,xi2-i);A)159B)147C)357D)36914 .对二维数组的正确定义是(C)A.inta=1,2,3,4,5,6;B.inta2=1,2,3,4,5,6;C.inta3=1,2,3,4,5,6;D.inta2,3=1,2,3,4,5,6;15 .已知inta34;则对数组元素引用正确的是CA)a24B)a1,3C)a2D)a(2)(1)六、函数1.C语言中函数返回值的类型

23、是由A决定的.A)函数定义时指定的类型B)return语句中的表达式类型C)调用该函数时的实参的数据类型D)形参的数据类型2.在C语言中,函数的数据类型是指(A)A函数返回值的数据类型B.函数形参的数据类型C调用该函数时的实参的数据类型D.任意指定的数据类型A.由系统选择B.单向值传递C.由用户指定传递方式D.地址传递5.在函数调用时,以下说法正确的是(B)A.函数调用后必须带回返回值8 .实际参数和形式参数可以同名C.函数间的数据传递不可以使用全局变量D.主调函数和被调函数总是在同一个文件里9 .以下叙述中正确的是AA)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main

24、()函数必须放在其它函数之前D)所有被调用的函数一定要在调用之前进行定义10 .用数组名作为函数调用时的实参时,传递给形参的是A。A)数组首地址B)数组第一个元素的值C)数组全部元素的值D)数组元素的个数*16.下列说法中正确的是:(A)A.局部变量在一定范围内有效,且可与该范围外的变量同名。B.如果一个源文件中,全局变量与局部变量同名,则在局部变量范围内,局部变量不起作用。C.局部变量缺省情况下都是静态变量。D.函数体内的局部静态变量,在函数体外也有效。17 .在C语言中,表示静态存储类别的关键字是:(C)A)autoB)registerC)staticD)extern18 .未指定存储类别

25、的变量,其隐含的存储类别为(A)oA)autoB)staticC)externD)register八.指针1 .语句int*p;说明了C。A)p是指向一维数组的指针B)p是指向函数的指针,该函数返回一int型数据C)p是指向int型数据的指针D)p是函数名,该函数返回一指向int型数据的指针2 .变量的指针,其含义是指该变量的:(B)A.值B.地址C.名D.一个标志3 .若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是(A)A)pb=&xB)pb=xC)*pb=&xD)*pb=*x4、已知:inta,*p=&a;则下列函数调用中错误的是(D)。A、scanf(d,&a);B、

26、scanf(d,p);C、printf(d,a);D、printf(d,p);5 .对于同类型的指针变量,不可能进行的运算是(C)。A.-B尸C.+D.=6 .对于基类型相同的两个指针变量之间,不能进行的运算是A)B)=C)+D)-7 .下列不正确的定义是(A)。A.int*p=&i,i;B.int*p,i;C.inti,*p=&i;D.inti,*p;8 .若有说明:intn=2,*p=&n,*q=p,则以下非法的赋值语句是:(D)A)p=qB)*p=*qC)n=*qD)p=n9 .int*p,a=10,b=1;p=&a;a=*p+b;执行该程序段后,a的值为_CA)编译出错B)10C)11

27、D)1210 .有语句:inta10,;则B是对指针变量p的正确定义和初始化。A)intp=*a;B)int*p=a;C)intp=&a;D)int*p=&a;11 .若有说明语句“inta5,*p=a;,则对数组元素的正确引用是(C)。A.apB.paC.*(p+2)D.p+212 .若指针变量p指向整型数组a10的首地址,即p=a;则下列数组元素ai(0i10)的表示方法中正确的是:(C)A.p+iB.&(a+i)C.*(a+i)D.*(p+i*2)13 .有如下程序inta10=1,2,3,4,5,6,7,8,9,10,*P=a;则数值为9的表达式是BA)*P+9B)*(P+8)C)*P

28、+=9D)P+816.若有以下说明:inta10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为4的表达式是(C)A)*p+4B)*(p+4)C)*(p+3)D)p+319.下列函数的功能是A。voidfun(int*p1,int*p2)intp;p=*p1;*p1=*p2;*p2=p;A)交换*p1和*p2的值B)语法正确,但无法交换*p1和*p2的值C)交换*p1和*p2的地址D)有语法错误九、字符串1 .在C语言中,以D作为字符串结束标志A)nB)C)0D)02 .下列数据中属于“字符串常量”的是(A)0A.aB.ABCC.abc0D.a3 .字符串“ABCD在内存占用的字

29、节数是(D)。A.4B.6C.1D.54 .下面不正确的字符串常量是:(A)“0” DA.PROGRAMB1212C5.设有数组定义:char array =abcd;A) 4个字节 B) 5 个字节 C) 6 7.已知 char x=hello, y=h,e,a,b,e;, 度的正确描述是B .A)相同B)x 大于y C)x8.给出以下定义:char x =abcdefg;char y =a,b,c,d,e,f,g;则正确的叙述为 CA)数组x和数组y等价B)C)数组x的长度大于数组y的长度 9、若有以下语句,则正确的描述是(小于则数组array所占的空间为 B个字节 D) 7 个字节 则关

30、于两个数组长一y D)以上答案都不对数组x和数组y的长度相同D)数组x的长度小于数组y的长度 D )。static char x=static char y =12345”1,2,3,4,5,0;A、x数组长度大于y数组长度B、x数组和y数组不相同C、x数组长度小于y数组长度D、x数组等价于y数组10、已知:chars20=programming,*ps=s;则不能引用字母。的表达式是(C)。A、ps2B、s2C、ps+2D、ps+=2,*ps13 .对字符数组s赋值,不合法的一个是(C)A. chars=Beijing;B. chars20=beijing;C. chars20;s=Beij

31、ing;D. chars20=B,e,i,j,i,n,g;14 .对字符数组str赋初值,str不能作为字符串使用的一个是(D)A. charstr=shanghai;B. charstr=shanghai;C. charstr9=s,h,a,n,g,h,a,i,0;D. charstr8=s,h,a,n,g,h,a,i;15 .合法的数组定义是CA)inta=string”;B)inta5=0,1,2,3,4,5;C)chara=string;D)chara5=0,1,2,3,4,5;16 .对字符数组s赋值,不合法的是:(C)A)chars=china;B) chars20=china”C) chars20;s=china;D)chars20=c,h,i,n,a17.下面初始化与此初始化A) char c = I ,B) char c = I ,C) char c = I, D)char c = I ,charc=Iamhappy;等价的是(A)a,M,FJppy0;ami,happy;a,M,h,a,p,p,y;ami,,happy,,,0,;19.下列字符串赋值方式不正确的是(A)A).charstr20;B).char*str;str=Iamaboy!”;str=Iamaboy!”;C).char*str=(amlaboy!;D).charstr20=Iamaboy!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!