2018年中南林业科技大学计算机与信息工程院805高级程序设计语言之C程序设计考研核心题库
● 摘要
一、选择题
1. 以下程序:
程序运行后的结果是( )。 A.1 3 7 B.7 3 1 C.7 3 D.3 7
【答案】D
【解析】函数fun 是递归函数,递归终止条件是x 小于等于4, 当大于等于4是递归调用
第一次循环
调用
跳出if 循环,执行输出x=3, 然后回到第一次循环,执
行if 循环的语句,输出x=7。
2. 有以下程序:
程序运行的结果是( )。
【答案】A
【解析】在C 语言中,函数参数传递的作用是“传值”,形参和实参是两个没有关系的变量。函数fun 交换了参数值,但只是交换了形参的值,结果并不会传递给实参。所以数组c 没有发生变化,原样输出。
3. 以下叙述正确的是( )
A.C
编译程序把文件后缀为B.C
编译程序把文件后缀为D.
链接程序把文件后缀为【答案】A
【解析】C 编译程序把文件后缀为C 的源程序文件编译成文件后缀为.obj 的二进制文件,链接将一个或多个 目标文件与程序用到的库文件连接起来,形成一个可以在操作系统直接运行的执行程序.exe ,
故排除项,A 选项正确。
4. 若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch 语句是( )。
的源程序文件编译成文件后缀为.obj 的二进制文件 的源程序文件编译成文件后缀为.exe 的可执行文件 的源程序文件链接成文件后缀为.exe 的可执行文件
C.C 编译程序把文件后缀为.obj 的二进制文件编译成文件后缀为.exe 的可执行文件
【答案】D
【解析】A 项错误,case 后面的应该为整形或字符型常量;B 项错误,switch 后面的表达式需要在括号内;C 项错误,case 和后面的常量表达式应该由空格隔开。
5. 下面关于位运算符的叙述,正确的是( )。
A.&表示“按位与”的运算 B.#表示“按位异或”的运算
C. 表示“按位或”的运算
D. 〜表示“按位异或”的运算 【答案】A
【解析】C 语言提供的六种位运算符,如下表所示,
6. 有以下程序
执行后的输出结果是( )。 A.32 B.24 C.5 D.40
【答案】A
【解析】自增运算符“++”分为前缀和后缀两种形式。两种形式的作用效果是一样的,都是使运算分量的值 加1,但是它们的表达式的值不一样,前缀形式表达式的值为运算分量加1之后的值,而后缀形式表达式的值为 运算分量加1之前的值。题目中使用了一个for 循环,循环变量i 从1递增到40。在循环体中有两条嵌套的if 语 句,
首先判断之前的值)是否能被5整除(判断后i 被加1),
然后再判断此时
成立,此时
被8整除(判断后i 被加1), 若两个条件都满足了,就输出i 的值,
只有
7. 若k 是int 类型变量,且有以下for 语句:
下面关于语句执行情况的叙述中正确的是( )。 A. 循环体执行一次 B. 循环体执行两次
即判断i++的值(i 加1
的值(i 加1之后的值)是否能
时,满足