c语言的非执行指令会被转换成二进制吗,大同大学成教2018级C语言程序设计考试.doc...

需要网校辅导加wx:xiaozhongzhong009,添加备注原创力文档。提供全天候,全方位辅导。保质保量。

大同大学成教2018级C语言程序设计考试

开始时间:2020-01-04 00:00:00结束时间:2020-01-06 23:55:55

总  分:100 分答题时限:不限时

1、设有定义: int x=2;,以下表达式中,值不为6的是D

A.x*=(1+x)

B.x*=x+1

C.x++ 2*x

D.2*x x+=2

参考答案: D

● 参考解析

选项A和C很容易看出结果是6。选项B和D是逗号表达式,逗号表达式是从左到右顺序求子表达式的值,整体的逗号表达式的值取最后一个子表达式的值,很容易判断出答案D错误。

2、以下叙述中正确的是D

A.‘\\”’是非法的

B.‘\\0’表示字符0

C.“a”表示一个字符常量

D.表达式:‘a’ > ‘b’的结果是“假”

3、以下选项中,能用作用户标识符的是

A.8_8

B.unsigned

C._0_

D.void

C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。8中以数字8开头,所以错误。c与D中用的是关键字void与unsigned,所以错误。

以下选项中,合法的一组C语言数值常量是__________。

A. 0x8A 10 000 3.e5

B.177 4e1.5 0abc

C.028 .5e-3 -0xf

D.12. 0Xa23 4.5e0

正确答案:D

5、C语言中,八进制数其开头必须是数字“0”,其数字包括0~7,因此选项A错误。浮点数据的指数形式表示中,字母e或E之后的指数必须为整数,所以选项C错误。选项D中,整型数据l0,000的表示形式是错误的。

若有定义: double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是

A.i=(a+k)<=(i+k);

B.a=a++ i++;

C.i=a%11;

D.i=!a;

正确答案:C

取模运算符“%”为二元运算符,具有左结合性,参与运算的量应均为整型,选项A)中的变量a是double型,所以选项A)不符合规定。

6.C源程序中不能表示的数制是A

A.二进制

B.十六进制

C.十进制

D.八进制

正确答案:C本题考查C语言基础知识,C语言中只能够表示十进制整数、八进制整数和十六进制整数。

7.以下选项中不合法的标识符是__________。C

A.print

B.FOR

C.&&a

D._00

正确答案:C

解析:考查C语言标识符。C语言合法标识符的命名规则是:标识符只能由字母、数字和下划线组成,并且第一个字符必须为字母或下划线。因为选项C)中的标识符的第一个字符为"&",所以C)为本题的正确答案。

8.设变量已正确定义并赋值,以下正确的表达式是_______。

A.int(15.8%5)

B.x=y+z+5,++y

C.x=25%5.0

D.x=y*5=x+z

正确答案:B

B。【解析】在赋值表达式中,赋值符号的左边只能为变量,不能为表达式,右边可以为常量或者是表达武,运算符“%”两边必须是整型数据,所以选项A、C错误。所以选项D正确。

以下选项中,能用作数据常量的是________。

A. o115

B.0118

C.115L

D.1.5e1.5

C

[解析] C选项中115L表示115是长整型数据,合法。B选项是八进制常量的表示方法,但是在八进制中不能含有数字8,因此B选项错误。D选项中e后面应该是整数,不能是小数(1.5),因此D选项错误。A选项中八进制常量应该是数字“0”开始,而不是字母“o”开始。故本题答案为C。

以下叙述中错误的是_____________。

A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令

B.C语言源程序经编译后生成后缀为.obj的目标程序

C.用C语言编写的程序称为源程序它以ASCII代码形式存放在一个文本文件中

D.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件

正确答案

A

答案解析

[解析] C语言中的非执行语句不会被编译,不会生成二进制的机器指令,所以A错误。由C语言构成的指令序列称为C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件);最后要由“连接程序”把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。

11.有以下程序 #include main() { int x, y, z; x=y=1; z=x++,y++,++y; printf(\"%d、%d、%d\\n\",x,y,z); } 程序运行后的输出结果是D

A.2、3、3

B.2、2、1

C.2、3、2

D.2、3、1

这里我分布说明,程序的过程:

第一步计算:x = y = 1;

第二步计算:z = x ;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值