2012内蒙古自治区计算机等级考试二级最新考试试题库(完整版)

合集下载

2012年9月全国计算机的等级考试二级C语言笔试试卷答案详解及解析汇报汇报

2012年9月全国计算机的等级考试二级C语言笔试试卷答案详解及解析汇报汇报

(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语言笔试真题与答案范文

2012年9月全国计算机等级考试二级C语言笔试真题与答案范文

2012年9月全国计算机(1)下列链表种,其逻辑结构属于非线性结构的是A)循环链表 B)双向链表 C)带链的栈 D)二叉链表(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35,现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A)16 B)20 C)0或35 D)15(3)下列关于栈的叙述中,正确的是A)栈顶元素一定是最先入栈的元素 B)栈操作遵循先进后出的原则C)栈底元素一定是最后入栈的元素 D)以上三种说法都不对(4)在关系数据库中,用来表示实体间联系的是A)二维表 B)树状结构 C)属性 D)网状结构(5)公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,则实体部门和职员间的联系是A)m:1联系 B)1:m联系 C)1:1联系 D)m:n联系A)自然连接 B)选择 C)并 D)投影(7)数据字典(DD)所定义的对象都包含于A)程序流程图 B)数据流图(DFD图) C)方框图 D)软件结构图(8)软件需求规格说明书的作用不包括A)软件可行性研究的依据 B)用户与开发人员对软件要做什么的共同理解C)软件验收的依据 D)软件设计的依据(9)下面属于黑盒测试方法的是A逻辑覆盖 B)语句覆盖 C)路径覆盖 D)边界值分析(10)下面不属于软件设计阶段任务的是A)数据库设计 B)算法设计C)软件总体设计 D)制定软件确认测试计划(11)以下叙述中正确的是A在C语言程序中,main函数必须放在其他函数的最前面B)每个后缀为.C的C语言源程序都可以单独进行编译C在C语言程序中,只有main函数才可单独进行编译D每个后缀为.C地点C语言源程序都应该包含一个main 函数(12)C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是A)预定义标识符(如库函数中的函数名)可用作用标识符,但失去原有含义B)用户标识符可以由字母和数字任意顺序组成在标识符中大写字母和小写字母被认为是相同的字符D)关键字可用作用户标识符,但失去原有含义(13)以下选项中表示一个合法的常量是(说明:符号 表示空格)A)9 9 9 B)0Xab C)123E0.2 D)2.7e14C语言主要是借助以下哪个功能来实现程序模块化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(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;(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++){ b[i]=a[i][0];for(j=i;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)a12cyz 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 str[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=3 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]){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;}mian(){ 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>void func(int n){ static int num=1;num=num+n; printf("%d",num)}main(){func(3); func(4); printf("\n");}程序运行后的输出结果是A)4 8 B)3 4 C)3 5 D)4 5(35)有以下程序#include <stdio.h>#include <dtdio.h>void fun(int *p1,int *p2,int *s){ s=(int*)malloc(sizeof(int));*s=*p1+*p2;free(s);}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)有以下程序void f(struct STU a[]){ struct STU b={"Zhao",'m',85,90};a[1]=b;}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,99B)Zhao,m,85,90,Qian,f,95,92C)Qian,f,95,92,Sun,m,98,99D)Qian,f,95,92,Zhao,m,85,90(37)以下叙述中错误的是A)可以用typedef说明的新类型名来定义变量B)typedef说明的新类型名必须使用大写字母,否则会出编译错误C)用typedef可以为基本数据类型说明一个新名称D)用typedef说明新类型的作用是用一个新的标识符来代表已存在的类型名(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)一棵二叉树共有47个结点,其中有23个度为2的结点,假设根结点在底1层,则该二叉树的深度为【1】。

2012年全国计算机等级考试二级VFP模拟试题及答案

2012年全国计算机等级考试二级VFP模拟试题及答案

