2018年北京联合大学数字艺术803软件基础之C程序设计考研仿真模拟五套题
● 摘要
一、选择题
1. 若程序中有宏定义行:
#defineN100
则以下叙述中正确的是( )。
A. 宏定义行中定义了标识符N 的值为整数100
B. 在编译程序对C 源程序进行预处理时用100替换标识符N C. 上述宏定义行实现将100赋给标识符N D. 在运行时用100替换标识符N 【答案】D
【解析】D 项正确,预处理程序对源程序中所有使用宏名的地方进行直接替换。A 项错误,宏定义没有类型限制;B 项错误,预处理程序进行宏替换,而非编译程序;C 项错误,宏定义不是赋值操作,而是进行在预编译时进行替换。
2. 有以下程序:
程序运行后输出的结果是( )。 A.12, -3, 0, 0 B.-3, -1, 1, 3 C.0, 1, 2, 3
D.-3,-3,-3,-3 【答案】B
【解析】在函数参数传递时,一维数组和二维数组都是以指针的形式。函数fun 的作用是通过二维数组a 来 给数组b 赋值,元素(从倒数0个开始)。所以,
第 2 页,共 62 页
表示a 上对角线元素,表示a 中第i 行倒数第i 个
3. 有以下程序:
程序运行后的输出结果是( )。 A.1 B.123 C.23 D.3
【答案】A 【解析】和
,不执行if 后面的语句,所以最后输出只有1,故答案为A 选项。
是转义字符,表示空字符,故
成立,输出1;
是字符常量和0不等,
都是字符常量,因为
4. 有以下程序:
程序运行后的输出结果是( )。 A.aegi B.dfhk C.abed
D.abcdefghijk 【答案】A
【解析】char *a[]是定义一个指针数组,即指向指针的数组,所以,由题中初始化结果得
:
但是在输出语句时题中要求输出的字符
子输出第一个字符即
5. 以下函数不能用于向文件写入数据的是( )。
A.ftell B.fwrite C.fputc D.fprintf 【答案】A
【解析】函数ftell ( )用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁地前后移动,程序不容易确定文件的当前位置。调用函
第 3 页,共 62 页
所以每个
A 项不能写入数据,BCD 三项都可以向文件中写入。 数ftell 就能非常容易地确定文件的当前位置。
6. 有以下程序:
程序的运行结果是( )。 A. B. C. D. 【答案】A
【解析】函数fun 的功能:对字符串数组S 中n 个字符串按照字符串的长度由小到大进行排 序,要求输出 数组的第一个和第五个字符串的内容,即
7. 程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s 、p 、q 均已正确定义,并用于指向链表结点,指针变量s 总是作为头指针指向链表的第一个结点。
若有以下程序段
该程序段实现的功能是( )。 A. 删除首结点 B. 尾结点成为首结点 C. 首结点成为尾结点 D. 删除尾结点 【答案】C
【解析】进过while 循环后,p 指向链表的尾结点
是把q 置为p 的next
结点
q 的next 结点为空,此时q 结点成为链表的尾结点。
第 4 页,共 62 页
相关内容
相关标签