2022年全国计算机二级C选择题题库第36套学习资料_第1页
2022年全国计算机二级C选择题题库第36套学习资料_第2页
2022年全国计算机二级C选择题题库第36套学习资料_第3页
2022年全国计算机二级C选择题题库第36套学习资料_第4页
2022年全国计算机二级C选择题题库第36套学习资料_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、全 国 计 算 机 二 级 C 选 择 题 题 库 第 36 套精品资料全国运算机二级C挑选题题库第36 套1、以下表达中正确选项 A 算法复杂度是指算法掌握结构的复杂程度 B 算法复杂度是指设运算法的难度 C 算法的时间复杂度是指设运算法的工作量 D 算法的复杂度包括时间复杂度与空间复杂度 参考答案: D 算法的复杂度是指运行该算法所需要的运算机资源的多少,所需的资源越多,该算法的复杂度越高;反之,所需资源越少,复杂度越低;算法复杂度包括算法的时间复杂度和算法的空间复杂度,算法的时间复杂度是指执行算法所需要的运算工作量,算法空间复杂度指执行这个算法所需要的内存空间;故挑选 D选 项;2、设循

2、环队列的储备空间为Q1:50 ,初始状态为 front=rear=50;现经过一系列入队与退队操作后, front=rear=1 队列中的元素个数为 A 2 B 1 C 3 D 52 参考答案: A ,此后又正常地插入了两个元素;最终该循环队列是队列的一种次序储备结构,用队尾指针 rear 指向队列中的队尾元素,用排头指针指向排头元素的前一个位置;循环队列长度为 50,由初始状态为 front=rear=50 可知此时循环队列为空;入队运算时,第一队尾指针进 1(即 rear+1 ),然后在 rear 指针指向的位置插入新元素;特殊的,当队尾指针仅供学习与沟通,如有侵权请联系网站删除 感谢2

3、精品资料rear=50+1 时,置 rear=1 ;退队运算时,排头指针进1(即front+1 ),然后删除front 指针指向的位置上的元素,当排头指针 front=50+1 时,置 front=1 ;如经过运算, front=rear=1可知队列空或者队列满;此后又正常地插入了两个元素说明插入前队列为空,就插入后队列元素个数为 2;应选 A选项;3、一棵完全二叉树共有 360个结点,就在该二叉树中度为 1的结点个数为A 0 B 1 C 180 D 181 参考答案: B 在二叉树中,一个结点所拥有的后件个数称为该结点的度;完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最终一层上

4、只缺少右边的如干结点;由定义可以知道,完全二叉树中度为1的结点个数为 1或者 0;如结点总数为偶数,就有 1个度为 1的结点;如结点总数为奇数,没有度为 1的结点;由于题目中的完全二叉树共有 360个结点,就度为 1的结点个数为 1;故挑选 B选项;4、设某二叉树的后序序列与中序序列均为A HGFEDCBA B ABCDEFGH C EFGHABCD D DCBAHGFE 参考答案: A ABCDEFGH,就该二叉树的前序序列为二叉树遍历可以分为 3种:前序遍历(拜访根结点在拜访左子树和拜访右子 树之前)、中序遍历(拜访根结点在拜访左子树和拜访右子树两者之间)、后序遍历(拜访根结点在拜访左子树

5、和拜访右子树之后);仅供学习与沟通,如有侵权请联系网站删除 感谢3 精品资料二叉树的后序序列与中序序列相同,说明此树结点没有右子树,且最终一个节 点H为根节点,而前序遍历中根节点应在最先被拜访,即节点 H在最先显现,由 此推断前序遍历为 HGFEDCBA,故 A选项正确;5、在排序过程中,每一次数据元素的移动会产生新的逆序的排序方法是 A 快速排序 B 简洁插入排序 C 冒泡排序 D 以上说法均不正确 参考答案: A 冒泡排序只交换相邻元素,但不是每次移动都产生新的逆序;简洁插入排序的 元素移动不会产生新的逆序;快速排序每一次交换移动都会产生新的逆序,因 为当不会有新的逆序产生时,本轮比较终止

