ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:26.31KB ,
资源ID:16739600      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16739600.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(全国计算机等级考试二级C语言真题题库2+Word文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

全国计算机等级考试二级C语言真题题库2+Word文件下载.docx

1、特别的,当队尾指针rearm+1时,置rear1。退队运算时,排头指针进1(即front+1),然后删除front指针指向的位置上的元素,当排头指针frontm+1时,置front1。从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。如果rear-front0,则队列中的元素个数为rear-front个;如果rear-front0,则队列中的元素个数为rear-front+m。该题中m-1m,即rear-front0,则该循环队列中的元素个数为(m-1)-m+mm-1。4.某棵树只有度为3的节点和叶子节点,其中度为3的节点有8个,则该树中的叶子节

2、点数为( )。A.15B.16C.17D.不存在这样的树解析树是一种简单的非线性结构,直观地来看,树是以分支关系定义的层次结构。在树结构中,一个节点所拥有的后件个数称为该节点的度,所有节点中最大的度称为树的度。由于只有度为3的节点和叶子节点,可知最后一层都为叶子节点,倒数第二层一部分节点度为3,一部分为叶子节点,其余的节点的度均为3,计算度为3的节点总数(33-1-1)28(34-1-1)2可知,树共有4层,前两层有度为3的节点(33-1-1)24个,第三层有339个节点,其中4个是度为3的节点,5个是叶子节点,所以该树中的叶子节点数为43+517。故选C选项。5.某二叉树共有530个节点,其

3、中度为2的节点有250个,则度为1的节点数为( )。A.29B.30C.249D.251解析在树结构中,一个节点所拥有的后件个数称为该节点的度,所有节点中最大的度称为树的度。对任何一棵二叉树,度为0的节点总是比度为2的节点多一个。二叉树节点总数为530,度为2的节点有250个,则度为0的节点有251个,那么度为1的节点个数为530-250-25129。6.若某二叉树中的所有节点值均大于其左子树上的所有节点值,且小于右子树上的所有节点值,则该二叉树遍历序列中有序的是( )。A.前序序列B.中序序列C.后序序列D.以上说法均可以解析二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子

4、树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左于树和访问右子树之后)。由于节点值均大于其左子树上的所有节点值,且小于右子树上的所有节点值,那么只要遍历时访问根节点在访问左于树和右子树之间,遍历序列有序,即中序序列有序。故选B选项。7.将C语言的整数设为整数类I,则下面属于类I实例的是( )。A.-103B.10E3C.103D.“0103”解析整数类实例包括:十进制常量用09表示,不能以0开头;八进制常量用07表示,必须用0开头;十六进制常量用09和AF(af)表示,必须以0x或0X开头。本题中B选项是科学计数法表示的浮点数实例,C选项是浮点数实

5、例,D选项是字符串实例。8.下列叙述中正确的是( )。A.软件包括程序、数据和文档B.软件包括程序和数据C.软件包括算法和数据结构D.软件包括算法和程序解析计算机软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。9.软件生命周期是指( )。A.软件的定义和开发阶段B.软件的需求分析、设计与实现阶段C.软件的开发阶段D.软件产品从提出、实现、使用维护到停止使用退役的过程解析通常把软件产品从提出、实现、使用、维护到停止使用、退役的过程称为软件生命周期。A、B、C选项均为生命周期的一部分。故选D选项。10.下列叙述中正确的是( )。A.数据库

6、系统可以解决数据冗余和数据独立性问题,而文件系统不能B.数据库系统能够管理各种类型的文件,而文件系统只能管理程序文件C.数据库系统可以管理庞大的数据量,而文件系统管理的数据量较少D.数据库系统独立性较差,而文件系统独立性较好解析数据管理技术的发展经历了3个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。三者各自的特点如下表所示。 数据库系统可以解决数据冗余和数据独立性问题,而文件系统不能。数据库系统和文件系统的区别不仅在于管理的文件类型与数据量的多少,数据库系统具有高度的物理独立性和一定的逻辑独立性,而文件系统独立性较好。故本题答案为A选项。11.关于程序模块化,以下叙述错误的是( )。A.