2012年全国计算机等级考试二级VFP模拟试题及答案全国计算机等级考试二级VFP模拟试卷考试及答案第一项:单项选择题答案见最后1、下面关于运行应用程序的说法,正确的是A)APP应用程序可以在Visual FoxPro和Windows环境下运行B)EXE应用程序只能在Windows环境下运行C)EXE应用程序可以在Visual FoxPro和Windows环境下运行D)APP应用程序只能在Windows环境下运行2、调用报表格式文件pp1预览报表的命令是A)REPORT FROM PP1 PREVIEWB)DO FROM PP1 PREVIEWC)REPORT FORM PP1 PREVIEWD)DO FORM PP1 PREVIEW3、报表的数据源可以是A)自由表或其他报表B)数据库表、自由表或视图C)数据库表、自由表或查询D)表、查询或视图4、确定列表框内的某个条目是否被选定应使用的属性是A)ValueB)ColumnCountC)ListCountD)Selected5、在Visual FoxPro中,为了将表单从内存中释放(清除),可将表单中退出命令按钮的Click事件代码设置为A)Thisform.RefreshB)Thisform.DeleteC)Thisform.HideD)Thisform.release6、在Visual FoxPro中,控件分为A)容器类和控件类B)控件类和基类C)容器类和基类D)控件类的基础类7、在Visual FoxPro中,扩展名为.DBC的文件是A)数据库表文件B)表单文件C)项目文件D)数据库文件8、在下面Visual FoxPro表达式中,运算结果为字符串的是A)[125]-[100]B)[ABC]+[XYZ]=[ABCXYZ]C)CTOD([07/01/03])D)DTOC(DATE()>[07/05/03])9、下列表达式结果为.T.的是A)[湖北]=[湖北]B)[中国]<=[北京]C)'计算机'$'计算机考试'D)2*3.14<=11/210.要判断数值型变量M是否能被3整除,下面4个表达式中,错误的是A)INT(M/3)=M/3B)MOD(M,3)=0C)0=MOD(M,3)D)INT(M/3)=MOD(M,3)11.顺序执行下面命令后,屏幕显示的输出结果是TITLE=[FoxPro]LOWER(RIGHT(TITLE,3))A)foxproB)ProC)foxD)pro12.如果X=99,Y=[A],A=[telephone],则LEN(STR(X,2)+&Y)的值是A)19B)11C)5D)413.学生表的性别字段为逻辑型,男为.T.,女为.F.,顺序执行以下命令最后一条命令显示的是USE学生APPEND BLANKREPLACE 姓名WITH [王丽],性别WITH .F.IIF(性别,[男],[女])A)男B)女C).T.D).F.14.执行下述命令后,使函数EOF( )的值一定为.T. 的命令是A)REPLACE 基本工资WITH 基本工资+300B)DISPLAY FOR 基本工资>1000C)LIST WHILE 基本工资>1000D)LIST NEXT 10 FOR 基本工资>100015. 在以下四组中,每组有两个分别运算的函数或表达式,运算结果相同的是A)LEFT([FoxPro],3)与SUBSTR([FoxPro],1,3)B)YEAR(DATE( ))与SUBSTR(DTOC(DATE( )),7,2)C)VARTYPE([36-4*5])与VARTYPE(36-4*5)D)假定X=[this ],Y=[is a string]X+Y与X-Y16.在Visual FoxPro中,创建一个名为SDB.DBC的数据库文件,使用的命令是A)CREATEB)CREATE SDBC)CREATE TABLE SDBD)CREATE DATABASE SDB17.在Visual FoxPro中,表结构中的逻辑型、通用型、日期型字段的宽度由系统自动给出,它们分别为A)1,10,8B)2,8,8C)1,4,8D)4,4,818.现要从SC表中查找缺少学习成绩(G)的学生学号(S#)和课程号(C#),正确的SQL是A)SELECT S#,C# FROM SC WHERE G=0B)SELECT S#,C# FROM SC WHERE G<=0C)SELECT S#,C# FROM SC WHERE G=NULLD)SELECT S#,C# FROM SC WHERE G IS NULL19.某数据库有如下表:STOCK(股票代码,股票名称,单价,交易所),求每个交易所的平均单价的SQL命令是A)SELECT 交易所,VG(单价) FROM STOCK GROUP BY 单价B)SELECT 交易所,AVG(单价) FROM STOCK ORDER BY 单价C)SELECT 交易所,AVG(单价) FROM STOCK ORDER BY 交易所D)SELECT 交易所,AVG(单价)FROM STOCK GROUP BY 交易所20.若用如下的SQL语句创建了一个STUDENT表:CREATE TABLE STUDENT(SNO C(4) PRIMARY KEY NOT NULL,;)NAME C(8) NOT NULL,;SEX C(2),;AGE N(2))下列的SQL语句中可以正确执行的是A)INSERT INTO STUDENT VALUES('1031','王小平', '男',23)B)INSERT INTO STUDENT VALUES('1031',.NULL., '男',23)C)INSERT INTO STUDENT VALUES('1031','王小平',.NULL.,.NULL.)D)INSERT INTO STUDENT VALUES(.NULL.,'王小平','男',23)21. 在SQL中,删除表的命令是A)ERASE TABLEB)DELETE TABLEC)DROP TABLED)DELETE DBF22.下列四组操作,每组有两个分别执行的命令,执行结果相同的是A)执行STORE SPACE(10) TO XX之后,再执行LEN(XX+SPACE(5))和LEN(XX-SPACE(5))B)打开职工表文件后,执行COUNT FOR 性别=[女]和RECCOUNT()C)执行STORE [20] TO N之后,再执行M=100+&N和M=[100]+ND)打开职工表文件后,执行DELETE和DELETE()23.用“□”表示空格,连续执行以下命令之后,最后一条命令的输出结果是X=[ABC□□]Y=[XYZ]+XZ=TRIM(Y)-[LMN]LEN(Z)A)XYZABCLMNB)XYZABCL MN□□C)11D)924.在下面VISUAL FOXPRO四个关于日期或日期时间的表达式中,错误的是A){^2003.09.01 11:10:10 AM}-{^2002.09.01 11:10:10 AM}B){^2003/02/02}+15C){^2003.03.01}+{^2001.03.01}D){^2002/03/01}-{^2003/03/02}25.在Visual FoxPro中,COPY TO ABC FOR ……命令相当于完成的关系运算是A)连接B)投影C)选择D)拷贝二、多项选择题26.如果一个班只能有一个班长,而且一个班长不能同时担任其它班的班长,班级和班长两个实体之间的联系不属于A)一对一联系B)一对二联系C)多对多联系D)一对多联系27.在下列四个选项中,属于基本关系运算的是A)比较B)连接C)选择D)投影28.在Visual FoxPro中,下列选项中是常量的是A)ABCB) 1.4E+2C)"ABC"D)11/10/200229.下列四个表达式中,正确的表达式是A)DATE()+CTOD("11/20/99")B)DATE()+20C)DATE()-CTOD("11/20/99")D)DATE()-2030.如果内存变量C存放的字符为"A"或"a"时,下列表达式的值为.F.的是A)C<>"A".OR.C<>" a"B)C<>"A" AND C<>" a"C)NOT(C="A" OR C="a")D)NOT(C="A" AND C="a")三、判断题31.相继执行以下两条命令:M=[10+20] 和?M,屏幕上显示的输出结果是30。

2012年3月全国计算机等级考试二级Access真题及答案

2012年3月全国计算机等级考试二级Access真题及答案

2012年3月全国计算机等级考试二级笔试试卷Access数据库程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A) 循环队列是队列的一种链式存储结构B) 循环队列是一种逻辑结构C) 循环队列是非线性结构D)循环队列是队列的一种顺序存储结构(2)下列叙述中正确的是A)栈是一种先进先出的线性表B)队列是一种后进先出的线性表C)栈与队列都是非线性结构D)以上三种说法都不对(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为A)4 B)10 C) 6 D)16(4)下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式B)外模式C)概念模式D)逻辑模式(5)在满足实体完整性结束的条件下A)一个关系中必须有多个候选关键字B)一个关系中只能有一个候选关键字C)一个关系中应该有一个或多个候选关键字D)一个关系中可以没有候选关键字(6)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)差B)自然连接C)交D)并(7)软件生命周期中的活动不包括A)需求分析B)市场调研C)软件测试D)软件维护(8)下面不属于需求分析阶段任务的是A)确定软件系统的功能需求B)制定软件集成测试计划C)确定软件系统的性能需求D)需求规格说明书评审(9)在黑盒测试方法中,设计测试用例的主要根据是A)程序内部逻辑B)程序流程图C)程序数据结构D)程序外部功能(10)在软件设计中不使用的工具是A)数据流图(DFD图)B)PAD图C)系统结构图D)程序流程图(11)在Access数据库中,用来表示实体的是A)表B)记录C)字段D)域(12)在学生表中要查找年龄大于18岁的男学生,所进行的操作属于关系运算中的A)投影B)选择C)联接D)自然联接(13)假设学生表已有年级、专业、学号、姓名、性别和生日6个属性,其中可以作为主关键字的是A)姓名B)学号C)专业D)年级(14)下列关于索引的叙述中,错误的是A)可以为所有的数据类型建立索引B)可以提高对表中记录的查询速度C)可以加快对表中记录的排序速度D)可以基于单个字段或多个字段建立索引(15)若查找某个字段中以字母A开头且以字母Z结尾的所有记录,则条件表达式应设置为A)Like “A$Z”B)Like “A#Z”C)Like “A*Z”D)Like “A?Z”(16)在学生表中建立查询,“姓名”字段的查询条件设置为“Is Null”,运行该查询后,显示的记录是A)姓名字段为空的记录B)姓名字段中包含空格的记录C)姓名字段不为空的记录D)姓名字段中不包含空格的记录(17)若要在一对多的关联关系中,“一方”原始记录更改后,“多方”自动更改,应启用A)有效性规则B)级联删除相关记录C)完整性规则D)级联更新相关记录(18)教师表的“选择查询”设计视图如下,则查询结果是A)显示教师的职称、姓名和同名教师的人数B)显示教师的职称、姓名和同样职称的人数C)按职称的顺序分组显示教师的姓名D)按职称统计各类职称的教师人数(19)在教师表中“职称”字段可能的取值为:教授、副教授、讲师和助教,要查找职称为教授或副教授的教师,错误的语句是A)SELECT * FROM 教师表WHERE ( InStr([职称], “教授”) <> 0);B)SELECT * FROM 教师表WHERE ( Right([职称], 2) = “教授” );C)SELECT * FROM 教师表WHERE ([职称] = “教授” );D)SELECT * FROM 教师表WHERE ( InStr([职称], “教授”) = 1 Or InStr([职称], “教授”) = 2 );(20)在窗体中为了更新数据表中的字段,要选择相关的控件,正确的控件选择是A)只能选择绑定型控件B)只能选择计算型控件C)可以选择绑定型或计算型控件D)可以选择绑定型、非绑定型或计算型控件(21)已知教师表“学历”字段的值只可能是四项(博士、硕士、本科或其他)之一,为了方便输入数据,设计窗体时,学历对应的控件应该选择A)标签B)文本框C)复选框D)组合框(22)在报表设计的工具栏中,用于修饰版面以达到更好显示效果的控件是A)直线和多边形B)直线和矩形C)直线和圆形D)矩形和圆形(23)要在报表中输出时间,设计报表时要添加一个控件,且需要将该控件的“控件来源”属性设置为时间表达式,最合适的控件是A)标签B)文本框C)列表框D)组合框(24)用SQL语句将STUDENT表中字段“年龄”的值加1,可以使用的命令是A)REPLACE STUDENT 年龄= 年龄+ 1B)REPLACE STUDENT 年龄WITH 年龄+ 1C)UPDATE STUDENT SET 年龄= 年龄+ 1D)UPDATE STUDENT 年龄WITH 年龄+ 1(25执行下列命令后,得到的记录数是SELECT 班级,MAX(年龄) FROM 学生表GROUP BY 班级A)4 B)3 C)2 D)1(26)数据库中可以被另存为数据访问页的对象A)窗体B)报表C)表和查询D)以上均可(27)在宏设计窗口中有“宏名”、“条件”、“操作”和“备注”等列,其中不能省略的是A)宏名B)操作C)条件D)备注(28)宏操作不能处理的是A)打开报表B)对错误进行处理C)显示提示信息D)打开和关闭窗体(29)下列关于VBA事件的叙述中,正确的是A)触发相同的事件可以执行不同的事件过程B)每个对象的事件都是不相同的C)事件都是由用户操作触发的D)事件可以由程序员定义(30)下列不属于类模块对象基本特征的是A)事件B)属性C)方法D)函数(31)用来测试当前读写位置是否达到文件末尾的函数是A)EOF B)FileLen C)Len D)LOF(32)下列表达式中,能够保留变量x整数部分并进行四舍五入的是A)Fix(x) B)Rnd(x) C)Round(x) D)Int(x)(33)运行下列过程,当输入一组数据:10,20,50,80,40,30,90,100,60,70,输出的结果第 3 页共5 页应该是Sub p1( )Dim i, j, arr(11) As Integerk = 1while k <= 10arr(k) = Val(InputBox(“请输入第” & k & “个数:”, “输入窗口” ))k = k + 1WendFor i = 1 To 9j = i + 1If arr(i ) > arr(j) Thentemp = arr(i)arr(i) = arr(j)arr(j) = tempEnd IfDebug.Print arr(i)Next iEnd SubA)无序数列B)升序数列C)降序数列D)原输入数列(34)下列程序的功能是计算N = 2+(2+4)+(2+4+6)+……+(2+4+6+……+40)的值。