6、;故挑选 A选项;6、下面对软件工程描述正确选项 A 软件工程是用工程、科学和数学的原就与方法研制、保护运算机软件的有 关技术及治理方法 B 软件工程的三要素是方法、工具和进程 C 软件工程是用于软件的定义、开发和保护的方法 D 软件工程是为明白决软件生产率问题 参考答案: A 软件工程是应用于运算机软件的定义、开发和保护的一整套方法、工具、文档、实践标准和工序;C选项表达不全面;仅供学习与沟通,如有侵权请联系网站删除 感谢4 精品资料软件工程包含个要素:方法、工具和过程;B选项错误;软件工程的目标是:在给定成本、进度的前提下,开发出具有有效性、可 靠性、可懂得性、可保护性、可重用性、可适应性

7、、可移植性、可追踪性和可 互操作性且满意用户需求的产品,追求这些目标有助于提高软件产品的质量和 开发效率,削减保护的困难;D选项错误;软件工程是用工程、科学和数学的原就与方法研制、保护运算机软件的有 关技术及治理方法;故此题选 A选项;7、耦合性和内聚性是对模块独立性度量的两个标准;以下表达中正确选项 A 内聚性是指模块间相互连接的紧密程度 B 提高耦合性降低内聚性有利于提高模块的独立性 C 耦合性是指一个模块内部各个元素间彼此结合的紧密程度 D 降低耦合性提高内聚性有利于提高模块的独立性 参考答案: D 模块的独立程度可以由两个定性标准度量,一个是耦合性,用来衡量不同模 块彼此间相互依靠(连

8、接)的紧密程度;另一个是内聚性,用来衡量一个模块 内部各个元素彼此结合的紧密程度;一般来说,要求模块之间的耦合尽可能弱,即模块尽可能独立,且要求模块 的内聚程度尽可能高;应选 D选项;8、以下关于数据库系统的表达中正确选项 A 数据库系统中数据的一样性是指数据类型一样 B 数据库系统防止了一切冗余仅供学习与沟通,如有侵权请联系网站删除 感谢5 精品资料C 数据库系统削减了数据冗余 D 数据库系统比文件系统能治理更多的数据 参考答案: C 数据治理技术的进展经受了个阶段:人工治理阶段、文件系统阶段和数 据库系统阶段;数据库系统共享性大,冗余度小,但只是削减了冗余,并不是防止一切冗 余;数据的一样

9、性是指在系统中同一数据在不同位置的显现应保持相同的值,而不是数据类型的一样;数据库系统比文件系统有更强的治理掌握才能,而不是治理更多的数据;故此题选 C选项;9、一名演员可以出演多部电影,就实体演员和电影之间的联系是 A 多对多 B 一对一 C 多对一 D 一对多 参考答案: A 实体集之间通过联系来建立联接关系分为三类:一对一联系(1:1 )、一对 多联系( 1:m)、多对多联系( m:n);由于一名演员可以出演多部电影,而一部电影必定有多个演员参演,就实体演 员和电影之间的联系属于多对多;应选 A选项;仅供学习与沟通,如有侵权请联系网站删除 感谢6 精品资料10、A 表S中全部同学都选修了

10、的课程的课号 B 全部课程的课号 C 成果不小于 80的同学的学号D 所选人数较多的课程的课号 参考答案: A 表示针对属性进行的投影运算, /表示除运算,可以近似地看作笛卡尔积的逆运算;表达式表示,第一在关系模式SC中挑选属性 学号 与 课号 ,结果如下左图;其次在这个关系模式中对关系模式 S进行除运算,结果如下右图;就关系式结果表示 S中全部同学( S1、S2)都选修了的课程的课号(C1、C2);仅供学习与沟通,如有侵权请联系网站删除 感谢7 精品资料S#,C# SC/S 的运算结果S#,C# SC 的运算结果故此题选 A选项;11、有以下程序#include main int a=2,b

11、=3,c=4; a*=16 +b+ - +c; printf%d n,a ; 程序运行后的输出结果是A 15 B 30 C 28 D 14 参考答案: C 1、后置自增运算: k+表示先运算,后自加; 2、前置自增运算: +k表示先自加,后运算; +单目运算符的优先级高于赋值运算符;a*=16 +b+ - +c;可转化为: a=a*16+b-c+1;b=b+1; 代入值运算可得值 a=28;答案为 C选项;12、以下表达正确选项A 通过分解成简洁子任务,可以完成任何复杂任务B 每个结构化程序都要包含全部三种基本结构仅供学习与沟通,如有侵权请联系网站删除 感谢8 精品资料C C 语言程序的全部自

