首页 > 全部 > 二级C语言 > 国家二级C语言机试(选择题)模拟试卷344

国家二级C语言机试(选择题)模拟试卷344

本单篇文档共11332字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 6773人下载
价格: 0.60 原价:¥9.60
收藏

国家二级C语言机试(选择题)模拟试卷344

选择题

1.设数据结构B=(D,R),其中

D={a,b,c,d,e,f}

R={(f,8),(d,b),(e,d),(e,e),(a,c)}

该数据结构为( )。(A)

A. 线性结构

B. 循环队列

C. 循环链表

D. 非线性结构

解析:数据的逻辑结构有两个要素:一是数据元素的集合,通常记为D;二是D上的关系,它反映了D中各数据元素之间的前后件关系,通常记为R。即一个数据结构可以表示成B=(D,R)。其中B表示数据结构。为了反映D中各数据元素之间的前后件关系,一般用二元组来表示。例如,假设a与b是D中的两个数据,则二元组(a,b)表示a是b的前件,b是a的后件。本题中R中的根结点为f,元素顺序为f→a→c→e→d→b,满足线性结构的条件。

2.下列描述中正确的是(A)

A. 线性链表是线性表的链式存储结构

B. 栈与队列是非线性结构

C. 双向链表是非线性结构

D. 只有根结点的二叉树是线性结构

解析:线性表的链式存储结构称为线性链表。线性表链式存储结构的基本单位称为存储结点,每个存储结点包括数据域和指针域两个组成部分。各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一结点的指针HEAD称为头指针,当HEAD=NULL时称为空表。栈、队列和双向链表是线性结构。树是一种简单的非线性结构。在树这种数据结构中,所有数据元素的关系具有明显的层次特征。二叉树是非线性结构。线性结构和非线性结构是从数据的逻辑结构角度来讲的,与该数据结构中有多少个元素没有关系,即使是空的二叉树也是非线性结构。

3.下列四个叙述中,正确的是( )。(D)

A. C程序中的所有字母必须小写

B. C程序中的关键字必须小写,其他标识符不区分大小写

C. C程序中的所有字母都不区分大小写

D. C程序中的所有关键字必须小写

解析:C语言只规定所有的关键字必须小写,而标识符中的字母则既可以大写,也可以小写,但大小写是有区别的。例如,else是关键字,而ELSE可以作为标识符使用。

4.深度为5的完全二叉树的结点数不可能是( )。(A)

A. 15

B. 16

C. 17

D. 18

解析:设完全二叉树的结点数为n,根据深度为k的二叉树至多有2k-1个结点,再根据完全二叉树的定义可知,2k-1-1<n≤2k-1。本题中完全二叉树的深度为5,则25-1-1<n≤25-1,15<n≤31。因此,结点数不能为15。

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

A. 在C语言中,对二进制文件的访问速度比文本文件快

B. 在C语言中,随机文件以二进制代码形式存储数据

C. 语句FILE fp;定义了一个名为fp的文件指针

D. C语言中的文本文件以ASCII码形式存储数据

解析:在C语言中,文件指针实际上是指向一个结构体类型的指针,一般称这个结构体类型名为FILE,可以用此类型名来定义文件指针。定义文件类型指针变量的一般形式为:FILE *指针变量名;选项C中少了“*”,所以选项C错误。

6.一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为(B)

A. 219

B. 229

C. 230

D. 231

解析:根据二叉树的性质,在任意二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个,故总结点数=叶子节点数+度为2的节点数+度为1的节点数=80+79+70=229。

7.在数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是( )。(B)

A. 文件系统阶段

B. 人工管理阶段

C. 文件系统阶段和数据库阶段

D. 人工管理阶段和文件系统阶段

解析:数据库管理技术的三个阶段是人工管理阶段、文件系统阶段和数据库系统阶段。人工管理阶段没有专门的软件对数据进行管理。

8.以下选项中能用作数据常量的是( )。(A)

A. 115L

B. 0118

C. 1.5e1.5

D. 0115

解析:A选项中1 15L表示115是长整型数据,合法。B选项是八进制常量的表示方法,但是在八进制中不能含有数字8,所以B选项错误。C选项中e后面应该是整数,而不能是小数1.5,所以C选项错误。D选项中八进制常量应该是数字“O”开始,而不是字母“0”开始。

9.设有某函数的说明为:

int* func(int a[10],int n);

则下列叙述中,正确的是( )。(B)

A. 形参a对应的实参只能是数组名

B. 说明中的a[10]写成a[]或*a效果完全一样

C. func的函数体中不能对a进行移动指针(如a+ +)的操作

D. 只有指向10个整数内存单元的指针,才能作为实参传给a

解析:考查数组名作为函数参数。传递给形参的实参可以是数组名,还可以是指向该数组的指针变量,选项A错误;a[10]、a[]、*a做形参都是接受实参数组首地址,效果一样,选项B正确;数组名可以看作一个指针常量,对其进行自加自减运算相当于指针变量的自加自减,选项C错误;数组名作为函数参数时,只传递数组的首地址而不检查形参数组的长度,所以形参表中可以不给出形参数组的长度,形参数组和实参数组长度也可以不同,选项D错误。故答案选B。

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

A. C语言函数可以嵌套调用,例如:fun(fun(x))

B. C语言程序是由过程和函数组成的

C. C语言函数不可以单独编译

D. C语言中除了main函数外,其他函数不可作为单独文件形式存在

解析:C语言程序是由函数组成的,所以B选项错误。C语言函数可以单独进行编译,所以C选项错误。每个C程序中必须包含一个main函数,但不一定是每个C程序文件中都必须有,用户单独编写的某个函数也可以存储为一个C程序文件,所以D选项错误。

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

A. 在switch语句中不一定使用break语句

B. 在switch语句中必须使用default语句

C. break语句必须与switch语句中的ease配对使用

D. break语句只能用于switch语句

解析:default语句在switch语句中可以省略,所以B选项错误;switch语句中并非每个case后都需要使用break语句,所以C选项错误;break语句还可以用于for等循环结构中,所以D选项错误。

12.若有以下程序#include

char*a=”you”;

char b[]=\\(A)

A. you to China!

B. to China!

C. me you to China!

D. China!

解析:程序中循环部分的主要功能是,在字符串b中寻找是否含有子串a,如果含有则退出,此时i为子串a在字符串b中第一次出现的位置。因此最后的输出函数则从第i个字符开始一直输出到字符串的末尾。

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

A. 用户所定义的标识符允许使用关键字

B. 用户所定义的标识

本文档预览:3600字符,共11332字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(选择题)模拟试卷344

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号