二级C++真题2011年09月

合集下载

2011年9月计算机二级C笔试试题及答案word版(详细解析)

2011年9月计算机二级C笔试试题及答案word版(详细解析)

201 1年9月全国计算机等级考试二级笔试试卷(1)下列叙述中正确的是( )。

A)算法就是程序B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是( )。

A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是( )。

A)叶子结点总是比度为2的结点少一个 B)叶子结点总是比度为2的结点多一个c)叶子结点数是度为2的结点数的两倍 D)度为2的结点数是度为1的结点数的两倍(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( )。

A)学生成绩管理系统 B)C语言编译程序C)UNIX操作系统 D)数据库管理系统(5)某系统总体结构图如下图所示:该系统总体结构图的深度是( )。

A)7 B)6 C)3 D)2(6)程序调试的任务是( )。

A)设计测试用例 B)验证程序的正确性 C)发现程序中的错误 D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是( )。

A)在需求分析阶段建立数据字典 B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典 D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括( )。

A)概念模式 B)内模式C)外模式 D)数据模式(9)有三个关系R、S利T如下:则由关系R和s得到关系T的操作是( )。

A)自然连接 B)差 C)交 D)并(10)下列选项中属于面向对象设计方法主要特征的是( )。

A)继承 B)自顶向下 C)模块化 D)逐步求精(11)以下叙述中错误的是( )。

A)C语言编写的函数源程序,其文件名后缀可以是.CB)C语言编写的函数都可以作为一个独立的源程序文件C)C语言编写的每个函数都可以进行独立的编译并执行D)一个C语言程序只能有一个主函数(12)以下选项中关于程序模块化的叙述错误的是( )。

历年计算机二级c语言考试真题以及答案详解

历年计算机二级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】序号的横线上,答在试卷上不得分。

历年计算机二级c考试真题及答案

历年计算机二级c考试真题及答案

历年计算机二级c考试真题及答案一、选择题(每题2分,共10题)1. 在C语言中,下列哪个关键字用于定义函数?A. intB. voidC. returnD. function答案:A2. 若有定义int a=5;,则执行语句a+=a-=a*a;后,变量a的值是多少?A. 0B. -20C. -5D. 25答案:C3. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str[5] = "Hello";D. char str = "Hello";答案:A4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-nameD. variable_name答案:B5. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. strlength()C. length()D. strleng()答案:A6. 若有定义int a=1, b=2;,则执行语句a+=b;后,变量a的值是多少?A. 1B. 2C. 3D. 4答案:C7. 在C语言中,以下哪个选项是正确的二维数组声明?A. int arr[3][2];B. int arr[3,2];C. int arr[][2];D. int arr[3][];答案:A8. 在C语言中,以下哪个选项是正确的字符常量?A. 'a'B. "a"C. 'ab'D. "ab"答案:A9. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)B. if x > 0C. if(x > 0)D. if (x > 0)答案:D10. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for (int i = 0; i <= 10; i++)C. for (int i = 0; i < 10; i++)D. for (i = 0; i < 10; i++)答案:A二、编程题(每题10分,共1题)11. 编写一个C语言程序,计算并输出100以内所有偶数的和。

安徽省2011年下半年计算机等级考试二级C语言真题

安徽省2011年下半年计算机等级考试二级C语言真题

2011年下半年全国高等学校(安徽考区)计算机水平考试试卷(二级C语言程序设计)考试须知:1.请将准考证号末两位填在试卷第2页右上方方框内。

2.单项选择题请在答题卡上填涂;其他内容请在答题卷上作答,试卷上作答无效。

3.不得将试卷、答题卡、答题卷及草稿纸带离考场。

4.考试时间为120分钟。

一、单项选择题(每题1分,共40分)1.在计算机应用领域中,英文缩写“OA”的中文含义是__________。

A)计算机辅助制造B)办公自动化C)计算机辅助教学D)个人计算机2.下列选项中,属于主机范畴的是___________。

A)光盘B)打印机C)U盘D)内存3.与十进制数100不等值的数是__________。