12、定义函数只能写在同一个源文件中D C 语言程序答应使用多个 main函数,只要它们的函数体各不相同即可参考答案: A 算法的三种基本结构:循环、次序、条件;有的简洁的程序只包含其中的如干个,因此 B选项错误, C语言程序的自定义函数可以放在多个 .c 文件中,只要包含其引用的头文件即可链接到,因此选项C错误; C语言程序有且只有一个 main函数,因此 D选项错误;故答案为 A选项;13、以下选项中,合法的 C语言实数是A E4.8 B 4.3e0.2 C .4e0 D 0.29E 参考答案: C C语言 标准化指数形式 :其数值部分是一个小数,小数点前的数字是零,小数点后的第一位数字不是零;

13、一个实数可以有多种指数表示形式,但只有一种属于标准化指数形式;在 C语言中 e后面的指数必需是整数;因此只有 C选项正确;14、设a,b,c 已定义为整型变量,以下选项中不正确的赋值表达式是A a = 3 = b = 2 = 1; B a = b = 0 * c + 1; C a = b = 0 * c + 1; D a = 10 % b = c = 2.0; 参考答案: A 依据 和=运算符的优先级,运算过程为b=2,b=1,之后 3=1为非法赋值运算;, ,C语言规定常量只能做为右值,不能做左值,因此选项 A的表达式错误;仅供学习与沟通,如有侵权请联系网站删除 感谢9 精品资料15、如变量

14、已正确定义并赋初值,以下合法的赋值语句是A k=m=n; B k=-m-n C k=intm+n; D k=m*n=1; 参考答案: A m,n的变量类型未知,但题目中已定义和赋值;选项B的-m-n对于整型与浮点数类型可以这样操作,但如变量为字符类型,就错误;选项 C,编译类型错误,强 制转化使用错误;选项 D,m*n是常量,只能用作表达式的右值,不能作为左 值;故答案为 A选项;16、以下关于规律运算符两侧运算对象的表达中正确选项 A 只能是整数 0或1 B 只能是整数 0或非 0整数 C 可以是结构体类型的数据 D 可以是任意合法的表达式 参考答案: D 与运算符 &和或运算符 |均为双目

15、运算符,具有左结合性;非运算符. 为单目运算符,具有右结合性;只要是合法的表达式,都可以作为规律运算表达的运算表达式;因此可知选项17、以下选项中错误选项A printf%sn, s; B printf%d %cn, s,s; C printf%cn, s- 32; D printf%cn, 65; 参考答案: A A,B,C错误;答案为 D选项;仅供学习与沟通,如有侵权请联系网站删除 感谢10 精品资料%d可以作为输出字符和整型类型的格式,%c作为输出字符类型的格式,%s作为输出字符串类型的格式,选项 为A选项;A, s是字符,不能用 %s格式来输出;故答案18、如有定义: char ch;

16、当执行以下循环时从键盘输入abcde,将输出 *的个数是 whilech=getchar=e printf*; A 4 B 0 C 5 D 1 参考答案: B whilech=getchar=e ,输入 abcde, 接收到的第一个字符是 a,while循环的条件为 0,跳出循环终止;因此 printf字符出来;故答案为 B选项;19、有以下程序#include main int x=10,y=11,z=12; if y z x=y; y=z; z=x; printfx=%d y=%d z=%dn, x, y, z ; 程序运行后的输出结果是A x=11 y=12 z=11 B x=10 y=

17、10 z=10 C x=11 y=11 z=10 D x=10 y=10 z=12 参考答案: A 没有执行过;因此,没有打印任何if 条件为真,执行 x=y; 此时 x=11;y=11;z=12 仅供学习与沟通,如有侵权请联系网站删除 感谢11 精品资料再执行 y=z;z=x; 此时 y=12;z=11; 最终 x=11;y=12;z=11; 故答案为 A选项;20、对于 if 表达式 语句,以下表达正确选项A 表达式 不能是变量B 表达式 的值只能是整数值C 表达式 可以是常量D 表达式 中不行以显现字符型变量的比较参考答案: C C语言没有规定 if 表达式 中的 表达式 的形式,可以是

18、任意合法表达式;故答案为 C选项;21、有以下程序#include main char ch = 1; while ch 0 | x0 参考答案: A . 与=运算, . 的优先级高于 =,即等价于 .x=0 ;假如 x 0, 就表达式为真,否就表达式为假,因此可以验证选项,只有选项23、以下表达正确选项 A 表达式 9-0 的值是数值 9 B 表达式 A+32 的值是字母 A的ASCII 码 C 表达式 a-32 的值是字母 a的ASCII 码 D 表达式 9+0 的值是字符 9的ASCII码 参考答案: D A不符合;故答案为 A选项;表达式 9- 0的值是数值 9-48=-39 ,应选项

