2010年9月全国计算机二级C++机试试题及答案
2010年9月全国计算机等级考试二级C语言真题及答案

2010 年9 月全国计算机等级考试二级笔试试卷C 语言程序设计(附答案)(考试时间90 分钟,满分100 分)一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制C)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小B)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S 和T 如下:则由关系R 和S 得到关系T 的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto 语句会很便捷C)在C 语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C 程序在运行过程中所有计算都以二进制方式进行B)C 程序在运行过程中所有计算都以十进制方式进行C)所有C 程序都需要编译链接无误后才能进行D)C 程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x—y)B)a=x!=y; C)(a*y)%b D)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200 B)实数:1。
2010年9月计算机二级C语言笔试试题及答案公布范文

2010年9月计算机二级C语言笔试试题及答案公布(含解析)一、选择题(1)答案:(C)解析:算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。
所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。
(2)答案:(B)解析:链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。
故链式存储结构下的线性表便于插入和删除操作。
(3)答案:(B)解析:栈操作原则上“后进先出”,栈底至栈顶依次存放元素A、B、C、D,则表明这4个元素中D是最后进栈,B、C处于中间,A最早进栈。
所以出栈时一定是先出D,再出C,最后出A。
(4)答案:(A)解析:从平均时间性能而言,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。
当序列中的记录基本有序或元素个数较少时,冒泡排序和简单选择排序为最佳排序方法,故本题答案应该为选项A)。
(5)答案:(D)解析:滥用GOTO 语句将使程序流程无规律,可读性差,因此A)不选;注解行有利于对程序的理解,不应减少或取消,B)也不选;程序的长短要依照实际情况而论,而不是越短越好,C)也不选。
(6)答案:(D)解析:软件工程包括3个要素,即方法、工具和过程。
方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。
(7)答案:(A)解析:软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
(8)答案:(C)解析:关系模型较之格式化模型(网状模型和层次模型)有以下方面的优点,即数据结构比较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。
(9)答案:(C)解析:数据库(DataBase,简称DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。
全国计算机等级考试二级C语言机试真题2010年9月

全国计算机等级考试二级C语言机试真题2010年9月(总分:100.00,做题时间:90分钟)一、程序填空题(总题数:1,分数:30.00)1.请补充fun函数,该函数的功能是:判断一个年份是否为闰年。
例如,1900年不是闰年,2004是闰年。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
[试题源程序]#include<stdio.h>#include<conio.h>int fun(int n)int fiag=0;if(n%4==0)if( (1) )fiag=1;if( (2) )flag=1;return (3) ;void main()int year;clrscr();printf("Input the year:");scanf("%d", &year);if(fun(year))printf("%d is a leap year./n", year);elseprintf("%d is not a leap year./n", year);(分数:30.00)填空项1:__________________ (正确答案:[1] n%100 !=0[2] n%400==0[3] flag)解析:[解析] 题的关键是要知道闰年的定义,如果年份能被4整除但不能被100整除,或者能被400整除,这两种情况满足之一都是闰年。
填空1:显然此处属于第一种情况,能被4整除但不能被100整除。
所以这里应该填n%100!=0,只有满足这个条件,flag才能被赋值1。
填空2:此处属于第二种情况,能被400整除,所以应该填n%400==0。
填空3:从程序中可以知道,当满足以上两种情况之一时,flag就被赋值1,显然flag属于标志单元。
再看主函数中对fun()函数的调用,显然需要返回的值不是真就是假,即函数fun()中标志单元flag的内容。
2010年9月全国计算机等级考试二级C语言考试大纲、真题与答案

2021年9月全国计算机二级C语言笔试试题一、选择题〔每题2分,共70分〕以下各题A〕、B〕、C〕、D〕四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
〔1〕以下表达中正确的选项是A〕线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B〕线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C〕线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D〕上述三种说法都不对〔2〕以下表达中正确的选项是A〕在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B〕在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C〕在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D〕上述三种说法都不对〔3〕软件测试的目的是A〕评估软件可靠性B〕发觉并改正程序中的错误C〕改正程序中的错误D〕发觉程序中的错误〔4〕下面描述中,不属于软件危机表现的是A〕软件过程不标准B〕软件开发生产率低C〕软件质量难以操纵D〕软件本钱不断提高〔5〕软件生命周期是指A〕软件产品从提出、完成、使用维护到停止使用退役的过程B〕软件从需求分析、设计、完成到测试完成的过程C〕软件的开发过程D〕软件的运行维护过程〔6〕面向对象方法中,继承是指A〕一组对象所具有的相似性质B〕一个对象具有另一个对象的性质C〕各对象之间的共同性质D〕类之间共享属性和操作的机制〔7〕层次型、网状型和关系型数据库划分原则是A〕记录长度B〕文件的大小C〕联系的复杂程度D〕数据之间的联系方法〔8〕一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是A〕一对一B〕一对多C〕多对多D〕多对一〔9〕数据库设计中反映用户对数据要求的模式是A〕内模式B〕概念模式C〕外模式D〕设计模〔10〕有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A〕自然连接B〕交C〕投影D〕并〔11〕以下关于结构化程序设计的表达中正确的选项是A〕一个结构化程序必须同时由顺序、分支、循环三种结构组成B〕结构化程序使用goto语句会很便利C〕在C语言中,程序的模块化是利用函数完成的D〕由三种根本结构构成的程序只能解决小规模的问题〔12〕以下关于简单程序设计的步骤和顺序的说法中正确的选项是A〕确定算法后,整理并写出文档,最后进行编码和上机调试B〕首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C〕先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D〕先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构〔13〕以下表达中错误的选项是A〕 C程序在运行过程中全部计算都以二进制方法进行B〕C程序在运行过程中全部计算都以十进制方法进行C〕全部C程序都需要编译链接无误后才能运行D〕C程序中整型变量只能存放整数,实型变量只能存放浮点数〔14〕有以下定义:int a; long b; double x,y;则以下选项中正确的表达式是A〕a%〔int〕〔x-y〕B〕a=x!=y;C〕〔a*y〕%bD〕y=x+y=x〔15〕以下选项中能表示合法常量的是A〕整数:1,200C 〕字符斜杠:‘\’ D〕字符串:"\007"〔16〕表达式a+=a-=a=9的值是A〕9 B〕_9C〕18 D〕0〔17〕假设变量已正确定义,在if 〔W〕printf〔“%d\n,k〞〕;中,以下不可替代W的是A〕a<>b+c B〕ch=getchar〔〕C〕a==b+c D〕a++〔18〕有以下程序#include<stdio.h>main〔〕{int a=1,b=0;if〔!a〕 b++;else if〔a==0〕if〔a〕b+=2;else b+=3;printf〔〞%d\n〞,b〕;}程序运行后的输出结果是A〕0 B〕1C〕2 D〕3〔19〕假设有定义语句int a, b;double x;则以下选项中没有错误的选项是{case 0: a++; break; {case 0: a++; break;case 1: b++; break; case 1: b++; break;default : a++; b++; default : a++; b++;} }C〕switch〔〔int〕x%2〕 D〕switch〔〔int〕〔x〕%2〕{case 0: a++; break; {case 0.0: a++; break;case 1: b++; break; case 1.0: b++; break;default : a++; b++; default : a++; b++;} } 〔20〕有以下程序#include <stdio.h>main〔〕{int a=1,b=2;while〔a<6〕{b+=a;a+=2;b%二10;}printf〔〞%d,%d\n〞,a,b〕;}程序运行后的输出结果是A〕5,11B〕7,1C〕7,11D〕6,1〔21〕有以下程序#include<stdio.h>main〔〕{int y=10;while〔y--〕;printf〔〞Y=%d\n〞,Y〕;}程序执行后的输出结果是A〕y=0B〕y= -1C〕y=1D〕while构成无限循环〔22〕有以下程序#include<stdio .h>main〔〕{char s[」=〞rstuv";printf〔〞%c\n〞,*s+2〕;}程序运行后的输出结果是A〕tuvB〕字符t的ASCII码值C〕tD〕出错〔23〕有以下程序#include<stdio.h>#include<string.h>main〔〕{char x[]=〞STRING〞;x[0」=0;x[1]=’\0’;x[2」=’0’;printf〔〞%d %d\n〞,sizeof〔x〕,strlen〔x〕〕;}程序运行后的输出结果是A〕6 1B〕7 0C〕6 3D〕7 1〔24〕有以下程序#include<stdio.h>Int f〔int x〕;main〔〕{int n=1,m;m=f〔f〔f〔n〕〕〕;printf〔〞%d\n〞,m〕;}int f〔int x〕{return x*2;}程序运行后的输出结果是A〕1B〕2C〕4D〕8〔25〕以下程序段完全正确的选项是A〕int *p; scanf〔"%d",&p〕;B〕int *p; scanf〔“%d〞,p〕;C〕int k, *p=&k; scanf〔"%d",p〕;D〕int k, *p:; *p= &k; scanf〔“%d〞,p〕;〔26〕有定义语句:int *p[4];以下选项中与此语句等价的是A〕int p[4];B〕int **p;C〕int *〔p「4」〕;D〕int 〔*p〕「4」;〔27〕以下定义数组的语句中,正确的选项是A〕int N=10; B〕#define N 10int x[N]; int x[N];C〕int x[0..10]; D〕int x[];〔28〕假设要定义一个具有5个元素的整型数组,以下错误的定义语句是A〕int a[5]=﹛0﹜;B〕int b[]={0,0,0,0,0};C〕int c[2+3];D〕int i=5,d[i];〔29〕有以下程序#include<stdio.h>void f〔int *p〕;main〔〕{int a[5]={1,2,3,4,5},*r=a;f〔r〕;printf〔〞%d\n〞;*r〕;}void f〔int *p〕{p=p+3;printf〔〞%d,〞,*p〕;}程序运行后的输出结果是A〕1,4B〕4,4C〕3,1D〕4,1〔30〕有以下程序〔函数fun只对下标为偶数的元素进行操作〕# include<stdio.h>void fun〔int*a;int n〕{int i、j、k、t;for 〔i=0;i<n一1;1+=2〕{k=i;‘for〔j=i;j<n;j+=2〕if〔a[j]>a〔k]〕k=j;t=a〔i];a〔i]=a[k];a〔k]=t;}}main〔〕{int aa「10」={1、2、3、4、5、6、7},i;fun〔aa、7〕;for〔i=0,i<7; i++〕printf〔〞%d,〞,aa[i]〕〕;printf〔〞\n〞〕;}程序运行后的输出结果是A〕7,2,5,4,3,6,1B〕1,6,3,4,5,2,7C〕7,6,5,4,3,2,1D〕1,7,3,5,6;2,1〔31〕以下选项中,能够满足“假设字符串s1等于字符串s2,则执行ST"要求的是A〕if〔strcmp〔s2,s1〕==0〕ST;B〕if〔sl==s2〕ST;C〕if〔strcpy〔s l ,s2〕==1〕ST;D〕if〔sl-s2==0〕ST;〔32〕以下不能将s所指字符串正确复制到t所指存储空间的是A〕while〔*t=*s〕{t++;s++;}B〕for〔i=0;t[i]=s[i];i++〕;C〕do{*t++=*s++;}while〔*s〕;D〕for〔i=0,j=0;t[i++]=s[j++];〕;〔33〕有以下程序〔 strcat函数用以连接两个字符串〕#include<stdio.h>#include<string .h>main〔〕{char a[20]=〞ABCD\OEFG\0〞,b[]=〞IJK〞;strcat〔a,b〕;printf〔〞%s\n〞,a〕;}程序运行后的输出结果是A〕ABCDE\OFG\OIJKB〕ABCDIJKC〕IJKD〕EFGIJK〔34〕有以下程序,程序中库函数islower 〔ch〕用以推断ch中的字母是否为小写字母#include<stdio.h>#include<ctype.h>void fun〔char*p〕{int i=0;while 〔p[i]〕{if〔p[i]==’ ’&& islower〔p「i-1」〕〕p[i-1]=p[i-1]-‘a’+‘A’;i++;}}main〔〕{char s1[100]=〞ab cd EFG!〞;fun〔s1〕; printf〔〞%s\n〞,s1〕;}程序运行后的输出结果是A〕ab cd EFG!B〕Ab Cd EFg!C〕aB cD EFG!D〕ab cd EFg!〔35〕有以下程序#include<stdio.h>void fun〔int x〕{if〔x/2>1〕fun〔x/2〕;printf〔〞%d〞,x〕;}main〔〕{fun〔7〕;printf〔〞\n〞〕;}程序运行后的输出结果是A〕1 3 7B〕7 3 1C〕7 3D〕3 7〔36〕有以下程序#include<stdio.h>int fun〔〕{static int x=1;x+=1;return x;}main〔〕{int i;s=1;for〔i=1;i<=5;i++〕s+=fun〔〕;printf〔〞%d\n〞,s〕;}程序运行后的输出结果是A〕11B〕21C〕6D〕120〔37〕有以下程序#inctude<stdio.h>#include<stdlib.h>Main〔〕{int *a,*b,*c;a=b=c=〔int*〕malloc〔sizeof〔int〕〕;*a=1;*b=2,*c=3;a=b;printf〔“%d,%d,%d\n〞,*a,*b,*c〕;}程序运行后的输出结果是A〕3,3,3 B〕2,2,3 C〕1,2,3 D〕1,1,3〔38〕有以下程序#include<stdio.h>main〔〕{int s,t,A=10;double B=6;s=sizeof〔A〕;t=sizeof〔B〕;printf〔“%d,%d\n〞,s,t〕;}在VC6平台上编译运行,程序运行后的输出结果是A〕2,4 B〕4,4 C〕4,8 D〕10,6〔39〕假设有以下语句Typedef struct S{int g; char h;}T;以下表达中正确的选项是A〕可用S定义结构体变量B〕可用T定义结构体变量C〕S是struct类型的变量D〕T是struct S类型的变量〔40〕有以下程序#include<stdio.h>main〔〕{short c=124;c=c_______;printf〔“%d\n〞、C〕;}假设要使程序的运行结果为248,应在下划线处填入的是A〕>>2 B〕|248 C〕&0248 D〕<<I二、填空题〔每空2分,共30分〕请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
2010年9月全国计算机等级考试二级笔试试卷

2010年9月计算机二级Access考试笔试试题一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A) 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B) 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C) 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D) 上述三种说法都不对答案:B分析:线性表的链式存储结构除了要存储数据外还要存储指针,所以线性表的链式存储鸨结构所需要的存储空间一般要多于顺序存储结构。
(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对答案:C分析:栈是限定在一端进行插入和删除操作的线性表。
允许插入和删除的一端叫栈顶,另一端叫做栈底,因此栈中元素随着栈顶指针的变化而动态变化而栈底指针不变(3)软件测试的目的是A)评估软件可靠性 B)发现并改正程序中的错误C)改正程序中的错误D) 发现程序中的错误答案:D分析:软件测试的目的是尽可能多的发现程序中的错误,而不是为了单纯的改正程序中的错误。
(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制D)软件成本不断提高答案:A分析:软件危机表现在以下几个方面:1、经费预算经常突破完成时间一再拖延2、开发的软件不能满足用户要求3、开发的软件可维护性差4、开发的软件可靠性差5、软件开发费用不断增加6、软件开发生产效率低下(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程答案:A分析:软件生命周期是指从软件定义、开发、使用、维护到报废为止的整个过程,一般包括问题定义、可行性分析、总体设计,详细设计,编码、测试和维护等。
历年计算机二级c语言考试真题以及答案详解

2010年9月全国计算机二级C语言笔试试题(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A) C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a; long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200B)实数:1.5E2.0C )字符斜杠:‘\’D)字符串:"\007" (16)表达式a+=a-=a=9的值是A)9B)_9C)18D)0(17)若变量已正确定义,在if (W)printf (“%d\n,k”);中,以下不可替代W的是A)a<>b+cB)ch=getchar()C)a==b+cD)a++(18)有以下程序#include<stdio.h>main(){int a=1,b=0;if(!a) b++;else if(a==0)if(a)b+=2;else b+=3;printf(”%d\n”,b);}程序运行后的输出结果是A)0B)1C)2D)3(19)若有定义语句int a, b;double x;则下列选项中没有错误的是A)switch(x%2) B)switch ((int)x/2.0{case 0: a++;break; {case 0: a++; break;case 1: b++;break; case 1: b++; break;default : a++;b++; default : a++; b++;}}C)switch((int)x%2) D)switch((int)(x)%2){case 0: a++;break; {case 0.0: a++; break;case 1: b++;break; case 1.0:b++; break;default : a++;b++; default : a++; b++;}}(20)有以下程序#include <stdio.h>main(){int a=1,b=2;while(a<6){b+=a;a+=2;b%二10;}printf(”%d,%d\n”,a,b);}程序运行后的输出结果是A)5,11B)7,1C)7,11D)6,1(21)有以下程序#include<stdio.h>main(){int y=10;while(y--);printf(”Y=%d\n”,Y);}程序执行后的输出结果是A)y=0B)y= -1C)y=1D)while构成无限循环(22)有以下程序#include<stdio .h>main(){char s[」=”rstuv";printf(”%c\n”,*s+2);}程序运行后的输出结果是A)tuvB)字符t的ASCII码值C)tD)出错(23)有以下程序#include<stdio.h>#include<string.h>main(){char x[]=”STRING”;x[0」=0;x[1]=’\0’;x[2」=’0’;printf(”%d %d\n”,sizeof(x),strlen (x));}程序运行后的输出结果是A)6 1B)7 0C)6 3D)7 1(24)有以下程序#include<stdio.h>Int f(int x);main(){int n=1,m;m=f(f(f(n)));printf(”%d\n”,m);}int f(int x){return x*2;}程序运行后的输出结果是A)1B)2C)4D)8(25)以下程序段完全正确的是A)int *p; scanf("%d",&p);B)int *p; scanf(“%d”,p);C)int k, *p=&k; scanf("%d",p);D)int k, *p:; *p= &k; scanf(“%d”,p);(26)有定义语句:int *p[4];以下选项中与此语句等价的是A)int p[4];B)int **p;C)int *(p「4」);D)int (*p)「4」;(27)下列定义数组的语句中,正确的是A)int N=10;B)#define N 10int x[N]; i nt x[N];C)int x[0..10]; D)int x[];(28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是A)int a[5]=﹛0﹜;B)int b[]={0,0,0,0,0};C)int c[2+3];D)int i=5,d[i];(29)有以下程序#include<stdio.h>void f(int *p);main(){int a[5]={1,2,3,4,5},*r=a;f(r);printf(”%d\n”;*r);}void f(int *p){p=p+3;printf(”%d,”,*p);}程序运行后的输出结果是A)1,4B)4,4C)3,1D)4,1(30)有以下程序(函数fun只对下标为偶数的元素进行操作)# include<stdio.h>void fun(int*a;int n){int i、j、k、t;for (i=0;i<n一1;1+=2){k=i;‘for(j=i;j<n;j+=2)if(a[j]>a〔k])k=j;t=a〔i];a〔i]=a[k];a〔k]=t;}}main(){int aa「10」={1、2、3、4、5、6、7},i;fun(aa、7);for(i=0,i<7; i++)printf(”%d,”,aa [i]));printf(”\n”);}程序运行后的输出结果是A)7,2,5,4,3,6,1B)1,6,3,4,5,2,7C)7,6,5,4,3,2,1D)1,7,3,5,6;2,1(31)下列选项中,能够满足“若字符串s1等于字符串s2,则执行ST"要求的是A)if(strcmp(s2,s1)==0)ST;B)if(sl==s2)ST;C)if(strcpy(s l ,s2)==1)ST;D)if(sl-s2==0)ST;(32)以下不能将s所指字符串正确复制到t 所指存储空间的是A)while(*t=*s){t++;s++;}B)for(i=0;t[i]=s[i];i++);C)do{*t++=*s++;}while(*s);D)for(i=0,j=0;t[i++]=s[j++];);(33)有以下程序( strcat函数用以连接两个字符串)#include<stdio.h>#include<string .h>main(){char a[20]=”ABCD\OEFG\0”,b[]=”IJK”;strcat(a,b);printf(”%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJKB)ABCDIJKC)IJKD)EFGIJK(34)有以下程序,程序中库函数islower (ch)用以判断ch中的字母是否为小写字母#include<stdio.h>#include<ctype.h>void fun(char*p){int i=0;while (p[i]){if(p[i]==’ ’&& islower(p「i-1」))p[i-1]=p[i-1]-‘a’+‘A’;i++;}}main(){char s1[100]=”ab cd EFG!”;fun(s1); printf(”%s\n”,s1);}程序运行后的输出结果是A)ab cd EFG!B)Ab Cd EFg!C)aB cD EFG!D)ab cd EFg!(35)有以下程序#include<stdio.h>void fun(int x){if(x/2>1)fun(x/2);printf(”%d”,x);}main(){fun(7);printf(”\n”);}程序运行后的输出结果是A)1 3 7B)7 3 1C)7 3D)3 7(36)有以下程序#include<stdio.h>int fun(){static int x=1;x+=1;return x;}main(){int i;s=1;for(i=1;i<=5;i++)s+=fun();printf(”%d\n”,s);}程序运行后的输出结果是A)11B)21C)6D)120(37)有以下程序#inctude<stdio.h>#include<stdlib.h>Main(){int *a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}程序运行后的输出结果是A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3(38)有以下程序#include<stdio.h>main(){int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,t);}在VC6平台上编译运行,程序运行后的输出结果是A)2,4 B)4,4 C)4,8 D)10,6(39)若有以下语句Typedef struct S{int g; char h;}T;以下叙述中正确的是A)可用S定义结构体变量B)可用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量(40)有以下程序#include<stdio.h>main(){short c=124;c=c_______;printf(“%d\n”、C);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B)|248 C)&0248 D)<<I二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
201009计算机二级C语言笔试真题文字_超详细答案解析

