2018年山西大学计算机与信息技术院859软件工程专业基础之C程序设计考研核心题库
● 摘要
一、选择题
1. 以下程序中函数f 的功能是:当flag 为1时,进行由小到大排序;当flag 为0时,进行由大到小排序。
程序运行后的输出结果是( )。
A.1,2,3,4,5,6,7, 8, 9,10,
B.3, 4, 5, 6, 7, 2, 1, 8, 9, 10,
C.5, 4, 3, 2, 1, 6, 7, 8, 9, 10,
D.10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
【答案】B
flag 为1时从小到大排序,flag 为0时从大到小排序,【解析】第一次排序结果为5, 4, 7, 6, 3, 2,
1,8, 9,10; 第二次排序结果为3, 4, 5, 6, 7, 2,1,8, 9,10。
2. 若有以下程序
第 2 页,共 53 页
则程序的输出结果是( )。
A.13
B.10
C.11
D.15
【答案】C
【解析】default 也是关键字,起标号的作用,代表所有case 标号之外的那些标号。default 标号可以出现在语句体中任何标号位置上。在switch 语句体中也可以没有default 标号。
先判定case 语句,如果没有与判定值相等的标号,并且存在default 标号,则从default 标号后的语句开始执行。如果default 语句没有break ,则其下面的case 语句不加判定的继续执行(default 位置在case 前面时),直到遇到break 或switch 结尾。
①n=0,执行default ,s=4,没有遇到break ,不与case 标号比较,直接执行case 后的语句,s=5,遇到break ,跳出循环;
②n=l,s+=l,s=6;
③n=2»s+=2, s=8;
④n=Ls+=3,s=11。
3. 阅读以下程序:
该程序在编译时产生错误,其出错原因是( )。
A. 定义语句出错,case 是关键字,不能用作用户自定义标识符
B. 定义语句出错,printF 不能用作用户自定义标识符
C. 定义语句无错,scanf 不能作为输入函数使用
D. 定义语句无错,printf 不能输出case 的值
【答案】A
【解析】在C 语言中,关键字又称保留字,它是系统预先定义的,具有特定含义的标识符,
故不允许用户重新定义。case 为C 语言中的关键字,因此用户不能再定义标识符为case 的变量。
第 3 页,共 53 页
4.
若有定义语句
( )。
【答案】D 以下不能使用变量year 中的值增至2010的语句是
【解析】A 项,p 所指内容执行增1操作;B 项,先取P 指针所指的内容,再执行后++运算;C 项,先取P 指针所指内容,再执行前++运算;D 项,实际上是p 指针执行++操作,而后取值。
5. C 语言中,最基本的数据类型包括( )。„
A. 整型、实型、逻辑型
B. 整型、字符型、数组
C. 整型、实型、字符型
D. 整型、实型、结构体
【答案】C
【解析】C 语言中,最基本的数据类型包括整型、实型、字符型,答案为C 选项。
6. 按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( )。
A. 大写字母
B. 连接符
C. 数字字符
D. 下划线
【答案】B
【解析】C 语言中标识符只能由下划线、字母和数字组成,且不能以数字开头。
7. 有如下程序:
程序运行后的输出结果是( )。
A.9, 1
B.4, 0
C.4, 3
D.9, 3
【答案】A
第 4 页,共 53 页