首页 - 网校 - 万题库 - 美好明天 - 直播 - 导航
您现在的位置: 考试吧 > 计算机等级考试 > 计算机二级考试 > C语言 > 模拟试题 > 正文

2018年9月计算机二级C语言考试章节习题及答案(8)

来源:考试吧 2018-08-21 14:19:41 要考试,上考试吧! 万题库
“2018年9月计算机二级C语言考试章节习题及答案(8)”供考生参考。更多计算机等级考试模拟试题等信息请访问考试吧计算机等级考试网。

  点击查看:2018年9月计算机二级C语言考试章节习题及答案汇总

  第2章 C程序设计的初步知识

  2.5 算术表达式

  1 [单选题] 以下不能正确计算代数式 值的C语言表达式是( )。

  A.1/3*sin(1/2)*sin(1/2)

  B.sin(0.5)*sin(0.5)/3

  C.pow(sin(0.5),2)/3

  D.1/3.0*pow(sin(1.0/2),2)

  参考答案:A

  2 [单选题] 若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是(  )。

  A.1

  B.0

  C.2

  D.不知道a的值,不能确定

  参考答案:A

  参考解析:

  逻辑或”||”要求只要两边的运算对象有一个非零,结果就为真。虽然不知道a的值,但是若a为l,则左边运算对象为1;若a的值不是1,则右边运算对象的值为1,所以总能保证一边非零,所以结果为真,即1。

  3 [单选题] 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )

  A.x=x*100+0.5/100.0;

  B.x=(x*100+0.5)/100.0;

  C.x=(int)(x*100+0.5)/100.0;

  D.x=(x/100+0.5)*100.0;

  4 [单选题] 表达式3.6-5/2+1.2+5%2的值是( )。

  A.4.3

  B.4.8

  C.3.3

  D.3.8

  参考答案:D 。

  参考解析:

  此题考核的是算术运算符的运算规则,算术运算符的结合方向为“自左至右”,先按运算符的优先级别高低次序执行,同时在C中两个整数相除或求余数其结果依旧为整数。计算后结果为3.8。

  5 [单选题] 已知字母A的ASCIl代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是

  A.kk>='A'&&kk<='Z'

  B.!(kk>='A'||kk<='Z')

  C.(kk+32)>='a'&&(kk+32)<='z'

  D.isalpha(kk)&&(kk<91)

  参考答案:B

  6 [单选题] 当变量 c 的值不为 2、4、6时,值也为“真”的表达式是

  A.(c==2)||(c==4)||(c==6)

  B.(c>=2&&c<=6)||(c!=3)||(c!=5)

  C.(c>=2&&c<=6)&&!(c%2)

  D.(c>=2&&c<=6)&&(c%2!=1)

  参考答案:B

  参考解析:

  条件语句if(a>B.不成立,所以语句a=b;不执行,语句c=a;执行后, c=3,此时条件语句if(C!=A.不成立,所以语句c=b;不执行。结果为a=3,b=5,c=3。

  7 [单选题]

2018年9月计算机二级C语言考试章节习题及答案(8)

2018年9月计算机二级C语言考试章节习题及答案(8)



  参考答案:D

  参考解析:

  C语言中*和/处于同一优先级中,且按由左向右结合顺序,由此判断本题D选项不符合。

  8 [单选题] 若有表达式(w)?(--x):(++y),则其中与w等价的表达式是 (  )

  A.w=-1

  B.w=-0

  C.w!=1

  D.w!=0

  参考答案:D

  参考解析:

  由条件表达式:的执行情况来判断,表达式(W)和表达式W!=0的逻辑值是一致的,所以本题选D选项。

  9 [单选题] 有以下程序

2018年9月计算机二级C语言考试章节习题及答案(8)


  (  )

  A.21

  B.11

  C.6

  D.1

  参考答案:A

  参考解析:

  a左移两位与b值求或,a左移两位结果为20,b值为1,a和b求或得值为21。所以A为正确选项。

  10 [单选题] 表达式:(int)((double)9/2)-(9)%2的值是 (  )

  A.0

  B.3

  C.4

  D.5

  收藏本题

  参考答案:B

  参考解析:

  (int)((double)9,/2)的值为4,(9)%2的值为1,则整个表达式的值为3。

  11 [单选题] 若有定义语句:intx=10;则表达式x-=x+X的值为 (  )

  A.-20

  B.-10

  C.0

  D.10

  参考答案:B

  参考解析:

  x-=x+X,即x=x-(x+x),x=-X,故x=-10。

  12 [单选题] 有以下程序:

  #include

  void main()

  {

  int s;

  scanf("%d",&s);

  while(s>0)

  {

  switch(s)

  {

  case 1:printf("%d",s+5);

  case 2:printf("%d",s+4);break;

  case 3:printf("%d",s+3);

  default:printf("%d",s+1);break;

  }

  scanf("%d",&s);

  }

  }

  运行时,若输入1 2 3 4 5 0<回车>,则输出结果是

  A.6566456

  B.66656

  C.66666

  D.6666656

  参考答案:A

  参考解析:

  这道试题主要考察了switch和break语句,当变量S的值为1时,执行case1、case 2两条语句,输出65;当变量S的值为2时,执行case 2语句,输出6;变量s的值为3时,执行case3、default两条语句,输出64;变量S的值为4时,执行defauR语句,输入5;变量s的值为5时,执行default语句,输出6;变量S的值为0时,程序运行结束。

  13 [单选题] 有以下程序

  #include

  main()

  {

  char a='H';

  a=(a>='A'&&a<='Z')?(a-'A'+'a'):a;

  printf("%c\n",a);

  }

  程序运行后的输出结果是

  A.A

  B.a

  C.H

  D.h

  参考答案:D

  参考解析:

  由于a 的值为'H',符合(a>='A'&&a<='Z'),所以条件表达式的值等于(a-'A'+'a'),即'h'。

  14 [单选题] 若有定义语句 int b=2; 则表达式(b<<2)/(3||b)的值是

  A.4

  B.8

  C.0

  D.2

  参考答案:B

  参考解析:

  变量b 的值等于2,其向左移动2 位,其值等于8,即b<<2 的值等于8。而3||b 做或运算的结果等于1。所以表达式(b<<2)/(3||b)的值等于8。

  15 [填空题]

2018年9月计算机二级C语言考试章节习题及答案(8)

  本题型不支持在线作答,请电脑操作演示,部分试题“考生文件夹”是指考试时答题指定的保存位置。

  参考解析:1-a

  16 [填空题]

  下列 y 的值是 。

  int y;y=sizeof(2.25*4);

  参考解析:

  解析:sizeof(2.25*4)为sizeof(9.00)值为8,C语言规定浮点型常量当双精度处理,双精度实数的存储单元为 8 个字节。

  17 [填空题]

  若int x=1,y=2;则计算表达式y+=y-=x*=y后的y值是_________。

  参考解析:0

  【解析】对表达式从右向左进行计算x+=y得x=2,则Y+=y.=2,右边即y一.2得y=0,则y+=0得y=0。

  18 [填空题]

  若S是int型变量,且s=8,则s%3+(s+1)%3表达式的值为________。

  参考解析: 2

  【解析】考查基本表达式的计算,“%”运算符的功能是取余。题中条件s=8,则s%3=2,(s+1)%3=9%3=0,所以表达式s%3+ (s+1)%3=2+0=2。

  19 [填空题]

  以下程序的输出结果是(  )。

  #include

  main()

  { int a=37;

  a+=a%=9; printf(“%d\n”,a);

  }

  参考解析:

  2 a+=a%=9;其中a%=9等价于a=a%9;结果为1,所以a+=a%=9等价于a=a+1,故答案为2.

  20 [填空题]

  请写出与 !(a<=B)等价的C语言表达式 。

  参考解析:

  (a<=b)||(a>b) 表达式!(a<=b)含义是对a 小于等于b 取非,所以与其等价的表达式是(a<=b)||(a>b)。

  21 [单选题] 下面程序段的输出结果是(  )。

  #include

  main()

  {

  float x = 1.236547;

  printf("%f\n",(int)(x*1000+0.5)/(float)1000);

  }

  A.1.237000

  B.输出格式说明与输出项不匹配,输出无定值

  C.1.236000

  D.1.24

  参考答案:A

  参考解析:

  本题中,(int)(x*1000+0.5)的结果为1237,(float)1000是将1000强制转换成float类型;整个表达式(int)(x*1000+0.5)/(float)1000的结果为1.237000,再以实数(6位小数)形式输出。

  22 [单选题] 以下选项中,当x为大于1的奇数时,值为0的表达式为(  )。

  A.x%2==1

  B.x/2

  C.x%2!=0

  D.x%2==0

  参考答案:D

  参考解析:

  当x为大于1的奇数时,x对2求余的结果为1,不为0,所以选项D)中表达式的值为0。

  23 [单选题] 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,X的值为(  )。

  A.4

  B.16

  C.32

  D.52

  参考答案:C

  参考解析:

  本题考查逗号表达式的运用。x=(i--4,j=16,k=32)中的i=4j=16,k=32构成一个逗号表达式,整个表达式的值取最后一项的值,即32,所以x的值为32。

  24 [单选题] 以下不能正确表示代数式4cd/ab的C语言表达式县(  ).

  A.4*c*d/a/b

  B.c*d/a/b*4

  C.c/a/b*d*4

  D.4*c*d/a*b

  收藏本题

  参考答案:D

  参考解析:

  c语言中算术运算符的结合性均为自左向右。选项D中表达式计算结果是4cdb/a,和题目要求的代数式不一致,因此选项D不能正确表示题目所给代数式的内容。

  25 [单选题] 有以下程序:

2018年9月计算机二级C语言考试章节习题及答案(8)

  程序运行后的输出结果是(  )。

  A.0

  B.-1

  C.1

  D.7

  参考答案:B

  参考解析:

  a--的含义是先用后减1,所以当a的值为0时,跳出循环,但是仍要执行a--,a的值变为-1。

  26 [单选题] 已有定义:char c;,程序前面已在命令行中包含ctype.h文件,不能用于判断e中的字符是否为大写字母的表达式是(  )。

  A.isupper(c)

  B.'A' <= c <= 'Z'

  C.'A'<= c&&c <= 'Z'

  D.c <= ('z' - 32)&&('a' - 32) <= c

  参考答案:B

  参考解析:

  解析:在本题中,选项B,实际是先计算关系表达式“‘A <= c’” 的值是0还是1,再比较该值与字符‘Z’之间的大小关系,显然不能实现题目所要求的功能,而选项 A,C,D都可以。

  27 [单选题] 有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是(  )。

  A.a%(int)(x-y)

  B.a=x!=y;

  C.(a*y)%b

  D.y=x+y=x

  参考答案:B

  参考解析:

  选项中如果x与Y的值相等那么取余时就会有除数为0的情况。C)选项中取余的两个数据都应为整数,不能有一方为实型变量,而a*y的结果为double型。 D)选项表达式本身就错误,不能给表达式赋值。所以,本题答案为B)。

  收起笔记 28 [单选题] 设有定义:int x=3;,以下表达式中,值不为l2的是(  )。

  A.x*=x+1

  B.x++,3*x

  C.x*=(1+x)

  D.2*x.x+=6

  参考答案:D

  参考解析:

  本题考查逗号运算符的运算方式,逗号运算符的作用是将若干表达式连接起来,它的优先级别在所有运算符中是最低的,结合方向为”自左至右”。A)选项和c)选项的结果是一样的,可展开为:x=x*(x+1)=3*4=12;B)选项中先执行x++,因为++运算符有自加功能,逗号之前执行后x的值为4,逗号后的值就是整个表达式的值,即12;D)选项逗号之前并未给x赋值,所以表达式的值就是x+=6的值,即9。因此,本题答案为D)。

  29 [单选题]

   2018年9月计算机二级C语言考试章节习题及答案(8)

