2017年新疆师范大学C语言程序设计复试实战预测五套卷
● 摘要
一、选择题
1. 有以下程序
程序运行后的输出结果是( )。 A.99 B.68 C.60 D.108 【答案】C
【解析】定义了二维数组a ,p 是指针,它指向长度为4的int 数组,初始化时,p
执行
相
当于
2 若有定义语句:.
误的是( )。
【答案】C
【解析】:数组的下标从零开始,数组m 中有5个元素,所以数组m 即
为
C 项,
但是数组下标范围是所以溢出引用错误。
3. 以下选项中,合法的是( )。
A. B. C. D. 【答案】A
第 2 页,共 24 页
函数的作用是计算数组a 中前两列的和,结果是60。
则下面对m 数组元素的引用中错
引用数组元素为
【解析】A 中是在赋初值时直接赋字符串常量。B 项错误,str4是字符变量不能赋值为字符串常量;CD 两项错误,字符串常量给出的是地址值,而数组名name 是一个地址常量,不能被重新赋值。
4. 关于程序设计基本概念,以下叙述错误的是( ).
A. 计算机可以直接执行由任意高级语言编写的程序 B. 高级语言都有与之对应的编译程序或解释程序 C. 用任何一种计算机高级语言都可以把算法转换为程序 D. 结构化算法可以解决任何复杂的问题 【答案】A
【解析】A 项计算机只能识别机器语言,不能直接识别由高级语言编写的程序。
5. 有以下程序:
程序运行后的输出结果是( )。 A.1, 2 B.4, 1 C.3, 4 D.2, 3 【答案】D
【解析】题目中定义了一个包含两个整型元素的结构体数组,其
中
指针p 指向结构体数组的第1个元素,那么
的值为2, 所以输出的结果为2, 3。
6. 设有定义:
则以下赋值语句中正确的是( )。 A.s[0]=m[l]; B.s=m; C.s.l3=m.n;
D.s[2].x=m[2].x; 【答案】A
第 3 页,共 24 页
的值为
【解析】定义了结构体类型数组s ,长度为2,结构体类型数组m ,长度为2,并进行了初始化。同类型的结构体可以直接用变量名实现赋值,A 选项正确。数组名为数组首地址,地址常量之间不可以相互赋值,B 选项错误。C 选项引用结构体成员错误,数组名为地址常量不是结构体变量,不能引用成员。D 选项数组越界,不存在s[2]与m[2]。
7. 若有代数式
(其中e 仅代表自然对数的底数,不是变量),则以下能够正确表示该
代数式的C 语言表达式是( )。
【答案】A
【解析】math.h 是数学运算库函数的头文件名:
8. 以下函数按每行8个输出数组中的数据:
下画线处应填入的语句是( )。 A. B. C. D. 【答案】C
【解析】每行输出8个数组数据的实现,即输出8个后就输出一个换行,所以,应该对8取余,当结果为0时输出换行符,即用语句
可表达。
二、设计题
9. 函数fun 的功能是:将8所指字符串中除了下标为奇数、同时ASCII 值也为奇数的字符之外,其余的所 有字符都删除,串中剩余字符所形成的一个新串放在t 所指的数组中。。
例如,若s 所指字符串中的内容为但所在元素
的下标为偶数,因此必须删除;而字符1的ASCII 码值为奇数,所在数组中的下标也为奇数,因此不应当删除, 其他依此类推。最后t 所指的数组中的内容应是
第 4 页,共 24 页
其中字符A 的ASCII 码值虽为奇数,
注意:部分源程序存在