2010年9月全国计算机二级C++真题

合集下载

2010年计算机等级考试二级C语言上机习题汇总

2010年计算机等级考试二级C语言上机习题汇总

2010年计算机等级考试二级C语言上机习题汇总一、改错题【分析】:改错题的错误一般可分为两类,一类是语法错误,这类错误可通过调试程序改正,较容易;另一类是逻辑错误,这类错误程序能运行,但结果不正确,这类错误相对较难,修改前必须要看懂和理解程序。

#include"stdio.h"#define n 4 #define m 3 /*语法错,#define m 3需另起一行*/int a[n][m],s[m];p(int j)/*此函数的功能为:找出a数组中第j列的最小元素的值及行号,函数成功运行后,i中即为j列的最小元素的行号,s[j]中即为j列的最小元素的值*/{intk,i,x;x=a[0][j];i=0; /*逻辑错,从函数的功能可知,a[0][j]也应赋值给s[j],所以x=a[0][j]应改为s[j]=x=a[0][j]*/for(k=1;k<N;K++)< p>if(a[k][j]<X)< p>{i=k;s[j]=x=a[k][j];}return i;}main(){int index[m],i,j,k;for(i=0;i<N;I++)< p>for(j=0;j<M;J++)< p>scanf("%d",a[i][j]);/*语法错,但编译时不会报错,scanf语句的一般形式为scanf(格式控制,地址表列),所以a[i][j]应改为&a[i][j])*/for(j=0,j<M;J++)< p>printf("a[%d,%d]=%d\n",index[j],j,s[j]);}i=s[1];k=0; /*逻辑错,数组s中存放的是a数组中每一列的最小值,比较时应从数组的第0个元素开始,而下面的for循环是从第1个元素开始的,所以i=s[1]应改为i=s[0]*/for(j=1;j<>if(s[j]<I)< p>{i=s[j];k=j;}printf("min=a[%d,%d]=%d",index[k],k,i); }二、编程题【分析】:本题的主要功能是建立一个3行8列的二维数组,并给其元素赋值,其中第1、2行的值可通过递推公式xi+1=(25*xi+357)%1024得到,第三行的值取前两行同列元素的最大公约数,所以编程时可用一个函数来实现求公约数的算法。

2010年上海市高等学校计算机等级考试试卷二级C语言程序设计

2010年上海市高等学校计算机等级考试试卷二级C语言程序设计

2010年上海市高等学校计算机等级考试试卷二级 C语言程序设计( C 卷)(本试卷考试时间 120 分钟)一、单选题1. C程序是由_______组成的。

A. 子程序B. 过程C. 子函数D. 主函数和子函数2. 若有定义语句:char c='\n'; 则变量c _______。

A. 包含4个字符B. 包含2个字符C. 包含1个字符D. 说明不合法,c的值不确定3. 设有float x=1.25; int n=x; 则语句printf("%.2f,%d\n",x,n);的输出是:_______ 。

A. 1.25,1.25B. 1,1C. 1,1.25D. 1.25,14. 设x为int型变量,且初值为 'f',则执行printf("%c\n", 'A'+(x-'a'+1));后的输出结果是_______。

A. GB. HC. ID. J5. 设有int n; 则判断“n为二位数(10至99)”的表达式是:_______ 。

A. 10<=n<=99B. 10<=n || n<=99C. 10<=n, n<=99D. 10<=n && n<=996. 下列if语句中,错误的是 _______。

A. if(a==b) a-- else b++;B. if(a-b>0) printf("a>b\n");C. if(x>0&&x<10) y=x*x-1.5;D. if(x) y+=1;7. 设:int i,n ; float sum; 则求调和级数s=1+1/2+1/3+...前n项之和的正确循环语句是_______。

A. for(i=1;i<=n;i++) sum+=1/i ;B. for(i=1,sum=0.0;i<=n;i++) sum+=1/i;C. for(i=1,sum=0.0;i<=n;i++) sum+=(float)(1/i) ;D. for(i=1,sum=0.0;i<=n;i++) sum+=1.0/i;8. C程序中,return语句的作用是_______。

