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

2017年天津大学教育学院854现代教育技术基础或程序设计语言[专业硕士]之C程序设计考研冲刺密押题

  摘要

一、选择题

1. 若有定义语句

A.2个字节 B.1个字节 C.3个字节 D.4个字节 【答案】B

【解析】char 类型变量,占用一个字节,‘65’=A,所以,c 表示的字符是A 。

2. 有以下程序

程序运行后的输出结果是( )。 A.-12 B.9 C.0 D.3

【答案】A

【解析】C 语言中,表达式从右向左计算。

3. 有以下程序:

第 2 页,共 43 页

则变量C 在内存中占( )。

表示8进制数101,即10进制中的65, 而

可以写成而

等价于

等价于a=a+a=(-6)+(-6)=-12。

程序运行后的输出结果是( )。 A.123 B.ABC C.abc D.012

【答案】A 【解析】当满足

输出

即字符在ASCII 码相减进行输出,

表示输出十进制整数。

循环开始以此类推答案为A 选项。

4. 若有定义:inta=0,b=0,c=0,d=0; ,以下关于C 语言表达式:顺序的叙述正确的是( )。

A. 先执行++a,表达式++a的值为1; 再执行++b,表达式++b的值为1,由此可确定为1,因此执行++C

B. 先执行++a, 表达式++a的值为1, 由此可确定值为1, 因此执行++C

D. 先执行++a, ++b,++c,++d,使得a , b , c ,d 的值都为1, 由此可确定此执行++C

【答案】B

【解析】++a表示先将变量a+1, 再执行其他操作,逻辑或运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数,表达式

中,左操作数++a的值为1,已经可以确定整个逻辑表达式的结果为1,因此右操作数++b不再求解,直接执行表达式2, 即++C,B 项正确。

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

A. 在scanf 函数的格式串中,必须有与输入项一一对应的格式转换说明符

B. 只能在printf 函数中指定输入数据的宽度,而不能在scanf 函数中指定输入数据占的宽度 C.scanf 函数中的字符串是提示程序员的,输入数据时不必管它 D. 复合语句也被称为语句块,它至少要包含两条语句 【答案】C

【解析】C 项正确,scanf 函数中的字符串是为了増加程序的可读性,并不影响数据的输入。A 项错误,可以在%和格式字符之间加入

号,作用是跳过对应的输入数据;B 项错误,可以

在格式字符前加入一个正整数指定输入数据所占的宽度;D 项错误,用一对花括号把若干语句括

第 3 页,共 43 页

执行值

|值为1, 因此执行++c

_'

值为1,因

C. 先执行++b, 表达式++b的值为1; 再执行++a, 表达式++a的值为1,由此可确定’

起来构成一条复合语句。一个复合语句在语法上视为一条语句,在一对花括号内的语句数量不限。

6. 有以下程序:

程序运行的结果是。

【答案】D

【解析】外层主循环i 从3减到1执行了3次,嵌套的循环变量j 从1增到2, 每轮执行2次,每次输出i+j的值,即为3+1、3+2、2+1、2+2、1+1、1+2,但注意每次内循环结束要换行。

7. 有以下程序:

程序运行后的输出结果是( )。

【答案】A

【解析】在for 循环中,对3个结构体元素y 值转换成2进制数后向右移一位,再对此时x ,y 值依次进行

8. 有以下程序:

第 4 页,共 43 页