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

2017年扬州大学信息工程学院858程序设计与数据结构之C程序设计考研题库

  摘要

一、选择题

1. 有以下程序

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

A.15

B.21

C.20

D.31

【答案】C

【解析】函数的嵌套调用,fim 函数的作用是计算两个整数的和,

2. 以下选项中叙述错误的是( )。

A.C 程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值

B. 在C 程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内

C.C 程序函数中定义的自动变量,系统自动赋确定的初值

D.C 程序函数的形参不可以说明为static 型变量

【答案】A

【解析】在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元。即使退出函 数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元。由于并不

释放这些存储单元,因此这些存 储单元中的值得以保留,因而可以继续使用存储单元中原来的值。

3. 若有定义inta=l,b=2,c=3;II ,则执行表达式(a=b+c)(++b)后a 、b 、c 的值依次为( )。

A.1、2、3

B.5、3、2

C.5、2、3

D.5、3、3

【答案】C

【解析】根据优先级规则,晒边都是括号,则从左至右执行括号中的表达式,将b+c的值赋

等价于

: 然后执行等于7,

值给a ,即a 为5, 不为0, 则II 右边的括号不需要再执行。

4. 若函数中有定义语句intk ;,则( )。

A. 系统将自动给k 赋初值0

B. 这时k 中的值无定义

C. 系统将自动给k 赋初值-1

D. 这时k 中无任何值

【答案】B

【解析】intk ;这条语句是定义一个整型变量k ,这是动态定义,编译程序仅为k 开辟存储单元,而没有在存储单元中存放任何初值,此时变量中的值时无意义的。若是静态定义,则会自动初始化,其默认值为0。

5. 有以下程序:

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

A.02

B.13

C.57

D.12

【答案】D

【解析】(表达式1)(表达式2)中,如果表达式1为假或0, 那么表到式2就不会被执

和为零,不满足循环条件,所以不行。本题中首先进入while 的判断语句,执行会被执行,while 循环结束后,k 经过运算自增为1, n没有进行运算,仍为2。

6. 以下选项中能表示合法常量的是( )。

【答案】D

【解析】A 项错误,表达错误;B 项错误,E 后面应为整数,不能是小数;C 项错误;字符斜杠的表示方法 为

为正确。 因为第一个\表示是转义字符;D 项正确,表示空字符串,第一个字符

7. 下列叙述中正确的是( )。

A. 每个C 程序文件中都必须要有一个main 函数

B. 在C 程序中main 函数的位置是固定的

C.C 程序中所有函数之间都可以相互调用

D. 在C 程序的函数中不能定义另一个函数

【答案】D

【解析】D 项正确,C 语言语法规定,在函数中不能定义其他函数。A 项错误,C 程序必须要有一个main 函数,但并不是每个文件中都要有;B 项错误,main 函数的位置没有特殊要求;C 项错误,从其他函数中不能调用main 函数。

8. 有如下程序:

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

A.56,57,

B.57,58,

C.57,57,

D.55,57,

【答案】C

【解析】convert ( )函数定义了一个形参:指针变量*data。函数体中将指针变量*data对应地址的值进行加1处理,再返回加1前data 的值。main ( )函数中,定义了变量data 并赋初值56,调用covert ( )函数,改变变量data 的值,此时data=57; 程序执行data=convert

,函数convert ( )返回的是执行前data 的值,所以data=57。C 项正确。 (&data)

9. 有以下程序:

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

A.12