2010上半年计算机等考二级C语言真题及答案

2010上半年计算机等考二级C语言真题及答案

《C++语言程序设计》第一次作业讲评说明:本次作业对应教材第一、二、三章的内容。

【讲评】本章主要考核大家对C++语言的基本概念、基本数据类型和表达式、流程控制的掌握程度,其中有一些需要记忆的概念,但多数问题还是需要理解的,希望通过作业讲评能够帮助大家把学习中的难题一一解决。

下面是对部分问题的讲评。

一、填空题1.C++语言中的每条基本语句以;作为结束符,每条复合语句以}作为结束符。

2.用于输出表达式值的标准输出流对象是cout,用于从键盘上为变量输入值的标准输入流对象是cin 。

3.当不需要函数返回任何值时,则应把该函数类型定义为void 。

4.执行“cout<<143<<’+’<<18<<’=’<<143+18<<endl;”语句后得到的输出结果为143+18=161。

【讲评】这里143、’+’、18和’=’分别是整型变量、字符常量、整型变量和字符常量,在通过cout输出语句时直接将其值输出,而143+18是一个表达式,需要计算加法后输出其值。

5.执行“cout<<“ning”<<“chen”<<38<<endl;”语句后得到的输出结果为ningchen38 。

6.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为main。

7.C++源程序文件的缺省扩展名为.cpp ,由C++源程序文件编译而成的目标文件的缺省扩展名为.obj,由C++目标文件连接而成的可执行文件的缺省扩展名为 .exe。

8.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用空格或回车符号作为分隔符。

9.十进制数25表示成符合C++语言规则的八进制和十六进制数分别为031和0x19符号。

10.在C++语言中,用转义字符序列‘\n’或操纵符endl表示输出一个换行符。

11.执行“cout<<char(’b’+2)<<endl;”语句后得到的输出结果为d。

全国计算机考试二级c语言真题题库答案

全国计算机考试二级c语言真题题库答案

全国计算机考试二级c语言真题题库答案1. 单项选择题A. 以下哪个选项是C语言中合法的变量名?A. 2abcB. _nameC. 3nameD. name-答案:B. _name2. 单项选择题B. 在C语言中,以下哪个选项表示的是整型常量?A. 3.14B. 0x1AC. 'a'D. "hello"答案:B. 0x1A3. 单项选择题C. 以下哪个选项是C语言中合法的数组声明?A. int a[];B. int a[5] = {1, 2, 3};C. int a = 5;D. int a[5] = {1, 2, 3, 4, 5, 6};答案:B. int a[5] = {1, 2, 3};4. 单项选择题D. 在C语言中,以下哪个选项是正确的函数声明?A. void myFunction(int a, int b);B. int myFunction();C. int myFunction(int a, int b) {}D. void myFunction(int a, int b) {}答案:D. void myFunction(int a, int b) {}5. 多项选择题E. 在C语言中,以下哪些选项是合法的指针类型?A. int *p;B. float *p;C. char *p;D. double *p;E. void *p;答案:A, B, C, D, E6. 多项选择题F. 在C语言中,以下哪些选项是合法的循环结构?A. for循环B. while循环C. do-while循环D. switch语句E. if语句答案:A, B, C7. 填空题G. 在C语言中,若要声明一个指向整型的指针变量,正确的声明方式是:________。

答案:int *p;8. 填空题H. 在C语言中,字符串常量以________字符结束。

答案:\09. 判断题I. 在C语言中,函数的返回值类型必须与函数声明中的返回值类型一致。

2010上半年计算机等考二级C语言真题及答案

2010上半年计算机等考二级C语言真题及答案

一、选择题:1、一个C程序的执行是从(A)。

A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、在C 语言中,每个语句必须以(D )结束。

