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

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

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

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

选择题

1.深度为7的二叉树共有127个结点,则下列说法中错误的是( )。(B)

A. 该二叉树是满二叉树

B. 该二叉树有一个度为1的结点

C. 该二叉树是完全二叉树

D. 该二叉树有64个叶子结点

解析:满二叉树满足深度为m的二叉树最多有2m-1个结点,本题中二叉树深度为7且有127个结点,满足27-1=127,达到最大值,故此二叉树为满二叉树,也是完全二叉树。满二叉树第k层上有2k-1结点,则该二叉树的叶子结点数为27-1=64个。满二叉树不存在度为1的结点。

2.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是(C)

A. 10

B. 8

C. 6

D. 4

解析:根据二叉树的性质,在任意二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。

3.有以下程序

#include

void main()

{int n=2,k=-1;

while(!(k>0‖n++));

printf(\\(D)

A. 0 2

B. 1 3

C. 5 7

D. 1 2

解析:在程序中整型变量n的初始值等于2,整型变量k的初始值等于1,在执行while语句时,由于表达式k的值大于0为真,所以不再需要判断“n++”是否为真,“(k>0∥n++)”表达式的值为真。“!(k>0∥n++)”表达式的值为假,所以while语句中的条件不满足,循环语句不会执行,变量n的值也不会加1,所在输出变量k和n的值是1和2。

4.下面不属于需求分析阶段任务的是(D)

A. 确定软件系统的功能需求

B. 确定软件系统的性能需求

C. 需求规格说明书评审

D. 制定软件集成测试计划

解析:需求分析阶段的工作可分为4个阶段:需求获取、需求分析、编写需求规格说明书、需求评审。

5.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是(C)

A. 必须是整数值

B. 必须是正数

C. 可以是任意合法的数值

D. 必须是逻辑值

解析:在if语句中,表达式可以是任意合法的数值。当其值为非零时,执行if语句,为0时执行else语句。

6.在带链队列中,经过一系列正常的操作后,如果front=rear,则队列中的元素个数为(A)

A. 0或1

B. 0

C. 1

D. 队列满

解析:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列的链式存储也称为链队列。为了便于操作,可给链队列添加1个头结点,并令头指针指向头结点。队列为空的判断条件是头指针和尾指针的值相同,且均指向头结点。当队列为空(0)或1时,front=rear。

7.以下叙述中正确的是(C)

A. if语句只能嵌套一层

B. 不能在else子句中再嵌套if语句

C. if子句和else子句中可以是任意的合法的C语句

D. 改变if-else语句的缩进格式,会改变程序的执行流程

解析:含else子句的if语句的格武为

if(表达式) 语句1

else 语句2

其中if和else是C语言的关键字。“语句1”称为if子句,“语句2”称为else子句,这些子句只允许为一条语句,若需要多条语句时,则应该使用复合语句,对于if和else语句的嵌会原则是比较自由的。

8.对于现实世界中事物的特征,在实体一联系模型中使用( )。(A)

A. 属性描述

B. 关键字描述

C. 二维表格描述

D. 实体描述

解析:在实体-联系模型中,用属性来描述现实世界中对象的属性所表示的对象的性质、特征和行为。

9.设有定义:int k=0;,以下选项的4个表达式中与其他3个表达式的值不相同的是( )。(C)

A. ++k

B. k+=1

C. k++

D. k+1

解析:++k,先使得k的值自增1后再使用,k++是先取得k的值再将k的值自增1,所以C选项中表达式的值为0,而其他3个表达式的值均为1,所以选择C选项。

10.有以下程序:

#include

main()

{

int i,array[6]={1,5,0,4};

for(i=0;i<5;i++)

printf(“%d”,array[i]);

printf(“\n”);

}

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

A. 0 4 0 4 0

B. 1 5 0 4 0

C. 1 5 5 4 0

D. 1 2 1 2 0

解析:本题主要考查一维数组的输出。由于数组中有6个元素,但初始化数组的时候只给出4个元素,所以array[5]=0,array[6]=0,前面几位元素依次输出,不够位数补0,所以选项B正确。

11.有以下程序

main() {

int a=1,b=2;

for( ; a<8 ; a++)

{

b+=a;

a+=2;

}

pr2ntf(\\(B)

A. 8,11

B. 10,14

C. 7,11

D. 9,18

解析:在这段程序中变量a的初值等于1,变量b的初值等于2。第1次执行for循环语句后,变量a的值等于3,变量b的值等于3。第2次执行for循环后,变量a等于6,变量b的值等于7。第3次执行for循环后,变量a等于9,变量b的值等于14。第4次执行for循环后,变量a等于10,这时退出for循环,此时变量b的值等于14。因而程序输出变量a,b的值分别为10,14。

12.设有如下程序:

#include

char s[20]=“Beijing”,*P;

P=s:

则执行P=s;语句后,以下叙述正确的是( )。(C)

A. s和P都是指针变量

B. s数组中元素的个数和P所指字符串长度相等

C. 可以用*P表示s[0]

D. 数组s中的内容和指针变量P中的内容相同

解析:程序定义了字符数组s和字符型指针变量p,并且使得p指向数组,执行p=s;语句后,*p即表示s[0];s数组中元素的个数和p所指字符串长度不相等,因为s数组中元素的个数包括字符串结束标志“\0”,而p所指字符串长度不包括“\0”;s是字符型数组,p是指针变量,数组s中的内容和指针变量p中的内容不相同,数组中存放的是字符串,而指针变量p存放的是数组的首地址,因此C选项正确。

13.若int x=12;double y=3.141593;则printf(’’%d%8.6f’’,x,

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号