19、 A错误,表达式 A+32的值是字母 a的ASCII码, 应选项 B错误,表达式 a-32 的值是字母 A的ASCII码, 应选项 C错误;故答案为 D选项;24、有以下程序 #include int fun int x, int y if x.=y return x+y /2 ; else return x ; 仅供学习与沟通,如有侵权请联系网站删除 感谢13 精品资料 main int a=4, b=5, c=6; printf %dn , fun2*a, fun b, c ; 程序运行后的输出结果是A 3 B 6 C 8 D 12 参考答案: B fun 函数的功能是猎取二个数的平均数,

20、 留意平均数是整型数,小数会被截断;fun2*4,fun5,6fun8,56, 因此答案为 C选项;25、有以下程序 #include int f int x,int y returny-x*x; main int a=3,b=4,c=5,d; d=ffa,b,fa,c; printf%dn,d; 程序运行后的输出结果是A 8 B 10 C 9 D 7 参考答案: C fa,b=f3,4=4-3*3=3;fa,c=f3,5=5-3*3=6;f3,6=6-3*3=9; 因此, d=ffa,b,fa,c=9, 答案为 C选项;26、有以下程序#include void fun int a , in

21、t n, int flag int i=0,j, t; 仅供学习与沟通,如有侵权请联系网站删除 感谢14 精品资料 for i=0; in-1; i+ for j=i+1; jn; j+ if flag if ai aj t = ai; ai = aj; aj = t; main int c10= 7,9,10,8,3,5,1,6,2,4 ,i; fun c, 4, 1 ; fun c+4, 6, 0 ; for i=0;i10; i+ printf %d, ci ; printfn; 程序运行后的输出结果是A 7,8,9,10,6,5,4,3,2,1, B 10,9,8,7,6,5,4,3,

22、2,1, C 10,9,8,7,1,2,3,4,5,6, D 1,2,3,4,5,6,7,8,9,10, 参考答案: C fun 函数作用冒泡法排序, flag 掌握升序( 0)或者降序( 1); n为参加排序的个数; a为数组的起始地址;因此,funa,4,1, 数组的前四个降序排序,funa+4,6,0 从数组的第四项,后六个升序排序;故结果为10,9,8,7,1,2,3,4,5,6;答案为 C选项;27、有以下程序#include int m1int x, int y if x= y return 2*x+1; else return y; int m2int x, int y 仅供学习

23、与沟通,如有侵权请联系网站删除 感谢15 精品资料 if x= y return 2*y+1; else return x; main int i, t1=10, t2=0; for i=1; i=4; i+ t1=m1 i,t1 ; t2=m2 i,t2 ; printft1=%d t2=%d n, t1, t2 ; 程序运行后的输出结果是A t1=9 t2=4 B t1=4 t2=9 C t1=9 t2=9 D t1=1 t2=4 参考答案: A 函数 m1x,y, 如xy, 返回2*x+1, 否就返回 y, 函数 m2x,y, 如x=y, 返回 2*y+1,否就返回 x,for 循环对

24、t1=m1i,t1,执行4次,可知答案为 9,t2=m2i,t2, 执行4次,可知答案为 4,因此答案为 A选项;28、有以下程序#include void f1char *a, char b char c; c=*a; *a=b; b=c; void f2char a, char b char c; c=a; a=b; b=c; void f3char *a, char *b char c; c=*a; *a=*b; *b=c; main char t1, t2; t1 = A; t2 = B; f3 &t1,&t2 ; putchart1; putchart2; t1 = A; t2 =

25、B; f2 t1, t2 ; putchart1; putchart2; t1 = A; t2 = B; f1 &t1, t2 ; putchart1; putchart2; printfn; 程序运行后的输出结果是A ABBABB B BAABBB C BABABA D BABAAB 参考答案: B 仅供学习与沟通,如有侵权请联系网站删除 感谢16 精品资料f1*a,b,*a 地址传递, b值传递,将 b值传给 *a,就 f1&t1,t2 调用后输出 t1 、t2 为BB;f2a,b 值传递,传入的只是 a,b 的拷贝,不实现交换,就 f2t1,t2 调用后输出 t1 、t2 为AB;f3*