A. 回车符B. 冒号C. 逗号D. 分号3、C 语言规定:在一个源程序中,main函数的位置( C )。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后4、一个C 语言程序是由(B )。

A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成5、下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。

A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件二、填空题:1、C 语言只有32 个关键字和9 种控制语句。

2、每个源程序有且只有一个main 函数,系统总是从该函数开始执行C语言程序。

3、C 语言程序的注释可以出现在程序中的任何地方,它总是以\* 符号作为开始标记,以*/ 符号作为结束标记。

4、C 语言中,输入操作是由库函数scanf 完成的,输出操作是由库函数printf 完成的。

5、系统默认的C 语言源程序文件的扩展名是.c ,经过编译后生成的目标文件的扩展名是.obj,经过连接后生成的可执行文件的扩展名是.exe 。

6、C 语言的标识符只能由字母、数字和下划线三种字符组成。

第三章数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的 C 语言浮点型常量是(C )。

A. 160.B. 0.12C. 2e4.2D. 0.02、以下选项中,( D )是不正确的C 语言字符型常量。

2010年上海市高等学校计算机等级考试试卷二级_C语言程序设计_(_E_卷)

2010年上海市高等学校计算机等级考试试卷二级_C语言程序设计_(_E_卷)

2010年上海市高等学校计算机等级考试试卷二级C语言程序设计(E 卷)(本试卷考试时间120 分钟)一、单选题( 本大题15 道小题,每小题1 分,共15 分),从下面题目给出的A、B、C、D四个可供选择的答案中选择一个正确答案。

1. 以下C程序中预处理命令写法正确的是:答案: DA. #include (stdio.h)B. #include [stdio.h]C. #include {stdio.h}D. #include <stdio.h>2. 设有变量定义语句char a; 则下面的赋值语句中( ) 是正确的。

答案: AA. a='&';B. a="&";C. a=' ' ';D. a='16' ;3. 设有char ch; 与语句“ch=getchar();”等价的语句是:答案: DA. printf("%c",ch);B. printf("%c",&ch);C. scanf("%c",ch);D. scanf("%c",&ch);4. int a=2, b=5;则表达式21%9/(float)a+4/b*b的运算结果为( )。

答案: CA. 2B. 1C. 1.5D. 05. 能正确表示逻辑关系"a>=10 或a<=0"的C语言表达式是( )。

答案: CA. a>=10 or a<=0B. a<=0|a>=10C. a<=0||a>=10D. a>=10 && a<=06. 设有int n=60;写出下列语句的运行结果switch (n/10){case 6: printf("@");break;case 5: printf("#");default: printf("$");}答案: DB. #$C. $D. @7. 设有int i; 以下语句中,循环次数为100次的语句是:答案: DA. for ( i=0; i<=100; i++ )B. for ( i=0; i<99; i++ )C. for ( i=1; i<99; i++ )D. for ( i=0; i<100; i++ )8. C程序中,用于提前结束本次循环、进行下一次循环的语句是( )。

历届国家二级c语言考试真题及其答案,word版

