2022计算机二级C语言选择题及答案_第1页
2022计算机二级C语言选择题及答案_第2页
2022计算机二级C语言选择题及答案_第3页
2022计算机二级C语言选择题及答案_第4页
2022计算机二级C语言选择题及答案_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——2022计算机二级C语言选择题及答案2022计算机二级C语言选择题及答案

1.算法的空间繁杂度是指。

A.算法程序的长度

B.算法程序中的指令条数

C.算法程序所占的存储空间

D.算法执行过程中所需要的存储空间

2.以下表达中正确的是。

A.一个规律数据布局只能有一种存储布局

B.规律布局属于线性布局,存储布局属于非线性布局

C.一个规律数据布局可以有多种存储布局,且各种存诸布局不影响数据处理的效率

D.一个规律数据布局可以有多种存储布局,且各种存诸布局影响数据处理的效率

3.简朴的交换排序方法是。

A.快速排序

B.选择排序

c.堆排序

D.冒泡排序

4.关于布局化程序设计原那么和方法的描述错误的是。

A.选用的布局只准许有一个入口和一个出口

B.繁杂布局理应用嵌套的根本操纵布局举行组合嵌套来实现

c.不允许使用GOTO语句

D.语言中若没有操纵布局,理应采用前后一致的方法来模拟

5.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和。

A.可重用性差

B.安好性差

C.非耐久性

D.冗余性

6.面向对象的设计方法与传统的面向过程的方法有本质不同,它的根本原理是。

A.模拟现实世界中不同事物之间的联系

B.强调模拟现实世界中的算法而不强调概念

C.使用现实世界的概念抽象地斟酌问题从而自然地解决问题

D.不强调模拟现实世界中的算法而强调概念

7.对如下二叉树举行后序遍历的结果为。

A.ABCDEF

B.DBEAFC

C.ABDECF

D.DEBFCA

8.软件设计包括软件的布局、数据接口和过程设计,其中软件的过程设计是指。

A.模块间的关系

B.系统布局部件转换成软件的过程描述

C.软件层次布局

D.软件开发过程

9.下面描述中,不属于软件危机表现的是。

A.软件过程不模范

B.软件开发生产率低

C.软件质量难以操纵

D.软件本金不断提高

10.以下描述错误的是。

A.继承分为多重继承和单继承

B.对象之问的通信靠传递消息来实现

C.在外面看不到对象的内部特征是基于对象的"模块独立性好'这个特征

D.类是具有共同属性、共同方法的对象的集合

11.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是。

A.DB包含DBS和DBMS

B.DBMS包含DB和DBS

C.DBS包含DB和DBMS

D.没有任何关系

12.以下合法的声明语句是。

A.intabc=50;

B.doubleint=3+5e2.5;

C.longdo=1L;

D.float3asd=3e一3;

13.设x、y和z是int型变量,且x=4,y=6,z=8,那么以下表达式中值为0的是。

A.xy

B.x=y

C.x||y+zyZ

D.!x14.若ch为char型变量,k为int型变量已知字符a的

ASCII码是97,那么执行以下语句后输出的结果为。

cb=b;

k=10;

printf%X,%o,',ch,ch,k;

printfk=%%d\n,k;

A.因变量类型与格式描述符的类型不匹配,输出无定值

B.输出项与格式描述符个数不符,输出为0值或不定值

C.62,142,k=%d

D.62,142,k=%10

15.有以下程序:

funintX,intyreturnx+y;

main

inta=1,b=2,C=3,sum;

sum=funa++,b++,a+b,c++;

printf%d\n,sum;

执行后的输出结果是。

A.6

B.7

C.8

D.9

16.假定X和Y为double型,那么表达式x=2,y=x+3/2的值是。

A.3.500000

B.3

C.2.000000

D.3.000000

17.有如下程序:

main

intx=1,a=0,b=0;

switchx

case0:b++;

case1:a++;

case2:a++.b++;

printfa=%d,b=%d\n,a,b;

该程序的输出结果是。

A.a=2,b=1

B.a=1,b=1

C.a=1,b=0

D.a=2,b=2

18.以下程序的输出结果是。

main

inti=1,j=2,k=3;

ifi++==1++j==3==||k++==

3

printf%d%d%d\n,i,j,k;

A.123

B.234

C.223

D.233

19.以下程序的输出结果是。

#include

main

inta=0,i;

fori=1;i5;i++

switchi

case0:

case3:a+=1;

case1;

case2:a+=2;

default:a+=3;

printf%d,i;

A.19

B.1

C.6

D.8

20.有以下程序:

main

intx,i;

fori=l;i=50;i++

x=i:

ifx%2=0

ifx%3=0

ifX%7=0

printf'%d,i';

输出结果是。

A.28

B.27

C.42

