2017年中国药科大学药学信息学综合之C++程序设计复试实战预测五套卷
● 摘要
一、选择题
1. 有以下程序:
程序的运行结果是( )。
【答案】C
【解析】调用f 函数时,将结构体数组名作为实参传给了形参指针,使结构体指针a 指向了结构体C 的首地址。因此,在f 函数中,对指针所指结构体中的成员的赋值就是对数组c 中元素的赋值,故返回主函数之后,数组c
中
2. 以下选项中错误的是( )。 A. B. C. D.
【答案】D
【解析】D 项,成员的值已被更新,
最终输出结果为表示a 不等于b 时,运算结果为1,或者为0; 而^是一种语法错误,是非运算,且是单目运算符,只要求有一个操作数,故两者不等价。
3 设有如下定义
.则以下错误引用结构体成员n 的是( )。
【答案】A
【解析】可用以下3种形式来引用结构体变量中的成员,其中结构体变量名也可以是已定义的结构体数组的数组元素:①结构体变量名. 成员名;②指针变量名->成员名;③(*指针变量名). 成员名。题目中a 为数组名是地址常量,不是指针变量,A 项引用错误。a[0]为变量名,B 项引用正确。p 为指针,且正确的指向结构体变量,C 项引用正确。D 项符合第三种引用方式,引用正确。
4. 设有chars[5],c ;, 则调用函数scanf 能正确给s 和c 读入数据的是( )。 A. B. C. D.
【答案】D 【解析】中放的是字符串,故输入的类型应该是c 中放的是字符,故输入的是要正确读入数据必须要正确指向S 和C 的地址。
5. 以下叙述正确的是( )。
A. 文件指针是指针类型的变量
B. 在使用文件指针时,不需要在内存中为其分配空间
C. 文件指针变量的值是文件的当前读取位置
D. 调用fscanf 函数能向所有类型的文件中写入任意字符
【答案】A
【解析】A 项正确,文件指针是指向文件类型的指针变量;B 、C 项错误,文件指针指向的是文件缓冲区,而不是文件本身位置;D 项错误,fscanf ( )函数作用是从指定的文件中格式化读数据,读取数据类型由格式控制符决定。
6. 设有如下语句:
则以下叙述中错误的是( )。
A.DA TE 是用户定义的结构体变量
B.structDate 是用户定义的结构体类型
C.DA TE 是用户说明的新结构体类型名
D.struct 是结构体类型的关键字
【答案】A
【解析】C 语言允许用typedef 说明一种新类型名,其一般形式如下:typedef 类型名新类型
DATE 是这种新类型的名字。DA TE ,名;题目中定义了新类型Date ,这种类型变量包含3个成员,
是用户说明的新结构体类型名,不是结构体变量,C 选项叙述正确,A 选项叙述错误,选择A 选项。structDate 是用户定义的结构体类型,B 选项叙述正确。struct 是结构体类型的关键字,D 选项叙述正确。
7. 设有以下语句
则下面叙述中正确的是( )。
A.CIN 是stractTT 类型的变量
B.TT 是struct 类型的变量
C. 可以用TT 定义结构体变量
D. 可以用CIN 定义结构体变量
【答案】D
【解析】CIN 使用typedef 定义的类型名,可以用来定义结构体TT 类型的变量。
8. 若有以下程序
则程序的输出结果是( )。
A.13
B.10
C.11
D.15
【答案】C
【解析】default 也是关键字,起标号的作用,代表所有case 标号之外的那些标号。default 标号可以出现在语句体中任何标号位置上。在switch 语句体中也可以没有default 标号。
先判定case 语句,如果没有与判定值相等的标号,并且存在default 标号,则从default 标号后的语句开始执行。如果default 语句没有break ,则其下面的case 语句不加判定的继续执行(default
,直到遇到break 或switch 结尾。 位置在case 前面时)
①n=0,执行default ,s=4,没有遇到break ,不与case 标号比较,直接执行case 后的语句,