您现在的位置:无忧考吧>> 试题中心>>正文内容

2017年9月计算机二级考试C语言预习自测题(一)

选择题。

1). 在软件设计中,不属于过程设计工具的是( )

A.PDL(过程设计语言)

B.PAD图

C.N-S图

D.DFD图

正确答案:D

答案解析:DFD(数据流图Data-Flow-Diagram)是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示。它直接支持系统功能建模。在软件详细设计的过程阶段,要对每个模块规定的功能以及算法的设计给出适当的算法描述。常见的过程设计工具有:图形工具:程序流程图,N-S,PAD,HIPO;表格工具:判定表;语言工具:PDL(伪码)。

 

2). 数据结构中,与所使用的计算机无关的是数据的( )。

A.存储结构

B.物理结构

C.逻辑结构

D.线性结构

正确答案:C

答案解析:数据的逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。

 

3). 设有定义: int x=2; 以下表达式中,值不为6的是( )

A.2*x, x+=2

B.x++,2*x

C.x*=(1+x)

D.x*=x+1

正确答案:A

答案解析:本题考查逗号表达式。逗号表达式的求解过程是:先求解表达式1,再求解表达式2,整个逗号表达式的值是表达式2的值,因此,选项A中值为4;选项B中,值为6。选项C中x*=x+1 等价于x=x*(x+1),所以等于6;选项D与选项C等价,结果也为6。

 

4). 在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )

A.63

B.64

C.6

D.7

正确答案:B

答案解析:顺序查找又称顺序搜索。顺序查找一般是指在线性表中查找指定的元素,其基本方法是:从线性表的第一元素开始,依次将线性表中的元素与被查找的元素进行比较,若相等则表示找到(即查找成功),若线性表中所有元素都与被查元素进行了比较但都不相等,则表示线性表中没有要找的元素(即查找失败)。如果线性表中的第一个元素就是要查找的元素,则只需要做一次比较就查找成功;但如果要查找的元素是线性表中的最后一个元素,或者要查找元素不在线性表中,则需要与线性表中所有元素进行比较,这是顺序查找的最坏情况,比较次数为线性表的长度。

 

5). 下列特征中不是面向对象方法的主要特征的是( )。

A.多态性

B.标识惟一性

C.封装性

D.耦合性

正确答案:D

答案解析:面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:标识惟一性、多态性、封装性、模块独立性、继承和多态性好。

 

6). 下列叙述中正确的是( )。

A.调用printf( )函数时,必须要有输出项

B.使用putchar( )函数时,必须在之前包含头文件stdio.h

C.在C语言中,整数可以以二进制、八进制或十六进制的形式输出

D.调节getchar( )函数读入字符时,可以从键盘上输入字符所对应的ASCII码

正确答案:B

答案解析:选项A,若printf函数没有输出项,且格式字符串中不含格式信息,则输出的是格式字符串本身,若格式字符串含有格式信息,运行时则出现错误提示;选项C,在C语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar函数是从标准输入设备读取一个字符。

 

7). 以下结构体类型说明和变量定义中正确的是( )

A.typedef struct { int n; char c; } REC; REC t1,t2;

B.struct REC ; { int n; char c; }; REC t1,t2;

C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;

D.struct { int n; char c; } REC; REC t1,t2;

正确答案:A

答案解析:定义结构体类型的一般形式为:struct 结构体名 {成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。

 

8). 若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是( )

A.一对一

B.一对多

C.多对一

D.多对多

正确答案:B

答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间也是一对多的联系。

 

9). 关于C语言的变量,以下叙述中错误的是( )

A.所谓变量是指在程序运行过程中其值可以被改变的量

B.变量所占的存储单元地址可以随时改变

C.程序中用到的所有变量都必须先定义后才能使用

D.由三条下划线构成的符号名是合法的变量名

正确答案:B

答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。在程序中对某个变量的操作实际上就是对这个存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但是其值可以变化。变量命名要符合标识符的规定,其中下划线是标识符的组成字符。程序中所有变量都必须先定义后使用。

 

10). 当变量c的值不为2、4、6时,值也为″真″的表达式是( )

A.(c==2)||(c==4)||(c==6)

B.(c>=2 && c<=6)&& !(c%2)

C.(c>=2 && c<=6)&&(c%2!=1)

D.(c>=2 && c<=6) || (c!=3) || (c!=5)

正确答案:D

答案解析:逻辑或运算中,只要有一项为真,表达式的值就为真,故选项D中c的值不为2、4、6时,那么表达式(c>=2 && c<=6)以及(c!=3)、(c!=5)必有一个成立,表达式的值也为真。

 

11). 在C语言中,函数返回值的类型最终取决于

A.函数定义时在函数首部所说明的函数类型

B.return语句中表达式值的类型

C.调用函数时主调函数所传递的实参类型

D.函数定义时形参的类型

正确答案:A

答案解析:在C语言中,应当在定义函数时指定函数值的类型,凡不加类型说明的函数,一律按整型处理。在定义函数时,对函数值说明的类型一般应该和return语句中的表达式类型一致。如果函数值的类型和return语句中的表达式类型不一致,则以函数类型为主,即函数类型决定返回值的类型。

 

12). 下列关于栈的描述中正确的是( )

A.在栈中只能插入元素而不能删除元素

B.在栈中只能删除元素而不能插入元素

C.栈是特殊的线性表,只能在一端插入或删除元素

D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素

正确答案:C

答案解析:栈是限定在一端进行插入与删除的线性表,在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。

 

13). 在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则循环队列中的元素个数为( )

A.2

B.3

C.4

D.5

正确答案:B

答案解析:循环队列中,rear表示尾指针,front表示头指针,当有元素入队时,rear=rear+1,而元素出队的时候,front=front+1,当rear值大于front值时,队列中的元素个数为rear-front,当rear的值小于front时,列队中的元素个数为rear-front+m(m表示队列的容量)。

 

14). 数据处理的最小单位是( )

A.数据

B.数据元素

C.数据项

D.数据结构

正确答案:C

 

15). 栈和队列的共同点是( )

A.都是先进后出

B.都是先进先出

C.只允许在端点处插入和删除元素

D.没有共同点

正确答案:C

 

16). 在深度为5的满二叉树中,叶子结点的个数为

A.32

B.31

C.16

D.15

正确答案:C

答案解析:满二叉树是指除最后一层外,每一层上的所有结点都有两个叶子结点。在满二叉树中,层上的结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m-1个结点。

 

17). 一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是( )

A.1,2,3,A,B,C

B.C,B,A,1,2,3

C.C,B,A,3,2,1

D.1,2,3,C,B,A

正确答案:C

答案解析:栈是按照″先进后出″或″后进先出″的原则组织数据的。所以出栈顺序是CBA321。

 

 

扫描二维码,手机在线刷题


作者: 来源: 发布时间:2017年05月26日
版权所有2001-2017 南京易考无忧科技有限公司
Copyright© 2001-2017 wyk8.com All rights
苏ICP备08005624号