A)(1011011)2 B)(1100100)2C)(144)8D)(64)164.下列有关Windows“文件”的叙述,不正确的是_________。

A)文件夹中既可以存放文件,又可以存放文件夹B)文件夹中不能存放同名文件C)不同文件夹中可以存放同名文件D)名称相同的文件和文件夹可以存放在同一文件夹中5.在Windows中右键单击文件后,在弹出的快捷方式中选择“发送到”→“桌面快捷方式”,则_________。

A)移动该文件到桌面B)复制该文件到桌面C)在桌面建立快捷图标D)从桌面发送电子邮件6.最古老、最基本的一种信息保护措施是_________。

A)病毒防护B)防火墙C)加密D)入侵检测7.在计算机多媒体技术中,ASCII码属于__________媒体。

A)感觉B)表示C)储存D)传输8.下列有关计算机病毒的叙述,不正确的是__________。

A)计算机病毒可以把自身复制到内存B)长期不使用感染计算机病毒的计算机,计算机病毒可以自动消失C)计算机病毒可以潜伏在文件中,并不立即发作D)计算机病毒可以侵占系统资源,影响系统运行性能9.网址中http表示________。

A)用户名B)主机的IP地址或域名C)超文本传输协议D)资源在主机上的存放路径10.用高级程序设计语言编写的程序称为_________。

全国计算机等级考试二级C语言真题2011年09月-34次

全国计算机等级考试二级C语言真题2011年09月-34次
【解析】: 算数运算。12/8=1,0.9+1=1.9,而C为常数。
--------------------------------------------------------------------------------
16. 若有定义: int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是
--------------------------------------------------------------------------------
12. 以下选项中关于程序模块化的叙述错误的是
A)把程序分成若干相对对立的模块,可便于编码和测试
B)把程序分为若干相对独立、功能单一的模块,可便于重复使用这些模块
【解析】: 程序模块化。结构化程序设计的方法。
--------------------------------------------------------------------------------
13. 以下选项中关于C语言常量的叙述错误的是( )
A)所谓常量,是指在程序运行过程中,其值不能被改变的量
正确答案: B
试题来源: 全国计算机等级考试二级C语言真题2011年09月-34次
【解析】: 点的度是指树中每个结点具有的子树个数或者说是后继结点数。题中的度为2是说具有的2个子树的结点;二叉树有个性质:二叉树上叶子结点数等于度为二的节点+1。我们设度为0,1,2的节点分别为n0,n1,n2个,那么节点总数n=n0+n1+n2,然而边数b=n-1,并且b=n1+2*n2=n-1=n0+n1+n2-1,由此式我们可以推出n0=n2+1。也就是说叶子节点要比度为二的节点多一个。

2011年9月计算机等级考试《二级Visual FoxPro程序设计》笔试真题与上机真题及答案

2011年9月计算机等级考试《二级Visual FoxPro程序设计》笔试真题与上机真题及答案

该系统总体结构图的深度是( ) 。 A ) 7 B ) 6 C ) 3 D ) 2
( 6 ) 程序调试的任务是( ) 。 A ) 设计测试用例 C ) 发现程序中的错误 B ) 验证程序的正确性 D ) 诊断和改正程序中的错误
2 0 1 1年 9月全国计算机等级考试二级 V i s u a l F o x P r o 第 1 页( 共1 5页)
1 3 ) 在数据库中建立索引的目的是( ) 。 ( A ) 节省存储空间 C ) 提高查询和更新速度 B ) 提高查询速度 D ) 提高更新速度
1 4 ) 假设变量 a 的内容是“ 计算机软件工程师” , 变量 b 的内容是“ 数据库管理员” , 表达式的结果为“ 数据库工程 ( 师” 的是( ) 。 A ) l e f t ( b , 6 )- r i g h t ( a , 6 ) C ) A和 B都是 B ) s u b s t r ( b , 1 , 3 )- s u b s t r ( a , 6 , 3 ) D ) A和 B都不是
B ) 所有 S Q L命令对表的所有操作都不需使用 U S E命令先打开表 C ) 部分 S Q L命令对表的所有操作都不需使用 U S E命令先打开表 D ) 传统的 F o x P r o 命令对表的所有操作都不需使用 U S E命令先打开表 ( 2 0 ) 在V i s u a l F o x P r o 中, 如果希望跳出 S C A N …E N D S C A N循环体外执行 E N D S C A N后面的语句, 应使用( ) 。 A ) L O O P语句 C ) B R E A K语句 B ) E X I T语句 D ) R E T U R N语句
1 5 ) S Q L查询命令的结构是 S E L E C T 爥F R O M爥WH E R E 爥G R O U PB Y 爥H A V I N G 爥O R D E RB Y 爥, 其中指定查询条 ( 件的短语是( ) 。 A ) S E L E C T B ) F R O M C ) WH E R E D ) O R D E RB Y

