2016年华中师范信息管理学院C程序设计(同等学力加试)复试笔试仿真模拟题
● 摘要
一、选择题
1. 设有两行定义语句:
intscanf ; floatcase ;
则以下叙述正确的是( )。 A. 两行定义语句都不合法 B. 两行定义语句都合法 C. 第1行语句不合法 D. 第2行语句不合法 答:D
【解析】预定义标识符是系统已经有过定义的标识符,用户可以重新定义,可以作为变量名。scanf 为库函数名,属于预定义标识符,可以被用户重定义,第一行语句合法。C 语言关键字是被保留的,不能用作其他用途的一些标识符,它们在程序中都代表着固定的含义,用户不可重新定义。case 是选择结构switch 语句中的关键字,不可被用户重定义,第二行语句不合法。
2. 有如下程序:
程序运行时,输入A.DCDC B.DCBA C.BABA D.ABCD 答:B
则输出结果是( )。
【解析】本题考查了函数的递归调用,进入函数后,字符变量ch 每次保存读进来的字
后,下一次读取不满足if 条
符,如果不是换行符,则继续读取下一个字符常量,当ch 保存完
件,函数进行输出,依次输出
3. 有以下程序:
程序的运行结果是( )。 A.1, 2 B.3, 6 C.4, 7
D. 变量的地址值 答:B
【解析】程序的执行过程为:定义整型数组结构体数组X ,并为其初始化,则
答案为B 选项。
并进行初始化,两个数组长度均为2。定义
输出x[0]的成员指针b
指向的内存单元值,即数组xl 的第一个元素3, 输出x[l]的成员指针b 指向的内存单元值,即数组x2的第一个元6。程序的运行结果是3,6, 故B 选项正确。
4. 有以下程序:
程序运行后的输出结果是( )。
A.
B.
C.
D. 答:A
【解析】本题执行过程为:i=l, 1%2=1,if 条件成立,输出*与#; i=2, 2%2=0, if 条件不成立,i=3,3%2=1,执行continue 结束本次循环,执行下一次循环;输出*与#; i=4, 4%2=0,执行continue ,开始下一次循环;i=5,5%2=1,输出*与#; i=6退出循环。最后输出$,A 项正确。
5. 设有定义:
A.p=a; B.p=b; C.p=c; D. 答:A
则以下语句错误的是( )。
【解析】p 为指针变量,存放变量的地址。对指针变量赋值,值必须是地址值。a 为整型变量不是地址值, 不能赋值给p , A项错误。数组名为数组首地址,b 为地址可以赋值给p , B项正确。c 为指针变量,初始化为 NULL , 与p 均为整型指针,可以将其赋值给p , C项正确。&为取地址运算符,为数组元素b[0]的地址,可以赋值给p ,D 项正确。
6. 有如下程序:
程序运行时,输入A.1234 B.4321 C.4444 D.1111 答:B
则输出结果是( )。
【解析】在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。本题程序的 执行过程为:在输入1234〈回车〉的情况下,调用人1,
在这次调用中的局部变量
调用调用
条件成立→调用
•调用
函数,读入3, 局部变量
函数,
读
函数,读入2,
局部变量函数,读入4,
局部变量
函数,读入回车,if 条件不成立,返回执行每次调用函数中if 语句后的输
出语句,即依次输出4321。故B 选项正确。
7. 若有定义并已正确给变量赋值,则以下选项中与表达式(x-y )? (x++):(y++)中的条件表达式(x-y )等价的是( )。
A. (x-y==0) B. (x-y<0)