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

2016年沈阳航空航天大学计算机学院C程序设计考研复试题库

  摘要

一、选择题

1. 结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是( )。

A. 三种基本结构不可以嵌套使用

B. 顺序结构是按语句在程序中的先后顺序逐条执行,没有分支,没有转移

C. 选择结构是根据不同的条件执行不同分支中的语句

D. 循环结构是根据条件决定是否重复、重复执行多少次循环体语句

答:A

【解析】结构化程序主要由3种基本控制结构组成,顺序结构是最基本的算法结构,当执行由这些语句构成的程序时,将按这些语句在程序中的先后顺序逐条执行,没有分支,没有转移,没有步骤之间的相互约束,没有 对某一步骤的多次使用,完全按照步骤的原有次序依次执行,B 选项叙述正确。选择结构根据不同的条件去执行 不同分支中的语句,C 选项叙述正确。循环结构就是根据各自的条件,使同一组语句重复执行多次,D 选项叙述正确。三种结构可以嵌套使用,A 选项叙述错误,选择A 选项。

2. 以下合法的转义字符是( )。

A. B. C. D.

答:D 【解析】表示1到2位十六进制所代表的字符,D 项正确。

3. 以下叙述中正确的是( )。

A. 语句B. 对于字符串常量D. 在语句

答:B

【解析】B 项正确,C 编译程序将自动在字符串常量最后添加

串的存储单元,因此数组str 的长度大于字符串的长度。

AC 两项错误,可以直接用字符串常量给一维字符数组赋初值,习惯上均省略花括号;D 项错误,’\0’会占用一个不属于字符和系统已自动在最后加入了并不等价 字符,表示串结尾 C. 对于一维字符数组,不能使用字符串常量来赋初值 中,数组str 的大小等于字符串的长度

4. 若变量已正确定义为int 型,要通过语句给a 赋值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。

答:B

【解析】scanf 函数要求除格式控制符以外的字符都要原样输入。逗号是非格式符,所以需要原样输入,否则就不能正确读入数据。B 项前两个数据后面没有紧跟一个逗号,格式不匹配所以输入形式错误。

5. 有以下程序:

程序的运行结果是( )。

A.nice

B.verynice

C.nicegood

D.verygood

答:D

【解析】通过赋值运算使一个字符指针指向一个字符串常量:这种形式只是将字符串“nice”首地址赋给指针,而不是将指针原本指向的单元元素改变成“nice”。程序执行过程为:定义字符数 组并且初始化为“verygood”常量,定义指针ps 使其指向数组,使ps 指向数组第5个元素,使指针指向字符串 “nice”,这并不影响s 数组任何元素值,故输出字符串8为“verygood”。

6. 以下程序中给数组所有元素输入数据,请从选项中选择正确的答案填入下划线处。

A.

B.

C.

D.

答:A

【解析】A 选项a 为数组首地址,i++先取i 值再加1,scanf 读入的数据依次存放在数组中,A 选项正确。B 选项,进入死循环,i-直为0, 一直对a[i+l]读入数据,B 选项错误。C 选项,控制变量i 没有依次加1,无法结束循环,也无法对整个数组赋值,输入的数全是a[0], C 选项错误。D

,D 选项错误。故选A 。 选项数组元素引用错误,数组元素引用为不是( )

7. 以下可以将任意一个两位整数n 的个位数与十位数对换的表达式为( )。

A. (n-n/10×10)×10+n/10

B.n-n/l0×l0+n/10

C.n/10+(n-n/10)

D. (n-n/10)×10+(n/10)

答:A

A 项n/10得到十位数字,n-n/10得到个位数字,,n-n/10【解析】将个位数乘以10加上十位数字(

×10)×l0+n/10实现将任意一个两位整数个位数与十位数对换,A 项正确。B 项n-n/10×10得到个位数字,n/10为十位数字,n-n/10×l0+n/10实现两位整数个位数与十位数之和,B 项错误。C 项n/10+(n-n/10)=n, 不能实现题目中要求,C 项错误。D 项n/10是十位数字,n-n/10为原两位整数减去十位数字,不是个位数字,D 项错误。

8. 有以下程序:

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

A.10,9

B.11,10

C.010,9

D.9,10

答:D

【解析】整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,八进制整常量以0作为前缀。自増和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再使变量的值增(或减)1。x=010=8,y=10,++x先自加后取值,输出9,y--先取值输出10,再自减y=9,故D 选项正确。

9. 有以下程序(说明:字母A 的ASCII 码值是65):