2017年四川大学公共管理学院667信息管理基础之C程序设计考研导师圈点必考题汇编
● 摘要
一、选择题
1. 按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( )。
A. 大写字母 B. 连接符 C. 数字字符 D. 下划线 【答案】B
【解析】C 语言中标识符只能由下划线、字母和数字组成,且不能以数字开头。
2. 以下叙述中正确的是( )。
A. 赋值语句是一种执行语句,必须放在函数的可执行部分 B.scanf 和printf 是C 语言提供的输入和输出语句 C. 由printf 输出的数据都隐含左对齐
D. 由printf 输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的 【答案】A
【解析】A 项正确,赋值语句是一种可执行语句,应当出现在函数的可执行部分。但需要注意,不要把变量定义时的赋初值和赋值语句混为一谈。B 项错误,C 语言本身没有提供输入输出功能,scanf 和printf 属于标准库函数;C 项错误,数据都隐含右对齐,如果想左对齐,可以在格式控制中的“%”和宽度之间加一个号来实现;D 项错误,若给出的总宽度nl 小于n2加上整数,则自动突破nl 的限制。 位数和小数点(e 或E 格式还要加上指数的5位)
3. 有以下程序:
程序运行后的输出结果是( )。
A.agmrw B.ekpuy C.djotx D.flqvz 【答案】B
【解析】在for 循环中,执行完while 语句后,j 值为每行字符串的长度,此时串数组每个元素的最后一个字符,
循环依次赋值,最后输出
为倒数第二个字符。因此B 项正确。
比如
为字符
则
4. 有以下程序段,若变量已正确定义并赋值( )。
则与此程序段功能相同的选项是( )。
【答案】A
【解析】程序段执行过程为:如果a>b,输出x ,否则输出y ; 如果a<=b,i 加1,否则j 加1。A 项如果a>b,A 项正确。B 项如果a>b,输出x 且j 加1, 否则输出y 且i 加1, 与题目中功能相同,输出x 且i 加1,否则输出y 且j 加1,与题目中功能不相同,B 项错误。C 项如果a<=b,输出x C 项错误。D 项判断条件为a>=b,且i 加1,否则输出y 且j 加1,与题目中功能不相同,多了a=b,D 项错误。
5. 以下叙述中错误的是( )。
A. 可以用typedef 说明的新类型名来定义变量
B.typedef 说明的新类型名必须使用大写字母,否则会出编译错误 C. 用typedef 可以为基本数据类型说明一个新名称
D. 用typedef 说明新类型的作用是用一个新的标识符来代表已存在的类型名 【答案】B
【解析】typedef 说明的新类型名习惯上用大写字母,但不是必须用大写。
6. 以下选项中不能作为C 语言合法常量的是( )。
【答案】A
【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。B 项,式的常量,是合法的;C 项,是字符串常量;D 项,
单引号表示字符常量,不能包含字符串,若要包含字符串,需用双引号。
7. 有以下程序:
程序运行以后的输出结果是( )。 A.7 B.8 C.9 D.10
【答案】C
【解析】如果函数的定义在调用之后,则必须要在调用之前声明函数。静态局部变量,在整个程序的运行期 间均有效。函数f 将整型变量a 定义为静态变量,所以每次调用函数f 时不再为a 重新赋值。第一次调用f 后,n=4, a=2,第二次调用时,a 已经变成了 2, 所以结果为4+5=9。
8. 设有如下语句:
则以下叙述中错误的是( )。 A.DA TE 是用户定义的结构体变量 B.structDate 是用户定义的结构体类型 C.DA TE 是用户说明的新结构体类型名 D.struct 是结构体类型的关键字 【答案】A
【解析】C 语言允许用typedef 说明一种新类型名,其一般形式如下:typedef 类型名新类型
是指数形
是表示八进制数整型常量。A 项错误,