有关C语言试题

Python028

有关C语言试题,第1张

你看这行吗? C语言试题(10)选择题(50×2=100)1.以下叙述正确的是( )。A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误2.C语言规定:在一个源程序中,main函数的位置( )。A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后3.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为( )。A)char<int <1ong int<=float<doubleB)char=int<1ong int<=float<doubleC)char< int <1ong int=float=doubleD)char=int =1ong int<=float<double4.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( )。 A)7B)8 C)6 D)25.下面四个选项中,均是C语言关键字的选项是( )。A)auto B)switchC)signedD)if enum typedef union struct include continue scanf type6.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )。 A)必须为字母B)必须为下划线 C)必须为字母或下划线D)可以是字母,数字和下划线中任一种字符7.下面四个选项中,均是不合法的转义字符的选项是( )。 A)'\'' B)'\1011'C)'\011'D)'\abc''\\' '\''\f' '\101'8.若有代数式3ae/bc,则不正确的C语言表达式是( )。 A) a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*39.已知各变量的类型说明如下: int i=8,k,a,bunsigned long w=5double x=1.42,y=5.2则以下符合C语言语法的表达式是( )。A) a+=a-=(b= 4)*(a=3) B)a=a*3=2C) x%(-3)D)y=f1oat(i)10.以下正确的叙述是( )。A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符11.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( )。A)D B)68 C)不确定的值 D)C12.若以下变量均是整型,且num=sum=7则执行表达式sum=num++,sum++,++num后sum的值为( )。 A) 7B) 8 C) 9 D) 1013.若有说明语句:char c='\72'则变量c( )。A)包含1个字符 B)包含2个字符C)包含3个字符 D)说明不合法,c的值不确定14.下面四个选项中,均是非法常量的选项是( )。A)'as' B)'\\' c)-0xl8D)0xabc -0fff '\01'01177 '\0' '\0xa' 12,456 0xf"a"15.设变量n为f1oat类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五人运算的表达式是( )。A) n=(n*100+0.5)/100.0 B)m=n*100+0.5 ,n= m/100.0C) n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.016.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( )。A) 0~255 B) 0~32767 C) 0~65535 D) 0~214748364717.若有以下定义,则能使值为3的表达式是( )。int k= 7,x =12A) x%=(k%= 5) B) x%=(k一k%5)C) x%=k- k%5D) (x%=k)一(k%=5)18.putchar函数可以向终端输出一个( )。A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值19.printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式( )。A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字串,左补空格D)输出错误信息20.若x ,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( )。A) scanf(" %d%lx,%le",&x,&y,&z)B) scanf("%2d * %d%lf"&x,&y,&z )C) scanf("%x %* d%o",&x,&y)D) scanf("%x%o%6.2f",&x,&y,&z)21.已有定义int x f1oat y且执行scanf("%3d%f",&x,&y)语句,若从第一列开始输入数据12345 678(回车),则x 的值为( )。A)12345B)123C) 45 D) 345 22.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是( )。int a1,a2 char c1,c2scanf("%d%d",&a1,&a2)scanf("%c%c",&c1,&c2)A) 1020AB<CR> B)10 20<CR>AB<CR>C)10 20 AB<CR> D)10 20AB<CR>23.以下能正确地定义整型变量a,b和c 并为其赋初值5的语句是( )。 A)int a=b= c= 5 B) int a,b, c= 5C)a= 5,b=5,c=5 D) a= b= c=524.已知ch是字符型变量,下面正确的赋值语句是( )。A) ch= '123' B) ch= '\xff' C) ch= '\08' D) ch="\"25.设x 、y均为f1oat型变量,则以下不合法的赋值语句是( )。A)++x B)y=(x%2)/10C) x*=y+8 D)x=y=026.逻辑运算符两侧运算对象的数据类型( )。 A)只能是0或1 B)只能是0或非0正数 C)只能是整型或字符型数据 D)可以是任何类型的数据27.下列运算符中优先级最高的是( )。 A)< B)十 C)&&D)!=28.设x,y 和z是int型变量,且x = 3,y= 4,z= 5,则下面表达式中值为0的是( )。 A)'y'&&'y' B)x <=y C) x||y+z&&y-z D) !(x<y)&&!z||1)29.判断char型变量c1是否为小写字母 正确表达式为( )。A)' a' <=cl<=' z'B) (cl>= a)&&(cl<=z)C)(' a' >=cl)||(' z' <= cl) D)(c1>='a')&&(cl<='z')30.执行以下语句后a的值为( )。int a,b,ca= b= c= 1++a||++b&&++c A)错误 B) 0 C) 2 D) 131.以下符合c语言语法的赋值表达式是( )。A)d=9+e+f=d+9 B)J=9+e,f=d+9C)d=9+e,e++,d+9 D)d=9+e++=d+732.若有代数式3ae/bc,则不正确的c语言表达式是( )。A)a/b/c*e*3 B)3*a*e/b/cC)3*a*e/b*c D)a*e/c/b*e33.已知各变量的类型说明如下int k,a,bunsigned long w=5double x=1.422;则以下不符合c语言语法的表达式是( )。A)x%(-3) B)w+=-2C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)x(a=3)34.已知字母A的ASCII码为+进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( )。A)D B) 68C)不确定的值 D)C35.若有以下定义:int a,b float x,则正确的赋值语句是( )。A)a=1,b=2,B)b++C)a=b=5 D)b=int(x)36.c语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )。A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任-种字符37.在c语言中,char型数据在内存中的存储形式是( )。A)补码 B)反码 C)原码 D)ASCII码38.若有说明语句:char c='72'则变量c( )。A)包含1个字符B)2个字符C)包含3个字符D)说明不合法,c的值不确定39.己知各变量的类型说明如下:int i=8,k,a,bunsigned long w=55double x=1.42,y=5.2则以下符合c语言语法的表达式是( )。A)+=a-=(b=4)*(a=3)B)a=a*3=2C)x%(-3)D)y=float(i)40.若以下变量均是整型,且num=sum=7则执行表达式sum=num++, sum++,++num后sum的值为( )。A)7B)8C)9D)1041.若有定义:int a=7folat x=2.5,y=4.7则表达式x+a%3*(int)(x+y)%2/4的值是( )。A)2.500000 B)2.750000 C)3.500000 D)0.00000042.设有说明:char wint x,float ydouble z则表达式w*x+z-y值的数据类型为( )。A)float B)char C) int D)double43.设变量n为float类型,m为int 类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )。A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.044.以下关于运算符优先顺序的描述中正确的是( )。A)关系运算符<算术运算符<赋值运算符<逻辑与运算符B)逻辑与运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<迟辑与运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑与运算符45.判断char型变量ch是否为大写字母的正确表达式是( )。A) 'A'<=ch<='Z' B)(ch>='A')&(ch<='Z')C)(ch>='A')&&(ch<+'Z') D)('A'<=ch)AND('Z'>=ch46.下列运算符中优先级最高的是( )。A)< B)+ C)&& D)!=47.执行以下语句后a的值为( )。int a=5,b=6,w=1,x=2,y=3,z=4(a=w>x)&&(b=y>z)A)5B)0C)2D)148.已知 x=43,ch='A',y=0则表达式(x>=y&&ch<'B'&&!y)的值是( )。A)0 B)语法错 C)1D) "假"49.设x、y和s是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是( )。A)'x'&&'y'B)x<=yC)x||y+z&&y-zD)!((x<y)&&!z50.以下不正确的if语句形式是( )。A) if(x>y&&x!=y)B)if(x==y)x+=yC)if(x!=y) scanf("%d",&x) else scanf("%d",&y)D) if(x<y){x++y++}

