计算机二级c语言真题三1.docx

上传人:b****8 文档编号:29268918 上传时间:2023-07-21 格式:DOCX 页数:27 大小:24.01KB
下载 相关 举报
计算机二级c语言真题三1.docx_第1页
第1页 / 共27页
计算机二级c语言真题三1.docx_第2页
第2页 / 共27页
计算机二级c语言真题三1.docx_第3页
第3页 / 共27页
计算机二级c语言真题三1.docx_第4页
第4页 / 共27页
计算机二级c语言真题三1.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

计算机二级c语言真题三1.docx

《计算机二级c语言真题三1.docx》由会员分享,可在线阅读,更多相关《计算机二级c语言真题三1.docx(27页珍藏版)》请在冰豆网上搜索。

计算机二级c语言真题三1.docx

计算机二级c语言真题三1

计算机二级c语言真题三

一、选择题(

(1)~(10)每小题2分,(11)-(50)每小题1分,

共60分)

下列各题A)、B)、c)、D)四个选项中,只有一个选项是

正确的,请将正确选项涂写在答题卡相应位置上,答在试卷

上不得分。

(1)算法的时间复杂度是指_______。

A)执行算法程序所需要的时间

B)算法程序的长度

C)算法执行过程中所需要的基本运算次数

D)算法程序中的指令条数

答案:

C

评析:

所谓算法的时间复杂度,是指执行算法所需要的计算工作

量。

(2)下列叙述中正确的是________。

A)线性表是线性结构B)栈与队列是非线性结构

C)线性链表是非线性结构D)二叉树是线性结构

答案:

A

评析:

一般将数据结构分为两大类型:

线性结构与非线性结构。

线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。

(3)下面关于完全二叉树的叙述中,错误的是_________。

A)除了最后一层外,每一层上的结点数均达到最大值

B)可能缺少若干个左右叶子结点

C)完全二叉树一般不是满二叉树

D)具有结点的完全二叉树的深度为[log2n]+1

答案:

B

评析:

满二叉树指除最后一层外每一层上所有结点都有两个子结

点的二叉树。

完全二叉树指除最后一层外,每一层上的结点数均达到

最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉

树。

(4)结构化程序设计主要强调的是_________。

A)程序的规模B)程序的易读性

c)程序的执行效率D)程序的可移植性

答案:

B

评析:

结构化程序设计主要强调的是结构化程序清晰易读,可理

解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的

正确性。

(5)在软件生命周期中,能准确地确定软件系统必须做什么和

必须具备哪些功能的阶段是________。

A)概要设计B)详细设计C)可行性分析D)需求分析

答案:

D

评析:

需求分析是对待开发软件提出的需求进行分析并给出详细

定义,即准确地确定软件系统的功能。

编写软件规格说明书及初步的

用户手册,提交评审。

(6)数据流图用于抽象描述一个软件的逻辑模型,数据流图由

一些特定的图符构成。

下列图符名标识的图符不属于数

据流图合法图符的是_________。

A)控制流B)加工C)数据存储D)源和潭

答案:

A

评析:

数据流图从数据传递和加工的角度,来刻画数据流从输入

到输出的移动变换过程。

数据流图中的主要图形元素有:

加工(转换)、

数据流、存储文件(数据源)、源和潭。

(7)软件需求分析一般应确定的是用户对软件的_________。

A)功能需求B)非功能需求C)性能需求D)功能需求和非

功能需求

答案:

D

评析:

软件需求分析中需要构造一个完全的系统逻辑模型,理解

用户提出的每一功能与性能要求,是用户明确自己的任务。

因此,需

求分析应确定用户对软件的功能需求和非功能需求。

(8)下述关于数据库系统的叙述中正确的是________。

A)数据库系统减少了数据冗余

B)数据库系统避免了一切冗余

C)数据库系统中数据的一致性是指数据类型的一致

D)数据库系统比文件系统能管理更多的数据

答案:

A

评析:

由数据的共享自身又可极大地减少数据冗余性,不仅减少

了不必要的存储空间,更为重要的是可以避免数据的不一致性。

所谓

数据的一致性是指在系统中同一数据的不同出现应保持相同的值。

(9)关系表中的每一横行称为一个________。

A)元组B)字段C)属性D)码

答案:

A

评析:

