当前位置:问答库>考研试题

2016年广西师范大学电子工程学院C语言复试笔试仿真模拟题

  摘要

一、选择题

1. 有如下嵌套的if 语句:

以下选项中与上述if 语句等价的语句是。

A.

B.

C.

D. 答:C

【解析】三目运算符

的条件表达式为:表达式1? 表达式2:表达式3。当表达式1的值

为真时,取表达式2的值作为整个条件表达式的值;否则,取表达式3的值作为整个条件表达式的值。条件表达式的结合顺序为从右到左。

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

A.x=y*5=x+z B.int (15.8%5) C.x=y+z+5,++y D.x=25%5.0 答:C

【解析】赋值运算左边必须是单一变量名。A 项错误,“y*5=x+z”部分是非法赋值。BD 两项错误,求余运算中的操作对象只能是整型。C 项,为逗号表达式。

3. 若有以下程序

则程序的输出结果是( )。

答:D

【解析】初始化时中的数据

指向同一块内存空间。执行

内存空间的值也没有发生变化,函数f 返回后

4. 有以下程序

程序的运行结果是( )。

中的数据_执行b=a,则b

在赋值过程中实现的是浅拷

贝函数f 中形参p 和b.name 指向同一块内存

的指向没有变化,指向的

中的值依然是Zhao 。

空间,在f 函数内部,p 又重新指向另外一块分配的内存空间,而

答:D

【解析】首先用函数

的方式开打文件

然后调用两次fwrite 函数将数组a

的5个元素,依次输出到文件fp 中,共10个字节,关闭文件。再次打开文件,使用文件指针指向文件的开头,调用fread 函数从文件中读取这10个字节的数据到数组a 中。

5. 以下叙述中错误的是( )。

A.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 B.C 程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件 C. 用C 语言编写的程序称为源程序,它以D.C 语言源程序经编译后生成后缀为答:A

【解析】A 项错误,注释语句不会被翻译成二进制的机器指令。C 源程序经过C 编译程序编,然后由“连接程序”(Link )的软件,译之后生成后缀 为.OBJ 的二进制文件(称为目标文件)

把OBJ 文件与各种库函数连接 起来生成一个后缀为.EXE 的可执行文件。

6. 有以下程序

程序的运行结果是( )。 A.852 B.963 C.741 D.875421 答:A

【解析】for 循环的执行过程如下:①计算表达式1; ②计算表达式2。若其值为非0, 转步骤 ③;若其值为0,转步骤⑤;③执行一次for 循环体;④计算表达式3,转向步骤②;⑤结束循环。

_是先执行y 自减,然后输出y 的值。

第一次循环,y 等于9,y%3等于零,y 自减,输出8; 执行for 循环体的y--, y 等于7; 第二次循环,y 等于7, y%3不等于零,不输出;执行for 循环体的y--, y 等于6; 第三次循环,y 等于6, y%3等于零,y 自减,输出5; 执行for 循环体的y--, y 等于4:

7. 以下选项中合法的C 语言赋值语句是( )。

A.++i; B.a=b=34 C.a=3,b=9 D.k=int(a+b);

代码形式存放在一个文本文件中

的目标程序