26、a,*b为地址传递,可以实现 a,b 值的交换,就f3&t1,&t2 调用后输出 t1 、t2 为BA;因此结果为 BAABBB;故答案为 B选项;29、以下表达正确选项A char c1, *c2, *c310; 是合法的变量定义语句B 数组说明符的一对方括号中不能使用表达式 C 数组元素下标可以是非整数D 如有定义 char array4; 就语句 printf%c, array3;是合法的参考答案: A C语言规定定义数组时,数组的长度必需是整型常量,数组说明符的一对方括号中表达式只要是常量即合法,因此选项B错误; C语言规定,数组元素下标必需是非负整数,因此选项 C错误;选项 D ch

27、ar array4 数组的长度为 4,array3, 其中3 常量字符串,与 C语言规定数组的下标必需是非负整数不符,故答案为 A选项;30、有以下程序#include main int a33=1,3,5, 7,9,11, 13,15,17; int *p3=a, i,j,n=0; fori=0;i3;i+ forj=0;j2;j+ n+=*p+i+j; printf%dn,n; 仅供学习与沟通,如有侵权请联系网站删除 感谢17 精品资料 程序运行后的输出结果是A 54 B 60 C 36 D 48 参考答案: D for 循环的作用是求数组各行前二列的数字之和;*p+i+jpij 1+3+

28、7+9+13+15=48,因此答案为 D选项;31、设有定义: char p=1, 2, 3,*q=p; 以下不能运算出一个 char 型数据所占字节数的表达式是A sizeof*q B sizeofchar C sizeofp D sizeofp0 参考答案: C 变量 p,q均是指针,因此 sizeofp=4,而*p,*q,p0的类型都是 char ,因此长度为 1,故A、D选项均正确;选项 B, 直接运算 char 的字节数也正确,故答案为 C选项;32、有以下程序 #include funint x, int y static int m=0, i=2; i+=m+1; m=i+x+y

29、; return m; main int j=1, m=1, k; k=funj,m; printf%d,k; k=funj,m; printf%dn,k; 仅供学习与沟通,如有侵权请联系网站删除 感谢18 精品资料执行后的输出结果是A 5, 11 B 5, 5 C 11, 11 D 11, 5 参考答案: A static静态变量只在声明时初始化一次;因此m,n只是在第一个调用 fun 函数时初始化,其次次保持原先的只不变,不在进行初始化;因此第一次,可运算i=3,m=3+1+1=5, 故打印为 5,其次次 i=4+5,m=9+1+1=11, 故打印 11;故答案为 A选项;33、有以下程序

30、#include int f int x, int n if n 1 return xn-1+ fx, n-1*10; else return x0; main int z3 = 1,2,3, y; y = fz,3; printf %dn, y ; 程序运行后的输出结果是A 321 B 123 C 1 D 3 参考答案: B f 函数的作用是将 int 型数组构造成一个整型数;f 函数采纳递归的方式来实现,位数是递增的;有题设可知结果为 123,因此输出结果为 B选项;仅供学习与沟通,如有侵权请联系网站删除 感谢19 精品资料34、有以下程序#include #include main ch

31、ar ss10=12345; strcat ss, 6789 ; gets ss ; printf%sn, ss ; 执行时输入: ABC,就输出结果是A 123456ABC B ABC9 C ABC D ABC456789 参考答案: C getsss 读入一串字符串,直到遇到回车,读入的数据从数组的起始位置覆盖;数组 s里的内容是 ABC0567890, 因此打印出 ABC;故答案为 C选项;35、有以下程序#include #include main printf%dn, strlen0tn0C0111; 程序运行后的输出结果是A 3 B 13 C 1 D 0 参考答案: A C语言转义

32、字符是一个字符;字符串 0tn0C011 ,共有 0,t, n 三个字符;strlen 遇到0 计数终止,因此计数为 3,故答案为 A选项;仅供学习与沟通,如有侵权请联系网站删除 感谢20 精品资料36、有以下程序#include int show char *str while *str putchar*str+1; str+; return *str+1; main printf%dn, showABCD; 程序运行后的输出结果是A ABCD0 B BCDE0 C BCDE1 D ABCD1 参考答案: C putchar每次输出一个字符,依据*str+1,因此 ABCD每个字符都加 1,最后 0 =0, 因此最终输出 1,故答案 BCDE1;故答案为 C选项;37、有以下程序#include void my_put char ch; ch = getchar; if ch .= C my_put; putchar

温馨提示

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

评论

0/150

提交评论