电话:0731-83595998
导航

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

来源: 2018-08-21 19:54

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

  2.6 赋值表达式

  1 [单选题] 以下能正确定义且赋初值的语句是( )。

  A.int n1=n2=10;

  B.char c=32;

  C.float f=f+1.1;

  D.double x=12.3E2.5;

  收藏本题

  参考答案:B

  2 [单选题] 有以下程序

  main( )

  { unsigned char a,b;

  a=4|3;

  b=4&3;

  printf(“%d %dn”,a,b(;

  }

  执行后输出结果是(  )

  A.7 0

  B.0 7

  C.1 1

  D.43 0

  参考答案:A

  3 [单选题] 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(  )

  A.char s[10]=”abcdefg”;

  B.char t[]=”abcdefg”,*s=t;

  C.char s[10];s=”abcdefg”;

  D.char s[10];strcpy(s,”abcdefg”);

  参考答案:C

  4 [单选题] 有以下定义语句

  double a,b; int w; long c;

  若各变量已正确赋值,则下列选项中正确的表达式是(  )

  A.a=a+b=b++

  B.w%(int)a+b

  C.(c+w)%(int)a

  D.w=a==b;

  收藏本题

  参考答案:C

  5 [单选题] 以下选项中非法的表达式是( )

  A.0<=x<100

  B.i=j==0

  C.(char)(65+3)

  D.x+1=x+1

  参考答案:D

  6 [单选题] 有以下程序

  main()

  { char *s[]={"one","two","three"},*p;

  p=s[1];

  printf("%c,%sn",*(p+1),s[0]);

  }

  执行后输出结果是( )

  A.n,two

  B.t,one

  C.w,one

  D.o,two

  参考答案:C

  7 [单选题] 已知字母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

  8 [单选题]

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

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


参考答案:D

  参考解析:

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

  收起笔记 9 [单选题] 若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是(  )。

  A.a_(b=4)=3;

  B.a=b=c+1;

  C.a=(b=4)+c;

  D.a=1+(b=c=4):

  收藏本题

  参考答案:A

  参考解析:

  这道题目主要考察赋值表达式,对于赋值表达式来说,赋值号“=”的左边一定为变量名,右边为一个C语言合法的表达式。

  10 [单选题] 若有定义语句:intk1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为(  )。

  A.0和1

  B.0和20

  C.10和1

  D.10和20

  收藏本题

  参考答案:B

  参考解析:

  由于k1等于10,k2等于20,所以关系表达式k1>k2的值为假,即等于0,所以在执行逻辑表达式(k1=k1>k2)&&(k2=k=2>k1)的第一个赋值表达式k1=k1>k2执行后,k1的值等于0。又因为在逻辑与表达式中只要第表达式的值为假时,整个逻辑表达式的值就为假,第二表达式不执行,k2值不改变。

  11 [单选题] 下列关系表达式中,结果为“假”的是

  A.(3+4)>6

  B.(3!=4)>2

  C.3<=4||3

  D.(3<4)==1

  参考答案:B

  参考解析:

  由于3!=4 的结果为1,而1>2 的结果为假。

  12 [单选题] 有以下程序

  #include

  main()

  {

  char a='H';

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

  printf("%cn",a);

  }

  程序运行后的输出结果是

  A.A

  B.a

  C.H

  D.h

  参考答案:D

  参考解析:

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

  13 [单选题] 若有定义语句 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。

  14 [填空题]

  若X和n均是int型变量,且x=12,n=5,则执行y=x%=(n%=2)表达式后Y的值为________ 。

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

  参考解析:

  O 【解析】 n%=2等价于n=n%2,结果为1;x%=1等价于x=x%1,结果为0。

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

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

  A.0

  B.1

  C.2

  D.3

  收藏本题

  参考答案:A

  参考解析:

  逻辑与(&&)运算符的功能是:当“&&”运算符两边的运算对象均为l时,整个表达式的值为1,否则为0。因为a=3

  16 [单选题] 下列程序段选择项,使i的运行结果为3的程序段是(  )。

  A.int i=0,j=0; (i=2,(j++)+i);

  B.int i=1,j=0; j=i=((i=3)*2);

  C. int i=0,j=1; (j==1)?(i=1):(i=3);

  D.int i=1,j=1; i+=j+=1;

  收藏本题

  参考答案:D

  参考解析:

  要解答本题,必须一项一项计算出语句的运算结果,才能选择正确的答案。选项A):i被赋初值为2,在后面的运算中没有发生任何变化还是2;选项B)的运算结果为:i=3*2=6:选项C):初始时给i赋值为1,即j=1为真,所以取第一个表达式的值,即i=1作为返回值:选项D)的运算结果为:i=i+(j+1)=3。

  17 [单选题] 若变量均已正确定义并赋值,以下合法的C语言赋值语句是(  )。

  A.x=y==5;

  B.x=n%2.5;

  C.x+n=i;

  D.x=5=4+1;

  参考答案:A

  参考解析:

  本题考查赋值运算符及赋值表达式。赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量,选项C)和D》错误。”%”运算符两侧都应当是整型数据,选项B)错误。

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

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

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

  A.0

  B.-1

  C.1

  D.7

  参考答案:B

  参考解析:

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

  19 [单选题] 有以下定义: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)。

  20 [单选题] 设有定义: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)。

  21 [单选题] 以下选项中非法的表达式是(  )。

  A.a+1=a+1

  B.a=b==0

  C.(Char.(100+100.

  D.7<=X<60

  参考答案:A

  参考解析:

  赋值运算符的左边只能是变量,而不能是常量或表达式。

  22 [单选题] 在以下选项中,不正确的赋值语句是(  )。

  A.i++;

  B.n1=(n2=(n3=0..;

  C.m+n=1;

  D.i=k==j;

  收藏本题

  参考答案:C

  赋值运算符的左边只能是变量,而不能是常量或表达式。

  23 [单选题] 若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。

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

  main()

  {

  int x,y;

  scanf("%d",&x);

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

  printf("%dn",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。

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端