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

2017年中国地质大学(武汉)计算机学院952软件综合之C程序设计考研导师圈点必考题汇编

  摘要

一、选择题

1. 有以下程序段:入字母A 、B 、C , 则以下对输入形式的描述正确的是( )。

A. 字母A 、B 、C 之问可以用空格分隔

B. 字母A 、B 、C 之间不能有分隔符

C. 字母A 、B 、C 之间可以用回车符分隔

D. 字母A 、B 、C 之间可以用Tab 键分隔

【答案】B

【解析】在使用scanf 函数时要注意,在用格式输入字符时,分隔符(空格符、制表符(Tab 键)、回车符)和转义字符都将作为有效字符进行输入。题目中要求以字符形式输入三个数据,空格、回车符、Tab 键均会被视为有效字符赋给对应变量,所以字母A 、B 、C 之间不能有分隔符,故B 选项正确。

2. 若有以下程序段

则以下选项中值为6的表达式是( )。

【答案】C

【解析】定义长度为3的struct 数组a , a 中每个元素的next 值是指向下一个元素,实际上数组a 的元素构成了一条单链表,指针p 指向单链表的头部项返回的都是的值5。

3. 有以下程序:

第 2 页,共 42 页 若要给分别输等于指向三

程序运行的结果是( )。

【答案】D

【解析】对结构体变量赋初值时,相同类型的变量可以通过等号直接赋值,它会将每个成员在结构体中的顺一一对应赋初值,可知

输出函数中要求输出的浮点数有效位为2位。

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

A.C 程序总是以main ( )作为程序执行的起始行

B.main ( )函数若不带参数,其后面的一对圆括号可省略

C. 函数体内的定义语句和可执行语句允许任意穿插出现

D.C 语言中的语句之间必须用分号作为分隔符

【答案】A

【解析】main ( )函数后面的括号告诉编译器这是一个函数,不可以省略,排除B 选项;在复合语句中,不仅可以有执行语句,还可以有定义语句,定义语句应该出现在执行语句的前面,故排除C 选项;C 语言中的某些语句可以不用分号,例如if 语句,宏定义,故D 选项错误;答案为A 选项。

5. 设有定义:intx=ll,y=12,z=0; ,以下表达式值不等于12的是( )。

A. (z ,x ,y )

B. (z=x,y )

C.z=(x ,y )

D.z=(x==y)

【答案】D

【解析】逗号表达式的计算过程是从左到右逐个求每个表达式的值,取最右边一个表达式的值作为该逗号表达式的值。赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。D 选项逻辑表达式x==y不成立,则z=0,表达式值为0。B 选项逗号表达式X ,y 取y 值为表达式值,然后赋值给z=12,表达式值为12。C 选项逗号表达式(x ,y )取y 值为表达式值,然后赋值给z=12,表达式值为12。A 选项逗号表达式(z ,x ,y )取y 值为表达式值12。故选择D 选项。

6. 以下函数按每行8个输出数组中的数据:

第 3 页,共 42 页

下画线处应填入的语句是( )。 A. B. C. D.

【答案】C

【解析】每行输出8个数组数据的实现,即输出8个后就输出一个换行,所以,应该对8取余,当结果为0时输出换行符,即用语句可表达。

7. 设a ,b ,C 是整型变量,且已正确赋初值,以下选项中错误的赋值语句是( )。

【答案】D

【解析】D 项,

再给b 赋

值为1,再计算

8. 有以下程序:

程序的运行结果是。(口代表一个空格)

A.10,12,a

B. □□0,012,a

C.010,12,a

D. □□10,12,a

【答案】D

【解析】%4d 表示先输出十进制,共占4个字符,而10已占2个字符,故先输出2个空格,然后输出10; %0表示输出八进制,10的八进制为12; 表示输出十六进制,即a 。

9. 设有定义:

intk=0;

第 4 页,共 42 页

具有最高优先级,b 先赋值9, 再根据赋值运算符号自右向左进行赋值,赋值运算符左边必须是一个变量,但数值2是常量,语法错误。