2011年9月笔试参考答案及解析[共3页]

2011年9月笔试参考答案及解析[共3页]

全国计算机等级考试上机专用题库与笔试模拟考场——二级C 语言一、选择题(1)【答案】 D) 【解析】 算法不等于程序且优先于程序,是对解题方案准确而完整的描述,也是一组严谨定义运算顺序的规则,强调程序的易读性。

设计算法时不仅要考虑算法的时间复杂度(即对数据对象的操作和运算),也需要考虑算法的控制结构(即空间复杂度)。

故本题答案选择D)。

(2)【答案】 C) 【解析】 线性表的链式存储结构称为线性链表。

在线性链表中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据间的逻辑关系可以不一致,后者由指针域确定。

对线性链表的插入与删除操作,不需要移动链表中的元素。

因此C)选项正确。

(3)【答案】 B) 【解析】 根据二叉树的性质3,二叉树中叶子结点的个数总是要比度为2的结点的个数多一个。

故本题答案选择B)。

(4)【答案】 A) 【解析】 系统软件使计算机成为一个整体,用于管理计算机中独立的硬件,但又无需顾及这些硬件的工作原理,包括操作系统以及一系列基本工具(如编译器、数据库管理、文件系统、网络连接等相关的工具)。

支撑软件也可以说是软件开发环境,用于支撑软件的开发与维护。

应用软件是为了实现某种特定功能而开发的软件,既可以是一个程序,也可以是一组程序的集合,还可以是由诸多程序组成的软件系统。

"学生成绩管理系统"属于应用软件,故本题答案选择A)。

(5)【答案】 C) 【解析】 系统总体结构图是对软件的系统结构的总体设计进行的图形显示,其深度是指结构的层数。

本题中的系统总体结构图为树形结构,共3层,故本题答案选择C)。

(6)【答案】 D) 【解析】 程序调试是指在程序的开发阶段,用手工或程序编译等方法对编制好的程序进行测试,修正语法错误和逻辑错误,其主要目的在于诊断并改正程序中的错误。

程序调试可分为两步:第一步,确定程序中错误所在位置、产生原因及错误性质;第二步,修改程序,排除错误。

2011年9月C++真题及详解

2011年9月C++真题及详解

