当前位置:问答库>考研试题

2017年天津师范大学电子与通信工程学院C语言程序设计复试实战预测五套卷

  摘要

一、选择题

1. 有以下程序(strcpy 为字符串复制函数,strcat 为字符串连接函数):

程序运行后的输出结果是( )。 A.al2xyz B.12yz C.a2yz D.bc2yz 【答案】C

【解析】先执行strepy ,将

中的2复制到a[l]中的b 及之后的存储空间中,即此时数组a

所指的y 及之后的z 与a 中的连接,即为

再执行strcat 连接函数,将中值为

2. 若有以下程序段:

输出结果是。 A.16 B.8 C.4 D.2

【答案】C

【解析】C 语言中,

右移运算符是将变量转换成二进制,然后右移相应位数,将移出的

位信息舍去,并在高位补0, 将所得的结果再赋值给变量。本题十进制数8转换为二进制数为00001000, 右移一位得到00000100, 再转换成十进制数就是4。

3. 有以下程序

程序运行后的输出结果是( ) A.6,4,3,2, B.6,2,1,1, C.1,1,2,6, D.2,3,4,6, 【答案】A

【解析】第一个嵌套的for 循环功能将对角线上的数据从大到小排序,其他数据不变,排序 值为6,输出第一行为6 4 3 2。 完成后,

4. 有以下程序:

程序运行后输出的结果是。 A.0, 4, 5 B.4, 4, 5 C.4, 4, 4 D.0, 0, 0

【答案】A

【解析】C 语言中可以将多条语句放在同一行,用“;”隔开。赋值运算和逗号运算都是从左,得A 的值为5, 然后执行C=(A-=A-5), 即将A 到右结合。首先执行A-=A-5,即A=A-(A-5)

的值5赋给变量C , 使得C 的值也为5。然后执行下句逗号表达式中的A=B, 把B 的值0赋给A ,此时A 的值为0, 然后执行B=B+4, 使得B 的值为4,最后打印输出。

5. 对于if (表达式)语句,以下叙述正确的是( )。

A. “表达式”的值可以是任意合法的数值 B. 在“表达式”中不能出现变量 C. 在“表达式”中不能出现常量 D. “表达式”的值必须是逻辑值 【答案】A

【解析】单分支选择语句if 语句格式如下:if (表达式)语句体。“表达式”可以是任意合法的C 语言表达式,包括关系表达式和逻辑表达式等,也可以是任意的数值类型(包括整型、实,A 项正确。“表达式”中可以出现变量或者常量,也不一定必须是逻辑值,B 、型、字符型等)C 、D 项错误。

6. 有以下程序:

程序运行后的输出结果是( )。 A.0 B.3 C.7 D.8

【答案】B

【解析】C 语言中,字符串没有专门的类型表示,是通过字符数组表示,在字符串末尾用表识字符串结 束。字符串s 的前三个字符满足if 语句,所以所以最后输出n 值为3。

7. 有以下程序:

>

程序运行后的输出结果是( )。 A.3,3,3 B.2,2,3 C.1,2,3 D.1,1,3 【答案】A 【解析】这个空间。

8. 有以下程序:

当遇到时,for 循环终止,

仅分配了一份内存空间,但是指针a 、b 和c 同时指向