2012年3月全国计算机等级考试二级C语言上机考试题库及答案_已缩印(最新版来自机房题库) - 副本

2012年3月全国计算机等级考试二级C语言上机考试题库及答案_已缩印(最新版来自机房题库) - 副本

第1套一、填空给定函数的功能是调用fun函数建立班级通讯录。

通讯录记录每位学生的编号,姓名和电话号码。

班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。

答案:1. STYPE 2. FILE 3. fp二、修改先将在字符串s中的字符按正序存放到t 串中,然后把s中的字符按逆序连接到t 串后面。

答案:1. for(i = 0 ; i < sl ; i++) 2. t[2*sl] =` 0`;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(a/10)*1000+(b/10)*100+(a%10)*10 +(b%10);第2套一、从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。

然后将文件的内容读出显示在屏幕上。

文件的读写分别有自定义函数ReadText和WriteText实现。

答案:*fw str str二、从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t 中,高位仍放在高位,低位仍放在低位。

答案:long *t sl = sl*10;三、将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式:将a 数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10);第3套一、将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。

答案:(1)fp (2)fclose(fp) (3)fname 二、将n个无序整数从小到大排序。

答案:for(i=j+1;i<n;i++) p=i;三、将两个两位数的正整数a,答案合并成一个整数放在c中。

