2017年中山大学S4605001计算机综合考试之C语言程序设计复试仿真模拟三套题
● 摘要
目录
2017年中山大学S4605001计算机综合考试之C 语言程序设计复试仿真模拟三套题(一)... 2
2017年中山大学S4605001计算机综合考试之C 语言程序设计复试仿真模拟三套题(二)... 7 2017年中山大学S4605001计算机综合考试之C 语言程序设计复试仿真模拟三套题(三). 12
第 1 页,共 16 页
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
A.0
B.2
C.3
D.5
【答案】B
【解析】本题main 函数的作用就是判断字符串s 中小写字母的个数,显然结果为2。
2. 有以下程序
程序运行后的输出结果是( )。
A.9284
B.9824
C.6982
D.6385
【答案】D
【解析】p 定义了两个字符串指针,p[0]指向c[0], p[l]指向c[l]。所以,p[i][j]
等价于
作用是把字符串p[i]转化成10进制数,注意到内层循环中
中的第0个,第2个元素,取c[l]中的第0个,第2个元素。
第 2 页,共 16 页 结果取c[0]
3. 有以下程序:
程序运行后的输出结果是( )。
A.y=0
B.y=-l
C.y=l
D.while 构成无限循环
【答案】B
【解析】当y=0时,不符合while 循环条件,经过y--值变为-1。
4. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 ( )。
A.C 语言程序仅可以编译执行
B.C 语言程序仅可以解释执行
C.C 语言程序既可以编译执行,又可以解释执行
D. 以上说法都不对
【答案】A
【解析】编译型语言编写的程序在执行之前,需要一个专门的编译过程把程序编译成机器语言的文件,比 如.exe 文件,再次运行时便不需要重新翻译,直接使用编译的结果便可以了,因为翻译只做了一次,运行时不需 要翻译,所以编译型语言的程序执行效率高。解释则不同,解释型语言的程序不需要编译,在运行程序的时候才 翻译,解释型语言每执行一次便需要翻译一次,效率低。C 语言程序属于编译执行类型。
5. 以下叙述中正确的是( )。
A. 语句
B. 语句
C. 语句
D. 语句
符
【答案】A
【解析】A 项正确,表示定义了长度为8的int 型数组,它里面的每个元素都是0。当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0。B 项错误,C 语言规定可以通过赋初值来定义数组的大小,这时数组说明符的一对方括号中可以不指定数组的大小;C 项错误,
第 3 页,共 16 页
是合法的 是不合法的,遗漏了数组的大小 是合法的,定义了一个包含两个字符的数组 是合法的,因为数组有三个字符空间的容量,可以保存两个字
a 是char 类型的数组,里面的元素应该是字符而非字符串,应该用单引号括起来;D 项错误,数组变量一旦定义,其地址值不可改变,不能给数组名重新赋值。
6. 构成C 程序的三种基本结构是( )
A. 序结构、转移结构、递归结构
B. 顺序结构、嵌套结构、递归结构
C. 顺序结构、选择结构、循环结构
D. 选择结构、循环结构、嵌套结构
【答案】C
【解析】结构化程序由三种基本结构组成:顺序结构、选择结构和循环结构。已经证明,由三种基本结构组算法可以解决任何复杂的问题。
7. 以下不能将键盘输入的字符串:This is a string〈回车〉读入到str 中的程序段是( )。 A. B. C. D.
【答案】A
【解析】在使用scanf 函数时,在输入数据时,遇到空格,或按“回车”键或按“跳格”(Tab )键时该数据 认为结束。A 项中输入This 后有一个空格,认为数据输入结束,以后的数据不能再读入到str 中,故选择A 项。 B 项用getchar 读人字符,键盘输入的所有字符均被认为是有效字符读入,用while 循环控制读入,当读入字符为 回车时结束读入,字符串被正确的读入到str 中。C 项用gets 函数读入字符串,它读入键盘输入的所有字符,遇到回车自动结束读入,所以也能正确读入字符串到str 中。D 项用do...while 和指针循环控制字符输入,依次判断输入字符是否为回车符,若不是回车符则放人字符数组中,直到读入回车符,结束循环,数组str 中正确存放人指定的字符串。
8. 以下语句中存在语法错误的是( )。 A. B. C. D.
【答案】A
【解析】A 项错误,数组定义后,不能对数组整体赋值,SS 是二维数组,
组,即字符串,
字符串赋值可以使用
指针数组的一个元素。
是一维字符数”的形式,但不能使用赋值的形式。BD 两项正确,在定义时对数组同时进行初始化;C 项正确,将常量字符串在内存中的首地址赋给
二、设计题
第 4 页,共 16 页