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

2018年福建师范大学教育院620计算机基础之C程序设计考研核心题库

  摘要

一、选择题

1. 以下关于字符串的叙述中正确的是( )。

A.C 语言中有字符串类型的常量和变量

B. 两个字符串中的字符个数相同时才能进行字符串大小的比较

C. 可以用关系运算符对字符串的大小进行比较

D. 空串比空格打头的字符串小

【答案】D

【解析】字符串比较的方法是:依次对si 和S2中对应位置上的字符两两进行比较,当出现第一对不相同的字符时,

即由这两个字符决定所在串的大小(比较字符大小的依据是其值)。空格是一种字符,所以空串肯定比空格打头的字符串小。

2. 若有以下程序

则程序的输出结果是( )。

A.0, 18, 3

B.1, 14, 3

C.0, 14, 3

D.0, 14, 6

【答案】C

【解析】题目中的for 循环可以写成:

第一次循环,a=6,进入for 循环,b=0+6=6,c=l,a=6-l=5;

第二次循环,a=5,进入for 循环,b=6+5=ll,c=2,a=5-3=3;

第三次循环,a=3,进入for 循环,b=ll+3=14, c=3,a=3-3=0;

第四次循环,a=0, 跳出for 循环;输出结果是0, 14, 3。

3. 有以下函数:

第 2 页,共 60 页 码

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

【答案】D

4. 以下选项中,当x 为大于1的奇数时,值为0的表达式是( )。

【答案】D

【解析】x 为大于1的奇数,

5. 有以下程序:

程序运行的结果是。

【答案】D

【解析】外层主循环i 从3减到1执行了3次,嵌套的循环变量j 从1增到2, 每轮执行2次,每次输出i+j的值,即为3+1、3+2、2+1、2+2、1+1、1+2,但注意每次内循环结束要换行。

6. 有以下程序:

第 3 页,共 60 页

的值为1,^为假。

程序的运行结果是( )。

A.7, 4, 2

B.8, 7, 5, 2

C.9, 7, 6,4

D.8,5, 4,2

【答案】D

【解析】题目中的for 循环等价于:

第一次循环,x=8, for 循环条件为真,8%3=2, 不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值8, 然后将x 的值减1, 此时x=7。然后执行continue 语句结束本次循环,执行x--表达式,得x=6

第二次循环,x=6, for 循环条件为真,6%3=0, 则if 条件表达式为假,执行第二个输出语句,先将x 的值减1得x=5, 然后输出x 的值5, 执行x —表达式,得x=4。

第三次循环,x=4, for 循环条件为真,4%3=1,不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值4,然后将x 的值减1,此时x=3,然后执行continue 语句结束本次循环,执行x —表达式,得x=2。

第四次循环,x=2, for 循环条件为真,2%3=2, 不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值2, 然后将x 的值减1,此时x=l, 执行X-表达式,得x=0, for 循环条件为假,循环结束。

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

A. 在C 语言中,预处理命令行都以“#”开头

B. 预处理命令行必须位于C 源程序的起始位置

C.#include必须放在C 程序的开头

D.C 语言的预处理不能实现宏定义和条件编译的功能

【答案】A

【解析】编译预处理”就是在C 编译程序对C 源程序进行编译前,由编译预处理程序对这些编译预处理命令行进行处理的过程。A 项正确,在C 语言中,凡是以“#”号开头的行,都称为“编译预处理”命令行。B 项错误,预处理命令行可以出现在程序的任何一行的开始部位,其作

C 项错误,#inClUde可以出现在程序的任意一行的开始部位;用一直持续到源文件的末尾;

D 项错误,预处理可以实现宏定义、条件编译和文件包含。

第 4 页,共 60 页