1.60~69

<60

error!

2.**1**

**3**

3.C

4.sjhiu

5.2*x+4*y==90 或 4*x+2*y==90

6.C

12 . 变量a是int类型,并执行了语句:a=’A’+1.6则正确的叙述是(D)。

A . a的值是字符C B . 不允许字符型和浮点型相加

C . a的值是浮点型 D . a的值是字符’A’的ASCII值加上1

13 . t为int类型,进入下面的循环之前,t的值为0。以下说法中正确的是( C )。

while(t=1) {……}

A.循环控制表达式的值为0B.循环控制表达式的值为1

C.循环控制表达式不合法D.以上说法都不对

14 . 若定义x为double型变量,则能正确输入x值的语句是。 C

A.scanf(“%f”,x) B.scanf(“%f”,&x)

C.scanf(“%lf”,&x) D.scanf(“%5.1f”,&x)

15 . 下面四个选项中,均是不合法的用户标识符的选项是 (B)。答案是C

A . A P_0 doB . float 1a0 _A

C . b-a gotoint D . _123tempINT

16 . 若变量c为char类型,能正确判断出c为小写字母的表达式是( D )。

A. ’a’<=c<=’z’ B. (c>=’a’)||(c<=’z’)

C. (‘a’<=c)and(‘z’>=c) D. (c>=’a’)&&(c<=’z’)

17、设变量a是整型,f是实型,i是双精度型,则表达式(10+'a'+i*f )的值的数据类型为( A )。

A、int B、float C、double D、不确定

18、以下说法正确的是( BD )。

A、 在循环语句中break和continue的用法完全一致

B、 在多层循环中,一个break 语句只能外跳一层

C、 在多层循环中,一个continue语句能结束该层循环

D、 break语句可以用于循环和switch语句外的其他语句

19、在scanf函数的格式控制中,格式说明的类型与输入项的类型应该一一对应匹配。如果类型不匹配,系统将( B)。

A.不予接受

B.并不给出出错信息,但得不到正确的数据

C.能接收到正确的数据

D.给出出错信息,不予接收输入

20、以下程序的输出结果是 (A) 不知楼主为啥给出答案是A,显然是C吗!在C语言中,当输入设定位数不够时,自动的会按给定数的位数输出,不信你可以写程序试一下结果。

int a=1234

printf(“%2d\n”,a)

A、12 B、34 C、1234 D、提示出错,无结果