2010年3月计算机二级C语言笔试真题一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (aif(aelse k=c;elseif(belse k=c;以下选项中与上述if语句等价的语句是A)k=(aB)k=(ac)?b:c);C)k=(aD)k=(a(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++) {for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m); }程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h> main(){int a=l;b=2; for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#includevoid fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b=''a'',a=''A'';fun(&b,a);printf("%e,%e\n",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]]);printf("%d\n", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i{printf("%d",a[i]);}printf("\n");}程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序#includeint f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%d\n",s);}int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程序#includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun(); printf("%d\n",s);}程序运行后的输出结果是A)O B)1 C)4 D)8 (35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2; 则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;}程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w; 能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp); fpfopen("myfile.data","a++"); fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str); fclose(fp); }程序运行后的输出结果是 A)abc B) 28c C) abc28D)因类型不一致而出错 二、填空题(1)一个队列的初始状态为空。

2010年全国计算机等级二级C语言考试题型与解题技巧.

2010年全国计算机等级二级C语言考试题型与解题技巧一、程序填空题程序填空题分值为30分,是在一个完整的程序中挖出2~4个空让考生填写,所考查的内容一般是C语言中最基础的内容。

1. 基本语句方面的知识点,如printf( 函数和Scanf( 函数的相关知识点。

2. 变量等的初始化,以作为累加器或累乘器。

3. 选择结构或循环结构语句的考查。

4. 函数的相关知识,如函数类型的定义、形参的定义,以及确定函数的返回值等。

5. 数组、指针、结构体等的应用。

二、程序改错题1. 若错误行是函数首部,可分为以下几种情况:A、该行最后若有分号则删除,中间若有分号则改成逗号B、形参类型不一致的问题,非凡是指针类型,若后面用到某形参时有指针运算则该形参必为指针类型;若形参是二维数组或指向m个元素的指针变量,则第二维的长度必须与main中对应数组的第二维长度相同。

C、函数类型不一致的问题,若函数中没有return语句则函数类型为void,若有return 语句则函数的类型必须与return后变量的类型一致。

2. 若错误行是if或while语句,则首先看有没有用小括号将整个表达式括起,若没有则加上小括号。

3. 若错误行中有if、while、for则要非凡注重条件表达式的错误问题:A、指针变量的应用,若表达式中有指针变量且没有指针运算符,则加上指针运算符B、若条件表达式中只要一个等于号,则改成两个等于号,若为其它比较运算符则一般是进行逆转或加一个等于号。

C、for中要用分号分隔表达式,而不是用逗号。

4. 语法错误A、语句缺少分号,若错误行中有语句没有用分号结束,则加上分号。

B、大小写不对,若错误行中有大写字母则一般都改成小写字母。

5. 指针变量的运用,若错误行中有指针变量,并且该变量名前没有指针运算符则一般都是加上指针运算符。

6. 若错误行为return语句,则首先看是否是缺少分号若是则加上分号即可;否则就是return后的变量或表达式错误(此时可通过看题意,来分析该返回哪一变量或表达式。

全国计算机等级考试二级C改错题答案

所属年份:2010.9;2011.3;2012.3下列给定程序中,函数fun 的功能是:先将字符串s 中的字符按正序存放到字符串t 中,然后把s 中的字符按逆序连接到字符串t 的后面。

例如,当s 中的字符串为"ABCDE"时,则t 中的字符串应为"ABCDEEDCBA"。

答案: (1)for ( i =0; i<sl ;i ++) (2)t[2*s1]='\0'所属年份:2012.3;下列给定程序中,函数fun 的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII 码值升序排序后输出。

例如,若输入"edcba",则应输出"abcde"。

答案: (1)for(i =strlen(t)-1; i>0; i --) (2)if (t[j] > t[j +1])所属年份:2010.9;2012.3下列给定程序中函数fun 的功能是:统计substr 所指的子符串在str 所指的字符串中出现的次数。

例如,若字符串为aaas 1kaaas ,子字符串为as ,则应输出2。

答案: (1)for(i =0;str[i];i ++) (2)if(substr[k +1]== '\0')所属年份:2011.9;2012.3;下列给定程序中函数fun 的功能是:用冒泡法对6个字符串进行升序排列。

答案: (1)for (j = i + 1; j < 6; j ++) (2)*(pstr + i ) = *(pstr + j);所属年份:2011.9;2012.3下列给定程序中函数fun 的功能是:根据整型形参m ,计算如下公式的值。

例如,若m 的值为5,则应输出1.。

答案: (1)for(i =2;i<=m ;i ++) (2)y +=1.0/(i*i);所属年份:2010.9;2011.3;2012.3;下列给定程序中函数fun 的功能是:删除指针p 所指字符串中的所有空白字符(包括制表符、回车符及换行符)。

历年真题与答案、二级题库、VBA学习

全国计算机等级考试2012年01月01日整理(包括历年真题与答案、二级题库、VBA学习)目录二级试题(选择题)___________________________________________________________ 1 2011年3月计算机等级考试二级 ________________________________________________ 4 2011年9月全国计算机等级考试二级笔试试卷 ___________________________________ 12 2010年9月全国计算机等级考试二级 ___________________________________________ 19 2010年3月计算机等级考试二级 _______________________________________________ 26 VBA学习 ___________________________________________________________________ 33 计算机二级题库______________________________________________________________ 43二级试题(选择题)(1)在深度为5的满二*树中,叶子结点的个数为A)32B)31C)16D)15【参考答案】B(2)若某二*树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是A)bdgcefhaB)gdbecfhaC)bdgaechfD)gdbehfca【参考答案】D(3)一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。

