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

2017年云南师范大学C语言程序设计复试实战预测五套卷

  摘要

一、选择题

1. 有如下程序:

程序运行时,输入

A.1234

B.4321

C.4444

D.1111

【答案】B 则输出结果是( )。

【解析】在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。本题程序的 执行过程为:在输入1234〈回车〉的情况下,调用

人1,

在这次调用中的局部变量

调用

调用条件成立→调用•

调用函数,读入3,

局部变量函数,读函数,读入2,

局部变量

函数,读入4,

局部变量函数,读入回车,if 条件不成立,返回执行每次调用函数中if 语句后的输出语句,即依次输出4321。故B 选项正确。

2. 有以下程序:

程序的运行结果是( )。

A.6,5,4,3,2,1,

B.1, 1

C.1, 1, 1, 1, 1, 1,

D.1,2,3,4,5,6,

【答案】A

【解析】本题中递归函数调用执行过程为

出也即返回执行之后的输出x[0]语句,即5, 同理再返回上一个f 函数,依次输出4, 3,2,1。

3. 有以下程序:

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

A.110

B.120

C.100

D.90

【答案】A

【解析】程序执行过程为:定义指针p ,指向变量X ,

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

A. 简单递归不需要明确的结束递归的条件

B. 任何情况下都不能用函数名作为实参

C. 函数的递归调用不需要额外开销,所以效率很高

D. 函数既可以直接调用自己,也可以间接调用自己

【答案】D

【解析】D 项正确,C 语言中的函数可以递归调用,S 卩:可以直接或间接地自己调用自己。前者称简单递归, 后者称间接递归。A 项错误,递归必定要有一个明确的结束递归的条件;B 项错误,递归就是把函数名作为实参 的一种特殊情况;C 项错误,函数的递归调用过程中,系统要为每一层调用中的变量开辟存储单元,要记住每一层调用后的返回点,要增加许多额外的开销,通常会降低程序的运行效率。

5. 有如下程序:

输出110。

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

A.X

B.XYZ

C.YZ

D.Y

【答案】A

【解析】字符的ASCII 码值分别为0、48、97、98。putchar 函数是向标准输出设备上输出一个字符。程序执行过程为:判断‘\0’==0成立,输出X ; 判断‘0’==0不成立,不输出;判断不成立,不输出。故A 项正确。

6. 下面选项中关于位运算的叙述正确的是( )。

A. 位运算符都需要两个操作数

B. 位运算的对象只能是整型或字符型数据

C. 左移运算的结果总是原操作数据2倍

D. 右移fe 算时,尚位总是补0

【答案】B

【解析】B 项正确,C 语言中,位运算的对象只能是整型或字符型数据,不能是其他类型的数据。A 项错误,位运算符中取反操作符只需要一个操作符;C 项错误,左移时,若左端移出的部分不包含有效二进制数1, 则每左移一位,相当于移位对象乘以2, 如果端移出的部分包含有效二进制数1,结论不成立;D 项错误,右移运算时,对于无符号整数和正整数,高位补0; 对于负整数,高位补1。

7. 以下选项中,合法的数值型常量是( )。

A.3.2

B.'X'

C.099

D.OxEH

【答案】A

【解析】A 项正确,3.2是合法的实型常量;B 项错误,‘X ’为字符型常量不是数值型常量;C 项错误,以0开头,表示八进制,但八进制的每位小于8; D 项错误,Ox 和H 冲突都是表示十六进制。

8. 有以下定义: