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

2017年南京工业大学C,C++程序设计复试仿真模拟三套题

  摘要

一、选择题

1. 有以下程序:

程序运行后的输出结果是( )。

A.7, 4

B.4, 10

C.8, 8

D.10, 10

【答案】B

【解析】在C 语言中,strlen ( )用来统计字符串中字符的个数,sizeof ( )是求分配给数组的存储空间大小。题目中字符串a 中字符个数为4, 但由于数组a 定义含有10个字符,所以所占空间大小为10。

2. 有以下程序

程序运行后,若从键盘输入(从第1列开始)

123<回车>

45678<回车>

则输出结果是( )。

A.1245

B.1256

C.1278

D.1267

【答案】A

【解析】scanf ( )是格式化输入函数;getehar ( )函数从键盘缓冲区读入下一个字符;putehar ( )输出一个字符;printf ( )函数是格式化输出函数。在题目中,程序执行到scanf ( )函数时,会暂停等待用户输入4个字符,按题意输入123〈回车〉后,字符1〜3被分别赋值到cl 〜c3中,而c4会得到一个换行符然后执行第1个getchar ( )函数,由于前面的scanf ( )函数读完了缓冲区中的所有字符,所以此时程序又会暂停等待用户输入,按题意输入45678〈回车〉后,缓冲区第一个字符4赋值c5, 第二个字符5赋值给c6。

3. 已知大写字母A 的ASCII 码是65,小写字母a 的ASCII 码是97。以下不能将变量c 中的大写字母转换为对应小写字母的语句是( )。

A.c=c+32 B. C. D.

【答案】B

【解析】大写字母转换为对应小写字母,即加上32, B 项不是累加32。

4. 有如下程序:

程序运行后的输出结果是( )。

A.ABC

B.012

C.abc

D.123

【答案】B

【解析】while 循环语句执行时,首先判断表达式,成立(非0)则执行循环体,不成立(0)则退出循环。字符之间做加减法,是用其ASCII 码进行加减,所以程序执行过程为:定义字符变量ch=‘A ’,判断‘A ’<‘D ’成立,‘A ’-‘A ’=0,输出0, ch++后,值为‘B ’;判断‘B ’<‘D ’成立,‘B ’-‘A ’=1, 输出1, ch++后,值‘C ’;判断‘C ’<‘D ’成立,‘C ’-‘A ’=2,输出2,ch++后值‘D ’;判断‘D ’<‘D ’不成立,退出循环。程序运行后的输出结果是012, 故B 项正确。

5. 有以下程序

程序运行后的结果是( )。

A.1, 2, 4

B.1, 3, 6

C.3, 10, 14

D.3, 6, 10

【答案】C

【解析】case 分支后面如果没有break , 那么就会顺序执行下面的case , 直到遇到break 跳出或者到switch 语句块结尾。所以第一次循环后s 的值为3, 打印输出。第二次S 的值为即

为10, 打印输出。第三次没有匹配成功直接执行default 语句,s=s+4, 所以s 的值为14, 打印输出。

6. 以下选项中,能用作数据常量的是( )。

A.o115

B.0118

C.1.5el.5

D.115L

【答案】D

【解析】A 项错误,十六进制数用数学0和字符x (或大写字母X )开头;B 项错误,八进制整数常量以数字0开始,有效数字为0〜7;C 项错误,C 语言中实型常量有两种表示:小数形式

和指数形式。指数形式中,字母e (或E )之前必须要有数字,且e 或E 后面的指数必须为整数。

7. 关于C 语言标识符,以下叙述错误的是( )。

A. 标识符可全部由数字组成

B. 标识符可全部由下划线组成

C. 标识符可全部由小写字母组成

D. 标识符可全部由大写字母组成

【答案】A

【解析】标识符只能由字母、数字、下划线组成,且标识符的第一个字符只能是字母或下划线。所以,B 、C 、D 选项正确,答案为A 选项。

8. 设有如下程序段:

以下叙述正确的是( )。

A. 只有a ,b ,c 的定义是合法的

B.a , b ,c ,d 的定义都是合法的

C. 只有a , b 的定义是合法的