C语言二级考试上机题

1.表示关系x≥y≥z应使用C语言表达式()

A)(x>=y)&&(y>=z)B)(x>y)AND(y>z)C)x>=y>=zD)(x>=y)&(y>=z)

2.C语言可执行程序的开始执行点是()
A)程序中第一条可执行语言B)程序中第一个函数
C)程序中的main函数D)包含文件中的第一个函数

3.以下if语句书写正确的是()
A)if(x=0;)
printf("%f",x);
else printf("%f",-x);
B)if(x>0)
{x=x+1;printf("%f",x);}
else printf("%f",-x);
C)if(x>0);
{x=x+1;printf("%f",x);}
else printf("%f",-x);
D)if(x>0)
{x=x+1;printf("%f",x)}
else printf("%f",-x);

4.以下表达中正确的是()
A)在C程序中,语句之间必须要用分号(;)分隔
B)在C程序中#include行和#define行不是C语句
C)程序中的注释部分可有可无,通常可以省略
D)当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值

5.以下语句的输出结果是()
printf("%d,%d,%u\n",016,16,-16);
A)16,16,65420
B)14,16,6542
C)16,16,-16
D)14,16,-16

6.以下选项中,与k=n++完全等价的表达式是()
A)k=n,n=n+1
B)n=n+1,k=n
C)k=++n
D)k+=n+1

7.以下合法的赋值语句是()
A)x=y=100
B)d--;
C)x+y;
D)c=int(a+b);

8.设a、b、c为int型变量,若从键盘给a、b、c输入数据,则正确的输入语句是()
A)scanf("%d%d%d",a,b,c);
B)put("%d%d%d",a,b,c);
C)input("%d%d%d",a,b,c);
D)scanf("%d%d%d",&a,&b,&c);

9.以下正确的数组定义语句是()
A)int y[1][4]={1,2,3,4,5,}
B)float x[3][]={{1},{2},{3}}
C)long s[2][3]={{1},{1,2}{1,2,3,}}
D)double t[][3]={0}

10.设有如下的变量定义:
int i=8,k,a,b;
unsinged long w=5;
double x=1.42,y=5.2
则以下符合C语言语法的表达式是()
A)a+=a-=(b=4)*(a=3)
B)x%(-3);
C)a=a*3=2
D)y=float(i)

11.以下字符串不属于标识符的是()
A)sum
B)average
C)day_night
D)M.D.JOHN

12.若t已定义为double类型,表达式:t=1,t++,t+5的值是()
A)1
B)7.0
C)2.0
D)1.0

13.以下各选项企图说明一种新的类型名,其中正确的是()
A)typedef v1int;
B)typedefv2=int;
C)typedef intv3;
D)typedefv4∶int;

14.若有代数式“ex+y2+y/x”,则正确的C语言表达式是()
A)ex+y*y+y/x
B)exp x+pow (y,2)+y/x
C)exp (x)+pow(y,2)+y/x
D)ex+y2+y/x

15.若x=3,y=z=4,则以下表达式的值分别为()
(1)(z>=y>=x)? 1∶0
(2)y+=z,x*=y
A)0 24
B)1 8
C)0 8
D)1 12

16.下面程序的输出结果是()
main()
{ int i,j;
i=16;j=(i++)+i;printf("%d",j);
i=15;printf("%d%d",++i,i);
}
A)32 16 15
B)33 15,15
C)34 15,16
D)34 16 15

17.在C语言中,整数65534在存储单元中的存储情况是()
A)11 11 11 11 11 11 11 11
B)10 00 00 00 00 00 00 10
C)01 11 11 11 11 11 11 11
D)11 11 11 11 11 11 11 10

18.执行语句“for(n=10;n>0;) printf("%d",--n+n--);”后,以下说确的是()
A)循环体执行了5次,最终n的值是-1
B)循环体执行了6次,最终n的值是-1
C)循环体执行了6次,最终n的值是0
D)循环体执行了5次,最终n的值是0

19.若有以下定义和语句:
intu=010,v=0x10,w=10;
printf("%d,%d,%d\n",u,v,w);
则输出结果是()
A)8,16,10
B)10,10,10
C)8,8,10
D)8,10,10

20.以下函数调用语句中实参的个数是()
func((exp1,exp2),(exp3,exp4,exp5));
A)1
B)2
C)4
D)5

31.以下正确的实型常量是()
A)1.2E
B).579899
C)1.2e0.6
D)8

32.若题中各变量已正确定义并赋值,下面符合C语法的表达式是()
A)a%=7.6;
B)a++,a=7+b+c
C)int(12.3)%4
D)a=c+b=a+7

