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

2018年河南师范大学计算机与信息工程院846数据结构与C程序设计之C程序设计考研核心题库

  摘要

一、选择题

1. 设有定义:inta=0,b=l, c=l;以下选项中,表达式值与其他三个不同的是( )。

A.b=a==c

B.a=b=c

C.a=c==b

D.c=a!=c

【答案】A

【解析】赋值运算结合性为由右向左结合,成功实现赋值后以左值为返回值。逻辑表达式成立则返回1, 不成立返回0。A 项,逻辑表达式a==c不成立,则b=0, 表达式值为0;B 项,将c 赋值给b , b=l, 再将b 赋给a , a=l,表达式值为1; C 项,逻辑表达式c==b成立,则a=l,表达式值为1; D 项,逻辑表达式a!=c成立,则c=l,表达式值为1。A 项与其他项不同。

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

A. —个C 程序可以包含多个不同名的函数

B. —个C 程序只能有一个主函数

C.C 程序在书写时,有严格的缩进要求,否则不能编译通过

D.C 程序的主函数必须用main 作为函数名

【答案】C

【解析】一个C 程序有且只有一个主函数main 。一个C 程序可以包含多个不同名字的子函数。C 程序在书写时没有严格的缩进要求。

3. 流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中判断框的图形是( ).

A. 菱形

B. 长方形

C. 平行四边形

D. 椭圆型

【答案】A

【解析】传统的流程图由下图所示的几种基本图形组成。故A 项正确。

4. 有以下程序

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

A.32

B.24

C.5

D.40

【答案】A

【解析】自增运算符“++”分为前缀和后缀两种形式。两种形式的作用效果是一样的,都是使运算分量的值加1,但是它们的表达式的值不一样,前缀形式表达式的值为运算分量加1之后的值,而后缀形式表达式的值为运算分量加1之前的值。题目中使用了一个for 循环,循环变量i 从1递增到40。在循环体中有两条嵌套的if 语句,首先判断i++%5==0,即判断i++的值(i 加1之前的值)是否能被5整除(判断后i 被加1),然后再判断++i的值(i 加1之后的值)是否能

,被8整除(判断后i 被加1)若两个条件都满足了,就输出i 的值,只有i=30时,满足i++%5==0,

此时i=31,++i%8==0成立,此时i=32。

5. 有以下程序:

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

A.1,2,1,2

B.1,2,2,1

C.2,1,2,1

D.2,1,1,2

【答案】B

【解析】本题首先让指针变量p 和q 分别指向m 和n 的地址空间,然后将p 赋值给r ,让r

指向m ,q 赋值给p ,让p 指向n ,再将r 赋值给q ,让q 指向m ,因此最后p 指向n ,q 指向m 。

6. 有以下程序:

程序的运行结果是( )。

A.abcdl234mnop5678

B.abcd234op8

C.a2o8

D.alm5

【答案】B

【解析】程序执行过程为:定义指针数组,长度为4, 并为其初始化为4个字符串。定义指向指针的指针变 量,并为其初始化为指针数组首地址。f0r 循环依次输出4个字符串,第i 个字符串从第i 个下标值处开始输出到 字符串结束,即第一个字符串输出abed , 第二个字符串输出234, 第三个字符串输出op ,第四个字符串输出8。程序的运行结果是abcd2340p8, 故B 项正确。

7. 若已有定义语句:inta ,b ,c ; ,且变量已正确赋初值,则以下选项中正确的赋值表达式是( )。

A.a=(b=c)+8;

B. (a=b)=c=9;

C.a=(b==c)=‘A ’;

D.a+b=c+l;

【答案】A

【解析】A 项正确,将c 赋值给b 后又加上8,然后再赋值给a ; B 、D 项错误,赋值运算符左边必须是一个变量;C 项错误,(b==c)是个表达式,语法错误。

8. 若变量已正确定义为int 型,要通过语句给a 赋值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。

【答案】B

【解析】scanf 函数要求除格式控制符以外的字符都要原样输入。逗号是非格式符,所以需要