2018年山东省培养单位烟台海岸带研究所864程序设计之C程序设计考研仿真模拟五套题
● 摘要
一、选择题
1. 以下叙述中错误的是( )。
A. 函数的返回值类型不能是结构体类型,只能是简单类型
B. 函数可以返回指向结构体变量的指针
C. 可以通过指向结构体变量的指针访问所指结构体变量的任何成员
D. 只要类型相同,结构体变量之间可以整体赋值
【答案】A
【解析】函数的返回值类型可以是结构体类型,也可以是指向结构体变量的指针类型,相同类型结构体变量 之间可以整体赋值,可以通过指针变量引用结构体成员。
2. 以下叙述中正确的是( )。
A. 赋值语句是一种执行语句,必须放在函数的可执行部分
B.scanf 和printf 是C 语言提供的输入和输出语句
C. 由printf 输出的数据都隐含左对齐
D. 由printf 输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的
【答案】A
【解析】A 项正确,赋值语句是一种可执行语句,应当出现在函数的可执行部分。但需要注意,不要把变量定义时的赋初值和赋值语句混为一谈。B 项错误,C 语言本身没有提供输入输出功能,scanf 和printf 属于标准库函数;C 项错误,数据都隐含右对齐,如果想左对齐,可以在格式控制中的“%”和宽度之间加一个号来实现;D 项错误,若给出的总宽度nl 小于n2加上整数位数和小数点(e 或E 格式还要加上指数的5位),则自动突破nl 的限制。
3. 以下结构体类型说明和变量定义中正确的是( )。
【答案】A
A 项,B 项,【解析】用typedef 定义结构体类型名REC 后,可以用REC 定义变量。“structREC ;”
后面不应加分号;C 项,没有这样的书写形式;D 项,REC 定义的是一个变量,不是结构体类型,因此不能用来定义结构体变量。
4. 以下叙述中正确的是( )。
A. 不同函数的形式参数不能使用相同名称的标识符
B. 用户自己定义的函数只能调用库函数
C. 实用的C 语言源程序总是由一个或多个函数组成
D. 在C 语言的函数内部,可以定义局部嵌套函数
【答案】C
【解析】C 项正确,一个实用的C 语言源程序总是由许多函数组成,这些函数都是根据实际任务,由用户自 己来编写。A 项错误,形参的作用域只在本函数内部,不同函数的形参标识符互不影响;B 项错误,可以调用C 提供的库函数,也可以调用由用户自己或他人编写的函数;D 项错误,C 语法规定,不能在函数内部定义其他函数。
5. 有以下程序:
程序运行后的输出结果是( )。
A.8, 17
B.8, 16
C.8, 8
D.8, 20
【答案】A
【解析】static 变量编译时,将其分配在内存的静态存储区中,在整个程序运行期间都不释放
这些存储单元, 即使退出函数,下次再进入该函数时,静态局部变量仍使用原来的存储单元,值
程序执行过程为:是上一次函数调用结束时的值。调用函数,
再次调用函数
,
6. 有以下程序(字符a 的返回 返回p=8, 码值为97)
程序运行后的输出结果是( )。
A.abc
B.789
C.7890
D.979899
【答案】B
【解析】因为小写字符a 、b 、c 的码的值分别为97、98、99, 而在循环语句
码的值取余数并输出,所以分别输出7、8、9, B项正确。 中,每次对字符的
7. 有以下程序:
程序运行后的输出结果是( )。
A.6
B.1
C.0
D.3
【答案】D 【解析】按位与运算符。a=3=118,b=3=118,按位与结果为11B=3,D 项正确。
8. 以下叙述中正确的是( )。
A.break 语句只能用于switch 语句体中
B.continue 语句的作用是使程序的执行流程跳出包含它的所有循环
C. 在循环体内使用break 语句和continue 语句的作用相同
D.break 语句只能用在循环体内和switch 语句体内
【答案】D