2017年北京联合大学移动商务803软件基础之C程序设计考研强化模拟题
● 摘要
一、选择题
1. 设有以下定义:
则以下叙述正确的是( )。
A. 数组s1的长度小于s2的长度
B. 数组s1和s2的长度相同
C. 数组s1的长度大于s2的长度
D. 数组s1和s2完全等价
【答案】C
【解析】为字符数组赋值字符串“0123”时,字符串中字符依次放人数组中后,在最后一个
数组s1长度为5。数组s2只需要4个单元即可放下所有初始字符后要添 加一个结束字符
化值,故数组长度为4。所以数组s1的长度大于S2的长度,C 项正确。两个数组等价是指两个数组长度和类型以及对应每个元素值均相 同,所以s1和82不是完全等价,D 项错误。
2. 有以下程序:
程序的运行结果是( )。
【答案】C
【解析】在funO 函数中,
出。
3. 有以下函数
第 2 页,共 43 页 表示X 取值为a 的小数部分,因此,输入a 为输
以下关于aaa 函数功能叙述正确的是( )。
A. 求字符串S 的长度
B. 比较两个串的大小
C. 将串s 复制到串t
D. 求字符串8所占字节数
【答案】A
【解析】aaa ( )函数中,首先定义了一个字符指针t 指向形参s ,然后通过一个while 循环让指针t 不断递 增,直到t 指向字符串结束标志处。当t 指向结束标志处时,由于后缀++运算符的原因,它还会被再递增1,此 时t 指向字符串结束符
语句让它回到结束标志处。最后返回
束符,故返回值为字符串的长度值。
4. 有以下程序
若想通过键盘输入,使得al 的值为12, a2的值为34, cl 的值为字符a ,c2的值为字符b , 程序输出结果是:12, a , 34, b ,则正确的输入格式是(以下□代表空格,
【答案】A
【解析】因为空格和回车也是字符变量,所以在输入a 和b 时,它们的前面不能有空格和回车,否则将取到空格或者回车,而非a 和b ; int 类型不会取到空格和回车,所以12和34前面可以有空格和回车。在scanf 函数并没有使用通配符逗号,所以输入时不能输入逗号。
5. 有以下程序:
程序的运行结果是( )。
第 3 页,共 43 页
后面一个单元,所以接下来的因为s 还是指向字符串第1个字符处,而t 指向字符串结
A.0
B.5
C.14
D.15
【答案】B
dowhile 循环结构先执行后判断。【解析】先执行do 中的表达式执行while 中的表达式,结果为0, 退出循环,故最终结果是5。
6. 以下不合法的字符常量是( )。 A. B. C. D.
【答案】A
【解析】在C 语言中,
含义,仅仅代
的转义,
符;D 项,
7. 设
【答案】C 【解析】的结合顺序是从左到右,所以x 先除以y ,再除以z 。
8. 有以下程序:
程序的运行结果是( )。
A.abcdef
B.cbcdef
C.cdef
D.ab
【答案】A
第 4 页,共 43 页 即再表示转义符,可以对特殊符号进行转义,此时特殊符号不再有其他表示换行,表示Tab 键。A 项,是指十六进制数cc 。 表示两位的八进表普通的字符,\后面的字符取值范围应该在Ascn 码表范围。例如. 表示对双引号表示对转义符的转义,制数,8不是合法的八进制数字。B 项,表示双引号这个特殊字符;C 项,表示转义符这个特殊字表示两位十六进制数,均为实型变量,代数式在C 语言中的正确写法是( )。