2011年3月考试真题(第33次)一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)为了提高函数调用的实际运行速度,可以将较简单的函数定义为A)内联函数B)重载函数C)递归函数D)函数模板(12)若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为A)aB)AA.aC)a()D)AA::a()(13)当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是A)任何B)公有或保护C)保护或私有D)私有(14)若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是A)Data+(Data);B)Data operator+(Data);C)Data+operator(Data);D)operator+(Data,Data);(15)下列关于函数模板的描述中,正确的是A)函数模板是一个实例函数B)使用函数模板定义的函数没有返回类型C)函数模板的类型参数与函数的参数相同D)通过使用不同的类型参数,可以从函数模板得到不同的实例函数(16)C++系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是A)coutB)cinC)cerrD)cset(17)Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是A)cppB)exeC)objD)lik(18)字符串“a+b=12\n\t”的长度为A)12B)10C)8D)6(19)有如下程序:#includeusing namespace std;int main(){int f,f1=0,f2=1;for(int i=3;i<=6;i++){f=f1+f2;f1=f2;f2=f;}cout<<F<return 0;}运行时的输出结果是A)2B)3C)5D)8(20)有如下程序:#includeusing namespace std;int main(){int a[6]={23,15,64,33,40,58};int s1,s2;s1=s2=a[0];for(int* p=a+1;pif(s1>*p) s1=*p;if(s2<*p) s2=*p;}cout<<S1+S2<return 0;}运行时的输出结果是A)23B)58C)64D)79(21)有如下程序:#includeusing namespace std;void f1(int& x,int& y) {int z=x; x=y; y=z;} void f2(int x;int y) {int z=x; x=y; y=z;} int main(){int x=10,y=26;f1(x,y);f2(x,y);cout<<Y<return 0;}运行时的输出结果是A)10B)16C)26D)36(22)有如下程序:#includeusing namespace std;class XA{int a;public:static int b;XA(int aa):a(aa) {b++;}~XA(){}int get(){return a;}};int XA::b=0;int main(){XA d1(2),d2(3);cout<return 0;}运行时的输出结果是A)5B)6C)7D)8(23)有如下程序:#includeusing namespace std;class Point{int x,y;public:Point(int x1=0,int y1=0):x(x1),y(y1){}int get(){return x+y;}};class Circle{Point center;int radius;public:Circle(int cx,int cy,int r):center(cx,cy),raaius(r){}int get(){return center.get()+radius;}};int main(){Circle c(3,4,5);cout<<C.GET()<return 0;}运行时的输出结果是A)5B)7C)9D)12(24)若要对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是A)operator long() const;B)operator long(BigNumber);C)long operator long() const;D)long operator long(BigNumber);(25)有如下函数模板定义:templateT1 FUN(T2 n){return n*5.0;}若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为A)FUN(9)B)FUN<9>C)FUN(9)D)FUN<9>(double)(26)下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是A)cout<<INTERNAL<B)cout<<LEFT<C)cout<<RIGHT<D)cout<(27)下列关于析构函数的描述中,错误的是A)析构函数可以重载B)析构函数由系统自动调用C)每个对象的析构函数只被调用一次D)每个类都有析构函数(28)下列关于构造函数的描述中,错误的是A)构造函数名与类名相同B)构造函数可以有返回值C)构造函数可以重载D)每个类都有构造函数(29)若PA T是一个类,则程序运行时,语句“PA T(*ad)[3];”调用PA T的构造函数的次数是A)0B)1C)2D)3(30)下列描述中,错误的是A)公有继承时基类中的公有成员在派生类中仍是公有成员B)公有继承时基类中的保护成员在派生类中仍是保护成员C)保护继承时基类中的公有成员在派生类中仍是公有成员D)保护继承时基类中的保护成员在派生类中仍是保护成员(31)生成派生类对象时,派生类构造函数调用基类构造函数的条件是A)无需任何条件B)基类中显式定义了构造函数C)派生类中显式定义了构造函数D)派生类构造函数明确调用了基类构造函数(32)下列关于派生类和基类的描述中,正确的是A)派生类成员函数只能访问基类的公有成员B)派生类成员函数只能访问基类的公有和保护成员C)派生类成员函数可以访问基类的所有成员D)派生类对基类的默认继承方式是公有继承(33)有如下类模板定义:templateclass BigNumber{long n;public:BigNumber(T i):n(i){}BigNumber operator+(BigNumber b){return BigNumber(n+b.n);}};己知b1、b2是BigNumber的两个对象,则下列表达式中错误的是A)bl+b2B)b1+3C)3+b1D)3+3(34)下列关于文件流的描述中,正确的是A)文件流只能完成针对磁盘文件的输入输出B)建立一个文件流对象时,必须同时打开一个文件C)若输入流要打开的文件不存在,将建立一个新文件D)若输出流要打开的文件不存在,将建立一个新文件(35)有如下程序:#includeusing namespace std;class Pair{int m,n;public:Pair(int j,int k):m(j),n(k){}int get() {return m;}int get() const {return m+n;}};int main(){Pair a(3,5);const Pair b(3,5);cout+a.get()<return 0;}运行时的输出结果是A)33B)38C)83D)88二、填空题(1)有序线性表能进行二分查找的前提是该线性表必须是【1】存储的。

