2016年内蒙古师范大学现代教育技术教育技术学程序设计(C语言)复试笔试仿真模拟题
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。 A.3 B.6 C.8 D.12 答:B
【解析】fun 函数的功能是返回两个数的算术平均数。调用,
相当于
,运算,向下取整)
2. 有以下程序:
程序的运行结果是( )。
A. B. C. D.
第 2 页,共 33 页
是嵌套
其中
(
之间的
输出结果是6。
答:A
,【解析】函数facl 中嵌套函数fac2, fac2为递归函数。程序执行过程为:调用函数facl (3),输出输出3>0 成立,调用函数fac2 (2),输出用fac2 (0)
,输出成立,调用fac2 (1)
成立,调
,再返回fac2 (2), 再返回facl (3),函数调不成立,返回fac2 (1)
用结束。程序的运行结果是:故A 项正确。
3. 以下关于C 语言的叙述中正确的是( )。
A.C 语言中的注释不可以夹在变量名或关键字的中间 B.C 语言中的变量可以在使用之前的任何位置进行定义
C. 在C 语言算术表达式的书写中,运算符两侧的运算数类型必须一致 D.C 语言的数值常量中夹带空格不影响常量值的正确表示 答:B
【解析】A 项错误,C 语言中,程序中的注释可以出现在程序中任何合适的地方,为了方便程序理解,一般不建议写在变量名或关键字的中间;C 项错误,在C 语言的算术运算符中,取余运算符“%”的两个运算分量必须是整数,但对于其他运算符,如“+”来说,两侧的运算符类型也可以不一样,例如左侧为一个字符类型,右侧为一个整数类型,系统在执行程序时会自动将字符类型转换为ASCII 值进行运算;D 项错误,C 语言的数值表示时各个数位必须紧靠在一起,否则编译系统只会识别紧靠运算符的一部分数值,另一部分数值会发生语法错误。
4. 有以下程序段:
则的值为( )。 A.5 B.10 C.12
D. 无法确定
答:A
【解析】当直接用数组名给指针赋初始化值时,表示把数组首地址的值赋给指针,把
地址赋给
表示将数组第5个元素地址赋给
5. 有以下程序:
第 3 页,共 33 页
表示
故答案为A 选项。
程序运行时键盘输入9〈回车>,则输出的结果是( )。 A.10 B.11 C.9 D.8 答:A
【解析】“++”和“一”运算,当以前缀形式出现时,贝U 先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。判断条件中if (a++<9)是先用后加,即a 的值为9,所以条件不成立,但是a 已经进行了自增1操作,a 的值此时为10。执行else 语句时,因为打印a_-,是先用后减,所以先输出10,然后a 的值变为9。
6. 设有定义:
若变量均已正确赋初值,则以下语句中错误的是( )。
答:A
【解析】A 项错误,struct 中的mark 成员是数组,数组一旦定义,不能直接赋值。B 项正确,numl 是int 变量,可以直接赋值。C 项正确,C 语言中struct 变量可以直接赋值,实际操作是内存拷贝;D 项正确,num2是int 变量,可以直接赋值;C 语言中,数组不能直接赋值,但是把数组包装在struct 中,就可以实现直接赋值。
7. 若有定义语句则
A.7 B.8 C.9 D.10 答:A
的值是( )。
【解析】在C 语言中,字符串可以存放数字字符串,但规定以字符串长度是有效字符数组的长度,即为7。
8. 有如下程序:
第 4 页,共 33 页
作为字符串结束标识。
所以字符数组的长度并不是字符串的长度,系统字符串"1234567\0\0"与"1234567" 等效,所以字符