2012年计算机二级C语言上机题及答案汇总(一)

2012年计算机二级C语言上机题及答案汇总(一)

1、给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。

例如,有9个正整数:1 5 7 23 87 5 8 21 45按升序排列时的中间数为:8处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!#include#define N 9int fun(int x[]){ int i,j,k,t,mid,b[N];for(i=0;i for(i=0;i<=N/2;i++){ k=i;for(j=i+1;jb[j]) k=j;if(k != i ){/**********found**********/t=b[i]; b[i]=___1___; b[k]=t;}}/**********found**********/mid=b[___2___];for(i=0; i /**********found**********/if(x[i] ___3___ mid) x[i]=mid;return mid;}main(){ int i, x[N]={1,5,7,23,87,5,8,21,45};for(i=0; i for(i=0; i }2、给定程序中,函数fun的功能是建立一个N×N的矩阵。

矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。

例如,若N=5,生成的矩阵为:1 1 1 1 11 2 2 2 11 2 3 2 11 2 2 2 11 1 1 1 1请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

2012年计算机二级考试C语言部分真题

2012年计算机二级考试C语言部分真题

2012年计算机二级考试C语言部分真题=4)>2C)3='A'&&aa[j][0]){ t=a[i][0];a[i][0]=a[j][0];a[j][0]=t;}puts(a[1]);}程序运行后的输出结果是A)fwoB)fixC)twoD)owo(33)有以下程序#includeint 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 6B)5 6 3 4C)5 6 1 2D)3 4 5 6(34)有以下程序#includefunc(int n){ static int num=1;num=num+n;printf("%d",num); }void main(){ func(3);func(4);printf("\n"); } 程序运行后的输出结果是A)4 8B)3 4C)3 5D)4 5(35)有以下程序#include#includefun(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,printf("%d\n",*q);}程序运行后的输出结果是A)42B)0C)1D)41(36)有以下程序#includestruct STU{char name[9];char sex;int score[2];}; void f(struct STU a[]){ struct STU b={"zhao",'m',85,90};a[1]=b;}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,99B)Zhao,m,85,90, Qian,f,95,92C)Qian,f,95,92,Sun,m,98,99D)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,则输出结果是【8】。

