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

2017年北京信息科技大学信息管理学院820程序设计基础考研仿真模拟题

  摘要

一、选择题

1. 以下选项中关于C 语言常量的叙述错误的是( )。

A. 所谓常量,是指在程序运行过程中,其值不能被改变的量

B. 常量分为整型常量、实型常量、字符常量和字符串常量

C. 常量可分为数值型和非数值型常量

D. 经常被使用的变量可以定义为常量

【答案】D

【解析】常量是指在程序运行过程中其值不能被改变的量。在C 语言中,有整型常量、实型常量、字符常量和字符串常量等类型。整型常量和实型常量又称数值型常量,它们有正值和负值的区分。所谓变量是指在程序运行过程中其值可以改变的量。C 语言规定,程序中所有变量都必须先定义后使用。变量和常量有明显的区分。

2. 下列选项中,能够满足“若字符串si 等于字符串s2, 则执行ST ”要求的是( )。 A. B. C. D.

【答案】A

【解析】字符串比较不能直接进行比较,字符串判断函数是strcmp 。

3. 设有定义:

则以下赋值语句中正确的是( )。

A.s[0]=m[l];

B.s=m;

C.s.l3=m.n;

D.s[2].x=m[2].x;

【答案】A

【解析】定义了结构体类型数组s ,长度为2,结构体类型数组m ,长度为2,并进行了初始化。同类型的结构体可以直接用变量名实现赋值,A 选项正确。数组名为数组首地址,地址常量之间不可以相互赋值,B 选项错误。C 选项引用结构体成员错误,数组名为地址常量不是结构体变量,不能引用成员。D 选项数组越界,不存在s[2]与m[2]。

4. 有以下程序

程序的运行结果是( )

A.CDEF

B.ABEF

C.ABCD

D.CDAB

【答案】A

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

5. 有以下程序:

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

A.32

B.12

C.21

D.22

【答案】C

【解析】C 语言中函数参数传递满足“单向传递”,实现传递值的功能,实参能传给形参,形参却不能传回 给实参。fun 函数体内输出p 的值为2,并不影响到fun 函数外a 的值,a 的值在main 函数内依然为1。

6. 有以下程序

执行后的输出结果是( )。

A.5, 11

B.5, 5

C.11, 11

D.11, 5

【答案】A

【解析】fun 函数中m 和i 是静态变量,退出函数以后,下次再进入该函数时,m 和i 仍然保持上一次的数 值。第一次调用

返回11。

7. 若有定义语句:

则以下语句中正确的是( )。 A. B. C. D.

【答案】A

【解析】声明了 a 是一个二维数组,p 是长度为3的

针,可以指向二维数组中的元素。B 项错误,数组。A 项正确,是int 类型指

是二是int 类型指针,不能指向二维数组;C 项错误,是int 类型的指针,时,返回5; 第二次调用时

,p 是int 类型指针的数组,一旦定义,不能再次赋值;D 项错误,

维数组的地址。

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

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

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

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

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

【答案】D

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