7、程序模块化可以提高程序运行的效率B.程序模块化可以提高程序编制的效率C.程序模块化可以提高程序代码复用率D.程序模块化可以提高调试程序的效率解析模块化程序的优点:(1)易于维护和复用,可以提高程序编制的效率;(2)易于分工合作;(3)易于模块化调试测试。模块化程序的副作用:(1)可能会降低程序运行效率;(2)设计的前期工作需要多花费时间。可知B,C,D选项正确。答案为A选项。12.以下正确使用C语言标识符的是( )。A.3B.#3C._3D.-3解析C语言合法标识名的命名规则是:(1)标识符由字母、数字和下划线组成;(2)第一个字符不能是数字只能是字母或下划线。A选项的第一个字符为,非法;B选

8、项,第一个字符为#,非法;D选项,第一个字符为-,非法。答案为C选项。13.若有定义:int a,b,c;以下程序段的输出结果是( )。 a11;b3; c0; printf(”dn”,c(ab,ab);A.2B.0C.3D.1解析C语言中,逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式。逗号运算符的优先级是所有运算符中级别最低的,逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算,并以最右边表达式的值作为整个逗号表达式的值。因此变量c的值为ab即1132。故答案为A选项。14

9、.以下选项中合法的C语言常量是( )。A.C-STRB.20141C.”10D.2EK解析所谓常量是指在程序运行的过程中,其值不能被改变的量。在C语言中,有整型常量、实型常量、字符常量和字符串常量等类型。A选项是字符串,但使用单引号,错误;C、D选项,为实型常量中指数形式,但指数形式e(E)之前必须是数字,之后必须为整数,错误。故答案为B选项。15.设有定义:int x,y,z;,且各变量已赋正整数值,则以下能正确表示代数式“”的C语言表达式是( )。A.10xyzB.1x*y*zC.1(x*y*z)D.1xy(double)z解析代数表达式1(xyz)是小数,转为C语言的表达式必须是小数。A

10、选项由于10为浮点数,计算结果自动转换为浮点数,故A选项正确。B、C、D选项的表达式均为0。16.有以下程序:当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符) 12CR 34CR 则输出结果是( )。A. B.12C.1234D. 解析scanf()函数从标准输入输出中读入两个字符1、2分别赋给变量a、b,遇到回车自动结束,但回车符已经存入缓冲区,函数getchar()将从中接受了回车符,故c被赋值为回车符,第二个getchar()读人字符3,因此a1,b2,c,d3。17.有以下程序:执行时输入:123回车,则输出结果是( )。A.2,2,3,4,4,4,B

