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

2017年扬州大学信息工程学院858程序设计与数据结构之C程序设计考研冲刺密押题

  摘要

一、选择题

1. 有以下程序:

程序的运行结果是( )。 A.1, 0, 1, 0 B.1, 1, 0, 1 C.1, 0, 0, 1 D.1, 1, 1, 0 【答案】A

【解析】本题程序执行过程为:

求解逻辑表达式

先求解++a,a=l,则整个表达式

为真,不计算++b,然后求解++c,不计算++d,最后得到a=l,b=0, c=l,d=0,故A 项正确。

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

A. 如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while 语句 B. 对于“for (表达式1; 表达式2; 表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环

C. 对于“for (表达式1; 表达式2; 表达式3)循环体”,只在个别情况下才能转换成while 语句

D. 只要适当地修改代码,就可以将do-while 与while 相互转换 【答案】D

【解析】D 项正确,C 语言中do-while 语句和while 语句作用是等价的,二者可以经过适当的修改互换。A 项错误,do-while 和for 循环也能写成死循环;B 项错误,for 循环首先执行表达式1; C 项错误,for 循环体经过适当的修改都可以转换成while 语句。

3. 有以下程序

程序的运行结果是( ) A.CDEF B.ABEF C.ABCD D.CDAB 【答案】A

【解析】调用funl 函数将全局变量a 和b 赋值为„C‟和„D‟,然后输出全局变量a 和b ,最后调用fun2 输出局部变量a 和b 的值„E‟和„F‟。

4. 以下四个程序中,完全正确的是( )。

【答案】B

【解析】A 项中,“main ( )”函数后面不能加分号;C 语言中注释语句的注释方法是

或//注释一行,

“indUde”前缺少“#”号。

5. 下列函数的功能是( )。

不能嵌套使用,C 项错误; D 选项中预编译命令

A. 将a 所指字符串赋给b 所指空间 B. 使指针b 指向a 所指字符串

C. 将a 所指字符串和b 所指字符串进行比较 D. 检查a 和b 所指字符串中是否有【答案】A

【解析】题中a 和b 是两个字符型指针,在while 语句的表达式中将指针a 所指向的字符赋给指针b 所指向的内存单元,再判断指针b 所指向的字符是不是字符串中的结尾符,若不是,则字符指针a 和b 的值分别自增,再执行循环语句,直至b 所指向的字符为字符串中的空字符。

6. 有以下程序:

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

C.BBBCC D.BBBB 【答案】D

【解析】程序中声明一个3行4列的字符型数组。要求输出故ch[l]为第二行的BBBB 。

7. 以下选项中,合法的一组C 语言数值常量是( )。

A.12. 0Xa23 4.5e0 B.028 .5e_3 -0xf C..177 4el.5 Oabc D.0x8A 10.000 3.e5 【答案】A

【解析】A 项,C 语言中小数必须要有小数点,但是小数部分可以省略,12. 是合法的常量;C 语言中十六进制数以0X 或Ox 开头,0Xa23是指十六进制数a23; 在C 语言中,“e ”或“E ”后跟一个整数来表示以10为底的幂数,

只能在(K7之间;D 项,10,000中不能有逗号。

由于数组下标默认从0开始,

B 项,028表示的是八进制,以0开头,

0后面的数字只能在0~7之间。C 项,4el.5,e 后面只能跟整数,Oabc 表示八进制,0后面的数字