2012年9月全国计算机等级考试二级笔试试卷
- 格式:doc
- 大小:82.50 KB
- 文档页数:9
2021年9月全国计算机二级Access考试真题及答案(考试时间 90 分钟,总分值 100 分)一、选择题(每题 2 分,共 70 分)以下各题 A〕、B〕、C〕、D〕四个选项中,只有一个选项是正确的。
请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
〔1〕以下链表中,其逻辑构造属于非线性构造的是A〕双向链表B〕带链的栈C〕二叉链表D〕循环链表〔2〕设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。
现经过一系列入队与退队运算后,front=15,rear=15,那么循环队列中的元素个数为A〕20 B〕0 或 35C〕15 D〕16〔3〕以下关于栈的表达中,正确的选项是A〕栈底元素一定是最后入栈的元素B〕栈操作遵循先进后出的原那么C〕栈顶元素一定是最先入栈的元素D〕以上三种说法都不对〔4〕在关系数据库中,用来表示实体间联系的是A〕网状构造B〕树状构造C〕属性D〕二维表〔5〕公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。
那么实体部门和职员间的联系是A〕1:m 联系B〕m:n 联系C〕1:1 联系D〕m:1 联系〔6〕有两个关系 R 和 S 如下:R SA B C A B Ca 1 2b 2 1c 3 1那么由关系 R 得到关系 S 的操作是A〕自然连接B〕并C〕选择D〕投影〔7〕数据字典〔DD〕所定义的对象都包含于A〕软件构造图B〕方框图C〕数据流图〔DFD 图〕D〕程序流程图〔8〕软件需求规格说明书的作用不包括A〕软件设计的依据B〕软件可行性研究的依据C〕软件验收的依据D〕用户与开发人员对软件要做什么的共同理解〔9〕下面属于黑盒测试方法的是A〕边界值分析B〕路径覆盖C〕语句覆盖D〕逻辑覆盖〔10〕下面不属于软件设计阶段任务的是A〕制定软件确认测试方案B〕数据库设计C〕软件总体设计D〕算法设计〔11〕以下关于数据库设计的表达中,错误的选项是A〕设计时应将有联系的实体设计成一张表B〕设计时应防止在表之间出现重复的字段C〕使用外部关键字来保证关联表之间的联系D〕表中的字段必须是原始数据和根本数据元素〔12〕Access 中通配符“_〞的含义是A〕通配任意单个运算符B〕通配任意单个字符C〕通配任意多个减号D〕通配指定范围内的任意单个字符〔13〕掩码“LLL000〞对应的正确输入数据是A〕555555 B〕aaa555C〕555aaa D〕aaaaaa〔14〕对数据表进展筛选操作的结果是A〕将满足条件的记录保存在新表中B〕隐藏表中不满足条件的记录C〕将不满足条件的记录保存在新表中D〕删除表中不满足条件的记录〔15〕假设 Access 数据表中有姓名为“李建华〞的记录,以下无法查询出“李建华〞的表达式是A〕Like "华" B〕Like "*华"C〕Like "*华*" D〕Like "??华"〔16〕有查询设计视图如下,它完成的功能是A〕查询表“check-up〞中符合指定学号、身高和体重的记录B〕查询当前表中学号、身高和体重信息均为“check-up〞的记录C〕查询符合“check-up〞条件的记录,显示学号、身高和体重D〕显示表“check-up〞中全部记录的学号、身高和体重〔17〕要设置窗体的控件属性值,可以使用的宏操作是A〕Echo B〕RunSQLC〕SetValue D〕Set〔18〕要覆盖数据库中已存在的表,可使用的查询是A〕删除查询B〕追加查询C〕生成表查询D〕更新查询〔19〕可以改变“字段大小〞属性的字段类型是A〕文本B〕OLE 对象C〕备注D〕日期/时间〔20〕在数据访问页中,为了插入一段可以滚动的文字,应该选择的工具图标是A〕B〕C〕D〕〔21〕SQL 查询命令的构造是:SELECT … FROM …WHERE… GROUP BY … HAVING … ORDER BY …其中,使用 HAVING 时必须配合使用的短语是A〕FROM B〕GROUP BYC〕WHERE D〕ORDER BY〔22〕在报表中,假设要得到“数学〞字段的最高分,应将控件的“控件来源〞属性设置为A〕=Max([数学]) B〕=Max["数学"]C〕=Max[数学] D〕=Max"[数学]"〔23〕下面显示的是查询设计视图的设计网格局部,从下面所示的内容中,可以判定要创立的查询是A〕删除查询B〕追加查询C〕生成表查询D〕更新查询〔24〕要实现报表按某字段分组统计输出,需要设置的是A〕报表页脚B〕该字段组页脚C〕主体D〕页面页脚〔25〕ADO 对象模型包括 5 个对象,分别是 Connection、Command、Field、Error 和A〕Database B〕WorkspaceC〕RecordSet D〕DBEngine〔26〕在代码调试时,使用 Debug.Print 语句显示指定变量结果的窗口是A〕立即窗口B〕监视窗口C〕本地窗口D〕属性窗口〔27〕以下选项中,不是 Access 窗体事件的是A〕Load B〕UnloadC〕Exit D〕Activate〔28〕SELECT 命令中用于返回非重复记录的关键字是A〕TOP B〕GROUPC〕DISTINCT D〕ORDER〔29〕VBA 程序中,可以实现代码注释功能的是A〕方括号〔[ ]〕B〕冒号〔:〕C〕双引号〔"〕D〕单引号〔'〕〔30〕以下表达中,正确的选项是A〕Sub 过程无返回值,不能定义返回值类型B〕Sub 过程有返回值,返回值类型只能是符号常量C〕Sub 过程有返回值,返回值类型可在调用过程时动态决定D〕Sub 过程有返回值,返回值类型可由定义时的 As 子句声明〔31〕在代码中定义了一个子过程:Sub P(a,b)……End Sub以下调用该过程的形式中,正确的选项是A〕P(10,20) B〕Call pC〕Call p 10,20 D〕Call p(10,20)〔32〕在窗口中有一个标签 Label0 和一个命令按钮 Command1,Command1 的事件代码如下:Private Sub Command1_Click()Label0.Left=Label0.Left+100End Sub翻开窗口,单击命令按钮,结果是A〕标签向左加宽B〕标签向右加宽C〕标签向左移动D〕标签向右移动〔33〕在窗体中有一个名为 Command1 的命令按钮,事件代码如下:Private Sub Command1_Click〔〕Dim m〔10〕For k =1 To 10m(k)=11-kNext kx=6MsgBox m( 2+m(x) )End Sub翻开窗体,单击命令按钮,消息框的输出结果是A〕2 B〕3 C〕4 D〕5 〔34〕在窗体中有一个名为 run34 的命令按钮,事件代码如下:Private Sub run34_Click()f1=1f2=1For n=3 To 7f=f1+f2f1=f2f2=fNext nMsgBox fEnd Sub翻开窗体,单击命令按钮,消息框的输出结果是A〕8 B〕13 C〕21 D〕其他结果〔35〕DAO 层次对象模型的顶层对象是A〕DBEngine B〕WorkspaceC〕Database D〕RecordSet二、填空题(每空 2 分,共 30 分)请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
2012年9月全国计算机等级考试二级C语言上机题库第一套1. 程序填空程序通过定义学生结构体数组 存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组 按照姓名的字典序 从小到大排序 。
请在程序的下划线处填入正确的内容并把下划线删除 使程序得出正确的结果。
第一处struct student t; 第二处for(i=0;i<n-1;i++) 第三处if(strcmp(a[i].name,a[j].name)>0) 2 程序修改给定程序MODI1.C中函数fun的功能是 在p所指字符串中找出ASCII码值最大的字符 将其放在第一个位置上 并将该字符前的原字符向上顺序移动。
/**found**/ q=p+i; /**found**/ while(q>p) 3程序设计学生的记录由学号和成绩组成 N名学生的数据已在主函数中放入结构体数组s中 请编写了函数fun 它的功能是 把指定分数范围内的学生数据放在b所指的数组中 分数范围内的学生人数由函数值返回。
int fun(STREC *a,STREC *b,int l,int h) {int i,j=0; for(i=0;i<N;i++) if((a[i].s>=1&&a[i].s<=h) b[j++]=a[i]; return j; } 第二套1. 程序填空给定程序中已建立一个带有头结点的单向链表 链表中的各结点按数据域递增有序连接。
函数fun的功能是 删除链表中数据域值相同的结点 使之只保留一个。
第一处free(q); 第二处q=p->next; 第三处q=q->next; 2. 程序修改给定程序MODI1.C中函数fun的功能是 用选择法对数组中的n各元素按从小到大的顺序进行排序。
/**found**/ p=j; /**found**/ p=i; 3. 程序设计请编写一个fun函数 它的功能是 求出1到m之间 含m 能被7或11整除的所有整数放在数组a中 通过n返回这些数的个数。
(1)下列链表中,其逻辑结构属于非线性结构的是_________。
A)双向链表B) 带链的栈 C) 二叉链表D) 循环链表(1)C 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps 中第13张说明:链表存储结构是数据的存储结构;排除链表因素,从数据逻辑结构来看,线性结构包括线性表、栈和队;非线性结构包括树形结构和图形结构,所以二叉树是树形结构,即非线性结构。
(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。
现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A) 20 B) 0或35 C) 15 D) 16(2)B 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps中第100-101张关于入队(Q.rear=Q.rear+1)与退队(Q.front=Qfront+1)运算规则,此外第一次入队为Q.rear=1;第一次退队为Q.front=1。
并假定循环队列最大个数为maxsize,其相应存储空间为1: maxsize,则循环队列的入队与退队图例和运算后元素个数的确定原则如下:循环队列中的元素个数或称队列长度通用计算公式:(Q.rear-Q.front+ maxsize)% maxsize 例如,Q.rear=20,Q.front=15,则循环队列中的元素个数=(20-15+35)%35=5;Q.rear=40,Q.front=15,则循环队列中的元素个数=(40-15+35)%35=25;本题根据Q.rear=Q.front=15,maxsize=35,则循环队列中元素个数=(15-15+35)%35=0或35;(3)下列关于栈的叙述中,正确的是A) 栈底元素一定是最后入栈的元素B) 栈操作遵循先进后出的原则C) 栈顶元素一定是最先入栈的元素D) 以上三种说法都不对(3)B 【解析】见/uuxzhang上全国计算机二级考试参考资料_数据结构.pps中第63张幻灯片说明:栈元素入、退原则:先进后出(FILO)或后进先出(LIFO)。
2012年9月份全国计算机等级考试二级C语言笔试+上机题库(全)一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图B)N-S图C)结构图D)数据流图(2)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并B)自然连接C)笛卡尔积D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF Case D)2a, DO, sizeof(13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b;D)double(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是A)409 B)277 C)1 D)91(18)当变量c的值不为2、4、6时,值也为"真"的表达式是A)(c==2)||(c==4)||(c==6)B)(c>=2&& c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&& c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错B)3,5,3 C)3,5,5 D)3,5,7(20)有以下程序#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break;case 3:a++; b++;}printf("a=%d,b=%d\n",a,b);}程序的运行结果是A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1 (21)下列程序的输出结果是#include "stdio.h"main(){ int i,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3 B)4 C)1 D)2(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};(25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd (26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序的输出结果是A)69825 B)63825 C)6385 D)(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);(28)以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#define MAX 是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名B)PER是结构体类型名C)typedef struct 是结构体类型D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′}; C)char a={′A′,′B′,′C′};D)int a[5]="0123";(32)有以下程序#include<string.h>main(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D) 由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include <stdio.h>#include <string.h>for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}}main()fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#include <stdio.h>{ int y;if(x==0||x==1) return(3);-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序的运行结果是A)0 B)9 C)6 D)8(35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67 B)0 C)字符′C′的地址D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。
2007年4月全国计算机等级考试二级JAVA笔试试题及答案一、选择题(1)已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为A.GEDHFBCAB.DGEBHFCAC.ABCDEFGHD.ACBFEDHG(2)树是结点的集合,它的根结点数目是A.有且只有1B.1或多于1C.0或1D.至少2(3)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A.e3,e1,e4,e2B.e2,e4,e3,e1C.e3,e4,e1,e2D.任意顺序(4)在设计程序时,应采纳的原则之一是A.不限制goto语句的使用B.减少或取消注解行C.程序越短越好D.程序结构应有助于读者理解(5)程序设计语言的基本成分是数据成分、运算成分、控制成分和A.对象成分B.变量成分C.语句成分D.传输成分(6)下列叙述中,不属于软件需求规格说明书的作用的是A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析(7)下列不属于软件工程的3个要素的是A)工具B.过程C.方法D.环境(8)单个用户使用的数据视图的描述称为A.外模式B.概念模式C.内模式D.存储模式(9)将E-R图转换到关系模式时,实体与联系都可以表示成A.属性B.关系C.键D.域(10)SQL语言又称为A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言(11)下列哪个选项是合法的标识符?A.123B._nameC.classD.1first(12)下列哪个选项是Java调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试?A.java.exeB.javadoc.exeC.jdb.exeD.javaprof.exe(13)下列的哪个选项可以正确用以表示八进制值8?A.0x8B.0x10C.08D.010(14)下列的哪个赋值语句是不正确的?A.float f = 11.1;B.double d = 5.3E12;C.float d = 3.14f ;D.double f=11.1E10f;(15)下列的哪个赋值语句是正确的?A.char a=12;B.int a=12.0;C.int a=12.0f;D.int a=(int)12.0;(16)给出下列的代码,哪行在编译时可能会有错误?①public void modify(){②int i, j, k;③i = 100;④while (i > 0 ){⑤j = i * 2;⑥System.out.println (" The value of j is " + j );⑦k = k + 1;⑧}⑨}A.line 4B.line 6C.line 7D.line 8(17)下列关于继承的哪项叙述是正确的?A.在java中允许多重继承B.在java中一个类只能实现一个接口C.在java中一个类不能同时继承一个类和实现一个接口D.java的单一继承使代码更可靠(18)下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?A.privateB.无修饰符C.publicD.protected(19)给出下列代码,如何使成员变量m 被方法fun()直接访问?class Test{private int m;public static void fun(){ m...}}A.将private int m 改为protected int mB.将private int m 改为public int mC.将private int m 改为static int mD.将private int m 改为int m(20)已知有下列类的说明,则下列哪个语句是正确的?public class Test{private float f = 1.0f;int m = 12;static int n=1;public static void main(String arg[]){ //f=3;Test t = new Test();} }A.t.f;B.this.n;C.Test.m;D.Test.f;(21)给出下列代码,则数组初始化中哪项是不正确的?byte[]array1,array2[];byte array3[][];byte [][]array4;A.array2 = array1B.array2=array3C.array2=array4D.array3=array4(22)下列代码的执行结果是public class Test{public int aMethod(){static int i=0;i++;System.out.println(i);}public static void main(String args[]){Test test = new Test();test.aMethod();}}A.编译错误B.0C.1D.运行成功,但不输出(23)下列关于内部类的说法不正确的是A.内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用B.内部类可以使用它所在类的静态成员变量和实例成员变量C.内部类不可以用abstract修饰符定义为抽象类D.内部类可作为其他类的成员,而且可访问它所在类的成员(24)顺序执行下列程序语句后,则b的值是String a="Hello";String b=a.substring(0,2);A.HelloB.helloC.HelD.null(25)在oneMethod()方法运行正常的情况下,程序段将输出什么?public void test(){try { oneMethod();System.out.println("condition 1");} catch (ArrayIndexOutOfBoundsException e){System.out.println("condition 2");} catch(Exception e){System.out.println("condition 3");} finally{System.out.println("finally");}}A.condition 1B.condition 2C.condition 3D.condition 1finally(26)下列常见的系统定义的异常中,哪个是输入、输出异常?A.ClassNotFoundExceptionB.IOExceptionC.FileNotFoundExceptionD.UnknownHostException(27)下列哪个不是nio包的新特点?A.内存映射技术B.文件锁定C.字符及编码D.阻塞I/O(28)下列哪个选项是正确计算42度(角度)的余弦值?A.double d=Math.cos(42);B.double d=Math.cosine(42);C.double d=Math.cos(Math.toRadians(42)); D.double d=Math.cos(Math.toDegrees(42));(29)下列InputStream类中哪个方法可以用于关闭流?A.skip()B.close()C.mark()D.reset()(30)下列方法中哪个是执行线程的方法?A.run()B.start()C.sleep()D.suspend()(31)下列关于Frame类的说法不正确的是A.Frame是Window类的直接子类B.Frame对象显示的效果是一个窗口C.Frame被默认初始化为可见D.Frame的默认布局管理器为BorderLayout(32)下列Java常见事件类中哪个是鼠标事件类?A.InputEventB.KeyEventC.MouseEventD.WindowEvent(33)在Applet的关键方法中,下列哪个方法是关闭浏览器以释放Applet占用的所有资源?A.init()B.start()C.paint()D.destroy()(34)下列哪个是面向大型企业级用容器管理专用构件的应用平台?A.J2EEB.J2MEC.J2SED.J2DE(35)下列哪个选项的java源文件代码片段是不正确的?A.package testpackage;public class Test{ }B.import java.io.*;package testpackage;public class Test{ }C.import java.io.*;class Person{ }public class Test{ }D.import java.io.*;import java.awt.*;public class Test{ }二、填空题(1)数据结构分为逻辑结构与存储结构,线性链表属于。
2012年计算机二级考试真题卷(1)•本卷共分为1大题50小题,作答时刻为180分钟,总分100分,60分及格。
一、单项挑选题(共50题,每题2分。
每题的备选项中,只要一个最契合题意)1.以下程序段运转后屏幕输出为____charstr[80];strcpy(str,"hello");printf("%d",strlen(str));A:5B:6C:7D:80参阅答案:A2.设X="11”,Y="1122",下列表达式成果为假的是A:NOT(X==y)AND(X$y)B:NOT(X$Y)OR(X◇Y)C:NOT()(X>=Y)D:NOT(X$Y)参阅答案:D3.设有一共用体变量界说如下union data{ longw;float x;int y;char z;};union data beta;履行下列句子后,正确的共用体变量beta的值是beta.w=123456;beta.y=888;beta.x=3.1416;beta.z=’x’; A:123456B:888C:3.1416D:’x’参阅答案:D4.Modify Command指令树立的文件的默许扩展名是____ A:prgB:appC:cmdD:exe参阅答案:A5.在窗体上画一个List1的列表框,一个称号为Label1的标签,列表框中显现若干个项目,当单击列表框中的某个项目时,在标签中显现被选中的项目的称号,下列能正确完结上述操作的程序是____A:)Private Sub List1_Click()Label1.Caption = List1.ListIndex End SubB:)Private Sub List1_Click() =List1.ListIndex End SubC:)Private Sub List1_Click() =List1.Text End SubD:)Private Sub List1_Click()Label1.Caption = List1.Text End Sub参阅答案:D6.文本框取得焦点时,能触发KeyPress事情的操作是____A:选定文本框中内容B:双击文本框C:按下键盘上的某个键D:单击文本框参阅答案:C7.Int(100*Rnd____)+1产生的随机整数的闭区间是____A:[0,99 ]B:[1,100]C:[0,100]D:[1,99]参阅答案:B8.假如 X是一个正的实数,将千分位四舍五入,保存两位小数的表达式是____A:0.01*Int(X+0.05)B:0.01*Int(100(X+0.005))C:0.01*Int(100*(X+0.05))D:0.01*Int(X+0.005)参阅答案:B9.设有以下句子int a=1,b=2,c;c=a^(b<<2);履行后,C的值为A:6B:7C:8D:9参阅答案:D10.以下程序段运转的成果为____ Dim m(10),s : s=0For I=1 to 5 m(I)=I s=s+m(I) Next I Print sA:5B:10C:15D:20参阅答案:C11.Windows的菜单项前带有对勾符号的表明____A:挑选该项将翻开一个下拉菜单B:挑选该项将翻开一个对话框C:该项是复选项且被选中D:该项是单选项且被选中参阅答案:C12.在窗体上画一个文本框和一个计时器控件,称号分别为Text1和Timer1,在特点窗口中把计时器的Interval特点设置为1000,Enabled特点设置为False,程序运转后,假如单击指令按钮,则每隔一秒钟在文本框中显现一次当时的时刻。
2012 年9 月笔试真卷及答案详解第1 页(共12 页)2012年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90 分钟,满分100 分)一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列链表中,其逻辑结构属于非线性结构的是A)双向链表B)带链的栈C)二叉链表D)循环链表(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。
现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A)20 B)0 或35C)15 D)16(3)下列关于栈的叙述中,正确的是A)栈底元素一定是最后入栈的元素B)栈操作遵循先进后出的原则C)栈顶元素一定是最先入栈的元素D)以上三种说法都不对(4)在关系数据库中,用来表示实体间联系的是A)网状结构B)树状结构C)属性D)二维表(5)公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。
则实体部门和职员间的联系是A)1:m联系B)m:n 联系C)1:1 联系D)m:1 联系(6)有两个关系R和S如下:R SA B C A B Ca 1 2 c 3 1b 2 1c 3 1则由关系R得到关系S的操作是A)自然连接B)并C)选择D)投影(7)数据字典(DD)所定义的对象都包含于A)软件结构图B)方框图C)数据流图(DFD图)D)程序流程图(8)软件需求规格说明书的作用不包括A)软件设计的依据B)软件可行性研究的依据C)软件验收的依据D)用户与开发人员对软件要做什么的共同理解(9)下面属于黑盒测试方法的是A)边界值分析B)路径覆盖C)语句覆盖D)逻辑覆盖(10)下面不属于软件设计阶段任务的是A)制定软件确认测试计划B)数据库设计C)软件总体设计D)算法设计2012 年9 月笔试真卷及答案详解第2 页(共12 页)(11)以下叙述中正确的是A)在C语言程序中,main 函数必须放在其他函数的最前面B)每个后缀为.C的C语言源程序都可以单独进行编译C)在C语言程序中,只有main 函数才可单独进行编译D)每个后缀为.C的C语言源程序都应该包含一个main函数(12)C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是A)预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义B)用户标识符可以由字母和数字任意顺序组成C)在标识符中大写字母和小写字母被认为是相同的字符D)关键字可用作用户标识符,但失去原有含义(13)以下选项中表示一个合法的常量是(说明:符号□表示空格)A)9□9□9 B)0Xab C)123E0.2 D)2.7e(14)C语言主要是借助以下哪个功能来实现程序模块化A)定义函数B)定义常量和外部变量C)三种基本结构语句D)丰富的数据类型(15)以下叙述中错误的是A)非零的数值型常量有正值和负值的区分B)常量是在程序运行过程中值不能被改变的量C)定义符号常量必须用类型名来设定常量的类型D)用符号名表示的常量叫符号常量(16)若有定义和语句:int a,b; scanf("%d,%d",&a,&b); 以下选项中的输入数据,不能把值3 赋给变量a、5 赋给变量b 的是A)3,5, B)3,5,4 C)3 ,5 D)3,5(17)C语言中char 类型数据占字节数为A)3 B)4 C)1 D)2(18)下列关系表达式中,结果为“假”的是A)(3+4)>6 B)(3!=4)>2 C)3<=4||3 D)(3<4)==1(19)若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch 语句是A)switch(a+9) B)switch a*b{ case c1:y=a-b; { case 10:x=a+b;case c1:y=a+b; default :y=a-b;} }C)switch(a+b) D)switch (a*b+b*b){ case1 : case3:y=a+b;break; { default :break;case0 : case4:y=a-b; case 3:y=a+b; break;} case 2:y=a-b; break;}(20)有以下程序# include <stdio.h>main(){int a=-2,b=0;while(a++&&++b);printf("%d,%d\n",a,b);}程序运行后的输出结果是A)1,3 B)0,2 C)0,3 D)1,2(21)设有定义:int x=0,*p;,立即执行以下语句,正确的语句是A)p=x; B)*p=x; C)p=NULL; D)*p=NULL;2012 年9 月笔试真卷及答案详解第3 页(共12 页)(22)下列叙述中正确的是A)可以用关系运算符比较字符串的大小B)空字符串不占用内存,其内存空间大小是0C)两个连续的单引号是合法的字符常量D)两个连续的双引号是合法的字符串常量(23)有以下程序#include <stdio.h>main(){char a='H';a=(a>='A'&&a<='Z')?(a-'A'+'a'):a;printf("%c\n",a);}程序运行后的输出结果是A)A B)a C)H D)h(24)有以下程序#include <stdio.h>int f(int x);main(){ int a,b=0;for(a=0;a<3;a++){b=b+f(a);putchar('A'+b);}}int f(int x){return x*x+1;}程序运行后的输出结果是A)ABE B)BDI C)BCF D)BCD(25)设有定义:int x[2][3];,则以下关于二维数组x 的叙述错误的是A)x[0]可看作是由3 个整型元素组成的一维数组B)x[0]和x[1]是数组名,分别代表不同的地址常量C)数组x 包含6 个元素D)可以用语句x[0]=0;为数组所有元素赋初值0(26)设变量p 是指针变量,语句p=NULL;,是给指针变量赋NULL 值,它等价于A)p=""; B)p='0'; C)p=0; D)p='';(27)有以下程序#include <stdio.h>main(){ int a[]={10,20,30,40},*p=a,i;for(i=0;i<=3;i++){a[i]=*p;p++;}printf("%d\n",a[2]);}A)30 B)40 C)10 D)20(28)有以下程序#include <stdio.h>#define N 3void fun(int a[][N],int b[]){ int i,j;for(i=0;i<N;i++)2012 年9 月笔试真卷及答案详解第4 页(共12 页){ b[i]=a[i][0];for(j=1;j<N;j++)if(b[i]<a[i][j]) b[i]=a[i][j];}}main(){ int x[N][N]={1,2,3,4,5,6,7,8,9},y[N],i;fun(x,y);for(i=0;i<N;i++) printf("%d,",y[i]);printf("\n");}A)2,4,8 B)3,6,9 C)3,5,7 D)1,3,5(29)有以下程序(strcpy 为字符串复制函数,strcat 为字符串连接函数)#include <stdio.h>#include <string.h>main(){ char a[10]="abc",b[10]="012",c[10]="xyz";strcpy(a+1,b+2);puts(strcat(a,c+1));}程序运行后的输出结果是A)a12xyz B)12yz C)a2yz D)bc2yz(30)以下选项中,合法的是A)char str3[]={'d', 'e', 'b', 'u', 'g', '\0'};B)char str4; str4="hello world";C)char name[10]; name="china";D)char str1[5]= "pass",str2[6]; str2=str1;(31)有以下程序#include <stdio.h>main(){ char *s="12134";int k=0,a=0;while(s[k+1]!='\0'){ k++;if(k%2==0){a=a+(s[k]-'0'+1);continue;}a=a+(s[k]-'0');}printf("k=%d a=%d\n",k,a);}程序运行后的输出结果是A)k=6 a=11 B)k=3 a=14 C)k=4 a=12 D)k=5 a=15 (32)有以下程序#include <stdio.h>main(){ char a[5][10]={"one","two","three","four","five"};int i,j;char t;for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(a[i][0]>a[j][0])2012 年9 月笔试真卷及答案详解第5 页(共12 页){ t=a[i][0];a[i][0]=a[j][0];a[j][0]=t;}puts(a[1]);}程序运行后的输出结果是A)fwo B)fix C)two D)owo(33)有以下程序#include <stdio.h>int a=1,b=2;void fun1(int a, int b){ printf(“%d%d”,a,b); }void fun2( ){ a=3; b=4; }main(){ fun1(5,6); fun2();printf("%d%d\n",a,b);}程序运行后的输出结果是A)1 2 5 6 B)5 6 3 4 C)5 6 1 2 D)3 4 5 6(34)有以下程序#include <stdio.h>func(int n){ static int num=1;num=num+n;printf("%d",num);}void main(){ func(3);func(4);printf("\n"); }程序运行后的输出结果是A)4 8 B)3 4 C)3 5 D)4 5(35)有以下程序#include <stdio.h>#include <stdlib.h>fun(int *p1,int *p2,int *s){ s=(int*)malloc(sizeof(int));*s=*p1+*p2;free(s);}void main(){ int a=1,b=40,*q=&a;fun(&a,&b,q);printf("%d\n",*q);}程序运行后的输出结果是A)42 B)0 C)1 D)41(36)有以下程序#include <stdio.h>struct STU{char name[9];char sex;int score[2];};void f(struct STU a[]){ struct STU b={"zhao",'m',85,90};a[1]=b;2012 年9 月笔试真卷及答案详解第6 页(共12 页)}main(){ struct STU c[2]={{"Qian",'f',95,92},{"Sun",'m',98,99}};f(c);printf("%s,%c,%d,%d,",c[0].name,c[0].sex,c[0].score[0],c[0].score[1]); printf("%s,%c,%d,%d\n,",c[1].name,c[1].sex,c[1].score[0],c[1].score[1]); }程序运行后的输出结果是A)Zhao,m,85,90,Sun,m,98,99 B)Zhao,m,85,90, Qian,f,95,92C)Qian,f,95,92,Sun,m,98,99 D)Qian,f,95,92,Zhao,m,85,90(37)以下叙述中错误的是A)可以用trpedef 说明的新类型名来定义变量B)trpedef 说明的新类型名必须使用大写字母,否则会出编译错误C)用trpedef 可以为基本数据类型说明一个新名称D)用trpedef 说明新类型的作用是用一个新的标识符来代表已存在的类型名(38)以下叙述中错误的是A)函数的返回值类型不能是结构体类型,只能是简单类型B)函数可以返回指向结构体变量的指针C)可以通过指向结构体变量的指针访问所指结构体变量的任何成员D)只要类型相同,结构体变量之间可以整体赋值(39)若有定义语句int b=2; 则表达式(b<<2)/(3||b)的值是A)4 B)8 C)0 D)2(40)有以下程序#include <stdio.h>main(){ FILE *fp;int i,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w+");for(i=0;i<6;i++) fprintf(fp,"%d\n",a[i]);rewind(fp);for(i=0;i<6;i++) fscanf(fp,"%d",&a[5-i]);fclose(fp);for(i=0;i<6;i++) printf("%d",a[i]);}程序运行后的输出结果是A)4,5,6,1,2,3 B)1,2,3,3,2,1 C)1,2,3,4,5,6 D)6,5,4,3,2,1二、填空题(每空2 分,共30 分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
2012年9月全国计算机等级考试二级笔试试卷Visual Basic语言程序设计一、选择题1、下列链表中,其逻辑结构属于非线性结构的是A、二叉链表B、循环链表C、双向链表D、带链的栈2、设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。
现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A、15B、16C、20D、0或353、下列关于栈的叙述中,正确的是A、栈底元素一定是最后入栈的元素B、栈顶元素一定是最先入栈的元素C、栈操作遵循先进后出的原则D、以上三种说法都不对4、在关系数据库中,用来表示实体间联系的是A、属性B、二维表C、网状结构D、树状结构5、公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,则实体部门和职员间的联系是A、1:1联系B、m:1联系C、1:m联系D、m:n联系6、有两个关系 R和S如下:则由关系R得到关系S的操作是A、选择B、投影C、自然连接D、并7、数据字典(DD)所定义的对象都包含于A、数据流图(DFD图)B、程序流程图C、软件结构图D、方框图8、软件需求规格说明书的作用不包括A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解C、软件设计的依据D、软件可行性研究的依据9、下面属于墨盒测试的方法是A、语句覆盖B、逻辑覆盖C、边界值分析D、路径覆盖10、下面不属于软件设计阶段任务的是A、软件总体设计B、算法设计C、制定软件确认测试计划D、数据库设计11、以下叙述中错误的是A、.vbp文件是工程文件,一个工程可以包含.bas文件B、.frm文件是窗体文件,一个窗体可以包含.bas文件C、.vbp文件是工程文件,一个工程可以由多个.frm文件组成D、.vbg文件是工程组文件,一个工程组可以由多个工程组成12、以下叙述中错误的是A、在Visual Basic的窗体中,一个命令按钮是一个对象B、事件是能够被对象识别的状态变化或动作C、事件都是由用户的键盘操作或鼠标操作触发的D、不同的对象可以具有相同的方法13、设x=3.3,y=4.5,表达式x-Int(x)+Fix(y)的值是A、3.5B、4.8C、4.3D、4.714、窗体上有一个名称为Command1的命令按钮,其中部分代码如下:Private Sub Command1_Click( )Dim a(10) As IntegerDim n As Integer……Call calc(a,n)……End Subcalc过程的的首行应该是A、Sub calc(x() As Integer,n As Integer)B、Public Sub calc(x() As Integer)C、Private Sub calc(a(n) As Integer,n As Integer)D、Public Sub calc(a As Integer, n As Integer)15、设有如下程序Sub f(x As Integer,ByVal y As Integer)x=2*xy=y+xEnd SubPrivate Sub Command1_Click()Dim a As Integer , b As Integera=6 ; b=35call f(a,b)print a,bEnd Sub程序运行后,单击命令按钮Command1,输出结果为A、6 47B、12 47C、6 35D、12 3516、以下叙述中正确的是A、窗体及窗体上所有控件的事件过程代码都保存在窗体文件中B、在工程中只有启动窗体可以建立菜单C、窗体名称必须与窗体文件的名称相同D、程序一定是从某个窗体开始执行的17、窗体上有一个名称为Command1的命令按钮,其单击事件过程代码如下:Private Sub Command1_Click()Static x As Variantn=0x=array(1,2,3,4,5,6,7,8,9,10)While n<=4x(n)=x/(n+5)Print x(n);N=n+1WendEnd Sub运行程序,单击命令按钮Command1,窗体上显示的是A、12345B、678910C、23456D、6234518、窗体上有一个名称为Label1的标签和一个名称为Command1的命令按钮,命令按钮的单击事件过程如下:Private Sub Command1_click()x=InputBox(“输入x: ”,,0)y=InputBox(“输入y: ”,,0)Label1.caption=x+yEnd Sub运行程序后,单击命令按钮,在输入对话框中分别输入2,3,运行的结果是A、程序运行有错误,数据类型不匹配B、程序运行有错误,InputBox函数的格式不对C、在Label1中显示5D、在Label1中显示2519、窗体上有一个名称为Shape1的形状控件和由三个命令按钮组成的名称cmdDraw的控件数组。
2012年9月全国计算机等级考试二级笔试试卷Visual FoxPro数据库程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)(5)公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,则实体部门和职员间的联系是A)m:1联系 B)1:m联系 C)1:1联系 D)m:n联系(6)有两个关系R和S 如下:则由关系R得到关系S的操作是A)自然连接 B)选择 C)并 D)投影(10)下面不属于软件设计阶段任务的是A)数据库设计 B)算法设计C)软件总体设计 D)制定软件确认测试计划(11)不属于数据管理技术发展三个阶段的是A)文件系统管理阶段 B)高级文件管理阶段 C)手工管理阶段 D)数据库系统阶段(12)以下哪些术语描述的是属性的取值范围A)字段 B)域 C)关键字 D)元组(13)创建新项目的命令是A)CREATE NEW ITEM B)CREATE ITEMC)CREATE NEW D)CREATE PROJECT(14)在项目管理器的“数据”选项卡中按大类划分可以管理A)数据库、自由表和查询 B)数据库 C)数据库和自由表 D)数据库和查询(15)产生扩展名为.qpr文件的设计器是A)视图设计器 B)查询设计器C)表单设计器 D)菜单设计器(16)在设计表单时定义、修改表单数据环境的设计器是A)数据库设计器 B)数据环境设计器 C)报表设计器 D)数据设计器(17)以下正确的赋值语句是A)A1,A2,A3=10 B)SET 10 TO A1,A2,A3C)LOCAL 10 TO A1,A2,A3 D)STORE 10 TO A1,A2,A3(18)将当前表中当前记录的值存储到指定数组的命令是A)GATHER B)COPY TO ARRAY C)CA TTER D)STORE TO ARRAY(19)表达式AT(“IS”,”THIS IS A BOOK”)的运行结果是A).T. B)3 C)1 D)出错(20)在Visual FoxPro中,建立数据库会自动产生扩展名为A)DBF的一个文件 B)DBC、DCT和DCX三个文件C)DBC和DCT两个文件 D)DBC和DCX两个文件(21)以下关于字段有效性规则叙述正确的是A)自由表和数据库表都可以设置 B)只有自由表可以设置C)只有数据库表可以设置 D)自由表和数据库表都不可以设置(22)建立表之间临时关联的命令是A)CREATE RELATION TO…… B)SET RELATION TO……C)TEMP RELATION TO…… D)CREATE TEMP TO……(23)在Visual FoxPro的SQL查询中,为了计算某数值字段的平均值应使用函数A)A VG B)SUM C)MAX D)MIN(24)在Visual FoxPro的SQL查询中,用于分组的短语是A)ORDER BY B)HA VING BY C)GROUP BY D)COMPUTE BY(25)在Visual FoxPro中SQL支持集合的并运算,其运算符是A)UNION B)AND C)JOIN D)PLUS(26)在Visual FoxPro的SQL查询中,为了将查询结果存储到临时表应该使用短语A)INTO TEMP B)INTO DBF C)INTO TABLE D)INTO CURSOR(27)以下不属于SQL数据操作的语句是A)UPDATE B)APPENDC)INSERT D)DELETE(28)如果已经建立主关键字为仓库号的仓库关系,现在用如下命令建立职工关系CREATE TABLE 职工(职工号 C(5) PRIMARY KEY;仓库号 C(5)REFERENCE 仓库;工资 I)则仓库和职工之间的联系通常为A)多对多联系 B)多对一联系C)一对一联系 D)一对多联系(29)查询和视图有很多相似之处,下列描述中正确的是A)视图一经建立就可以像基本表一样使用 B)查询一经建立就可以像基本表一样使用C)查询和视图都不能像基本表一样使用 D)查询和视图都能像基本表一样使用(30)在DO WHILE…ENDDO循环结构中LOOP语句的作用是A)退出循环,返回到程序开始处B)终止循环,将控制转移到基本循环结构ENDDO后面的第一条语句继续执行C)该语句在DO WHILE…ENDDO循环结构中不起任何作用D)转移到DO WHILE语句行,开始下一次判断和循环(31)在表单上说明复选框是否可用的属性是A)Visible B)value C)Enabled D)Alignment(32)为了在报表的某个区域显示当前日期,应该插入一个A)域控件 B)日期控件 C)标签控件 D)表达式控件第33-35题使用如下两个表:部门(部门号,部门名,负责人,电话)职工(部门号,职工号,姓名,性别,出生日期)(33)可以正确查询1964年8月23日出生的职工信息的SQL SELECT命令是A)SELECT * FROM 职工 WHERE 出生日期=1964-8-23B)SELECT * FROM 职工 WHERE 出生日期=”1964-8-23”C)SELECT * FROM 职工 WHERE 出生日期={^1964-8-23}D)SELECT * FROM 职工 WHERE 出生日期={”1964-8-23”}(34)可以正确查询每个部门年龄最长者的信息(要求得到的信息包括部门名和最长者的出生日期)的SQL SELECT命令是A)SELECT 部门名,MAX(出生日期) FROM 部门JOIN职工;ON 部门.部门号=职工.部门号 GROUP BY 部门名B)SELECT 部门名,MIN(出生日期) FROM 部门JOIN职工;ON 部门.部门号=职工.部门号 GROUP BY 部门名C)SELECT 部门名,MIN(出生日期) FROM 部门JOIN职工;WHERE 部门.部门号=职工.部门号 GROUP BY 部门名D)SELECT 部门名,MAX(出生日期) FROM 部门JOIN职工;WHERE 部门.部门号=职工.部门号 GROUP BY 部门名(35)可以正确查询所有目前年龄在35岁以上的职工信息(姓名、性别和年龄)的SQL SELECT命令是A)SELECT 姓名,性别,YEAR(DATE())-YEAR(出生日期) 年龄 FROM 职工;WHERE 年龄>35B)SELECT 姓名,性别,YEAR(DATE())-YEAR(出生日期) 年龄 FROM 职工;WHERE YEAR(出生日期)>35C)SELECT 姓名,性别,年龄=YEAR(DA TE())-YEAR(出生日期) FROM 职工;WHERE YEAR(DA TE())-YEAR(出生日期)>35D)SELECT 姓名,性别,YEAR(DATE())-YEAR(出生日期) 年龄 FROM 职工;WHERE YEAR(DA TE())-YEAR(出生日期) >35二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
2012年9月全国计算机等级考试二级笔试试卷一、选择题(每小题2分,共70分)(1)下列链表种,其逻辑结构属于非线性结构的是DA)循环链表B)双向链表C)带链的栈D)二叉链表(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35,现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为C A)16 B)20 C)0或35 D)15(3)下列关于栈的叙述中,正确的是BA)栈顶元素一定是最先入栈的元素B)栈操作遵循先进后出的原则C)栈底元素一定是最后入栈的元素D)以上三种说法都不对(4)在关系数据库中,用来表示实体间联系的是AA)二维表B)树状结构C)属性D)网状结构(5)公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,则实体部门和职员间的联系是BA)m:1联系B)1:m联系C)1:1联系D)m:n联系A)自然连接B)选择C)并D)投影(7)数据字典(DD)所定义的对象都包含于BA)程序流程图B)数据流图(DFD图)C)方框图D)软件结构图(8)软件需求规格说明书的作用不包括 AA)软件可行性研究的依据B)用户与开发人员对软件要做什么的共同理解s C)软件验收的依据D)软件设计的依据(9)下面属于黑盒测试方法的是DA)逻辑覆盖B)语句覆盖C)路径覆盖D)边界值分析(10)下面不属于软件设计阶段任务的是DA)数据库设计B)算法设计C)软件总体设计D)制定软件确认测试计划(11)下列关于函数重载的叙述中,错误的是CA)重载函数的参数个数可以不同B)重载函数的参数类型可以不同C)重载函数的返回值类型必须不同D)重载函数的参数个数或参数类型必须有所不同(12)下列关于类成员对象构造函数调用顺序的叙述中,正确的是B A)与它们在初始化列表中顺序相同B)与它们在类中声明的顺序相同C)与析构函数的调用顺序相同D)顺序不确定(13)下列关于派生类的叙述中,错误的是DA)派生类至少要有一个基类B)派生类中包括了从基类继承的成员C)一个派生类可以作为另一个派生类的基类D)基类成员被派生类继承以后访问权限保持不变(14)下列关于运算符重载的叙述中,正确的是BA)通过运算符重载机制可以为C++语言扩充新的运算符B)运算符重载的作用是使已有的运算符作用于类的对象C)重载运算符的操作数类型可以全部为基本类型D)所有运算符都可以重载(15)下列关于模板的叙述中,错误的是CA)调用模板函数时,有时可以省略模板实参B)函数模板的每个实例就是一个函数定义C)类模板的每个实例就是一个类定义D)类模板的实例是一个类对象(16)下列关于输入输出流的叙述中,正确的是AA)一个文件流可以与一个数据文件相联系B)cin是专门从键盘输入数据的输入流类C)流运算符<<用来从输入流中读取数据D)宽度设置的效果永久有效(17)下列选项中可以做C++标识符的是AA)_256 B)fat/pig C)delete D)5char(18)关键字unsigned不能修饰的类型是AA)char B)int C)float D)long int(19)有如下程序:#include<iostream>using namespace std;int main(){char a;cin>>a;if(a='*') cout<<"***"<<endl;else cout<<"###"<<endl;return 0;} BA)*** B)### C)***### D)无输出(20)下列对一维数组a的定义中,语法正确的是DA)int a(10) B)int n=7,a[n]; C)int n;cin>>n;int a[n]; D)const int size=10;int a[size];(21)假设函数fun已经定义,其原型为”void fun(int a,int b=7,char *p=”**”);”,下列函数调用中错误的是CA)fun(5) B)fun(5,8) C)fun(6,”##”) D)fun(0,0.”==”)(22)已经函数print()没有返回值,如果在类中将之声明为常成员函数,正确的是AA)void print()const; B)const void print();C)void const print(); D)void print(const);(23)已知基类Employees只有一个构造函数,其定义如下:Employee::Employee(int n):id(n){}Manager是Employees的派生类,则下列对Manager的构造函数的定义中,正确的是CA)Manager::Manager(int n):id(n){}B)Manager::Manager(int n){id=n;}C)Manager::Manager(int n):Employee(n){}D)Manager::Manager(int n){Employee(n);}(24)已知将运算符“+”和“*”作为类Complete的成员函数重载,设c1和c2是类Complex的对象,则表达式c1+c2*c1等价于BA)c1.operator*(c2.operator+(c1)) B)c1.operator+(c2.operator*(c1))C)c1.operator*(c1.operator+(c2)) D)c2.operator+(c1.operator*(c1))(25)下列类模板的定义中语法格式错误的是DA)template<cl ass T>class Buffer{/*…*/};B)template<typename T>class Buffer{/*…*/};C)template<class T1,class T2>class Buffer{/*…*/};D)template<T>class Buffer{/*…*/};(26)在C++中既可以用于文件输入又可以用于文件输出的流类是A A)fstream B)ifstream C)ofstream D)iostream(27)有如下类定义:Bclass MyClass{int b;char a;double c;public:MyClass():c(0.0),b(0),a(','){}};创建这个类的对象时,数据成员的初始化顺序是A)a,b,c B)c,b,a C)b,a,c D)c,a,b(28)有如下类定义Aclass MyClass{int x;public:MyClass():x(0),y(0){}int GetX(){return x;}void SetX(int xx){x==xx;}int y;};已知obj是类MyClass的对象,下列语句中违反类成员访问控制权限的是A)obj.x; B)obj.y; C)obj.GetX(); D)obj.SetX(0);(29)有如下类定义class Test{char a; const char b;public:Test(char c){a=c;b=c;} //第1行void f(char a)const{this->a=a;} //第2行void g(char b){this->b=b;} //第3行char h()const{return a;} //第4行};编译时没有错误的行是CA)第1行B)第2行C)第3行D)第4行(30)有如下程序:#include<iostream>using namespace std;class A{public:A(){cout<,'A';}~A(){cout<<'C';}};class B:public A{public:B(){cout<<'G';}~B(){cout<<'T';}};int main(){B obj;return 0;}运行这个程序的输出结果是BA)GATC B)AGTC C)GACT D)AGCT (31)有如下程序:#include<iostream>using namespace std;class Base{public;void fun(){cout<<'B';}};class Derived:public Base{public;void fun(){ cout<<'D';}};int main(){Derived d;d.fun();return 0;}若程序的输出结果是BD,则划线处缺失的部分是CA)fun() B)Base.fun() C)Base::fun() D)Base->fun()(32)有如下程序:#include<iostream>using namespace std;class B{public;virtual void f() {cout<<"B";}void g(){cout<<"B";}}class D;public B {public;void f(){cout<<"D";}void g(){coun<<"D";}}void h(B*p){p->f();p->g();}int main(){D obj;h(&obj);return 0;}运行这个程序的输出结果是:DA)DD B)BB C)BD D)DB(33)有如下程序:#include<iostream>#include<cstring>using namespace std;class MyString{public;char str[80];MyString(const char*s) {strcpy(str,s);}MyString&operator+=(MyString a){strcat(str,a.str);return*this;}};ostream&operator<<(ostream&s,const MyString&z){return s << z.str}int main(){MyString x("abc"),y("cde");cout<<(x+=y)<<endl;return 0;}运行这个程序的输出结果是DA)abc B)cde C)abcde D)abccde(34)有如下程序:A#include<iostream>#include<iomanip>using namespace std;int main(){cout<<setfill('#')<<setw(4)<<"OK"<<123<<endl;return 0;}A)##OK123 B)##OK#123 C)OK##123 D)OK##123#(35)有如下语句序列:ifstream infile("DATA.DAT");if(infile.good())cout<<"A";else{cout<<"B";ofstream outfile("DATA.DAT");if(outfile.fail())cout<<"C";else cout<<"D";}若执行这个语句序列显示的是BD,则说明文件DATA.DAT CA)以读方式打开成功B)以读方式打开失败,但以写方式打开成功C)以读方式打开失败,以写方式打开也失败D)以读方式打开成功,以写方式打开也成功二、填空题(每空2分,共30分)(1)一棵二叉树共有47个结点,其中有23个度为2的结点,假设根结点在底1层,则该二叉树的深度为【1】。