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

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

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

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

选择题

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

A. 使用三种基本结构构成的程序只能解决简单问题

B. 结构化程序由顺序、分支、循环三种基本结构组成

C. C语言是一种结构化程序设计语言

D. 结构化程序设计提倡模块化的设计方法

解析:使用顺序、选择(分支)、循环3种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,因此A选项错误。

2.下列数据结构中,属于非线性结构的是( )。(C)

A. 循环队列

B. 带链队列

C. 二叉树

D. 带链栈

解析:线性结构的特点:

①有且只有一-个根结点;

②每一个结点最多有一个前驱,也最多有一个后继。

不满足线性结构条件的称为非线性结构,二叉树的非叶子结点最多可以用两个后继,属于非线性结构。

3.负责数据库中查询操作的数据库语言是( )。(C)

A. 数据定义语言

B. 数据管理语言

C. 数据操纵语言

D. 数据控制语言

解析:数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增、删、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。

4.若有以下程序段:

double x=5.16894;

printf(\\(C)

A. 5.170000

B. 5.175000

C. 5.169000

D. 5.168000

解析:本题考查强制类型转换与输出格式。%f的输出格式是以带小数点的数学形式输出浮点数。首先计算x*1000,结果为5168.94,加0.5为5169.44,然后进行强制类型转换,转换成整型为5169,然后除以双精度数据1000,结果为双精度数据5.169,输出时按照%1的格式输出,所以输出结果为5.169000。

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

A. 解决同一个问题的不同算法的时间复杂度一般是不同的

B. 解决同一个问题的不同算法的时间复杂度必定是相同的

C. 对同一批数据作同一种处理,如果数据存储结构不同,不同算法的时间复杂度肯定相同

D. 对同一批数据作不同的处理,如果数据存储结构相同,不同算法的时间复杂度肯定相同

解析:算法的时间复杂度是指执行算法所需要的计算工作量,而计算工作量是用算法所执行的基本运算次数来度量的。解决同一个问题的不同算法的时间复杂度,可能相同也可能不相同。算法的时间复杂度与数据存储结构无关,对同一批数据做同一种处理或者不同处理,数据存储结构相同或者不同,算法的时间复杂度都可能相同或者不同。故选A选项。

6.有以下程序:

#include<stdio.h>

main( )

{int k=5:

while(–k)pfintf(\\(A)

A. 1

B. 2

C. 4

D. 死循环

解析:–k先自减再使用,所以第一次判断条件即为while(4),条件为真,执行打印k的值k=4-3,结果为1;第二次判断条件即为while(0),条件为假,结束循环,打印回车换行符。所以选择A选项。

7.下列选项中,能正确定义数组的语句是( )。(D)

A. intnum[0..2008];

B. int num[];

C. int N=2008;

int hum[N];

D. #define N2008

int num[N];

解析:C语言不允许定义动态数组,定义数组的大小必须为常量表达式。A选项错误,C语言中数组没有此类型的定义方法;B选项错误,定义数组应指明数组大小,如果不指明数组大小,需要给定初值的个数;C选项错误,N为变量,不能用来定义数组大小。因此D选项正确。

8.设有以下语句:

typedef struct TT

{char c;int a[4];}CIN:

则下面叙述中正确的是( )。(D)

A. CIN是struet Tr类型的变量

B. TT是struet类型的变量

C. 可以用TT定义结构体变量

D. 可以用CIN定义结构体变量

解析:本题考查typedef重新声明一种结构体类型,其中CIN为结构体类型名,而不是结构体变量,所以D选项正确。

9.若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是( )。

A

解析:B)选项中switch((int)x);语句中不应该有最后的分号。switch(expr1),中的expr1不能用浮点类型或long类型,也不能为一个字符串,所以C)错误。case后面常量表达式的类型必须与switch后面表达式的类型一致,所以D)错误。

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

A. 有两个指针域的链表称为二叉链表

B. 循环链表是循环队列的链式存储结构

C. 带链的栈有栈顶指针和栈底指针,因此又称为双重链表

D. 节点中具有多个指针域的链表称为多重链表

解析:双向链表与二叉链表均是有两个指针域的链表,A选项错误。在单链表的第一个节点前增加一个表头节点,队头指针指向表头节点,最后一个节点的指针域的值由NULL改为指向表头节点,这样的链表称为循环链表。循环队列是队列的一种顺序存储结构。循环链表与循环队列是两种存储结构,B选项错误。双向链表节点有两个指针域,指向前一个节点的指针和指向后一个节点的指针,而带链的栈是单链表形式,C选项错误。故正确答案为D选项。

11.若变量已正确定义,在if(w)printf(\\(A)

A. ab+c

B. ch=getchar()

C. a==b+c

D. a++

解析:选项A)是非法的表达式,C语言中没有运算符。

12.有以下程序:

#include

main()

{ int c=0,k;

for(k=1;k<3;k++)

switch(k)

{default:c+=k;

case 2:c++;break;

case 4:c+=2;break;

}

printf(\\(C)

A. 7

B. 5

C. 3

D. 9

解析:向switch语句块传送参数后,编译器会先寻找匹配的case语句块,找到后就执行该语句块,遇到break跳出;如果没有匹配的语句块,则执行default语句块。case与default没有顺序之分。所以第一次循环k的值为1,执行c+=k,c的值为1,再执行case 2后的语句c++,c的值为2,遇到break语句跳出循环;第二次循环k的值为2,执行case 2后面的语句c++,c的值为3,跳出循环。

13.以下表达式中,其值不等于数值3的是( )。(A)

A. 0+’3’

B. ’D’-’A’

C. ’3’-’0’

D. ’d’-’a’

解析:字符’3’的AscII码值是51,所以选项A的值是51;字符’D’、’A’的ASCII码值是68、

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号