全国计算机等级考试二级VISUAL+FOXPRO机试真题2011年9月

全国计算机等级考试二级VISUAL+FOXPRO机试真题2011年9月

全国计算机等级考试二级VISUAL FOXPRO机试真题2011年9月(总分:100.00,做题时间:90分钟)一、一基本操作题(总题数:4,分数:30.00)1.创建“客户”表:客户号C(4),客户名C(20),销售金额N(9,2)。

(分数:7.00)__________________________________________________________________________________________ 正确答案:(步骤1:单击工具栏的[新建]按钮,在弹出的[新建]对话框[文件类型]区中选择[表]单选项.单击右边的[新建文件]按钮,弹出[创建]对话框。

在[输入表名]文本框中输入“客户”,单击[保存]按钮打开表设计器。

在[字段]选项卡下对字段名、类型和宽度进行设置。

)解析:2.为第(1)小题创建的“客户”表建立一个主索引,索引名和索引表达式均为“客户号”。

(分数:7.00)__________________________________________________________________________________________ 正确答案:(在[索引]选项卡中“索引名”和“索引表达式”填“客户号”。

在“类型”列中选择“主索引”.单击[确定]按钮.在弹出的对话框中选择“否”。

)解析:3.为“部门成本”表增加一个字段,字段名为“说明”,数据类型为字符型,宽度为20。

(分数:8.00)__________________________________________________________________________________________ 正确答案:(单击工具栏的[打开]按钮,在弹出的对话框中选择“数据库”,打开数据库设计器。

右击“部门成本”表.选择“修改”,在[字段]最后一行的“字段名”填“说明”,数据类型选“字符型”,宽度填“20”。

2011年9月全国计算机二级C++考试真题及答案

2011年9月全国计算机二级C++考试真题及答案

2011年9月全国计算机二级C++考试真题及答案(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是(D )。

A)算法就是程序B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是(C )。

A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是(B )。

A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为2的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( A )。

A)学生成绩管理系统 B)C语言编译程序C)UNIX操作系统 D)数据库管理系统(5)某系统总体结构图如下图所示:该系统总体结构图的深度是(C )。

A)7 B)6 C)3 D)2(6)程序调试的任务是(D )。

A)设计测试用例 B)验证程序的正确性C)发现程序中的错误 D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是( A )。

A)在需求分析阶段建立数据字典 B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典 D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括(D )。

A)概念模式 B)内模式 C)外模式 D)数据模式(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是(B )。

A)自然连接 B)差 C)交 D)并(10)下列选项中属于面向对象设计方法主要特征的是( A )。

全国计算机等级二级C语言历年真题及答案10年09月-05年4月

全国计算机等级二级C语言历年真题及答案10年09月-05年4月

全国计算机等级二级C语言历年真题及答案10年09月-05年4月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)%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)有以下程序#includemain(){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)有以下程序#includemain(){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;ja〔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)< 二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

2011年3、9月全国计算机等级考试二级笔试试卷及标准参考答案

2011年3、9月全国计算机等级考试二级笔试试卷及标准参考答案

