您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 全国计算机等级考试二级C语言真题库之选择题(05)
★全国计算机等级考试等级考试真题库1全国计算机等级考试等级考试真题库之选择题(05)1.下列叙述中正确的是()。A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性参考答案:B【解析】线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。2.下列叙述中正确的是()。A)栈是一种先进先出的线性表B)队列是一种后进先出的线性表C)栈与队列都是非线性结构D)以上三种说法都不对参考答案:D【解析】栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构。3.软件测试的目的是()。A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误参考答案:D【解析】软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。4.在软件开发中,需求分析阶段产生的主要文档是()。A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书参考答案:D【解析】需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。所以选择D)。5.软件生命周期是指()。A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程参考答案:A★全国计算机等级考试等级考试真题库2【解析】通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期6.面向对象方法中,继承是指()。A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制参考答案:D【解析】继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。7.层次型、网状型和关系型数据库划分原则是()。A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式参考答案:D【解析】层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。8.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是()。A)一对一B)一对多C)多对多D)多对一参考答案:C【解析】因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。9.数据库设计中反映用户对数据要求的模式是()。A)内模式B)概念模式C)外模式D)设计模式参考答案:C【解析】数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择C)。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。★全国计算机等级考试等级考试真题库310.有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。A)自然连接B)差C)交D)并参考答案:B【解析】关系T中的元组是R关系中有而S关系中没有的元组的集合,所以进行的是差的运算。11.计算机能直接执行的程序是A)源程序B)目标程序C)汇编程序D)可执行程序参考答案:D【解析】计算机能直接执行的程序是二进制的可执行程序,扩展名为.exe。所以选择D选项。12.以下叙述中正确的是A)C语言规定必须用main作为主函数名,程序将从此开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言程序将从源程序中第一个函数开始执行D)main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等参考答案:A【解析】C语言中的主函数唯一为main()函数不能任意指定,所以B选项错误。C语言从主函数main()开始,到主函数main()结束,所以C选项错误。主函数必须写成小写的main,不能混淆大小写,所以D选项错误。13.以下选项中可用作C程序合法实数的是A)3.0e0.2B).1e0C)E9D)9.12E参考答案:B【解析】A选项中E后面的指数必须为整数。C语言规定,E之前必须要有数字,所以C选项错误。E后面必须要有数字,且必须为整数,所以D选项错误。★全国计算机等级考试等级考试真题库414.下列定义变量的语句中错误的是A)int_int;B)doubleint_;C)charFor;D)floatUS$;参考答案:D【解析】C语言规定,变量命名必须符合标识符的命名规则。D选项中包含了非法字符$,所以错误。标识符由字母、数字或下划线组成,且第一个字符必须是大小写英文字母或者下划线,而不能是数字。大写字符与小写字符被认为是两个不同的字符,所以For不是关键字for。15.表达式:(int)((double)9/2)-9%2的值是A)0B)3C)4D)5参考答案:B【解析】先将整型数据9强制转换成double型,然后除以2得到的结果与double型保持一致,即为4.5,然后将4.5强制转换成整型数据4,然后计算9%2的值为1,最后计算4-1的值为3,所以选择B选项。16.设变量均已正确定义,若要通过scanf(%d%c%d%c,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)A)10□X回车20□Y回车B)10□X20□Y回车C)10X回车20Y回车D)10□X□20□Y回车参考答案:C【解析】输入数据的格式必须与scanf()的格式控制串完全匹配,如果A、B、C选项中在数字10后面均输入了空格,则会将空格赋给变量c1,而不是把X赋给c1,所以选择C选项。17.以下选项中不能作为C语言合法常量的是A)0.1e+6B)'cd'C)\aD)'\011'参考答案:B【解析】要想表示字符串常量应该用双引号表示,即cd,单引号用于表示字符常量,所以B选项中的表示方法错误。★全国计算机等级考试等级考试真题库518.if语句的基本形式是:if(表达式)语句,以下关于表达式值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值参考答案:D【解析】if语句中的表达式可以是任意合法的数值,如常量,变量表达式。所以D选项正确。19.有如下嵌套的if语句if(ab)if(ac)k=a;elsek=c;elseif(bc)k=b;elsek=c;以下选项中与上述if语句等价的语句是A)k=(ab)?((bc)?a:b):((bc)?b:c);B)k=(ab)?((ac)?a:c):((bc)?b:c);C)k=(ab)?a:b;k=(bc)?b:c;D)k=(ab)?a:b;k=(ac)?a:c;参考答案:B【解析】题目中嵌套语句的含义是当ab且ac成立,则将a的值赋给k,如果ab成立而ac不成立将c的值赋给k。如果ab不成立而bc成立,将b的值赋给k,如果如果ab不成立且bc也不成立,将c的值赋给k。判断条件表达式只有B选项可以表示这个含义。20.有以下程序#includestdio.hmain(){intk=5;while(--k)printf(%d,k-=3);printf(\n);}执行后的输出结果是A)1B)2C)4D)死循环参考答案:A【解析】--k先自减在使用,所以第一次判断条件即为while(4),条件为真执行打印k的值k=4-3,结果为1,第二次判断条件即为while(0),条件为假,结束循环,打印回车换行符。所以选择A选项。★全国计算机等级考试等级考试真题库621.有以下程序#includestdio.hmain(){inti,j;for(i=3;i=1;i--){for(j=1;j=2;j++)printf(%d,i+j);printf(\n);}}程序的运行结果是A)432543B)453423C)233445D)233423参考答案:B【解析】第一次执行外循环,i的值为3,第一次执行内循环j的值为1,j=2条件成立,打印i+j的值,即4;第二次执行内循环j的值为2,j=2条件成立,打印i+j的值,即5;再判断条件不成立,打印回车换行符,跳出内循环。第二次执行外循环,i的值为2,内循环的执行同第一次一样,所以打印3和4,打印回车换行,结束内循环。第三次执行外循环i的值为1,同理内循环中打印2和3,打印回车换行符,结束内循环。22.有以下程序#includestdio.hmain(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:case4:n+=2;k--;break;}★全国计算机等级考试等级考试真题库7printf(%d,n);}while(k0&&n5);}程序运行后的输出结果是A)02356B)0235C)235D)2356参考答案:C【解析】k的值为5,逐个对case语句进行匹配,均不匹配,执行default下的语句n=0;k--;在执行case2:后面的空语句,与case4:后面的n+=2;k--;执行break语句跳出switch判断,打印n的值,即2。经过第一次循环后,k的值为3,然后进行k0&&n5条件判断为真,第二次执行循环体,执行case3:后面的n+=1;k--;再执行break语句跳出循环,此时打印n的值3,此时k的值为2。第三次执行循环体k的值为2,满足条件,执行case2:case4:后面的语句n+=2,k--,跳出循环体。打印n的值5。此时n不小于5了条件k0&&n5不成立了,所以结束循环。整个程序的打印结果为235。23.以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处参考答案:B【解析】在函数中允许有多个return语句,但每次调用只能有一个return语句被执行,因此只能返回一个函数值,A选项描述错误。定义成void类型的函数,不允许从该函数取得返回值,也不允许使用return语句,C选项描述错误。没有return语句的函数在执行到函数的最后一条语句后会自动返回到调用处,D选项描述错误。因此B选项正确。24.已定义以下函数intfun(int*p){return*p;}fun函数返回值是A)一个整数B)不确定的值C)形参p中存放的值D)形参p的地址值参考答案:A【解析】返回值为指针变量指向的数据,该数据已被定义为整型。因此A选项正确。25.以下程序段完全正确的是A)int*p;scanf(%d,&p);B)int*p;scanf(%d,p);C)intk,*p=&k;scanf(%d,p);D)intk,*p;*p=&k;scanf(%d,p);★全国计算机等级考试等级考试真题库8参考答案:C【解析】A选项中错在没有对指针进行初始化,无效指针,并且在scanf(%d,&p)中无需再进行取地址操作;B选项中没有对指针进行初始化,无效指针;D选项中语句*p=&k;的左端*p是指针所指内存空间的值,&k是地址,应为p=&k。因此
本文标题:全国计算机等级考试二级C语言真题库之选择题(05)
链接地址:https://www.777doc.com/doc-3573284 .html