D.4l

21.以下程序的输出结果是。

main

inta[3][3]="l,2,3,4,5,6,i,j,s=0;

fori=1;i3;i++

forj=0;j=i;j++s+=a[i][j];

printf'%d\n',s;

A.18

B.19

C.20

D.21

22.有以下程序:

main

intk=5:

while--kprintf%d,k=1;

printf\n;

执行后的输出结果是。

A.1

B.2

C.4

D.死循环

23.若有定义:"inta[2][3];',那么对a数组的第i行第j列元素的正确引用为。

A.**a+i+j

B.a+i[j]

C.*a+i+j

D.*a+i+j

24.以下能正确举行字符串赋值的是。

A.chars[5]='ABCIE';

B.chars[5]=A,B,C,D,E;

C.char*s;s=ABCDE;

D.char*s;printf%S,s;

25.现有以下布局体说明和变量定义,如下图,指针p、q、r分别指定一个链表中连续的3个结点。

structnode

bardata;

structnode*next;*p,*q,*r;

现要将q和r所指结点交换前后位置,同时要保持链表的布局,以下不能完成此操作的语句是。

A.q-next=r-next;Pnext=r;r-next=q;

B.q-next=r;q-next=r-next;r-next=q;

C.q-next=r-next;r-next=q;P-next=r:

D.q-next=q;P-next=r;q-next=r-next;

26.有以下程序:

main

inti,j,x=0;

fori=0,i2;i++

x++;

forj=0;j=3;j++

ifj%2continue;

x++:

x++:

printfx=%d\n,x;

程序执行后的输出结果是。

A.x=4

B.x=8

C.x=6

D.x=12

27.有以下程序:

intfunldoubleareturna*=a;

intfun2doublex,doubley

doublea=0,b=0;

a=funlx;b=funly;returninta+h;

main

doublew;w=fun21.1,2.0,

程序执行后变量w中的值是。

A.5.21B.5

C.5.0D.0.0

28.有以下程序:

main

inti,s=0,t[]=1,2,3,4,5,6,7,8,9;

fori=0;i9;i+=2s+=*t+i;

printf%d\n,s;

程序执行后的输出结果是。

A.45

B.20

C.25

D.36

29.有以下程序:

intfunintn

ifn==1return1;

else

returnn+funn-1;

main

intx;

scanf%d,x;x=funx;printf%d\n,x;

执行程序时,给变量x输入10,程序的输出结果是。

A.55

B.54

C.65

D.45

30.有以下程序:

intfunintx[],intn

staticintsum=0,i:

fori0;ireturnsum;

main

inta[]=1,2,3,4,5,b[]一6,7,8,9,s=0:

s=funa,5+funb,4;printf%d\n,s:

程序执行后的输出结果是。

A.45

B.50

C.60

D.55

31.有以下程序:

main

char*p[]=3697,2584;

inti,j;longnum=0;

fori=0;i2:i++

j=0;

whilep[i][j]!=\0

ifp[i][j]-\0%2num=1O*num+p

[j][j]-0;

j+=2;

2022计算机二级C语言选择题及答案

printf%d\n,num;

程序执行后的输m结果是。

A.35

B.37

C.39

D.3975

32.以下程序的输出结果是。

main

charst[20]=hello\0\t\\\;

printf%d%d\n,strlenst.sizeofst;

A.99

B.520

C.1320

D.2020

33.若有以下的定义:intt[3][2];',能正确表示t数组元素地址的表达式是。

A.t[3][2]

B.t[3]

C.t[l]

D.t[2][2]

34.函数fseekpf,OL,SEEKEND中的SEEKENE代表的起始点是。

A.文件开头

B.文件末尾

C.文件当前位置

D.以上都不对

35.下述程序的输出结果是。

#include

main

inti;

fori=l;i=10;i++

ifi*i=20i*i=100

break;

printf%d\n,i*i;

A.49

B.36

C.25

D.64

36.若有定义"intb[8],*p=b;',那么p+6表示。