2012年9月全国计算机等级考试二级C语言笔试真题与答案

2012年9月全国计算机等级考试二级C语言笔试真题与答案

2012年9月全国计算机等级考试二级C语言笔试真题与答案2012年9月全国计算机 (1)下列链表种,其逻辑结构属于非线性结构的是 A )循环链表 B )双向链表 C )带链的栈 D )二叉链表 (2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35,现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为 A )16 B )20 C )0或35 D )15 (3)下列关于栈的叙述中,正确的是 A )栈顶元素一定是最先入栈的元素 B )栈操作遵循先进后出的原则 C )栈底元素一定是最后入栈的元素 D )以上三种说法都不对 (4)在关系数据库中,用来表示实体间联系的是 A )二维表 B )树状结构 C )属性 D )网状结构 (5)公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,则实体部门和职员间的联系是 A )m:1联系 B )1:m 联系 C )1:1联系 D )m:n 联系 (6) 有两个关系R 和S 如下: R S A B C A B C a 1 2 c 3 1 b 2 1 c 3 1 则由关系R 得到关系S 的操作是 A )自然连接 B )选择 C )并 D )投影 (7)数据字典(DD )所定义的对象都包含于 A )程序流程图 B )数据流图(DFD 图) C )方框图 D )软件结构图(8)软件需求规格说明书的作用不包括 A )软件可行性研究的依据 B )用户与开发人员对软件要做什么的共同理解 C )软件验收的依据 D )软件设计的依据 (9)下面属于黑盒测试方法的是 A 逻辑覆盖 B )语句覆盖 C )路径覆盖 D )边界值分析 (10)下面不属于软件设计阶段任务的是 A )数据库设计 B )算法设计 C )软件总体设计 D )制定软件确认测试计划 (11)以下叙述中正确的是 A 在C 语言程序中,main 函数必须放在其他函数的最前面 B )每个后缀为.C 的C 语言源程序都可以单独进行编译 C 在C 语言程序中,只有main 函数才可单独进行编译 D 每个后缀为.C 地点C 语言源程序都应该包含一个main 函数 (12)C 语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是 A )预定义标识符(如库函数中的函数名)可用作用标识符,但失去原有含义 )用户标识符可以由字母和数 )关键字可用作用户标识符, 13)以下选项中表示一个合(说明:符号 表示 )9 9 9 B )0Xab C ))2.7e 14C 语言主要是借助以下哪个功能来实现程序模块化 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 (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; (22)下列叙述中正确的是 A )可以用关系运算符比较字符串的大小 B )空字符串不占用内存,其内存空间大小是0 C )两个连续的单引号是合法的字符常量 D )两个连续的双引号是合法的字符串常量 (23)有以下程序 #include <stdio.h> main() { char a='H'; a=(a>='A'&&a<='Z')?(a-'A'+'a'):a; printf("%c\n",a);} 程序运行后的输出结果是A )AB )aC )HD )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 3 void fun(int a[][N],int b[]) { int i,j; for(i=0;i<N;i++) { b[i]=a[i][0]; for(j=i;j<N;j++) if(b[i]<a[i][j]) b[i]=a[i][j];}} main()A )42B )0C )1D )41 (36)有以下程序 void f(struct STU a[]) { struct STU b={"Zhao",'m',85,90}; a[1]=b;} 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,92 C )Qian,f,95,92,Sun,m,98,99 D )Qian,f,95,92,Zhao,m,85,90 (37)以下叙述中错误的是 A )可以用typedef 说明的新类型名来定义变量 B )typedef 说明的新类型名必须使用大写字母,否则会出编译错误 C )用typedef 可以为基本数据类型说明一个新名称 D )用typedef 说明新类型的作用是用一个新的标识符来代表已存在的类型名 (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)一棵二叉树共有47个结点,其中有23个度为2的结点,假设根结点在底1层,则该二叉树的深度为【1】 。

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