2018年9月计算机二级C语言考试章节习题及答案(8)

  参考答案:A

  参考解析:

  本题考查的是C语言表达式。如果算术运算符”/”中参与运算的变量都是整型变量,则”/”表示整除运算,所以”l/3”的值应为0,故选项A)的表达式值为0,而事

2018年9月计算机二级C语言考试章节习题及答案(8)


  能正确计算题目所要求的代数式。

  30 [单选题] 下面程序的运行结果是(  )。

  main()

  {

  int y = 5, x = 14 ; y = ((x=3*y,x+6),x-1);

  printf("x = %d,y = %d",x,y);

  }

  A.x=27,y=27

  B.x=12,y=13

  C.x=15,y=14

  D.x=y=27

  收藏本题

  参考答案:C

  参考解析:本题考查的是逗号表达式。逗号表达式的求解步骤是先求解表达式1,然后依次求解表达式2,直到表达式N的值。整个逗号表达式的值就是最后一个表达式N的值。表达式(x=3 * y,x+6)中,x=15。表达式y=x—1=14。

  31 [单选题] 执行语句X=(a=10,b=a--.后,x、a、b的值依次为(  )。

  A.10,10,9

  B.10,9,9

  C.9,10,9

  D.10,9,10

  参考答案:D

  参考解析:

  表达式a一一的值为10,a的值递减为9,所以b=10,x的值为逗号表达式的值,x=10。因此x=10,a=9.b=10。

  32 [单选题] 有以下程序:

2018年9月计算机二级C语言考试章节习题及答案(8)

  程序运行后的输出结果是(  )。

  A.1,0

  B.0,1

  C.0,0

  D.1,1

  参考答案:A

  参考解析:

  n=b>a,n=1,判断到此,逻辑或为真.后面的J=a

  33 [单选题] 表示关系M<=N<=P的C语言表达式为(  )。

  A.(M<=N.AND(N<=P.

  B.(M<=N.&&(N<=P.

  C.(M<=N<=P.

  D.(M<=N.&(N<=P.

  参考答案:B

  参考解析:

  M<=N和N<=P是逻辑与的关系,应使用运算符&&。

  34 [单选题] 若x=4,y=5,则x&y的结果是(  )。

  A.0

  B.4

  C.3

  D.5

  参考答案:B

  参考解析:

  本题主要考查按位与运算的知识点。按位与足对两个运算最相应的位进行逻辑与, “&”的规则与逻辑与“&&”相同。x=4的二进制为00000100,y=5的二进制为00000101,x&y=00000100,转化为十进制即为4。

  35 [单选题] 若运行时给变量X输入12,则以下程序的运行结果是(  )

  main()

  {

  int x,y;

  scanf("%d",&x);

  y=x>12?x+10:x-12;

  printf("%d\n",y);

  }

  A.0

  B.22

  C.12

  D.10

  参考答案:A

  参考解析:

  本题考查三目运算符“?:”。表达式“x>127x+10:x.12”即,如果x>12成立,则x+10的值即为此表达式的值,否则x.12即为此表达式的值。因为x=12,所以x>12不成立,所以执行y=x-12=0。

  36 [单选题] 有以下程序:

  

2018年9月计算机二级C语言考试章节习题及答案(8)

  程序运行后的输出结果是( )。

  A.2

  B.4

  C.6

  D.8

  参考答案:D

  参考解析:

  本题考查位运算符,题目中将a向左移两位,左移两位表示乘以4,所以答案为8,选项D正确。

扫描/长按二维码帮助考试通关
2018年等考报考资讯
2018等考各科通关技巧
2018各科最新预测试卷
2018等考各科备考资料

微信搜索"考试吧"了解更多考试资讯、下载备考资料

  相关推荐:

  2018年9月全国计算机等级考试试题汇总(各科目)

  2018年全国计算机等级考试必做试题汇总(各科目)

  2018年全国计算机等级考试复习知识点汇总(各科目)

  2018全国计算机等级考试备考经验及应试技巧汇总

  历年真题汇总|考试吧策划:2018年计算机等级考试报考指南

0
收藏该文章
0
收藏该文章
文章搜索
万题库小程序
万题库小程序
·章节视频 ·章节练习
·免费真题 ·模考试题
微信扫码,立即获取!
扫码免费使用
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。
在线模拟试题
考证通关杀器
考试最新资讯
一次通关技巧