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

2017年北京印刷学院信息工程学院电子与通信工程综合测试复试之C语言程序设计复试仿真模拟三套题

  摘要

一、选择题

1. 有以下程序:

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

A.1

B.3

C.4

D.9

【答案】C

【解析】根据程序

1+0+1+2=4。

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. 有以下程序

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

第 2 页,共 15 页 的

A.20

B.16

C.12

D.25

【答案】B 【解析】展开后是

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

B. 函数可以返回指向结构体变量的指针

C. 可以通过指向结构体变量的指针访问所指结构体变量的任何成员

D. 只要类型相同,结构体变量之间可以整体赋值

【答案】A

【解析】函数的返回值类型可以是结构体类型,也可以是指向结构体变量的指针类型,相同类型结构体变量 之间可以整体赋值,可以通过指针变量引用结构体成员。

5. 下面是有关C 语言字符数组的描述,其中错误的是( )。

A. 不可以用赋值语句给字符数组名赋字符串

B. 可以用输入语句把字符串整体输入给字符数组

C. 字符数组中的内容不一定是字符串

D. 字符数组只能存放字符串

【答案】D

【解析】字符数组是可以用来存放字符或者字符串的。

6. 设有定义:

若变量均已正确赋初值,则以下语句中错误的是( )。

【答案】A

【解析】A 项错误,struct 中的mark 成员是数组,数组一旦定义,不能直接赋值。B 项正确,numl 是int 变量,可以直接赋值。C 项正确,C 语言中struct 变量可以直接赋值,实际操作是内存拷贝;D 项正确,num2是int 变量,可以直接赋值;C 语言中,数组不能直接赋值,但是把数组包装在struct 中,就可以实现直接赋值。

7. 以下选项中不能作为C 语言合法常量的是( )。

第 3 页,共 15 页 A. 函数的返回值类型不能是结构体类型,只能是简单类型

【答案】A

【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。B 项,

式的常量,是合法的;C 项,是字符串常量;D 项,

单引号表示字符常量,不能包含字符串,若要包含字符串,需用双引号。

8. 有以下程序:

程序的运行结果是( )。

A.D

B.C

C.B

D.A

【答案】A

【解析】A 项正确,main ( )函数中,首先判断条件x>l,因为x=l不大于1,不满足条件,程序跳入else 语句判定z

是指数形是表示八进制数整型常量。A 项错误,

二、设计题

9. 学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun , 它 的功能是:按分数的高低排列学生的记录,高分在前。

注意:部分源程序存在文件

语句。

给定源程序:

第 4 页,共 15 页

中。 请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干