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

2017年云南师范大学C语言程序设计考研复试核心题库

  摘要

一、选择题

1. 若有定义inta=l,b=2,c=3;II ,则执行表达式(a=b+c)(++b)后a 、b 、c 的值依次为( )。

A.1、2、3

B.5、3、2

C.5、2、3

D.5、3、3

【答案】C

【解析】根据优先级规则,晒边都是括号,则从左至右执行括号中的表达式,将b+c的值赋值给a ,即a 为5, 不为0, 则II 右边的括号不需要再执行。

2. 有以下程序

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

A.20

B.16

C.12

D.25

【答案】B 【解析】展开后是

3. 以下选项中不能作为C 语言合法常量的是( )。

【答案】A

【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。单引号表示字符常量,但不能包含字符串。表达字符串常量时需用双引号。

4. 设有定义:intx=7, y=12;,则以下表达式值为3的是( )。

A. (y%=x)-(x%=5)

B.y%=(x%=5)

C.y%=x-x%5

D.y%=(x-x%5)

【答案】A

【解析】A 项正确,a%=b表示a=a%(b ),A 项可改写成y=y%x,x=x%5,再计算y-x 计算的结果为3,满足题意;B 项为0, C 项为2, D 项等同于C 项。

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

A.C 语言规定必须用main 作为主函数名,程序将从此开始执行

B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

C.C 语言程序将从源程序中第一个函数开始执行

D.main 的各种大小写拼写形式都可以作为主函数名,如:MAIN , Main等

【答案】A

【解析】用户不能指定某函数为主函数,函数从main 函数开始执行,C 语言函数名区别大小写。

6. 有以下程序:

程序的运行结果是( )。

A.7, 4, 2

B.8, 7, 5, 2

C.9, 7, 6,4

D.8,5, 4,2

【答案】D

【解析】题目中的for 循环等价于:

第一次循环,x=8, for 循环条件为真,8%3=2, 不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值8, 然后将x 的值减1, 此时x=7。然后执行continue 语句结束本次循环,执行x--表达式,得x=6

第二次循环,x=6, for 循环条件为真,6%3=0, 则if 条件表达式为假,执行第二个输出语句,先将x 的值减1得x=5, 然后输出x 的值5, 执行x —表达式,得x=4。

第三次循环,x=4, for 循环条件为真,4%3=1,不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值4,然后将x 的值减1,此时x=3,然后执行continue 语句结束本次循环,执行x —表达式,得x=2。

第四次循环,x=2, for 循环条件为真,2%3=2, 不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值2, 然后将x 的值减1,此时x=l, 执行X-表达式,得x=0, for 循环条件为假,循环结束。

7. 若有定义语句:

以下叙述中错误的是( )。

A. 定义语句中的p 只能存放double 类型变量的地址

B. 定义语句中的*号是一个说明符

C. 定义语句中的*号是一个间址运算符

D. 定义语句中*p=&a把变量a 的地址作为初值赋给指针变量p

【答案】C

【解析】C 项错误,只有取指针变量的值时,星号*才是间址运算符,引用指针指向的存储单元。A 项正确, p 是double 类型的指针,只能存放double 类型的地址;B 项正确,定义指针变量时,星号是一个说明符,用来说明该变量是指针变量;D 项正确,

用来求出double 变量a 的地址赋给指针变量p ,而使p 指向a 。

8. 有以下程序

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

A.36

B.28

C.32

D.24

是求地址运算符,