首页 > 全部 > 二级C语言 > 二级C语言选择题专项强化真题试卷51

二级C语言选择题专项强化真题试卷51

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

二级C语言选择题专项强化真题试卷51

选择题

1.下面叙述中错误的是( )。(A)

A. 软件测试的目的是发现错误并改正错误

B. 对被调试的程序进行“错误定位”是程序调试的必要步骤

C. 程序调试通常也称为Debug

D. 软件测试应严格执行测试计划,排除测试的随意性

解析:软件测试是为了发现软件中的错误,但最终目的不是改正错误,而是开发出高质量的完全符合用户需要的软件。

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

A. 在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上

B. 在使用scanf函数输入整数或实数时,输入数据之间只能用空格来分隔

C. 在printf函数中,各个输出项只能是变量

D. 使用printf函数无法输出百分号%

解析:scanf函数中的格式控制字符串是为了输入数据用的,无论其中有什么字符,也不会输出到屏幕上,所以A选项正确。scanf()的格式控制串可以使用其他非空自字符,如逗号,但在输入时必须输入这些字符以保证匹配,所以B选项错误。printf函数可以输出常量,也可以输出变量,所以C选项错误。printf函数可以通过printf(“%%”)来输出百分号%,所以D选项错误。

3.以下对一维数组a的正确说明是( )。

D

解析:一维数组的定义、初始化为:类型符数组名{常量表达式)。类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;常量表达式是指数组的长度(数组中包含元素的个数),其值只能是整数,不可以是变量,而且从1开始计数。A选项,常量表达式只能放在中括号中;B选项,只有在对数组初始化(即赋值)的时候才可以省略数组的长度,B中并未对a进行初始化;C选项,常量表达式不能为变量。故D选项正确。

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

A. 字符串常量strl的类型是字符串数据类型

B. 有定义语句:char strl[]=\\

C. 下面的语句用赋初值的方式来定义字符串,其中,’\0’不可缺少char strl[]={’s’,’t’,’r’,’1’,’\0’};

D. 字符数组的每个元素可存放一个字符,并且最后一个元素必须是’\0’字符

解析:本题考查字符数组的相关操作。A选项中strl的类型不是字符串类型;B选项中数组strl包含了5个元素,其中有结尾符;D选项中字符数组的最后一个元素可以不是’\0’字符。故C选项正确。

5.下列处理中与队列有关的是( )。(A)

A. 操作系统中的作业调度

B. 执行程序中的过程调用

C. 执行程序中的循环控制

D. 二叉树的遍历

解析:队列是指允许在一端进行插入,而在另一端进行删除的线性表。由于最先进入队列的元素将最先出队,所以队列具有“先进先出”的特性,体现了“先来先服务”的原则。作业调度是指根据一定信息,按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配资源再将新创建的进程插入就绪队列的过程。执行程序中的过程调用一般指函数调用,需要调用的时候转入被调用函数地址执行程序,与队列无关。执行程序中的循环控制是指算法的基本控制结构,包括对循环条件的判定与执行循环体,与队列无关。二叉树是一个有限的节点集合,二叉树的遍历是指不重复地访问二叉树中的所有节点,与队列无关。故本题选择A选项。

6.有以下程序:

#include

main()

{

int a=0,b=1;

if(++a==b++)

printf(\\(C)

A. 1a=0,b=1

B. 0a=1,b=2

C. 1a=1,b=2

D. 0a=0,b=2

解析:运算符“++”放在变量后面时,表示先执行其他操作,再将变量加1;运算符“++”放在变量前面时,表示将变量加1后再参与其他操作。因此if(++a==b++)为真,输出1,再输出a,b,故程序运行后的结果是:1a=1,b=2。因此答案为C选项。

7.软件生命周期中的活动不包括( )。(A)

A. 市场调研

B. 需求分析

C. 软件测试

D. 软件维护

解析:软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段、需求分析、软件设计、软件实现、软件测试、运行和维护,所以选择A。

8.有以下程序:

#include

#include

void fun(char *8,int ml,int m2)

{ char t,*p;

p=s+ml;s=s+m2;

while(8<P)

{t=*s; *s=*p; *p=t;

s++;P——;

}

}

main()

{ char ss[10]=\\(A)

A. 012345

B. 876543210

C. 876543

D. 012345678

解析:fun(*ss,m1,m2)的作用是,如果m1>m2交换数组元素ss[m1],ss[m2]。因此,fun(ss,0,5)后ss的0,1,2,3,4,5,6,7,8,\0。fun(ss,9,6)后ss的0,1,2,3,4,,5,\0,8,7,6。fun(s8,0,9)后ss的0,1,2,3,4,5,\0,8,7,6。因此打印结果012345。故答案为A选项。

9.有如下程序段:

int x=12:

double y=3.141593;

printf(\\(A)

A. 123.141593

B. 12 3.141593

C. 12,3.141593

D. 123.1415930

解析:printf。函数中格式字符“%8.6”的含义是:变量y的输出宽度为8(包括小数点),小数点后面保留6位小数,且右对齐。所以选择A。

10.某系统总体结构如下图所示

(A)

A. 5

B. 7

C. 4

D. 8

解析:模块的扇出是指本模块的直属下层模块的个数。或者说是由一个模块直接调用的其他模块数。模块的扇入是指有多少个上级模块调用它。题干中某系统为一个模块,其扇出数目为3,功能2模块扇出数为3,功能3模块扇出数为2,功能2.2扇出数目为2,故最大扇出数为3。功能2.2.2有2个上级模块调用,为最大扇入数。3+2=5。故本题答案为A选项。

11.若有定义,int a=3,*p=&a,**q=&p;,则以下叙述中错误的是( )。(A)

A. q是指针变量,*q就是变量a

B. p是指针变量,p指向变量a

C. q指向变量p,所以*q指向变量a

D. *p与**q都代表变量a

解析:由题意可知:指针变量p指向变量a,p的值是a的地址;指针变量q指向变量p,q的值是p的地址,所以q是指针变量,q指向p,*q是变量p,选项A错误;p也是指针变量,p指向a,选项B正确;由于q指向p,所以*q指向a,选项C正确;*p和**q都是代表变量a,选项D

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

剩余未完,查看全文
收藏
二级C语言选择题专项强化真题试卷51

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号