2011年3月全国计算机等级考试二级笔试试卷Visual FoxPro数据库程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列关于栈叙述正确的是A) 栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C) 用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A) 系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是A)1:1联系B)1:m联系C) m:1联D) m:n联系(9)有三个关系R、S和T如下则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类T实例化值的是A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}(11)在建立数据库表时给该表指定了主索引,该索引实现了数据完整性中的A)参照完整性B)实体完整性C)域完整性D)用户定义完整性(12)执行如下命令的输出结果是?15%4,15%-4A)3 -1 B)3 3 C)1 1 D)1 -1(13)在数据库表中,要求指定字段或表达式不出现重复值,应该建立的索引是A)惟一索引B)惟一索引和候选索引C)惟一索引和主索引D)主索引和候选索引(14)给student表增加一个“平均戍绩”字段(数值型,总宽度6} 2位小数)的SQL命令是A)ALTER TABLE studeni ADD平均成绩N(b,2)B)ALTER TABLE student ADD平均成绩D(6,2)C)ALTER TABLE student ADD平均成绩E(6,2)D)ALTER TABLE student ADD平均成绩Y(6,2)(15)在Visual FoxPro中,执行SQL的DELETE命令和传统的FoxPro DELETE命令都可以删除数据库表中的记录,下面正确的描述是A)SQL的DELETE命令删除数据库表中的记录之前,不需要先用USE命令打开表B)SQL的DELETE命令和传统的FoxPro DELETE命令删除数据库表中的记录之前,都需要先用命令USE打开表C)SQL的DELETE命令可以物理地删除数据库表中的记录,而传统的FoxPro DELETE命令只能逻辑删除数据库表中的记录D)传统的FoxPro DELETE命令还可以删除其它工作区中打开的数据库表中的记录(16)在Visual FoxPro中,如果希望跳出SCAN…ENDSCAN循环语句、执行ENDSCAN后面的语句,应使用A)LOOP语句B)EXIT语句 C ) BREAK语句 D ) RETURN语句(17)在Visual FoxPro中,“表”通常是指A)表单B)报表C)关系数据库中的关系D)以上都不对(18)删除student表的“平均成绩”字段的正确SQL命令是A)DELETE TABLE student DELETE COLUMN平均成绩B)ALTER TABLE student DELETE COLUMN平均成绩C)ALTER TABLE student DROP COLUMN平均成绩D)DELETE TABLE student DROP COLUMN平均成绩(19)在Visual FoxPro中,关于视图的正确描述是A)视图也称作窗口B)视图是一个预先定义好的SQL SELECT语句文件C)视图是一种用SQL SELECT语句定义的虚拟表D)视图是一个存储数据的特殊表(20)从student表删除年龄大于30的记录的正确SQL命令是A)DELETE FOR年龄>30B)DELETE FROM student WHERE年龄>30C)DEL ETE student FOP年龄>30D)DELETE student WF IERE年龄>30(21)在Vaual FoxPro中,使用LOCATL FOR }expL>命令按条件查找记录,当查找到满足条件的第一条记录后,如果还需要查找下一条满足条件的记录,应该A)再次使用LOCATE命令重新查询B)使用SKIP命令C)使用CONTINUE命令D)使用GO命令(22)为了在报表中打印当前时间,应该插入的控件是A)文本框控件B)表达式C)标签控件D)域控件(23)在Visual FoxPro中,假设student表中有40条记录,执行下面的命令后,屏幕显示的结果是?RECCOUNT()A)0 B)1C)40 D)出错(24)向student表插入一条新记录的正确SQL语句是A)APPEND INTO student VALUES('0401’,’王芳’,’女’,18)B)APPEND student VALUES('0401’,’王芳’,’女’,18):C)INSERT INTO student VALUES('0401’,’王芳’,’女’,18)D)INSERT student VALUES('0401’,’王芳’,’女’,18)(25)在一个空的表单中添加一个选项按钮组控件,该控件可能的默认名称是A)Optiongroup 1 B)Checkl C)Spinnerl D)Listl(26)恢复系统默认菜单的命令是A)SET MENU TO DEFAULT B)SET SYSMENU TO DEFAULTC)SET SYSTEM MENU TO DEFAULT D)SET SYSTEM TO DEFAULT(27)在Visual F'oxPro中,用于设置表单标题的属性是A)Text B)TitleC)Lable D)Caption(28)消除SQL SELECT查询结果中的重复记录,可采取的方法是A)通过指定主关键字B)通过指定惟一索引C)使用DISTINCT短语D)使用UNIQUE短语(29)在设计界面时,为提供多选功能,通常使用的控件是A)选项按钮组B)一组复选框C)编辑框D)命令按钮组(30)为了使表单界面中的控件不可用,需将控件的某个属性设置为假,该属性是A)Default B)Enabled C)Use D)Enuse第(31)-(35)题使用如下三个数据库表:学生表:student(学号,姓名,性别,出生日期,院系)课程表:course(课程号,课程名,学时)选课成绩表:score(学号,课程号,成绩)其中出生日期的数据类型为日期型,学时和成绩为数值型,其它均为字符型。