201009二级c真题一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(1)B线性表的顺序存储结构是把线性表中相邻的元素存放在相邻的内存单元中,而链式存储结构是用一组任意存储单元来存放表中的数据元素,为了表示出每个元素与其直接后继元素之间的关系,除了存储元素本身的信息外,还需存储一个指示其直接后继的存储位置信息。
故线性表的链式存储结构所需的存储空间一般要多于顺序存储结构,答案为B)。
(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(2)C栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。
当有新元素进栈时,栈顶指针向上移动;当有元素出栈时,栈顶指针向下移动。
在栈中栈底指针不变,栈中元素随栈顶指针的变化而动态变化,故答案为C)。
(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(3)D软件测试的目的是为了发现程序中的错误而运行程序。
(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制D)软件成本不断提高4)A软件危机是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。
主要表现在以下几个方面:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件可维护性差;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。
9月全国计算机等级考试二级c语言笔试试题及答案范文资料讲解

2010年9月全国计算机等级考试二级C语言笔试试题班级:姓名:一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制D)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x-y)B)a=x!=y;C)(a*y)%b D)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200B)实数:1.5E2.0 C )字符斜杠:‘\’D)字符串:"\007"(16)表达式a+=a-=a=9的值是A)9B)_9C)18D)0(17)若变量已正确定义,在if (W)printf(“%d\n,k”);中,以下不可替代W的是A)a<>b+c B)ch=getchar()C)a==b+c D)a++(18)有以下程序#include<stdio.h>main(){int a=1,b=0;if(!a)b++;else if(a==0)if(a)b+=2;else b+=3;printf(”%d\n”,b);}程序运行后的输出结果是A)0B)1C)2D)3(19)若有定义语句int a, b;double x;则下列选项中没有错误的是A)switch(x%2)B)switch((int)x/2.0{case 0: a++; break; {case 0: a++; break;case 1: b++; break; case 1: b++; break;default : a++; b++; default : a++; b++;} }C)switch((int)x%2)D)switch((int)(x)%2){case 0: a++; break; {case 0.0: a++; break;case 1: b++; break; case 1.0: b++; break;default : a++; b++; default : a++; b++;} }(20)有以下程序#include <stdio.h>main(){int a=1,b=2;while(a<6){b+=a;a+=2;b%二10;}printf(”%d,%d\n”,a,b);}程序运行后的输出结果是A)5,11B)7,1C)7,11D)6,1(21)有以下程序#include<stdio.h>main(){int y=10;while(y--);printf(”Y=%d\n”,Y);}程序执行后的输出结果是A)y=0B)y= -1C)y=1D)while构成无限循环(22)有以下程序#include<stdio .h>main(){char s[」=”rstuv";printf(”%c\n”,*s+2);}程序运行后的输出结果是A)tuv B)字符t的ASCII码值C)t D)出错(23)有以下程序#include<stdio.h>#include<string.h>main(){char x[]=”STRING”;x[0」=0;x[1]=’\0’;x[2」=’0’;printf(”%d %d\n”,sizeof(x),strlen(x));}程序运行后的输出结果是A)6 1B)7 0C)6 3D)7 1(24)有以下程序#include<stdio.h>Int f(int x);main(){int n=1,m;m=f(f(f(n)));printf(”%d\n”,m);}int f(int x){return x*2;}程序运行后的输出结果是A)1B)2C)4D)8(25)以下程序段完全正确的是A)int *p; scanf("%d",&p); B)int *p; scanf(“%d”,p);C)int k, *p=&k; scanf("%d",p); D)int k, *p:; *p= &k; scanf(“%d”,p);(26)有定义语句:int *p[4];以下选项中与此语句等价的是A)int p[4];B)int **p;C)int *(p「4」);D)int (*p)「4」; (27)下列定义数组的语句中,正确的是A)int N=10;B)#define N 10int x[N]; int x[N];C)int x[0..10]; D)int x[];(28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是A)int a[5]=﹛0﹜;B)int b[]={0,0,0,0,0}; C)int c[2+3];D)int i=5,d[i];(29)有以下程序#include<stdio.h>void f(int *p);main(){int a[5]={1,2,3,4,5},*r=a;f(r);printf(”%d\n”;*r);}void f(int *p){p=p+3;printf(”%d,”,*p);}程序运行后的输出结果是A)1,4B)4,4C)3,1D)4,1(30)有以下程序(函数fun只对下标为偶数的元素进行操作)# include<stdio.h>void fun(int*a;int n){int i、j、k、t;for (i=0;i<n一1;1+=2){k=i;‘for(j=i;j<n;j+=2)if(a[j]>a〔k])k=j;t=a〔i];a〔i]=a[k];a〔k]=t;}}main(){int aa「10」={1、2、3、4、5、6、7},i;fun(aa、7);for(i=0,i<7; i++)printf(”%d,”,aa[i]));printf(”\n”);}程序运行后的输出结果是A)7,2,5,4,3,6,1B)1,6,3,4,5,2,7 C)7,6,5,4,3,2,1D)1,7,3,5,6;2,1 (31)下列选项中,能够满足“若字符串s1等于字符串s2,则执行ST"要求的是A)if(strcmp(s2,s1)==0)ST;B)if(sl==s2)ST;C)if(strcpy(s l ,s2)==1)ST;D)if(sl-s2==0)ST;(32)以下不能将s所指字符串正确复制到t所指存储空间的是A)while(*t=*s){t++;s++;}B)for(i=0;t[i]=s[i];i++);C)do{*t++=*s++;}while(*s);D)for(i=0,j=0;t[i++]=s[j++];);(33)有以下程序(strcat函数用以连接两个字符串)#include<stdio.h>#include<string .h>main(){char a[20]=”ABCD\OEFG\0”,b[]=”IJK”;strcat(a,b);printf(”%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJK B)ABCDIJK C)IJK D)EFGIJK(34)有以下程序,程序中库函数islower (ch)用以判断ch中的字母是否为小写字母#include<stdio.h>#include<ctype.h>void fun(char*p){int i=0;while (p[i]){if(p[i]==’ ’&&islower(p「i-1」))p[i-1]=p[i-1]-‘a’+‘A’;i++;}}main(){char s1[100]=”ab cd EFG!”;fun(s1);printf(”%s\n”,s1);}程序运行后的输出结果是A)ab cd EFG!B)Ab Cd EFg!C)aB cD EFG!D)ab cd EFg!(35)有以下程序#include<stdio.h>void fun(int x){if(x/2>1)fun(x/2);printf(”%d”,x);}main(){fun(7);printf(”\n”);}程序运行后的输出结果是A)1 3 7B)7 3 1C)7 3D)3 7(36)有以下程序#include<stdio.h>int fun(){static int x=1;x+=1;return x;}main(){int i;s=1;for(i=1;i<=5;i++)s+=fun();printf(”%d\n”,s);}程序运行后的输出结果是A)11B)21C)6D)120(37)有以下程序#inctude<stdio.h>#include<stdlib.h>Main(){int *a,*b,*c;a=b=c=(int*)malloc(sizeof(int));*a=1;*b=2,*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}程序运行后的输出结果是A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3(38)有以下程序#include<stdio.h>main(){int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,t);}在VC6平台上编译运行,程序运行后的输出结果是A)2,4 B)4,4 C)4,8 D)10,6(39)若有以下语句Typedef struct S{int g; char h;}T;以下叙述中正确的是A)可用S定义结构体变量B)可用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量(40)有以下程序#include<stdio.h>main(){short c=124;c=c_______;printf(“%d\n”、C);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B)|248 C)&0248 D)<<I二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年9月全国计算机二级C++笔试试题:文字版一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制D)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)投影D)并(11)下列关于函数参数的叙述中,正确的是A)在函数原型中不必声明形参类型B)函数的实参和形参共享内存空间C)函数形参的生存期与整个程序的运行期相向D)函数的形参在函数被调用时获得初始值(12)下列关于对象初始化的叙述中,正确的是A)定义对象的时候不能对对象进行初始化B)定义对象之后可以显式地调用构造函数进行初始化C)定义对象时将自动调用构造函数进行初始化D)在一个类中必须显式地定义构造函数实现初始化(13)下列关于基类和派生类关系的叙述中,正确的是A)每个类最多只能有一个直接基类B)派生类中的成员可以访问基类中的任何成员C)基类的构造函数必须在派生类的构造函数体中调用D)派生类除了继承基类的成员,还可以定义新的成员(14)下列关于赋值运算符“=”重载的叙述中,正确的是A)赋值运算符只能作为类的成员函数重载B)默认的赋值运算符实现了“深层复制”功能C)重载的赋值运算符函数有两个本类对象作为形参D)如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符(15)下列关于模板的叙述中,正确的是A)如果一个类中存在纯虚函数,这个类就是类模板B)函数模板不能有形式参数表C)类模板是一种参数化类型的类,是类的生成器D)类模板中不能包含构造函数(16)下列关于C++预定义流对象的叙述中,正确的是A)cin是C++预定义的标准输入流对象B)cin是C++预定义的标准输入流类C)cout是C++预定义的标准输入流对象D)cout是C++预定义的标准输入流类(17)下列选项中,正确的C++标识符是A)6_groupB)group~6C)age+3D)_group_6(18)下列选项中,正确的C++表达式是A)counter++3 B)element3+ C)a+=b D)…a…=b(19)下列循环语句中有语法错误的是A)int i; for(i=1; i<10;i++)cout<<…*…;B)int i,j;for(i=1,j=0;i<10;i++,j++)cout<<…*…;C)int i=0;for(;i<10;i++)cout<<… *…;D)for(1)cout<<…*…;(20)下列定义语句中,错误的是A)int px*;B)char*acp[10];C)char(*pac)[10];D)int(*p)();(21)下列函数原型声明中,错误的是A)int fnction(int m,int n);B)int function(int,int);C)int function(int m=3,int n);D)int function(int &m,int&n);(22)若MyClass为一个类,执行“MyClass a[4],*p[5];”语句时会自动调用该类构造函数的次数是A)2 B)5 C)4 D)9(23)若在表达式y/x中,“/”是作为成员函数重载的运算符,则该表达式还可以表示为A)x.Operator/(Y)B)operator/(x,Y)C)Y.operator/(x)D)operator/(y,x)(24)若要重载+、=、<<、=和[]运算符,则必须作为类成员重载的运算符是A)+和=B)=和<<C)==和<<D)=和[](25)有函数模板声明和一些变量定义如下:template <class Tl,class T2,class T3>T1 sum(T2,T3);double dl,d2;则下列调用中,错误的是A)sum<double,double,double>(dl,d2);B)sum<double;double>(d1,d2);C)sum<double>(d1,d2);D)sum(d1,d2);(26)有如下语句序列:char str[10];cin>>str;当从键盘输入”I love this game”时,str中的字符串是A)"I love this game"B)"I love thi"C)"I love"D)"I"(27)有如下程序:#include<iostream>#include<cmath>using std::cout;class Point{public:friend double distance(const Point &p); //p距原点的距离Point(int xx=0,int yy=0):x (xx),Y(YY){}//①private:Int x,Y;};double distance(const Point &p){//②return sqrt(p.x*p.x+p.Y*p.Y);}int main(){Point p1(3,4);cout<<distance(p1);//③return 0;}下列叙述中正确的是A)程序编译正确B)程序编译时语句①出错C)程序编译时语句②出错D)程序编译时语句③出错(28)有如下程序:#include<iostream>using namespace std;class CD{public:~CD(){cout<<‟C‟;}private:char name[80];};int main(){CD a,*b,d[2];return 0;}运行时的输出结果是A)CCCC B)CCC C)CC D)C(29)某类中有一个无参且无返回值的常成员函数Show,则正确的Show函数原型是A)const void Show();B)void const Show();C)void Show()const;D)void Show(const);(30)若已定义了类Vehicle,则下列派生类定义中,错误的是A)class Car:Vehicle{/*类体略*/},B)class Car:public Car{/*类体略*/};C)class Car:public Vehicle{/*类体略*/};D)class Car:virtual public Vehicle{/*类体略*/};(31)有如下程序:#include<iostream>using namespace std;class Music{public:void setTitle(char*str){strcpy(title,str);}protected:char type[10];private:char title[20];};class Jazz:public Music{public:void set(char* str){strcpy(type,"Jazz");//①strcpy(title,str);//②}};下列叙述中正确的是A)程序编译正确一B)程序编译时语句①出错C)程序编译时语句②出错D)程序编译时语句①和②都出错(32)有如下程序:#include<iostream>using namespace std;class Instrument{public:virtual void Display()=0;};class Piano:public Instrument{public:void Display(){/*函数体程序略*/}};int, main(){Instrument s;Instrument*p=0;//...;return 0;}下列叙述中正确的是A)语句“Insturment *p=0;”编译时出错B)语句“Instruments;”编译时出错C)类Piano中的Display函数不是虚函数D)类Instrumen七是一个虚基类(33)有类定义如下:气class Type {public:Type (int i=0);Tvpe operator -(int);friend Type operator + (Type, Type );private:int val;若有对象定义Type cl;则下列语句序列中,错误的是A)Type(3)+c1;B)cl+Type(3);C)3-cl;D)c1-3;(34)有如下程序:#include<iostream>#include<iomanip>using namespace std;_int main(){Cout<<setw(10)<<setfill(‟x‟)<<setprecision(8)<<left;Cout<<12.3456793<<_______<<98765;return 0;}若程厚的输出是12.345679x98765xxxxx,则划线处缺失的部分是A)setw(10) B)setfill('x') C)setprecision(8) D)right(35)有如下程序:#include<iostream>using namespace std;class Book{public:Book(char* t=""){strcpy(titie,t);}_____________________________private:Char title[40];};class Novel:public Book{public:Novel(char*t=""):B00K (t){}char*Category()const {return” "文学" }};int main(){Book*pb;pb=new Novel();Cout<<pb->Category();return 0;}若程序运行时输出结果是“文学”,则划线处缺失的语句是A)char* Category();B)char*Category()const;C)virtual char*Category()const;D)virtual char*Category()const=0;二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】-【15】序号的横线上,答在试卷上不得分。