而实现递归调用中的存储分配通常用A)栈B)堆C)数组D)链表【参考答案】A(4)软件工程的理论和技术性研究的内容主要包括软件开发技术和A)消除软件危机B)软件工程管理C)程序设计自动化D)实现软件可重用【参考答案】B(5)开发软件时对提高开发人员工作效率至关重要的是A)操作系统的资源管理功能B)先进的软件开发工具和环境C)程序人员的数量D)计算机的并行处理能力【参考答案】B(6)在软件测试设计中,软件测试的主要目的是A)实验性运行软件B)证明软件正确C)找出软件中全部错误D)发现软件错误而执行程序【参考答案】D(7)数据处理的最小单位是A)数据B)数据元素C)数据项D)数据结构【参考答案】B(8)索引属于A)模式B)内模式C)外模式D)概念模式【参考答案】B(9)下述关于数据库系统的叙述中正确的是A)数据库系统减少了数据冗余B)数据库系统避免了一切冗余C)数据库系统中数据的一致性是指数据类型一致D)数据库系统比文件系统能管理更多的数据【参考答案】A(10)数据库系统的核心是A)数据库B)数据库管理系统C)模拟模型D)软件工程【参考答案】B(11)在以下数据库系统(由数据库应用系统、操作系统、数据库管理系统、硬件四部分组成)层次示意图中,数据库应用系统的位置是A)1B)3C)2D)4【参考答案】D(12)数据库系统四要素中,什么是数据库系统的核心和管理对象?A)硬件B)软件C)数据库D)人【参考答案】C(13)Access数据库中哪个数据库对象是其他数据库对象的基础?A)报表B)查询C)表D)模块【参考答案】C(14)通过关联关键字“系别”这一相同字段,表二和表一构成的关系为A)一对一B)多对一C)一对多D)多对多【参考答案】C(15)某数据库的表中要添加internet站点的网址,则该采用的字段类型是A)OLE对象数据类型B)超级连接数据类型C)查阅向导数据类型D)自动编号数据类型【参考答案】B(16)在Access的5个最主要的查询中,能从一个或多个表中检索数据,在一定的限制条件下,还可以通过此查询方式来更改相关表中记录的是A)选择查询B)参数查询C)操作查询D)SQL查询【参考答案】A(17)哪个查询是包含另一个选择或操作查询中的SQL SELECT语句,可以在查询设计网格的“字段”行输入这些语句来定义新字段,或在“准则”行来定义字段的准则?A)联合查询B)传递查询C)数据定义查询D)子查询【参考答案】D(18)下列不属于查询的三种视图的是A)设计视图B)模板视图C)数据表视图D)SQL视图【参考答案】B(19)要将“选课成绩”表中学生的成绩取整,可以使用A)Abs([成绩])B)Int([成绩])C)Srq([成绩])D)Sgn([成绩])【参考答案】B2011年3月计算机等级考试二级一、选择题(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)一个教师可讲授多门课程,一门课程可由多个教师讲授。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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_group B)group~6 C)age+3 D)_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 double dl,d2; 则下列调用中,错误的是 A)sumB)sum(d1,d2); C)sum(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 #include 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

(28)有如下程序: #include 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 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 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;”编译时出错

相关文档
最新文档