2011年9月全国计算机等级考试二级C语言上机考试100套真题

2011年9月全国计算机等级考试二级C语言上机考试100套真题

第一套(一)程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。

函数fun的功能是:将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

(1)struct student (2)n-1 3 a[i].name,a[j].name(二)给定程序MODI1.C中函数fun 的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。

1 q=p+i;2 while(q>p)(三)学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

int i,j=0;for(i=0;i<N;i++)if(a[i].s>=l&&a[i].s<=h)b[j++]=a[i];return j;第二套(一)给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。

函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

1q 2 next 3 next(二)给定程序MODI1.C中函数fun 的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。

1 p=j;2 p=i;(三)请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a 中,通过n返回这些数的个数。

int i;*n=0;for(i=7;i<=m;i++)if((i%7==0)||(i%11==0))a[(*n)++]=i;第三套(一)函数fun的功能是:逆置数组元素是的值。

例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2011年9月全国计算机等级考试二级笔试试卷公共基础知识和C++语言程序设计一、选择题(1)下列叙述中正确的是( )。

A) 算法就是程序 B) 设计算法时只需要考虑数据结构的设计C) 设计算法时只需要考虑结果的可靠性 D) 以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是( )。

A) 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B) 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C) 进行插入与删除时,不需要移动表中的元素D) 以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是( )。

A) 叶子结点总是比度为2的结点少一个B) 叶子结点总是比度为2的结点多一个C) 叶子结点数是度为2的结点数的两倍D) 度为2的结点数是度为1的结点数的两倍(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( )。

A) 学生成绩管理系统 B) C语言编译程序C) UNIX操作系统 D) 数据库管理系统(5)某系统总体结构图如下图所示:该系统总体结构图的深度是( )。

A) 7 B) 6 C) 3 D) 2(6)程序调试的任务是( )。

A) 设计测试用例 B) 验证程序的正确性C) 发现程序中的错误 D) 诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是( )。

A) 在需求分析阶段建立数据字典 B) 在概念设计阶段建立数据字典C) 在逻辑设计阶段建立数据字典 D) 在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括( )。

A) 概念模式 B) 内模式 C) 外模式 D) 数据模式(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是( )。

A) 自然连接 B) 差 C) 交 D) 并(10)下列选项中属于面向对象设计方法主要特征的是( )。

A) 继承 B) 自顶向下 C) 模块化 D) 逐步求精(11)在对函数进行原型声明时,下列语法成分中,不需要的是( )。

A) 函数返回类型 B) 函数参数列表 C) 函数名 D) 函数体(12)下列关于this指针的描述中,正确的是( )。

A) 类的成员函数都有this指针 B) 类的友元函数都有this指针C) 任何与类相关的函数都有this指针 D) 类的非静态成员函数都有this指针(13)有如下类定义:class AA{int a;public:AA(int n=0):a(n){}};class BB:public AA{public:BB(intn)______};其中横线处缺失部分是( )。

A) :a(n){} B) :AA(n){} C) {a(n);} D) {a=n;)(14)为类Matrix重载下列运算符时,只能作为Matrix类成员函数重载的运算符是( )。

A) + B) = C) << D) ++(15)下列关于模板的描述中,错误的是( )。

A) 类模板的成员函数都是模板函数 B) 函数模板是一种参数化类型的函数C) 满足一定条件时可以省略模板实参 D) 模板形参只能由关键字typename声明(16)要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是( )。

A) fstream B) istreara C) ostream D) iomanip(17)下列选项中,不是C++关键字的是( )。

A) class B) function C) friend D) virtual(18)若有定义语句“int i=2, j=3;”,则表达式i/j的结果是( )。

A) 0 B) 0.7 C) 0.66667 D) 0.66666667(19)下列语句中,与语句“n=(a>b?(b>c?1:0):0);”的功能等价的是( )。