在关系数据库中,关系模型采用二维表来表示,简称"表"。

二维表是由表框架及表元组组成。

在表框架中,按行可以存放数据,

每行数据称为元组。

(10)数据库设计包括两个方面的设计内容,它们是________。

A)概念设计和逻辑设计B)模式设计和内模式设计

C)内模式设计和物理设计D)结构特性设计和行为特性设计

答案:

A

评析:

数据库设计可分为概念设计与逻辑设计。

概念设计的目的

是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。

逻辑设计的主要工作是将ER图转换为指定的RDBMS中的关系模型。

(11)请读程序:

#include

main()

{

inta;floatb,c;

scanf("%2d%3P%4f',&a,&b,&c);

printf("\na=%d,b=%ec。

%f\n",a,b,c);

}

若运行时从键盘上输入9876543210l,则上面程序的输出

结果是________。

A)a=98,b=765,c=4321

B)a=10,b=432,c=8765

C)a=98,b=765.000000,c=4321.000000

D)a=98,b=765.0,c=4321.0

答案:

C

评析:

scanf()把用户从键盘录入的数字的第1、2位存入整型变

量a;把第3、4、5位存入单精度实型变量b,把第6、7、8、9位存

入单精度实型变量c,用户录入的第10位被scanf()遗弃。

这时变量

a、b、c的值分别为:

98、765.000000、4321.000000。

(12)一个良好的算法由下面的基本结构组成,但不包括

__________。

A)顺序结构B)选择结构c)循环结构)跳转结构

答案:

D

评析:

1966年,Bohra和Jacopini提出了以下三种基本结构,

用这三种基本结构作为表示一个良好算法的基本单元:

1、顺序结构;

2、选择结构;3、循环结构。

(13)请选出以下程序的输出结果________。

#include

sub(x,y,z)

intx,y,*z:

{*z=y-x;}

main(){

inta,b,c;

sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);

printf("%d,%d,%d\n",a,b,c);

}

A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-7

答案:

B

评析:

sub()函数的作用是将形参y和x的差赋给了z指向的那

个内存地址,所以在sub(10,5,&a/I,10和5属于值传递,a是属

于地址传递,也就是a与z指向了同一个存储单元,在执行函数后,

a的值随*z变化,所以此次函数被调用后,a的值为y-x=-5,同理可

知,在sub(7,a,&b)后,b的值发生变化,其值为-5-7=-12,在

sub(a,b,&c)后,c的值发生变化,其值为-12-(-5)=-7。

(14)下面程序在屏幕上的输出是________。

main()

{

printf("ab\b\bc");

}

A)ab\b\bcB)acC)abcD)abc

答案:

B

评析:

c语言中允许使用一种特殊形式的字符常量,、就是以一

个"\"开头的字符序列,这样的字符称为"转义字符"。

常用的转义字

符有:

\n,换行;\t,水平制表;\b,退格;\r,回车。

(15)若x是整型变量,pb是基类型为整型的指针变量,则正

确的赋值表达式是_______。

A)pb=&x;B)pb=x;C)*pb=&x;D)*pb=*x

答案:

A

评析:

选项A将变量x的地址赋给指针变量pb,使pb指向x'选

项B是将x的值当作地址赋给指针pb,Db指向一个地址等于x值的

内存单元;选项c将x的地址赋给指针pb指向的地址等于x的内存

单元。

(16)设整型数i=5,则printf("%d",i+++++i);的输出为

________。

A)10B)1lC)12D)语法错误

答案:

D

评析:

c语言中有基本的算术运算符(+、-、*、/)还包括自增自

减运算符(++、--),在c语言解析表达式时,它总是进行贪婪咀嚼,

这样,该表达式就被解析为i+++++i,显然该表达式不合c语言语

法。

(17)若要用下面的程序片段使指针变量p指向一个存储整型

变量的动态存储单元

int*p;

p=___________malloc(sizeof(im));

则应填入__________。

A)intB)intC)(*int)D)(int*)

答案:

D

评析:

不论p是指向什么类型的指针变量,都可以通过强制类型

转换的方法使之类型一致,强制类型转换的格式为(数据类型+)。

(18)下面程序输出的结果是__________。

main()

{

inti=5,J=9,x;

x=(I==j?

i:

(j=7));

printf("\n%d,%d",I,J);

}