11、.2,3,4,C.2,2,3,4,D.2,3,3,4,5,6,解析continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。在switchcase语句中,如果没有break会导致多个分支重叠。因此,输人1,2,3,则执行case 1:printf(d,b+1);case 2:d,continue;后结束。2则执行case 2:printf(”d,3则执行default:得到的结果是2,2,3,4。故答案为C选项。18.有以下程序:36 24回车,则输出结果是( )。A.2400000B.1500000C.1600000D.2000000解析题目中程序执行过程中关键语句zx/y的结

12、果为:z15,if条件成立,得x24,y24,z10,下一次循环if条件不成立跳出循环,按照格式打印y值为2400000。19.有以下程序:0后,则输出结果是( )。A.5,B.0,0,0,0,0,C.0,1,2,3,4,D.0,1,解析scanf(”c”,c),输入的字符,题目中输入了0,字符0对应于ASCII码为48,因此for循环中,i的范围从05,均小于48,if条件不成立,直接执行下一条语句printf,因此得到的结果是0,1,2,3,4。20.以下程序拟实现计算sum1+12+13+150。程序运行后,不能得到正确结果,出现问题的语句是( )。A.sum + 1i;B.while(

13、i50);C.sum=1.0;D.i+;解析选项A中,sum+1i;i为整型,因此1/i是整型类型,当1i有小数时,小数部分会被截断。因此1i结果始终为0,导致结果出错,应改为sum+10/i。因此答案为A选项。21.若有定义语句: double a, *pa; 以下叙述中错误的是( )。A.定义语句中的*号是一个间址运算符B.定义语句中的*号是一个说明符C.定义语句中的p只能存放double类型变量的地址D.定义语句中*p=a把变量a的地址作为初值赋给指针变量p解析指针运算符(通常称为间接引用运算符:indirection operator或复引用运算符:dereferencing oper

14、ator)返回其操作数(即一个指针)所指向的对象的值。定义语句中的*号不是一个间址运算符,而是定义指针变量的说明符,因此,A项错误,B选项正确,原则上说变量p可以放double兼容性的变量地址,C选项正确,根据指针的赋值运算,可知D选项正确。22.关于函数返回值,以下叙述正确的是( )。A.函数可以返回整个结构体,即使结构体中有数组B.函数只能返回基本数据类型的数值或指针C.函数不可以返回一个数组D.函数不能没有返回值解析函数返回值可以为整型、实型、字符型、指针和结构类型,也可以没有返回值,因此A选项正确,可以返回数组指针,因此可知B、C、D选项错误。放答案为A选项。23.有以下程序:程序运行

15、后的输出结果是( )。A.24B.720C.120D.6解析函数fun()求数组指定返回的元素的积。函数fun(a,3)求的是数组a0a3的积。因此结果为2*3*4*5120,故答案为C选项。24.若有语句:int a34,(*p)4;pa;,则以下选项中叙述错误的是( )。A.系统将开辟一个名为p的二维数组,p00中的值即为a00中的值B.p+1代表a10的地址C.p中将存放a数组的首地址D.p+2代表a数组最后一行的首地址解析(*p)4定义了一个数组指针。p可以指向类似于arry4的数组,题设中,p不是一个二维数组,只是可以指向这类二维数组,因此A选项错误。p+1代表了第一行第一个元素的地

16、址,pa指向数组a的首地址,则B、C选项正确,同理可知D选项也正确。25.有以下程序:A.B,C,D,E,B.A,B,C,D,C.C,D,E,F,D.B,D,F,H,解析函数change()的作用是从数组尾部将数组内的元素值加1。数组的初始值为ABCD,因此经change()后,得到的值为BCDE。26.设有以下程序段: float a8 10,20; int b1 0; char c ”A”,”B”; char d“1”; 以下叙述正确的是( )。A.只有变量c的定义是合法的B.只有变量a,b、c的定义是完全合法的C.所有变量的定义都是完全合法的D.只有变量a,b的定义是完全合法的解析flo

17、at a810,20;定义了一个包含8个float型元素的数组,并初始化了数组的前2项,其他项是随机数。int b10,定义了只有一个int型元素的数组,并初始化为0。char cA,B;定义一个char型数组,大小有初始化元素决定,但初始化值是字符串,类型不兼容,编译出错。char d1,;定义一个char型变量,但是初始化赋值字符串,类型不兼容,编译出错。因此只有数组a,b的定义和初始化正确。故答案为D选项。27.有以下程序:2回车,则输出结果是( )。A.1 2 3 4B.5 4 3 1C.1 2 3 5D.3 2 1 4解析第一个for循环初始化数组a,分别为1,3,5,随机数,形成了

18、基本有序的序列,再将输入的数字插入到数组a,使它们形成有序序列。因此可以分析出,打印的结果为1,2,3,5。28.有以下程序: 程序运行后的输出结果是( )。A.9B.-1C.10解析while(pa+n*p!x)p+;当pa;n10,x10;时while循环条件成立,直到pa+9,结束循环,执行下一条语句,if条件成立,返回p-a,此时执行p-aa+9-a9;因此,输出9。29.有以下程序:A.ejotyB.afkpuC.agmsyD.eimqu解析数组a是二维数组,数组w存放二维数组a行列值相同的位置上的元素,由a510可得w0w4的元素分别是agmsy,因此打印结果为agmsy。30.语

19、句printf(dn,strlen(tn06508AB);的输出结果是( )。A.6B.7C.8D.9解析字符串中共有13个字符,而strlen()函数从字符串第一个字符开始扫描,直到碰到第一个结束符0为止,然后返回计数器值(长度不包含0)。故输出结果为6。31.有以下程序:A.012345B.876543210C.876543D.012345678解析fun(*ss,m1,m2)的作用是,如果m1m2交换数组元素ssm1,ssm2。因此,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(ss,0

20、,9)后ss的0,1,2,3,4,5,0,8,7,6。因此打印结果012345。32.有以下程序;A.1,2,1,2,2,4B.1,2,6,6,7,8C.1,2,2,4,2,4D.1,2,6,6,2,4解析全局变量与函数体内局部变量同名时,局部变量会覆盖全局变量,因此在sub1()函数内,全局变量m,n是不可见的,在函数sub1()内对m,n操作的是局部变量,对全局变量不产生影响。但在sub2()函数内,由于没有和全局变量重名,因此在此函数内,m,n是可见的。因此,第一个printf()打印的是全局变量m,n,故打印的是1,2;第二个printf(),调用sub1()。没有修改全局变量m,n,

21、故打印的是1,2;第三个printf(),之前调用了sub2(),修改了全局变量m,n,因此,打印的是2,4。33.有以下程序:A.-263B.2C.0D.-26解析isspace(c)检查参数c是否为空格字符。若参数c为空格字符,则返回TRUE,否则返回NULL(0)。Isdigit(c)函数检查参数c是否为阿拉伯数字0到9。返回值若为阿拉伯数字,则返回TRUE,否则返回NULL(0)。fun()函数的第一个for循环判断字符串是否为负号。第二个for循环获取符号后面的数字字符,并将它们转化为整数。若遇到了非数字的字符则跳出,最后返回数组的结果。因此,可知首先获取负号,紧接着获取数值26,遇

22、到了字符a,跳出返回-26,因此打印的结果是-26。34.设有定义: struct complex int real,unreal;datal1,8,data2; 则以下赋值语句中错误的是( )。A.data2(2,6);B.data2data1;C.data2realdata1real;D.data2realdata1.unreal;解析结构体变量建议在定义的时候进行初始化。结构体常见的几种初始化方法如下:计算机内核喜欢用第一种,使用第一种和第二种时,成员初始化顺序可变。因此,可以判断A选项错误。35.有以下程序:A.11,11B.29,29C.26,29D.121,121解析#define

23、命令是C语言中的一个宏定义命令,标识符一般使用大写,为了区分其他标识符,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。宏定义不进行其他操作,仅仅只是替换标识符。S(k+j+2)k+j+2*k+j+2k+j+2,经计算可得29,S(j+k+2)j+k+2*k+j+2j+k+2,经计算可得29。因此输出为29,29。答案为B选项。36.若有定义: typedef int *T10; T a; 则以下选项与上述定义中a的类型完全相同的是( )。A.int *a10;B.int(*a)10;C.int a10;D.int(*a10)();解析C语言允许由用户自己定义类型说明符,也就是说允许由用户为数据类型取”别名”。类型定义符typedef即可用来完成此功能,可以完全代替原来的类型说明符。因此,变量a的类型为int *a10。typedef int*T10,由于运算符优先级高于*,可以看成typedef int10 *T,替换T可得int10 *aint *a10,因此,答案为A选项。37.有以下程序:A.6,5,4,3,2,1,B.1,2,3,4,5,6,C.1,1,1,1,1,1D.6,6,6,6,6,6

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

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