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

2016年宁夏医科大学公共卫生与管理学院C语言程序设计(加试)复试笔试仿真模拟题

  摘要

一、选择题

1. 有以下程序:

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

答:D

【解析】main 函数首先将数组a 中的元素值写入文件,再将文件中的元素倒序存放在数组a 中,最后答应数组a 的值,最终输出为6, 5, 4,3, 2,1。

2. 以下叙述中正确的是( )。

A. 函数的返回值不能是结构体指针类型

B. 函数的返回值不能是结构体类型

C. 在调用函数时,可以将结构体变量作为实参传给函数

D. 结构体数组不能作为参数传给函数

答:C

【解析】C 项正确,结构体变量作为实参时,是传值形式调用;AB 两项错误,函数的返回值可以是结构体变量和结构体指针变量;D 项错误,向函数传递结构体数组名时,传递的是实参结构体数组的首地址,是传引用形式调用。

3. 有以下程序:

运行时,若输入123450<回车>,则输出结果是( )。

A.6566456

B.66656

C.66666

D.6666656

答:A

【解析】输入1:执行easel ,输出6,没有遇到break ,继续执行case2,输出5,遇到break ,跳出;

输入2:执行case2,输出6,遇到break ,跳出;

输入3:执行case3,输出6,没有遇到break ,执行default ,输出4;

输入4:执行default ,输出5;

输入5:执行default ,输出6。

最后输出结果是6566456。

4. 若变量x 、y 已正确定义并赋值,以下符合C 语言语法的表达式是( )。

A.x+l=y

B.++x, y=x--

C.x=x+10=x+y

D.double (x )/10

答:B

【解析】B 项正确,++x是前缀表达式,y=x--是复合语句,先进行x--, 然后把自减后的值赋给y 。A 项错误,x+1是右值,不能被赋值;C 项错误,x+10是右值,不能被赋值;D 项错误,应改成(double )x/10, double (x )/10是表示声明了一个double 变量,它名字是(x )A0,显然不符合C 语言语法。

5. 有以下程序:

程序的执行结果是( )。

A. 输出321

B. 输出23

C. 不输出任何内容

D. 陷入无限循环

答:B 【解析】表示输出的整型变量占2列。程序执行过程为:输出x 为23, 之后x

自减得

,while 条件不成立,退出循环。 为假(0)

6. 有以下结构体说明、变量定义和赋值语句

则以下scanf 函数调用语句有错误的是( )。

答:A

【解析】A 项错误

正确,确作符优先级高于

是取是取s[0]中的age 成员,scanf 函数中需要传入变量的地址。B 项等价于C 项正确是取成员;D 项正

中的name 成员,name 是char 类型数组,自身就是首元素地址。

且变量m 已正确定义并赋值,则宏调

为真时所要表达的是( )。 7. 设有宏定义

:用:IsDIV

A. 判断m 是否能被5或7整除

B. 判断m 是否能被5和7整除

C. 判断m 被5或7整除后是否余1

D. 判断m 被5和7整除后是否都余1

答:D

【解析】

要求

一个选择表达式,当

否则返回

7)同时为真时,整个表达式才为真。

都为真,即返回1,这是为真时返回1,否则返回0,即当k 除以n 的余数为1是返回1,

是逻辑表达式,只有当IsDIV (m ,5)和IsDIV (m ,