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

2017年内蒙古农业大学面向对象程序设计考研复试核心题库

  摘要

一、选择题

1. 若有定义语句:

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

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

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

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

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

【答案】C

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

2. 为了避免在嵌套的if-else 语句中产生二义性,C 语言规定与else 子句配对是( )。

A. 与其在同一行上的if 子句

B. 在其之后最近的不带else 的if 子句

C. 与其缩排位置相同的if 子句

D. 在其之前最近的不带else 的同层if 子句

【答案】D

【解析】if 总是与它上面最近的、未配对的else 配对。

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

A. 只使用三种基本结构即可解决任何复杂问题

B.C 语言程序并不是必须要定义main ( )函数

C. 只要程序包含了任意一种基本结构,就肯定是结构化程序

D. 程序中的语法错误只能在运行时才能显现

【答案】A

【解析】A 项正确,程序设计语言仅仅使用顺序、选择和循环三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。B 项错误,C 语言程序必须要定义main ( )函数;C 项错误,只有同时包含三种基本结构 时,程序才是结构化程序;D 项错误,程序中的语法错误在编译时能显现。

4. 下列叙述中错误的是( )。

A.C 程序可以由一个或多个函数组成

B.C 程序可以由多个程序文件组成

C. 一个C 语言程序只能实现一种算法

D. —个C 函数可以单独作为一个C 程序文件存在

【答案】C

【解析】一个C 语言程序可以实现任意多种算法,并没有数量限制

5. 若i 和k 都是int 类型变量,有以下for 语句:

下面关于语句执行情况的叙述中正确的是。

A. 循环体执行两次

B. 循环体执行一次

C. 循环体一次也不执行

D. 构成无限循环

【答案】D

【解析】本题中for 循环判断条件为k=l, 这个语句是赋值语句,总是正确的,所以会陷入无限循环中。

6. 有如下嵌套的if 语句:

以下选项中与上述if 语句等价的语句是。 A. B. C. D.

【答案】C

【解析】三目运算符的条件表达式为:表达式1? 表达式2:表达式3。当表达式1的值为真时,取表达式2的值作为整个条件表达式的值;否则,取表达式3的值作为整个条件表达式的值。条件表达式的结合顺序为从右到左。

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中不能有逗号。

8. 下列形式中不合法的常量是( )。

A.2.E8

B.-.28

C.-028

D.2e_8

【答案】C

【解析】-028表示的是八进制的整型常量,但八进制的数字只能用0〜7表示。AD 两项为指数形式的实数表示,在e 或E 的前面必须要有数字,且£或£后面的指数必须为整数;B 项,为整数常量。

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

二、设计题

9. 请编写一个函数fun , 它的功能是:将一个表示正整数的数字字符串转换为一个整数(不得调用C 语言 提供的将字符串转换为整数的函数)。例如,若输入字符串

数值1234。函数fun 中给出的语句仅供参考。

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

干语句。

给定源程序:

则函数把它转换为整中。 请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入需要编写的若