1、按条件f对关系R进行选择,其关系代数表达式为(C)
A. R|X|R B. R|X|Rf C. бf(R) D. ∏f(R)

2、对建立良好的程序设计风格,下面描述正确的是(A)
A. 程序应简单、清晰、可读性好 B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率 D. 程序的注释可有可无

3、算法的空间复杂度是指(D)
A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 算法执行
过程中所需要的存储空间

4、算法的空间复杂度是指(D)
A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 算法执行
过程中所需要的存储空间

5、信息隐蔽的概念与下述哪一种概念直接相关(B)
A.软件结构定义 B. 模块独立性 C. 模块类型划分 D. 模拟耦合度

6、下面对对象概念描述错误的是(A)
A. 任何对象都必须有继承性 B. 对象是属性和方法的封装体
C. 对象间的通讯靠消息传递 D. 操作是对象的动态性属性

7、算法一般都可以用哪几种控制结构组合而成(D)
A. 循环、分支、递归 B. 顺序、循环、嵌套
C. 循环、递归、选择 D. 顺序、选择、循环

8、下列工具中属于需求分析常用工具的是(D)
A. PAD B. PFD C. N-S D. DFD

9、下面描述中,符合结构化程序设计风格的是(A)
A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个
入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句

10、希尔排序法属于哪一种类型的排序法(B)
A.交换类排序法 B.插入类排序法 C.选择类排序法 D.建堆排序法

