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