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

2017年青海大学C语言程序设计基础(同等学力加试)考研复试核心题库

  摘要

一、选择题

1. 有如下程序:

程序运行后的输出结果是( )。 A.56,57, B.57,58, C.57,57, D.55,57, 【答案】C

【解析】convert ( )函数定义了一个形参:指针变量*data。函数体中将指针变量*data对应地址的值进行加1处理,再返回加1前data 的值。main ( )函数中,定义了变量data 并赋初值56,调用covert ( )函数,改变变量data 的值,此时data=57; 程序执行data=convert,函数convert ( )返回的是执行前data 的值,所以data=57。C 项正确。 (&data)

2. 有以下程序:

程序运行后的输出结果是( )。 A.0 B.1

C.10 D.4 【答案】A

【解析】题for 循环内有break 和continue 语句,且均放在b+=a语句前面,无论if 条件是否满足,b+=a都不会被执行,因此b 值始终为0。

3. 设

均为实型变量,代数式

【答案】C

【解析】的结合顺序是从左到右,所以x 先除以y ,再除以z 。

4. 有如下程序:

程序运行后的输出结果是( )。 A.X B.XYZ C.YZ D.Y

【答案】A 【解析】字符

不成立,不输出;判断

5. 以下程序段中,

与语句

A. B. C. D.

【答案】A

的ASCII 码值分别为0、48、97、98。putchar 函数是

不成立,不输出。故A 项正确。

功能相同的是。

向标准输出设备上输出一个字符。程序执行过程为:判断‘\0’==0成立,输出X ; 判断‘0’==0

在C 语言中的正确写法是( )。

【解析】条件表达式的形式:表达式表达式2:表达式3, 当表达式1的值为非零时,求出表达式2的值作为结果;当表达式1的值为零时,求出表达式3的值作为结果。首先判断a 、b 的关系,如果a>b,那么就执行第一个后面的语句,判断b 、c 的关系,如果b>c, k=l, 否则k=0; 如果a<=b,则k=0。所以当a>b且b>c时,k=l,否则k=0。

6. 若有定义: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

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

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

执行值

_'

值为1,因

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

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

7. 有语句:以下选项中,与此语句功能相同的是( )。

A. B.. .

c. D. 【答案】D

【解析】D 项正确,题中,先判断

_如果为假,直接返回0, 如果为真,再判断y

为真返回为1,否则返回0, 综合所知,只有时返回1,否则返回0。

8. 执行以下程序段后,w 的值为( )。

A.-1 B.NULL C.1 D.0

【答案】C

【解析】逻辑表达式的运算结果或者为所以都为真,因此xlly=l; 又因为

或者为为真,因此

因为x=14, y=15都是非零,

的值为1。

二、设计题

9. 学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写函数fun , 它 的功能是:按分数的高低排列学生的记录,高分在前。

注意:部分源程序存在文件

中。