33.假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(w<Z)?M:Z;
则该程序段执行后,m的值是()
A)4
B)3
C)2
D)1

34.若有如下程序段:
int x=3,y=4,z;float a=2.0;
z=y%x/a;
则执行后,z中的值是()
A)4
B)3.0
C)0
D)0.5

35.在16位C编译系统上,若定义long a;,则能给a赋值40000的正确语句是()
A)a=20000+20000;
B)a=4000*10;
C)a=30000+10000;
D)a=4000L*10L;

36.在以下4个选项中,均属于C语言不合法标识符的是()
A)include
B)c.2
C)na
D)PI

37.以下有关格式输入函数scanf的表达中正确的是()
A)输入项可以是C语言中规定的任何变量,并且在任何变量前必须加地址符号“&”
B)可以只有格式控制项,没有地址列表项
C)在输入数据时,必须规定精度。如:scanf ("%4.2f",&d);
D)当输入数据时,必须指明变量地址

38.有以下程序:
main()
{inty=3,x=3,z=1;
printf("%d%d\n",(++x,y++),z+2);
}
执行后的输出结果是()
A)34
B)42
C)43
D)33

39.C语言提供的合法关键字是()
A)swicth
B)cher
C)Case
D)default

40.以下选项中不属于C语言数据类型的是()
A)整型
B)逻辑型
C)双精度型
D)枚举型

41.已有定义语句:intx=3,y=0,z=0;,则值为0的表达式是()
A)x&&y
B)x||z
C)x||z+2&&y-z
D)!((x<y)&&!z||y)

42.能正确表示代数式3xn2x-1的C语言表达式是()
A)3*x^n/(2*x-1)
B)3*x**n/(2*x-1)
C)3*pow(x,n)*(1/(2*x-1))
D)3*pow(n,x)/(2*x-1)

43.若int类型数据占两个字节,则以下语句
int k=-1;
printf("%d,%u\n",k,k);
的输出为()
A)-1,-1
B)-1,32767
C)-1,32768
D)-1,65535

44.以下常数中,不合法的C常量是()
A)-0x3b1
B)123e+2.3
C)′}′
D)6e+7

45.如果int i=3,则 k=(++i)+(++i)+(i++)执行过后k的值为,i的值为。()
A)15,6
B)12,5
C)18,6
D)15,5

46.以下有四组用户标识符,其中合法的一组是()
A)For
-sub
Case
B)4d
DO
Size
C)f2_G3
IF
abc
D)WORD
void
define

47.以下非法的赋值语句是()
A)n=(i=2,++i)
B)j++
C)++(i+1)
D)x=j>0

48.有以下程序
main()
{double d;floatf;long l;inti;
i=f=l=d=20/3;
printf("%d%ld%f%f\n",i,l,f,d);
}
程序运行后的输出结果是(小数点后只写1位)()
A)666.06.0
B)666.76.7
C)666.06.7
D)666.76.0

49.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量′\101′是()
A)字符A
B)字符a
C)字符e
D)非法的常量

50.若变量已正确说明为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是()
A)10
22
33
B)10.0,22.0,33.0
C)10.0
22.033.0
D)1022
33

51.以下表达中正确的是()
A)C程序由函数和过程组成
B)C程序由主函数组成
C)C程序由函数组成
D)C程序中,主函数必须放在其他函数之前

52.以下运算符中,不属于关系运算符的是()
A)<
B)>=
C)==
D)!

53.以下属于合法的C语言无符号短整型常数的选项是()
A)-2
B)65536
C)123L
D)50000

54.设a,b均为float型变量,则以下非法的赋值语句是()
A)b=(a/5)/8;
B)++a
C)a=1.0,b=2.0,
D)a+=3;

55.设有如下变量定义:
doublea=3.500000;floatb=2.5;intm=2,n=3;
则表达式“(float)(m+n)/2+(int)a%(int)b”的值是()
A)2.5
B)3.5
C)4.5
D)表达式不正确

56.先用以下语句定义字符型变量:
char c;
然后要将字符a赋给变量c,则以下语句中正确的是()
A)c=′a′;
B)c="a";
C)c="97";
D)c=′97′

57.设有语句char a=′\72′;,则变量a()
A)包含1个字符
B)包含2个字符
C)包含3个字符
D)说明不合法

58.以下表达中正确的是()
A)C程序中,赋值运算符的优先级最低
B)若a是实型变量,C程序中允许进行以下赋值:a=10,因此,实型变量中允许存放整型数
C)若a和b类型相同,在执行了赋值a=b后b中的值将放入a中,b中的值将丢失
D)在C程序中,除号运算符“/”两边的类型相同时才能进行相除运算