A.数组元素b[6]的`值

B.数组元素b[6]的地址

C.数组元素b[7]的地址

D.数组元素b[o]的值加上6

37.设变量已正确定义,那么以下能正确计算f=n!的程序是。

A.f=0:

fori=1;i=n;i++f*=i:

B.F=1:

fori=l;i2n;i++f*=i:

C.f=l:

fori=n;i1;i++f*=i:

D.f=1;

fori=n;i=2;i--f*=i:

38.下述程序执行的输出结果是。

#include

main

chara[2][4];

strcpya,are;strcpya[1],you;

a[0][3]=;

printf%s\n,a:

A.areyou

B.you

C.are

D.

39.设x=011050,那么x=x01252的值是。

A.0000001000101000

B.1111110100011001

C.0000001011100010

D.1100000000101000

40.在"文件包含'预处理语句的使用形式中,当#include后面的文件名用双引号括起时,探索被包含文件的方式是。

A.直接按系统设定的标准方式探寻目次

B.先在源程序所在的目次探寻,如没找到,再按系统设定的标准方式探寻

C.仅仅探寻源程序所在目次

D.仅仅探寻当前目次

1.D。算法的空间繁杂度,是指执行这个算法所需的存储空间。算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占用的存储空间、算法执行过程中所需要的额外空间。

2.D。数据的存储布局是指数据的规律布局在计算机存储空间中的存放形式,一种数据布局可以根据需要采用不同的存储布局,用的存储布局有依次和链式布局。用不同的存储布局,其处理的效率是不同的。

3.D。所谓的交换排序方法是指借助数据元素之间的彼此交换举行排序的一种方法,包括冒泡排序和快速排序,冒泡排序通过相邻元素的交换,逐步将线性表变成有序是一种最简朴的交换排序方法。

4.C。布局化程序设计的原那么和方法之一是限制使用GOT0语句,但不是十足不允许使用GOT0语句。其他三项为布局化程序设计的原那么。

5.D。文件系统所管理的数据文件根本上是分散、相互独立的。相对于数据库系统,以此为根基的数据处理存在3个缺点:数据冗余大、数据的不一致性、程序与数据的凭借性强。

6.C。面对象的设计方法的根本原理是:使用现实世界的概念抽象地斟酌问题从而自然地解决问题。它虽强调模拟现实世界中的概念而不强调算法,但是它激励开发者在软件开发的过程中从应用领域的概念角度去斟酌。

7.D。所谓的后序遍历是指,首先遍历左子树,然后遍历右子树,结果访问根结点,并且在遍历左、右树时,依旧先遍历左子树,然后遍历右子树,结果访问根点。因此,后序遍历二叉树的过程也是一个递归过程。

8.B。软件的过程设计是指系统布局部件转换成软件的过程描述。

9.A。①对软,牛开发的进度和费用估计不切实:②用户对已完成的软件系统不合意的现象时常发生;③软件产品的质量往往靠不住;④软件往往是不成维护的;⑤软件通常没有适当的文档;⑥软件本金在计算机系统总本金中所占的比例逐年上升;⑦软件开发生产率提高的速度远远跟不上计算机应用急速普能及深入的趋势。

10.C。对象的封装性是指从外面看只能看到对象的外部特性,而对象的内部,其处理才能的实行和内部状态对外是不成见的,是隐秘的。

11.C。数据库系统由如下5个片面组成:数据库DB、数据库管理系统fDBMS、数据库管理员人员、系统平台之一硬件平台硬件、系统平台之二软件平台软件。其中DBDataBase即数据库,是统一管理的相关数据的集合;DBMS即数据库管理系统,是位于用户与操作系统之间的一层数据管理软件,为用户或应用完程序供给访问DB的方法。由以上可知,选C为正确答案。

12.A。标识符是由字母、数字或下划线组成,并且它的第一个字符务必是字母或者下划线。B选项int不是表达变量类型的标识符,它不能再用做变量名和函数名。C选项do是C语言的一个关键字。D选项标识符只能以字母或下划线开头。

13.D。此题测验规律运算符的使用。当"'的两个运算对象都是规律1时,表达式返回值才是1;"||'的两个运算对象至少有一个是规律1时,表达式返回值也是1,x14.C。第1个printf函数,格式说明的个数是2,而输出项的个数是3,所以对于多余的输出项k不予输出;第2个printf函数,有两个%说明,第1个%后面的字符要原样输出。此题测验printf函数的格式。①"%x'和"%0'分别表示以十六进制和八进制无符合型输出整型数据不带前导ox或0;②printf函数中格式说明符之前插入的任何字符都原样输出;③格式说明与输出项的个数,也要相等,假设格式说明的个数少于输出项的个数,那么对于多余的输出项不予输出。

15.C。函数funintx,inty的功能是返回x+y的值。在主函数中,变量a,b,c的初始值分别为1,2,3。因此,逗号表达式"a++,b++,aqb'的值等于5,表达式c++的值为3,调用于函数的表达式为"fun5,3;',其返回值等于8。

16.D。在x=2,y=x+3/2中,3/2=1。2+1=3,因此表达式的值为3,由于x,y为double型变量,应选择D选项。

17.A。当x为1时,执行case1,a自加等于1,由于case1后没有break,接着执行case2,此时a的值为2,b自加为1,应选择A选项。

18.D。此题考梦自增运算符"++'、规律与运算符"'和规律或运算符"||'。自增运算符"++'展现在变量之前,表示先使用变量的值加l,再使用变量的值举行运算;展现在变量之后,表示先使用变量的值举行运算,再使用变量的值加l。当规律与运算符"两边的运算对象都为真时,规律表达式的值才为真;当规律或运算符"||'只要一个值为1,值就为1。根据运算符的优先级,题中应先计算内层括号中的值。++j是先自加后运算,因此运算时j的值等于3,所以表达式++j=3成立,即表达式的值为1;1与任何数都为举行或||运算,结果都为1,因此k=3的表达式i++是先运算后自加,因此运算时i为1,所以i++=1成立,自加1后i=2。if语句的条件为真即"1',所以输出i、j、k的值分别是2,3,3。

19.A。此题测验switch语句。当i一1时,执行case1,由于没有遇到break语句,所以依次往下运行,"a=a+2=2,a=a+3=5';当i=2时,执行case2,由于没有遇到break语句,所以依次往下执行,"a=a+2=7,a=a+3=10';当i=3时,执行case3,a=a+1=11,由于没有遇到break语句,所以依次往下运行,aa+213,aa+3一l6:当i=4时,执行default,a=a+3=19,终止循环。

20.C。只有当3个if条件同时成立,即能够同时被2、3、7整除时,才输出i的值,而从0到50能够同时被2、3、7整除的数只有42,应选择C选项。

21.A。循环的作用是求行下标从1到2列下标从0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][0]+a[2][1]+a[2][2]=3+4+5+6+0=18。

22.A。在程序语句中,k的初始值为5,举行第l次while循环后,k自减1为4,非0,执行循环体里的printf语句,输出k,此时k的值变为1。程序执行第2次循环时,k自减1变为0,为假,退出while循环语句。所以程序的结果结果为1。

23.A。通过地址来引用数组元素的方法有以下5种:

1a[i][j];2*a[i]+j;3**a+j+i;4*a[i][j];5aE0][0]q-3*i+j。故A正确。

24.C。选项A、B的空间不够;字符串存储要有终止符\0,且要占用一个空间,printf用来输出字符,不能输入字符串。

25.D。由题目ee线性链表的定义可知,要将q和r所指的结点交换前后位置,只要使q指向r的后一个结点,p指向r结点,r指向q结点即可。而在选项D由,r-next=q,这时r指向的节点为q;p-nextr,这时p指向的节点为r;q-next=r-next,由于r节点已经指向q,所以执行这个语句后q又指向q,所以选项D不正确。

26.B。在第1次外层for循环中,首先x++得到x=1。进入到内层for循环,只有循环j的值为奇数时,变量x的值才自加1,所以在内层for循环执行过程中,变量x的值自加两次,当退出内层for循环时,x=3,然后执行x++,得到x=4。在进入执行第2次外层for循环中,首先x++得到x=5。进入到内层for循环,只有循环变量j的值为奇数时,变量x的值才自加1,所以在内层for循环执行过程中,变量X的值自加1两次,当退出内层for循环时,x=7,然后执行x++,得到x=8,所以打印输出变量x的值为8。

27.C。子函数fun1doublea的功能是返回a的平方值的整数片面。子函数fun2doublex,doubley的功能是返回X的平方值的整数片面与Y的平方值的整数片面的和。又由于题中变量w的定义为double型,函数fun2的定义为int型,按照各类数值型数据间的混合运算,整型数据被转换为实型数据。所以双精度型变量w的值为5.O。

28.C。在for循环语句中自变量i从0开头,每次自加2,执行s+=*t+i语句,由于C语言规定数组名做表达式相当于数组的首地址,也就是第一个元素的地址。因此,*t+i代表数组的第i+1个元素。所以程序运行的结果是1+3+5+7+9=25,即变量S的值等于25。

29.A。此题在函数intfunintn的定义中又展现了对函数fun的调用,所以函数fun是递归函数。因而在主函数中调用x=funx时,当输入10赋给变量x时,递归调用的过程为

fun10=10fun9=104-94-fun8=104-9+84-fun7

=10+9++8++7++fun6=10+9++8+7+6+fun6

=10+9++8+7+6+5+fun4

=10+9++8+7+6+5+4+fun3

=10+9++8+7+6+5+4+3+fun2

=10+9++8+7+6+5+4+3+2+fun1

=10+9++8+7+6+5+4+3+2=55

2022计算机二级C语言选择题及答案

30.C。在函数intfunintxE],intn的定义中,变量sum为一个静态局部变量。由于在整个程序运行期间,静态局部变量在内存中的静态存储中占据着永久的存储单元。函数intfunintx[],intn的功能是求出数组X[]各个元素的和,所以在j三函数中,调用函数funa,5后,变量sum=1+2+3+4+5=15,当再次调用funb,4后,变量sum=15+6+7+8+9=45,所以S=l5+45=60。

31.D。执行第一次for循环时,用表达

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论