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. 有以下定义:
相关内容
相关标签