11、程序流程图(PFD)中的箭头代表的是(B)
A. 数据流 B. 控制流 C. 调用关系 D. 组成关系

12、下面概念中,不属于面向对象方法的是 (D)
A. 对象 B. 继承 C. 类 D. 过程调用

13、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)
A. 模拟现实世界中不同事物之间的联系 B. 强调模拟现实世界中的算法而不强调概念 C.
使用现实世界的概念抽象地思考问题从而自然地解决问题 D. 鼓励开发者在软件开发的绝大
部分中都用实际领域的概念去思考

14、下列叙述中正确的是(A)
A. 线性表是线性结构 B. 栈与队列是非线性结构
C. 线性链表是非线性结构 D. 二叉树是线性结构

15、结构化程序设计主要强调的是(B)
A.程序的规模 B.程序的易读性
C.程序的执行效率 D.程序的可移植性

16、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)
A. 模拟现实世界中不同事物之间的联系 B. 强调模拟现实世界中的算法而不强调概念 C.
使用现实世界的概念抽象地思考问题从而自然地解决问题 D. 鼓励开发者在软件开发的绝大
部分中都用实际领域的概念去思考

17、按条件f对关系R进行选择,其关系代数表达式为(C)
A. R|X|R B. R|X|Rf C. бf(R) D. ∏f(R)

18、下列关于队列的叙述中正确的是(C)
A. 在队列中只能插入数据 B. 在队列中只能删除数据
C. 队列是先进先出的线性表 D. 队列是先进后出的线性表

19、用树形结构来表示实体之间联系的模型称为(B)
A. 关系模型 B. 层次模型 C. 网状模型 D. 数据模型

20、在关系数据库中,用来表示实体之间联系的是(D)
A. 树结构 B. 网结构 C. 线性表 D. 二维表

21、在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C) 注:总体设计
也就是概要设计
A. 详细设计 B. 需求分析 C. 总体设计 D. 编程调试

22、下述关于数据库系统的叙述中正确的是(A)
A. 数据库系统减少了数据冗余 B. 数据库系统避免了一切冗余
C. 数据库系统中数据的一致性是指数据类型的一致 D. 数据库系统比文件系统能管理更多
的数据

23、数据的存储结构是指(B)
A. 数据所占的存储空间量 B. 数据的逻辑结构在计算机中的表示
C. 数据在计算机中的顺序存储方式 D. 存储在外存中的数据

24、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记
A. N+1 B. N C. (N+1)/2 D. N/2
25、希尔排序法属于哪一种类型的排序法(B)
A.交换类排序法 B.插入类排序法 C.选择类排序法 D.建堆排序法

26、在深度为5的满二叉树中,叶子结点的个数为(C)
A. 32 B. 31 C. 16 D. 15

27、下列关于队列的叙述中正确的是(C)
A. 在队列中只能插入数据 B. 在队列中只能删除数据
C. 队列是先进先出的线性表 D. 队列是先进后出的线性表

28、对建立良好的程序设计风格,下面描述正确的是(A)
A. 程序应简单、清晰、可读性好 B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率 D. 程序的注释可有可无

29、下列叙述中正确的是(C)
A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统
C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与
逻辑结构一致

30、检查软件产品是否符合需求定义的过程称为(A)
A. 确认测试 B. 集成测试 C. 验证测试 D. 验收测试

31、数据库系统的核心是(B)
A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库

相关文档
最新文档