2015上海计算机等级考试二级C(B卷)
- 格式:doc
- 大小:765.18 KB
- 文档页数:16
2015年计算机二级office题库及答案下文是关于2015年计算机二级office题库及答案相关内容,希望对你有一定的帮助:第一篇《:2015年计算机二级MS Office高级应用考试试题及答案》2015年全国计算机等级考试二级《MS Office高级应用》考试试题及答案--后附答案一、选择题(每小题1分,共20分)1(一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、c、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
A(12345ABCDEB(EDCBA54321C(ABCDEl2345D(54321EDCBA2(下列叙述中正确的是( )。
A(循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B(在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C(在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D(循环队列中元素的个数是由队头指针和队尾指针共同决定的3(在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。
A(0(n)B(0(/22)C(0(1092n)D(0(nl092n)4(下列叙述中正确的是( )。
A(顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B(顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C(顺序存储结构能存储有序表,链式存储结构不能存储有序表D(链式存储结构比顺序存储结构节省存储空间5(数据流图中带有箭头的线段表示的是( )。
A(控制流B(事件驱动C(模块调用D(数据流6(在软件开发中,需求分析阶段可以使用的工具是( )。
A(N—S图B(DFD图C(PAD图D(程序流程图7(在面向对象方法中,不属于“对象”基本特点的是( )。
A(一致性B(分类性C(多态性D(标识唯一性第二篇:《2015计算机二级office模拟试题及答案》无纸化真考题库试卷(5)一、选择题1(B【解析】线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。
二级C语言真题2015年03月-(2)一、选择题1、下列叙述中正确的是______。
A.每一个结点有两个指针域的链表一定是非线性结构B.所有结点的指针域都为非空的链表一定是非线性结构C.循环链表是循环队列的链式存储结构D.线性结构的存储结点也可以有多个指针2、使用白盒测试方法时,设计测试用例应根据______。
A.程序的内部逻辑 B.程序的复杂结构 C.程序的功能 D.使用说明书3、在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治疗。
则实体医生和患者之间的联系是______。
A.多对多 B.多对一 C.一对多 D.一对一4、设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是______。
A.二分法查找 B.顺序查找 C.分块查找 D.哈希查找5、设数据集合为D={1,3,5,7,9},D上的关系为R,下列数据结构B=(D,R)中为非线性结构的是______。
A.R={(5,1),(7,9),(1,7),(9,3)} B.R={(9,7),(1,3),(7,1),(3,5)}C.R={(1,9),(9,7),(7,5),(5,3)} D.R={(1,3),(3,5),(5,9)}6、深度为7的二叉树共有127个结点,则下列说法中错误的是______。
A.该二叉树有一个度为1的结点 B.该二叉树是满二叉树C.该二叉树是完全二叉树 D.该二叉树有64个叶子结点7、某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为______。
A.DCBA B.BDCA C.ABCD D.BADC8、下面能作为软件需求分析工具的是______。
A.PAD图 B.程序流程图C.甘特图 D.数据流程图(DFD图)9、下面不属于对象主要特征的是______。
A.唯一性 B.多态性 C.可复用性 D.封装性10、关系R经过运算σ(A=B∧G>4∧D>3)(R)的结果为______。
2015年9月全国计算机等级考试二级《C++》真题(总分100, 考试时间120分钟)一、选择题(每小题1分,共40分)1. 有如下程序:#include<iostroam>using namespace std;class Base{protected:Base(){cout<<’A’;}Base(char C){cout<<c;}};class Derived:public Base{public:Derived(char C){tout<<C;}};int main(){Derived dl(’B’);retum 0;}执行这个程序的输出结果是()。
A BB BAC ABD BB该问题分值: 1答案:C本题考查派生类的构造函数和析构函数.在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数;对象释放时,先执行派生类的析构函数,再执行基类的析构函数。
本题中定义了一个派生类对象d1,首先执行基类的构造函数,输出A;然后执行派生类的构造函数,输出B。
所以答案为C。
2. 下列符号中能够作为C++标识符的是()。
A CoflstB 2aC _shapeD .Count该问题分值: 1答案:C本题考查c++标识符的命名规则,其规则有如下几点:①所有标识符必须由字母、数字或下画线组成,且必须由字母或下画线开头;②所有标识符不能使用c++已有的关键字;③大、小写字母表示不同意义,即代表不同的标识符。
选项A是关键字,选项B不能以数字开头,选项D包含了字符”一”,且不能以此字符开头。
故答案为C。
3. 有如下程序:#include<iostream>using namespace std;class Base{private:void funl()const{tout<<”funl”;}protected:void fun2()const{tout<<”fun2”;}public:void fun3()const{cout<<”fhll3”;}};class Derived:protected Base{public:void fhn4()const{cout<<”filn4”;}};int main(){Derived obj;obj.funl();//①obj.fun2();//②obj.furd();//③obj.fun4();//④return U:}其中有语法错误的语句是()。
2015二级C( B卷)一、单项选择题(答案在最后)二、填空题(答案在最后)程序功能:输入一个正整数,将其各位上为偶数的数字去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并将其输出到文件out1.txt中。
例如,输入:9,输出到文件:135779。
代码:#include <stdio.h>int main(void){long n;int k,i=1;int _____(1)_____;FILE *fp;fp=fopen("out1.txt","w");scanf("%ld",&n);while ( _____(2)_____ ){k = _____(3)_____;n = n/10;if (k%2 == 1){z = z+k*i;i = 10*i;}}fprintf(fp,"%d\n",z);_____(4)_____; /* 关闭文件 */return 0;}程序功能:从键盘输入一个字符串和一个字符,统计字符串中该字符出现的次数,并输出结果。
例如,输入字符串:aBEddfghDdd,输入字符:d,输出结果:4。
代码:#include <stdio.h>int num(char str[]){char ch;int i=0,count=0;printf("输入字符:");scanf("%c",&ch);while( _____(1)_____ ){if( _____(2)_____ )count++;i++;}return count;}int main(void){char str[80];int n;printf("输入字符串:");gets( _____(3)_____ );n = _____(4)_____;printf("输出结果: %d\n",n);return 0;}三、操作题(一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每错误点3分,共30分)1. 程序调试题1调试要求:下列程序(C:\KS\B_2_1.c)包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。
上海市⾼等学校计算机等级考试试卷⼆级C语⾔程序设计(B卷)上海市⾼等学校计算机等级考试试卷⼆级 C语⾔程序设计( B 卷)⼀、单选题1. 下列C语⾔的标识符中,不合法的标识符为____________A. starB. 1234C. _a100D. circuit92. 若已定义: int x=10;则表达式 x=(4*5,x*5,x+25) 的值是 ______ 。
A. 20B. 45C. 125D. 353. 若x是int类型变量,y是float类型变量,则为了将数据55和55.5分别赋给x和y,则执⾏语句: scanf(“%d, %f”,&x,&y,); 时,正确的键盘输⼊是 ______ 。
A. 55,55.5↙B. x=55, y=55.5↙C. 55↙55.5↙D. x=55↙y=55.5↙4. 若有说明语句:int x=25,y=20,z=30;则执⾏语句:if(x>y) {y=z; z=x;} x=y; printf(“%d,%d,%d”,x,y,z); 后,输出是____________A. 25,20,30B. 30,30,25C. 25,30,30D. 25,30,255. 程序段:int num=2;while(num)printf(“%d ,”,num--);的运⾏结果是_______________A. 2,1,B. 2,1C. 2,1,06. 若有说明:int a[3][4],s;则对数组a的元素引⽤正确的是____________A. s=0; for(i=0;i<=3;i++) for(j=0;j<4;j++) s+=a[i][j];B. s=0; for(j=0;j<=4;j++) for(i=0;i<3;i++) s+=a[i][j];C. s=0; for(i=0;i<4;i++) for(j=0;j<=3;j++) s+=a[j][i];D. s=0; for(i=0;i<3;i++) for(j=0;j<4;j++) s+=a[i][j];7. 如果形参获取实参的地址,则____________作为函数调⽤时的实参。
计算机二级C++考试9 2015年(总分:100.00,做题时间:90分钟)一、选择题(每小题1分,共40小题,共40分)(总题数:40,分数:40.00)1.设计程序时,应采纳的原则之一是()。
(分数:1.00)A.程序的结构应有助于读者的理解√B.限制goto语句的使用C.减少或取消注释行D.程序越短越好解析:【解析】程序设计的风格主要强调程序的简单、清晰和可理解性,以便读者理解。
程序滥用goto语句将使程序流程无规律,可读性差;添加注释行有利于对程序的理解.不应减少或取消,程序的长短要依据实际的需要而定,并不是越短越好。
2.需求分析阶段的任务是确定()。
(分数:1.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能√解析:【解析】需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。
3.结构化分析方法是面向()的自顶向下、逐步求精进行需求分析的方法。
(分数:1.00)A.对象B.数据结构C.数据流√D.目标解析:【解析】结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
4.下列叙述中,不属于软件需求规格说明书的作用的是()。
(分数:1.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析√解析:【解析】使用软件需求规格说明书的目的是便于用户、开发人员进行理解和交流,它能够反映出用户问题的结构,可以作为软件开发工作的基础和依据,而且可以作为确认测试和验收的依据。
它是需求分析的结果,而不是为了便于开发人员进行需求分析。
因此答案是选项D。
5.对下列二叉树)。
(分数:1.00)A.ACBDFEG √B.ACBDFGEC.ABDCGEFD.FCADBEG解析:【解析】二叉树的遍历有三种:前序、中序和后序。
全国计算机等级考试二级C语言真题题库2 2015年9月(总分43,考试时间120分钟)一、选择题(每小题1分,共40分)1. 下列叙述中错误的是()。
A. 数据结构中的数据元素不能是另一数据结构B. 数据结构中的数据元素可以是另一数据结构C. 空数据结构可以是线性结构也可以是非线性结构D. 非空数据结构可以没有根节点2. 为了降低算法的空间复杂度,要求算法尽量采用原地工作(in place)。
所谓原地工作是指()。
A. 执行算法时所使用的额外空间固定(即不随算法所处理的数据空间大小的变化而变化)B. 执行算法时所使用的额外空间随算法所处理的数据空间大小的变化而变化C. 执行算法时不使用额外空间D. 执行算法时不使用任何存储空间3. 某循环队列的存储空间为Q(1:m),初始状态为front=rear=m。
现经过一系列的入队操作和退队操作后,front=m,rear=m-1,则该循环队列中的元素个数为()。
A. m-1B. mC. 1D. 04. 某棵树只有度为3的节点和叶子节点,其中度为3的节点有8个,则该树中的叶子节点数为()。
A. 15B. 16C. 17D. 不存在这样的树5. 某二叉树共有530个节点,其中度为2的节点有250个,则度为1的节点数为()。
A. 29B. 30C. 249D. 2516. 若某二叉树中的所有节点值均大于其左子树上的所有节点值,且小于右子树上的所有节点值,则该二叉树遍历序列中有序的是()。
A. 前序序列B. 中序序列C. 后序序列D. 以上说法均可以7. 将C语言的整数设为整数类I,则下面属于类I实例的是()。
A. -103B. 10E3C. 10.3D. “0103”8. 下列叙述中正确的是()。
A. 软件包括程序、数据和文档B. 软件包括程序和数据C. 软件包括算法和数据结构D. 软件包括算法和程序9. 软件生命周期是指()。
A. 软件的定义和开发阶段B. 软件的需求分析、设计与实现阶段C. 软件的开发阶段D. 软件产品从提出、实现、使用维护到停止使用退役的过程10. 下列叙述中正确的是()。
2015计算机二级考试试题及答案1、设有表示公司和员工及雇佣的三张表,员工可在多家公司兼职,其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),员工S(员工号,姓名,性别,年龄,学历),雇佣E(公司号,员工号,工资,工作起始时间)。
其中表C的键为公司号,表S的键为员工号,则表E的键(码)为______。
A、公司号,员工号B、员工号,工资C、员工号D、公司号,员工号,工资【评析】本题考查知识点是关键字。
能唯一标识实体的属性集称为码(关键字)。
码也称为关键字,是表中若干属性的属性组,其值唯一标识表中的一个元组。
本题答案:A。
3、下列叙述中正确的是______。
A、每一个结点有两个指针域的链表一定是非线性结构B、所有结点的指针域都为非空的链表一定是非线性结构C、循环链表是循环队列的链式存储结构D、线性结构的存储结点也可以有多个指针【评析】本题考查知识点是线性表的线性结构与非线性结构。
线性表的链式存储结构称为线性链表。
在某些应用中,对线性链表中的每个结点设置两个指针,一个称为左指针,用以指向其前件结点;另一个称为右指针,用以指向其后件结点。
本题答案:D。
4、在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数______。
A、相同,元素的存储顺序与逻辑顺序一致B、相同,但其元素的存储顺序可以与逻辑顺序不一致C、不同,但元素的存储顺序与逻辑顺序一致D、不同,且其元素的存储顺序可以与逻辑顺序不一致【评析】本题考查知识点是线性表的顺序存储结构。
线性表的顺序存储结构具有两个基本特点:1.线性表中所有元素所占的存储空间是连续的;2.线性表中各元素在存储空间中是按逻辑顺序依次存放的。
本题答案:A。
5、设循环队列为Q(1: m),其初始状态为front=rear=m。
经过一系列入队与退队运算后,front=30,rear=10。
现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为______。
2015二级C( B卷) 一、单项选择题(答案在最后)二、填空题(答案在最后)程序功能:输入一个正整数,将其各位上为偶数的数字去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并将其输出到文件out1.txt中。
例如,输入:134456779,输出到文件:135779。
代码:#include <stdio.h>int main(void){long n;int k,i=1;int _____(1)_____;FILE *fp;fp=fopen("out1.txt","w");scanf("%ld",&n);while ( _____(2)_____ ){k = _____(3)_____;n = n/10;if (k%2 == 1){z = z+k*i;i = 10*i;}}fprintf(fp,"%d\n",z);_____(4)_____; /* 关闭文件 */return 0;}程序功能:从键盘输入一个字符串和一个字符,统计字符串中该字符出现的次数,并输出结果。
例如,输入字符串:aBEddfghDdd,输入字符:d,输出结果:4。
代码:#include <stdio.h>int num(char str[]){char ch;int i=0,count=0;printf("输入字符:");scanf("%c",&ch);while( _____(1)_____ ){if( _____(2)_____ )count++;i++;}return count;}int main(void){char str[80];int n;printf("输入字符串:");gets( _____(3)_____ );n = _____(4)_____;printf("输出结果: %d\n",n);return 0;}三、操作题(一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每错误点3分,共30分)1. 程序调试题1调试要求:下列程序(C:\KS\B_2_1.c)包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。
将程序结果(包括B_2_1.c文件和B_2_1.EXE文件)保存到目录C:\KS\中。
功能说明:输入某人某一个月的月收入(在2500元到8000元之间),计算并输出该月份他应缴的个人所得税。
个人所得税采用分段计算方法计算,具体为:月收入不超过3500元(含3500元,以下同)免税;月收入超过3500元但不超过5000元的,超过部分的税率为3%;月收入超过5000元但不超过8000元的,超过5000元部分的税率为10%。
运行示例:输入:请输入月收入: 7000输出:个人所得税为: 245.00说明:月收入7000元中3500元免税,1500元的税利为3%,2000元的税利为10%。
含错误源程序:#include <stdio.h>int main(void){float salary,tax;printf("请输入月收入: ");scanf("%d", &salary);if (salary<=3500) tax=0else if (salary<=5000) tax=(salary-3500)*0.03;else tax=1500*0.03+(salary-3500)*0.1;printf("个人所得税为: %.2f\n", tax);return 0;}参考答案:#include <stdio.h>int main(void){float salary,tax;printf("请输入月收入: ");scanf("%f", &salary); /*******/if (salary<=3500) tax=0; /*******/else if (salary<=5000) tax=(salary-3500)*0.03;else tax=1500*0.03+(salary-5000)*0.1; /*******/printf("个人所得税为: %.2f\n", tax);return 0;}2. 程序调试题2调试要求:下列程序(C:\KS\B_2_2.c)包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。
将程序结果(包括B_2_2.c文件和B_2_2.EXE文件)保存到目录C:\KS\中。
功能说明:自定义一个表示分数的结构体类型,在主函数中输入两个分数,通过调用函数计算两个分数的和,最后在主函数中输出计算的结果(不化简)。
运行示例:含错误源程序:#include<stdio.h>struct Frac{ int Mol;int Den;};struct add(struct Frac a,struct Frac b){ struct Frac c;c.Mol=a.Mol*b.Den+a.Den*b.Mol;c.Den=a.Den+b.Den;return c;}int main(void){ struct Frac n,m,t ;printf("请输入第一个分数:");scanf("%d/%d",&n.Mol,&n.Den);printf("请输入第二个分数:");scanf("%d/%d",&m.Mol,&m.Den);t= struct add(n,m);printf("%d/%d+%d/%d=%d/%d\n",n.Mol,n.Den,m.Mol,m.Den,t.Mol,t.Den); return 0;}参考答案:#include<stdio.h>struct Frac{ int Mol;int Den;};struct Frac add(struct Frac a,struct Frac b) /*******/{ struct Frac c;c.Mol=a.Mol*b.Den+a.Den*b.Mol;c.Den=a.Den*b.Den; /*******/return c;}int main(void){ struct Frac n,m,t ;printf("请输入第一个分数:");scanf("%d/%d",&n.Mol,&n.Den);printf("请输入第二个分数:");scanf("%d/%d",&m.Mol,&m.Den);t= add(n,m); /*******/printf("%d/%d+%d/%d=%d/%d\n",n.Mol,n.Den,m.Mol,m.Den,t.Mol,t.Den); return 0;}3. 程序调试题3调试要求:下列程序(C:\KS\B_2_3.c)包含4个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。
将程序结果(包括B_2_3.c文件和B_2_3.EXE文件)保存到目录C:\KS\中。
功能说明:输入两个由整型数构成的集合(元素个数均为5)分别放到数组A和B中,求这两个集合的交集(交集的元素由两个集合中的相同元素构成),最后输出交集中的元素。
运行示例:含错误源程序:#include <stdio.h>void inter(int s1[],int s2[],int s3[]);int main(void ){int a[5],b[5],c[5];int i,n;printf ("请输入第一个集合内容,5个整型数\n");for(i=0;i<5;i++)scanf("%d",&a[i]);printf ("请输入第二个集合内容,5个整型数\n");for(i=0;i<5;i++)scanf("%d",&b[i]);n=inter(a,b,c);printf ("A,B交集元素为:\n");for(i=0;i<5;i++)printf("%4d", c[i]);printf("\n");return 0;}int inter(int s1[],int s2[],int s3[]){ int j,i=k=0;for(i=0;i<5;i++){for(j=0;j<5;j++)if (s1[i]==s2[j]) break;if(j<5) s3[k]=s1[i] ;}return k;}参考答案:#include <stdio.h>int inter(int s1[],int s2[],int s3[]); /*******/int main(void ){int a[5],b[5],c[5];int i,n;printf ("请输入第一个集合内容,5个整型数\n");for(i=0;i<5;i++)scanf("%d",&a[i]);printf ("请输入第二个集合内容,5个整型数\n");for(i=0;i<5;i++)scanf("%d",&b[i]);n=inter(a,b,c);printf ("A,B交集元素为:\n");for(i=0;i<n;i++) /*******/printf("%4d", c[i]);printf("\n");return 0;}int inter(int s1[],int s2[],int s3[]){ int j,i,k=0; /*******/for(i=0;i<5;i++){for(j=0;j<5;j++)if (s1[i]==s2[j]) break;if(j<5) s3[k++]=s1[i] ; /*******/}return k;}(二)编程题(2小题,共35分,其中第1小题15分,第2小题20分)1.编程题1编程要求:请按题中的功能要求,编写程序并能得到正确的结果。