A)5,7B)5,5C)语法错误D)7,5

答案:

A

评析:

条件表达式的一般形式为:

表达式I?

表达式2:

表达式3;

先求解表达式1,若为真则求解表达式2;若表达式l的值为假,则

求解表达式3。

本题中先判断i==j,不等,执行j=7;然后执行x=7。

故本题为A。

(19)若执行下面程序时从键盘上输入5,

main()

{

intx:

scanf("%d",&x);

if(x++>5)printf("%d\n",x);

elseprintf("%d\n",x--);

}

则输出是________。

A)7B)6C)5D)4

答案:

B

评析:

根据c语言的语法,x++是在使用x之后,再将x的值加1,

在if语句中,x的值为5,条件不成立,执行else后面的语句,因

为x的值已经加1,为6,所以打印结果为6。

(20)若有以下定义和语句:

inta[]={l,2,3,4,5,6,7,8,9,10},*p=a;

则值为3的表达式是_________。

A)p+=2,*(p++)B)p+=2,*++p

C)p+=3,*p++D)p+=2,++*p

答案:

A

评析:

引用一个数组元素,可以用:

(1)下标法,如a[i]形式;

(2)指针法,如*(a+i)或*(p+i)。

数组的下标从0开始,值为3的数

组元素是a[2]。

B、c的内容为a[3],D将a[2]前自加,结果为4。

(21)设a、b和c都是int型变量,且a=3、b=4、c=5,则下

面的表达式中,值为0的表达式是___________。

A)'a'&&'b'B)a<=bc)a‖+c&&b-c

D)!

((a

c‖1)

答案:

D

评析z选项A:

'a'&&'b'是字符a与b的相与,不为0;选项B:

a<=b,由题中变量赋值可知,结果为1。

选项c:

a‖+c&&b-c,结果

为1;选项D:

!

((a

c‖1),运算结果为O。

(22)以下程序运行后,输出结果是_________。

main()

{

char*d[]。

{"ab","cde"};

printf("%x",d[1]);

}

A)cdeB)字符c的ASCII码值

C)字符c的地址D)出错

答案:

C

评析:

指针数组中的每一个元素都相当于一个指针变量。

一维指

针数组的定义形式为:

类型名+数组名[数组长度],在本题main函数

中定义指针数组d,它有两个元素,其初值分别是"ab"、"cde"的首地

址。

dB]的值为"cde"的首地址。

%x是指以十六进制数形式输出整数。

(23)设有如下程序

#include

main()

{

int**k,*j,i=100;

j=&i;k=&j;

printf("%d\n",**k);

}

上述程序的输出结果是________。

A)运行错误B)100C)i的地址D)j的地址

答案:

B

评析:

j=&i,j的值就是i的地址,*j=100,将j的地址赋给k,

这时*k=j,那么,**k=*j,而1=100,所以**k=100,最后的打印结

果应当为100。

(24)设有以下语句,其中不是对a数组元素的正确引用的是:

_______(其中O≤i<10)

inta=[10]={0,1,2,3,4,5,6,7,8,9,},*p=a;

A)a[p-a]B)。

(&a[i])C)p[I]D)*(*(a+i))

答案:

D

评析:

观察程序可知,a实际上就是数组a的首地址,所以

"+(a+i)"表示的就是数组a中的第i个元素的值,进而,我们可以知

道+(t(a+i))必然不是对a数组元素的正确引用。

(25)以下程序运行后,输出结果为________。

main()

{

inta[2][3]={1,3,5,7,9,11},*s[2],**pp,*p;

s[0]=a[0],s[1]=a[1];

pp=s;

p=(int*)malloc(sizeof(int));

**pp=s[1][1];

p=*PP;

printf("%d\n",*p);

}

A)lB)7C)9D)1l

答案:

C

评析:

s是一个含有两个元素的指针数组,pp是一个指向指针变

量的指针,s[O]是指向二维数组a行下标为0的元素的首地址,即a[0

儿0]的地址,s[1]为a[1][0]的地址。

pp的值为s[O]的地址。

**pp=s[1][l]后,a[0][0]的值将被赋值为all][l]的值,执行p=*pp;

后,p中将是s[0]的值,最后的输出语句将输出地址s[0]所指向的数

据,即a[0][O]

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1