A) if(a<=B) n=0;B) if((a>B) ||(b>C) )n=1; else n=0;C) if(a>B) if(b>C) n=h else n=0; else n=0;D) if(a>B) n=1; else if(b<=C) n=1; else if(b>C) n=1; else n=0;(20)有如下语句序列:int x=100, &r=x;cout<<x<<'-'<<r<<end1:己知其中变量x的地址为0012FF7C,则执行该语句序列的输出结果为( )。

A) 100-100 B) 100-0012FF7CC) 0012FF7C-100 D) 0012FF7C-0012FF7C(21)己知函数f的原型是“void f(int*x, int &y);”,变量v1、v2的定义是“int v1, v2;”,下列调用语句中,正确的是( )。

A) f(v1, v2); B) f(v1, &v2); C) f(&v1, v2); D) f(&v1, &v2);(22)有如下类定义:class Sample {public;Sample(int x):ref(x){} //①private:Sample():ref(0){) //②static int va1=5; //③const int ref; //④};上述程序段中,错误的语句是( )。

A) ① B) ② C) ③ D) ④(23)有如下类定义:class B{public: void fun1(){}private: void fun2(){}protected: void fun3(){}};class D: public B{protected: void fun4(){}};若obj是类D的对象,则下列语句中不违反访问控制权限的是( )。

A) obj. fun1(); B) obj. fun2(); C) obj. fun3(); D) obj. fun4();(24)有如下类定义class MyClasspublic:Private:int data;};若要为MyClass类重载流输入运算符>>,使得程序中可以“cin>>obj;”形式输入MyClass类的对象obj,则横线处的声明语句应为( )。

A) friend istream& operator>>(istream& is, MyClass& A) ;B) friend istream& operator>>(istream& is, MyClass A) ;C) istream& operator>>(istream& is, MyClass& A) ;D) istream& operator>>(istream& is, MyClass A) ;(25)已知主函数中通过如下语句序列实现对函数模板swap的调用:int a[10], b[10];swap(a, b, 10);下列对函数模板swap的声明中,会导致上述语句序列发生编译错误的是( )。

A) template<typename T>void swap(T a[], T b[], int size);B) template<typename T>void swap(int size, T a[], T b[]);C) template<typename T1, typename T2>void swap(T1 a[], T2 b[], int size);D) template<class T1, class T2>void swap(T1 a[], T2 b[], int size);(26)若目前D盘根目录下并不存在test. txt文件,则下列打开文件方式不会自动创建test.txt文件的是( )。

A) ifstream fin; fin. open("d:\\test.txt", ios_base::in);B) fstream fio; fio. open("d:\\test. txt”, ios_base::out);C) ofstream fout; fout. open("d:\\test. txt”, ios_base::out);D) ofstream fout; fout. open("d:\\test. txt”, ios_base::app);(27)已知类Myclass的定义如下class MyClass{public:void function1(MyClass& C) {cout<<c. data;)static void function2(MyClass& C) {cout<<c. data;}void function3(){cout<<data;}staric void function4(){cout<<data;}private:int data;};其中有编译错误的函数是( )。

A) function1 B) function2 C) function3 D) function4(28)有如下程序:#include<iostream>using namespace std;class MyClass{public:MyClass() {cout<<'*';)MyClass(MyClass& A) {cout<<'#';)~MyClass() {cout<<'@';)};int main();MyClass a;Myclass b(A) ;return 0;}运行时的输出结果是( )。

A) *@#@ B) #@*@ C) *#@@ D) #*@@(29)已知类Myclass的定义如下:class MyClass{public:MyClass(int D) {data=d;}~MyClass (){}private:int data;};下列对Myclass类对象数组的定义和初始化语句中,正确的是( )。

A) MyClass arrays[2];B) MyClass arrays[2]={MyClass(5)};C) MyClass arrays[2]={MyClass(5), MyClass(6)};D) MyClass*arrays=new MyClass[2];(30)有如下程序:class Base{public:int data;};class Derived1:public Base{};class Derived2:protected Base{};int main(){Derived1 d1;Derived2 d2;d1. data=0; //①d2. data=0; //②return 0;}下列关于程序编译结果的描述中,正确的是( )。

相关文档
最新文档