59.已有定义:doublex;inti;,能正确给x赋70000.0的表达式是()
A)x=7000*10
B)x=70000
C)x=35000+35000
D)i=700,x=i*100

60.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()
A)a<>0
B)!a
C)a=0
D)a

61.以下说确的是()
A)在执行C程序时不是从main函数开始的
B)C程序书写格式严格限制,一行必须写一个语句
C)C程序书写格式自由,一个语句可以分写在多行上
D)C程序书写格式严格限制,一行必须写一个语句,并要有行号

62.C语言中最简单的数据类型包括()
A)整型、实型、逻辑型
B)整型、实型、字符型
C)整型、字符型、逻辑型
D)整型、实型、逻辑型、字符型

63.在以下一组运算符中,优先级最高的运算符是()
A)<=
B)=
C)%
D)&&

64.以下表达中,正确的一条是()
A)语句“goto 12;”是合法的
B)for(;;)语句相当于while(1)语句
C)if(表达式)语句中,表达式的类型只限于逻辑表达式
D)break语句可用于程序的任何地方,以终止程序的执行

65.设int a=12,则执行完语句a+=a-=a*a后,a的值是()
A)552
B)264
C)144
D)-264

66.以下选项中均属于C语言合法的标识符的是()
A)Int
B)_3ab
C)3a
D)WORD
#subFORprintfauto
breakLonga_binclude

67若有如下变量定义并赋值:
inta=1,b=2,c=3,k;float f=2.5,e;doubled=2.4,g;
则以下符合C语言语法的表达式是()
A)e=c*=a+=d*f%b
B)(k=a+b,b*f++,k%c)
C)g=a+f*c=5
D)x=double(b)

68.设x是int型变量,则计算表达式“x=25/3%3”的值是()
A)0
B)1
C)2
D)非法

69.以下能正确表示x在-5到-1或5到1围(含5和1),值为“真”的表达式是()
A)(x>=-5)||(x<=-1)&&(x<=5)&&(x>=1)
B)!(x>=-5||x<=-1&&x<=5||x>=1)
C)x<-5&&x>-1||x<1&&x>5
D)(x<-5)||(x>-1&&x<1)||(x>5)

70.若int类型数据占两个字节,则以下语句的输出结果为()
int x=-1;
printf("%u\n",x);
A)-1
B)32767
C)65535
D)65536

71.C语言程序的基本单位是()
A)函数
B)过程
C)字符
D)语句

72.以下正确的变量声明是()
A)intm;n;k;
B)unsigned intm,n,k;
C)double int m,n,k;
D)intm,n,k

73.已知大写字母B的ASCII码值是66,小写字母b的ASCII码值是98,则用八进制表示的字符常量′\142′是()
A)字符B
B)字符b
C)字符a
D)非法的常量

74.以下表达中错误的是()
A)在C程序中,APH和aph是两个不同的变量
B)C程序中的变量,代表存中的一个存储单元,它的值可以根据需要随时修改
C)在C程序中,无论是整数还是实数,都能准确无误地表示
D)在C程序中,一个正整数可以用十进制、八进制和十六进制的形式来表示

75.设a、b和 c都是int型变量,且a=3,b=4,c=5,则以下值为0的表达式是()
A)′a′&&′b′
B)a<=b
C)a||b+c&&bc
D)!((a<b)&&!c||1)

76.以下表达中正确的是()
A)输入项可以是一个实型常量,如scanf("%f",3.5);
B)只有格式控制,没有输入项,也能正确输入数据到存,例如:
scanf("a=%d,b=%d");
C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:
scanf("%4.2f",&f)
D)当输入数据时,必须指明变量地址,例如:scanf("%f",&f);

77.有以下程序
main()
{int x=10,y=10;printf("%d%d\n",x--,--y);}
程序运行后的输出结果是()
A)1010
B)99
C)910
D)109

78.C语言中各种基本数据类型的存储空间长度排列为()
A)char≤long≤int≤float≤double
B)double≤float≤long≤int≤char
C)char≤int≤long≤float≤double
D)float≤int≤long≤char≤double

79.设有如下定义
int x=10,y=3,z;
则语句
printf("%d\n",z=(x%y,x/y));
的输出结果是()
A)3
B)0
C)4
D)1

80.下述语句中,中的if语句语法是错误的。()
A)if (x>y);
B)if (x==y) x+=y;
C)if (x!=y) scanf("%d", &x) else scanf("%d",&y);
D)if (x<y) {x++;y++; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平头哥在等你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值