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

2016年上海理工大学光电信息与计算机工程学院C程序设计及操作系统原理之C程序设计考研复试题库

  摘要

一、选择题

1. 若有以下程序

则程序的输出结果是( )。 A.4,3,4 B.4,3,3 C.6,3,6 D.6,6,6 答:B

【解析】函数sp (p )调用前,p 指向k ; 调用后,指针p 被复制到a ,a 也指向存单元,k 和*p仍然是3。

2. 以下选项中叙述正确的是( )。

A. 结构化程序的三种基本结构是循环结构、选择结构、顺序结构 B.C 语言源程序不编译也能直接运行 C. 使用N —S 流程图不能描述复杂算法

D. 计算机能够直接运行C 语言源程序,不必进行任何转换 答:A

【解析】编译就是把高级语言变成计算机可以识别的二进制语言,不经过编译的源程序是不能运行的,B 项错误。算法可以用各种描述方法进行描述,能用

流程图把算法的每一步都用一个

矩形框来表示,把一个个矩形框按执行的次序连接起来就是一个算法描述,无论算法复杂与否都

流程图描述,C 项错误。C 语言源程序需要经过编译和连接生成目标文件和可执行文件

后才能运行,D 项错误

3. 有以下程序:

第 2 页,共 35 页

语句

使得a 指向变量b (但是p 仍然指向k ); 在sp 函数内部输出4,sp 函数没有改变指针p 指向的内

程序运行后的输出结果是( )。 A.7, 4 B.4, 10 C.8, 8 D.10, 10 答:B

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

4. 若想给已定义为int 型的变量a 、b 、c 、d 赋整数1,以下选项中错误的语句是( )。

A.d=c,c=b,b=a,a=l; B.d=c=b=a=l;

C.d=(b=c=(a=l); )D.d=l,c=d>b=c,a=b; 答:A

【解析】赋值是将一个常量的值赋给一个变量,A 项中,变量c 初始值未定义,相当于一个未知数给变量d 赋值,不满足赋值为1的条件。

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

A. 语句

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

【解析】B 项正确,C 编译程序将自动在字符串常量最后添加串的存储单元,因此数组str 的长度大于字符串的长度。

6. 有以下程序

第 3 页,共 35 页

系统已自动在最后加入了

并不等价 字符,表示串结尾

C. 对于一维字符数组,不能使用字符串常量来赋初值

中,数组str 的大小等于字符串的长度

AC 两项错误,可以直接用

字符串常量给一维字符数组赋初值,习惯上均省略花括号;D 项错误,’\0’会占用一个不属于字符

程序运行后的输出结果是( )。 A.2,3,1 B.2, 3, 2 C.2, 3, 3 D.2, 2, 1 答:A

【解析】对于表达式改成

计算第三个表达式

7. 若有以下程序

,赋值运算符的优先级高于逗号运算符的优先级,可

然后从左向右先计算表达式

y 的值为3。

因为

先使用后自增,所以

的值为2。最后

此时y 的值为1,

z 的值为1,x 的值为2。再计算逗号表达式第二个表达式

则程序的输出结果是( )。 A.2, 3 B.0, 2 C.1, 2 D.1, 3 答:D 【解析】

8. 有以下程序

1. 是先判定a 是否为0, 不管判定结果如何,都执行a++。

程序的运行结果是( )。 A.Afternoon B.flemoon C.Morning D.oming 答:A

第 4 页,共 35 页