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

合集下载

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

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

2010 年9 月全国计算机等级考试二级笔试试卷一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制C)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小B)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S 和T 如下:S则由关系R 和S 得到关系T 的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto 语句会很便捷C)在C 语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C 程序在运行过程中所有计算都以二进制方式进行B)C 程序在运行过程中所有计算都以十进制方式进行C)所有C 程序都需要编译链接无误后才能进行D)C 程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x-y) B)a=x!=y; C)(a*y)%b D)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠:‟\‟ D)字符串:”\007” (16)表达式a+=a-=a=9 的值是A)9 B)-9 C)18 D)0(17)若变量已正确定义,在if(W)printf(“%d\n”,k);中,以下不可替代W的是A)a<>b+c B)ch=getchar() C)a==b+c D)a++(18)有以下程序#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)0 B)1 C)2 D)3(19)若有定义语句int a,b;double x;则下列选项中没有错误的是A)switch (x%2){ case 0: a++; break;case 1: b++; break;default: a++; b++; }B) switch ((int)x/2.0){ case 0: a++; break;case 1: b++; break;default : a++; b++; }C) switch((int)x%2){ case 0: a++; break;case 1: b++; break;default : a++; b++; }D)switch((int)(x)%2){ case 0.0: a++; break;case 1.0: b++; break;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,11 B)7,1 C)7,11 D)6,1(21)有以下程序#includemain(){ int y=10;while(y--);printf(“y=%d\n”,y);}程序执行后的输出结果是A)y=0 B)y=-1 C)y=1 D)while 构成无限循环(22)有以下程序#includemain(){ char s[ ]=”rstuv”;printf(“%c\n”,*s+2);}程序运行后的输出结果是A)tuv B) 字符t 的ASCII 值C)t D)出错(23)有以下程序#include <stdio.h>#include <string.h>main(){ char x[ ]=”STRING”;x[0]=0; x[1]=‟\0‟; x[2]=‟0‟;printf(“%d %d\n”,sizeof(x),strlen(x));}程序运行后的输出结果是A) 6 1 B) 7 0 C) 6 3 D) 7 1(24)有以下程序#includeint 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)1 B)2 C)4 D)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 10 int 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)有以下程序#includevoid 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,4 B)4,4 C) 3,1 D)4,1(30)有以下程序(函数fun 只对下标为偶数的元素进行操作)#includevoid fun(int *a,int n){ int i,j,k,t;for(i=0;i<n-1;i+=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,1,B)1,6,3,4,5,2,7,C)7,6,5,4,3,2,1,D)1,7,3,5,6,2,1,(31)下列选项中,能够满足“若字符串s1 等于字符串s2, 则执行ST”要求的是A)if(strcmp(s2,s1) ==0) ST;B) if(s1==s2) ST;C) if(strcpy(s1,s2) ==1) ST;D) if(s1-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\0EFG\0”, b[ ]=”IJK”;strcat(a,b);printf(“%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJK B)ABCDIJK C)IJK D)EFGIJK(34)有以下程序,程序中库函数islower(ch)用以判断ch 中的字母是否为小写字母#include <stdio.h>#include <ctype.h>void fun(char *p){ int i=0;while(p[i]){ if(p[i] ==‟…&&islower(p[i-1])) p[i-1]=p[i-1]-‟a‟+‟A‟;i++;}}main(){ char s1[100]=”ab cd EFG !”;fun(s1);printf(“%s\n”,s1);}程序运行后的结果是A) ab cd EFG ! B) Ab Cd EFg ! C) aB cD EFG ! D) ab cd EFg !(35)有以下程序#includevoid fun(int x){ if(x/2>1)fun(x/2);printf(“%d ”,x);}main(){ fun(7);printf(“\n”);}程序运行后的输出结果是A)1 3 7 B)7 3 1 C)7 3 D)3 7(36)有以下程序#includeint 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)11 B)21 C)6 D)120(37)有以下程序`#include <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;p rintf(“%d,%d,%d\n”,*a,*b,*c);}程序运行后的输出结果是A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3(38)有以下程序#includemain(){ 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)1,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)有以下程序#includemain(){ short c=124; c=c ;printf(“%d\n”,c);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B) |248 C)& 0248 D) <<1二、填空题(每空2 分,共30 分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

全国计算机二级C语言笔试历届真题汇编2006年4月-2010年9月

全国计算机二级C语言笔试历届真题汇编2006年4月-2010年9月

2010年9月全国计算机二级C语言笔试试题一、选择题(每小题2分,共70分)(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;doublex,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)9 B)_9C)18 D)0(17)若变量已正确定义,在if (W)printf(“%d\n,k”);中,以下不可替代W的是A)a<>b+c B)ch=getchar()C)a==b+c D)a++(18)有以下程序#include<stdio.h>main(){int a=1,b=0;if(!a)b++;else if(a==0)if(a)b+=2;else b+=3;printf(”%d\n”,b);}程序运行后的输出结果是A)0 B)1C)2 D)3(19)若有定义语句int a, b;double x;则下列选项中没有错误的是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,11 B)7,1C)7,11 D)6,1(21)有以下程序#include<stdio.h>main(){int y=10;while(y--);printf(”Y=%d\n”,Y);}程序执行后的输出结果是A)y=0 B)y= -1C)y=1 D)while 构成无限循环(22)有以下程序#include<stdio .h>main(){char s[」=”rstuv";printf(”%c\n”,*s+2);}程序运行后的输出结果是A)tuv B)字符t的ASCII 码值C)t D)出错(23)有以下程序#include<stdio.h>#include<string.h>main(){char x[]=”STRING”;x[0」=0;x[1]=’\0’;x[2」=’0’;printf(”%d %d\n”,sizeof(x),strlen (x));}程序运行后的输出结果是A)6 1 B)7 0C)6 3 D)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)1 B)2C)4 D)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,4 B)4,4C)3,1 D)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 7 B)7 3 1C)7 3 D)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)11 B)21C)6 D)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,3C)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)一个栈的初始状态为空。

2010年秋季江苏省计算机二级C语言真题(笔试)

2010年秋季江苏省计算机二级C语言真题(笔试)

2010年(秋季)江苏省计算机等级考试二级笔试试卷C语言程序设计(考试时间120分钟,满分60分)一、选择题((1)~(30)每小题1分,共30分)1.微电子技术是信息技术领域中的关键技术,它以集成电路为核心.下列有关集成电路的敘述中,错误的是A.现代集成电路使用的半导体材料只能是硅(si),不能使用其它任何半导体材料B.集成度是指集成电路包含的电子元件数目,可分为SSI、MSI、VLSI等C.moore定律指出,单块集成电路的集成度平均18~24个月翻一番D.我国第二代身份证中嵌入了集成电路芯片,可以实现电子防伪和数字管理功能2. 数据传输速率是数据通信中重要的性能指标。

Gb/s是数据传输速率的计量单位之一,其正确含义是A.每秒兆位B.每秒千兆位C.每秒百兆位D.每秒百万位3,所谓"变号操作"是指格一个整数变成绝对值相同但符号相反的另一个整数。

假设使用补码表示的8位整数x=,则经过变号操作后结果为A. B. C. D.4. 下列有关PC机主拔的敘述中,错误的是A.主板的物理尺寸没有标准,各厂家均可自行定义B.主板上包含芯片组,它是PC机各组成部分相互连接和通信的枢纽C.主拔上包含BIOS和CMOS芯片D.主板上包含CPU插座、内存条插槽及其他类型的插槽5. 下列有关PC机中央处理器(CPU)和内存(内存条)的叙述中,正确的是A.PC机所采用的CPU都是intel公司生产的pentium系列芯片,其它厂商生产的CPU都与之不兼容B.目前已有双核的微处理器(例如Core2Duo),但还没有四核的微处理器C.通常来说,DRAM的速度比SRAM的存取速度慢D.一般来说,一个内存条上仅有一个DRAM或SRAM芯片6. 下列有关PC机I/O总线与I/O接口的叙述中,错误的是A. 目前PC机中协调与管理总线操作的总线控制器包含在主板上的芯片组中B.总线最重要的性能是数据传输率,其单位通常为MB/s或GB/sC.SATA接口的数据传输速率通常低于USB2.0的数据传输速率D.UCB连接器有4个引脚,其中一个脚引连接+5V电源7. 下列有关PC机常用I/0设备的叙述中,错误的是A.目前台式机键盘通常有一百零几个按键,笔记本电脑的键盘有八十几个按键B.目前流行的鼠标是光电鼠标,其与主机的接口有PS/2与USB两种C.宽屏LCD显示器的宽高比为16:9或16:10D.打印速度是打印机的重要性能指标,速度单位通常为dpi8. 下列有关PC机外存储器的叙述中,错误的是A.目前的硬盘片大多为35、25或1.8英寸,一个硬盘中可有一个或多个盘片B.目前有些U盘可以模拟硬盘和光盘存储器启动操作系统C.目前光盘存储器主要分为CD、DVD和BD三种,它们均采用红外激光进行读写D.目前光驱的速率通常用多少倍速表示9.下列有关计算机软件的叙述中,错误的是A.软件一般是指程序及其相关的数据和文档资料B.从软件的用途考虑,软件可分为系统软件和应用软件,主要的系统软件有操作系统、语言处理系统和数据库处理系统等。

2010年9月计算机二级C语言笔试试题及答案公布范文

2010年9月计算机二级C语言笔试试题及答案公布范文

2010年9月计算机二级C语言笔试试题及答案公布(含解析)一、选择题(1)答案:(C)解析:算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。

所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。

(2)答案:(B)解析:链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。

故链式存储结构下的线性表便于插入和删除操作。

(3)答案:(B)解析:栈操作原则上“后进先出”,栈底至栈顶依次存放元素A、B、C、D,则表明这4个元素中D是最后进栈,B、C处于中间,A最早进栈。

所以出栈时一定是先出D,再出C,最后出A。

(4)答案:(A)解析:从平均时间性能而言,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。

当序列中的记录基本有序或元素个数较少时,冒泡排序和简单选择排序为最佳排序方法,故本题答案应该为选项A)。

(5)答案:(D)解析:滥用GOTO 语句将使程序流程无规律,可读性差,因此A)不选;注解行有利于对程序的理解,不应减少或取消,B)也不选;程序的长短要依照实际情况而论,而不是越短越好,C)也不选。

(6)答案:(D)解析:软件工程包括3个要素,即方法、工具和过程。

方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。

(7)答案:(A)解析:软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。

(8)答案:(C)解析:关系模型较之格式化模型(网状模型和层次模型)有以下方面的优点,即数据结构比较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。

(9)答案:(C)解析:数据库(DataBase,简称DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。

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

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

全国计算机等级考试二级C语言机试真题2010年9月(总分:100.00,做题时间:90分钟)一、程序填空题(总题数:1,分数:30.00)1.请补充fun函数,该函数的功能是:判断一个年份是否为闰年。

例如,1900年不是闰年,2004是闰年。

[注意] 部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

[试题源程序]#include<stdio.h>#include<conio.h>int fun(int n)int fiag=0;if(n%4==0)if( (1) )fiag=1;if( (2) )flag=1;return (3) ;void main()int year;clrscr();printf("Input the year:");scanf("%d", &year);if(fun(year))printf("%d is a leap year./n", year);elseprintf("%d is not a leap year./n", year);(分数:30.00)填空项1:__________________ (正确答案:[1] n%100 !=0[2] n%400==0[3] flag)解析:[解析] 题的关键是要知道闰年的定义,如果年份能被4整除但不能被100整除,或者能被400整除,这两种情况满足之一都是闰年。

填空1:显然此处属于第一种情况,能被4整除但不能被100整除。

所以这里应该填n%100!=0,只有满足这个条件,flag才能被赋值1。

填空2:此处属于第二种情况,能被400整除,所以应该填n%400==0。

填空3:从程序中可以知道,当满足以上两种情况之一时,flag就被赋值1,显然flag属于标志单元。

再看主函数中对fun()函数的调用,显然需要返回的值不是真就是假,即函数fun()中标志单元flag的内容。

二级C语言2010年秋季考试_真题汇总

二级C语言2010年秋季考试_真题汇总
一、选择题部分
1.述一个算法可以有不同的方式,常见的有( ) 。 A.高级语言、自然语言和伪代码 B.机器语言、汇编语言和高级语言 C.汇编语言、高级语言和低级语言 D.自然语言、流程图和伪代码 2.下列四个运算符,按优先级别由高到底排列的是( ) A. !、%、=、== B. %、、==、= ! C.、=、%、== ! D.! 、%、==、= 3.若已定义:int i=5,m=1;则下列语句不会产生无限循环。 A. do {m+=3; B, for(;i<10;) }while(i==5); m+=3; C. while(i=1) D. for(;i>0;i--) m+=3; m+=3; 4.下列程序段的运行结果是( ) 。 Int arr[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12}; Printf(“%d\n”,arr[1][3]); A.3 B. 12 C. 8 D.11 5.下列叙述正确的是( ) 。 A.函数的定义和调用都不允许嵌套 B.函数的定义和调用都允许嵌套 C.函数的定义允许嵌套,但函数的调用不允许嵌套 D.函数的定义不允许嵌套,但函数的调用允许嵌套 6.若已定义: a[5]={1,2,3,4,5},*p=a;且 p 值未发生变化, int 下列不能表示 a[1]地址的是 ( A. a+1 B. ++p C. p+1 D. a++ 7.若已定义:struct student { int num; float score; }stu[4]; 以下错误的语句是( ) 。 A. printf(“%d”,(*stu).num); B. *(stu)=*(stu+1); C. stu[0]->num=101; D. stu[0]=stu[1]; 8.下列对枚举类型的定义正确的是( ) 。 A. enum a{“A”,”B”,”C”}; B. enum a{x=-2,y=1,z=3};

9月全国计算机等级考试二级c语言笔试试题及答案范文资料讲解

9月全国计算机等级考试二级c语言笔试试题及答案范文资料讲解

2010年9月全国计算机等级考试二级C语言笔试试题班级:姓名:一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

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

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

全国计算机等级考试二级C语言考试大纲(附2010年9月真题与答案)

全国计算机等级考试二级C语言考试大纲(附2010年9月真题与答案)

全国计算机等级考试二级C语言考试大纲(新)◆ 基本要求1.熟悉 Visual C++ 6.0 集成开发环境。

2.掌握结构化程序设计的方法,具有良好的程序设计风格。

3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。

4.在 Visual C++ 6.0 集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力5.掌握算法的基本概念。

6.掌握基本数据结构及其操作。

7.掌握基本排序和查找算法。

8.掌握逐步求精的结构化程序设计方法。

9.掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。

10.掌握数据的基本知识,了解关系数据库的设计。

◆ 考试内容一、C语言程序的结构1.程序的构成,main函数和其他函数。

2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。

3.源程序的书写格式。

4.C语言的风格。

二、数据类型及其运算1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。

2.C运算符的种类、运算优先级和结合性。

3.不同类型数据间的转换与运算。

4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。

三、基本语句1.表达式语句,空语句,复合语句。

2.输入输出函数的调用,正确输入数据并正确设计输出格式。

四、选择结构程序设计1.用if语句实现选择结构。

2.用switch语句实现多分支选择结构。

3.选择结构的嵌套。

五、循环结构程序设计1.for循环结构。

2.while和do-while循环结构。

3.continue语句和break语句。

4.循环的嵌套六、数组的定义和引用1.一维数组和二维数组的定义、初始化和数组元素的引用。

2.字符串与字符数组。

七、函数1.库函数的正确调用。

2.函数的定义方法。

3.函数的类型和返回值。

4.形式参数与实在参数,参数值传递。

5.函数的正确调用,嵌套调用,递归调用。

6.局部变量和全局变量。

7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。

全国计算机二级C语言笔试真题及答案2010年3月和九月(word版)

全国计算机二级C语言笔试真题及答案2010年3月和九月(word版)

2010年3月二级c语言笔试真题及答案试题:一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分。

共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。

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

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

详细设计属于BA)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7) 数据库管理系统中负责数据模式定义的语言是AA)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8) 在学生管理的关系数据库中,存取一个学生信息的数据单位是DA)文件B)数据库C)字段D)记录(9) 数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的BA)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10) 有两个关系R和T如下:R TA B Ca 1 2b 2 2c 3 2A B Cc 3 2d 3 2则由关系R得到关系T的操作是A选择B)投影C)交D)并(11) 以下叙述正确的是BA)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可以作为单独文件形式存在(12) 以下关于C语言的叙述中正确的是BA)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以再使用之前的任何位置进行定义C)在C语言算术的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13) 以下C语言用户标示符中,不合法的是DA)_1 B)AaBc C)a_b D)a--b(14) 若有定义:double a=22;int i=0,k=18;则不符合C语言规定的赋值语句是CA)a=a++,i++ B)i=(a+k)<=(i+k) C)i=a%11 D)i=!a(15)#include <stdio.h>Void main(){char a,b,c,d;scanf(”%c%c”,&a,&b);c=getchar(); d=getchar();printf(”%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一个字符)12<CR>34<CR>则输出结果是:CA、1234B、12C、12D、123 3416、以下关于C语言数据类型使用的叙述中错误的是:DA、若要准确无误的表示自然数,应使用整数类型。

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

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

1、软件生命周期中的活动不包括A、软件维护B、市场调研C、软件测试D、需求分析参考答案:B2、下面不属于需求分析阶段任务的是A、确定软件系统的功能需求B、确定软件系统的系统的系能需求B、制定软件集成测试计划 D、需求规格说明书审评参考答案:C3、在黑盒测试方式中,设计测试用例的主要根据是A、程序外部功能B、程序内部逻辑C、程序数据结构D、程序流程图参考答案:A4、在软件设计中不使用的工具是A、系统结构图B、程序流程图C、PAD图D、数据流图(DFD图)参考答案:D5、有以下程序#include <sthio.h>Main(){int s=0,n;For (n=0;n<3;n<++){switch(s){ case 0;Case 1;s+=1;Case 2;s+=2;break;Case 3;s+3;Case 4;s+=4;}printf(("%d\n",s);}}程序运行后的结果是A、1,2,4B、1,3,6C、3,10,14D、3,6,10 参考答案:C6、若k是int类型变量,且有以下for语句For(k=-1;k<0;k++) printf(****\n");下面关于语句执行情况的叙述中正确的是A、循环体执行一次B、循环体执行两次C、循环体一次也不执行D、构成无限循环参考答案:A7、有以下程序#include <sthio.h>Main(){char A,B,C;B='1';C='A'For(A=0;A<6;A++){if(A%2) putchar(B+A);Else putchar(C+A);}}程序运行后输出的结果是A、1B3D5FB、 ABCDFEC、 A2C4E6D、参考答案:C8、设有如下定义语句Int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A、*(k+2)B、 k+2C、*k+2D、*k+=2参考答案:A9、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。

2010年9月份全国计算机等级考试二级C语言笔试题库50套.txt

2010年9月份全国计算机等级考试二级C语言笔试题库50套.txt
B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
(4)需求分析阶段的任务是确定
A)软件开发方法
B)软件开发工具
C)软件开发费用
B)63825
C)6385
D)693825
(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是
A)gets(&s[0]);
B)scanf("%s",s+1);
C)gets(s);
D)scanf("%s",s[1]);
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)循环控制表达式的值为0
(28)以下叙述中错误的是
A)在程序中凡是以"#"开始的语句行都是预处理命令行
B)预处理命令行的最后不能以分号表示结束
C)#define MAX 是合法的宏定义命令行
D)C程序对预处理命令行的处理是在程序执行的过程中进行的
(29)设有以下说明语句
printf("%d%d\n",strlen(p),strlen(q));}
以下叙述中正确的是
A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

2010(秋)江苏省计算机二级C语言试题与答案(笔试)

2010(秋)江苏省计算机二级C语言试题与答案(笔试)

本文由方山赵子龙贡献 doc文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

二级试卷 试卷语种:C 语言 一、选择题(用答题卡答题,答案依次填在 21~30 答题号内,共 10 分) 21.以下关于 C 源程序的叙述中正确的是(21) A.注释只能出现在程序的开始位置或语句后面 B.一行中不能写多条语句 C.一条语句可以分写在多行中 D.一个源程序只能保存在一个文件中 22.C 源程序中的命令#include 与#define 是在(22)阶段被处理的。

 A.预处理 B.编译 C.连接 D.执行 。

23.以下语句中有语法错误的是(23) A.printf("%d",0xAB); C.printf("%d",037); B.printf("%f",3.45E2.5); D.printf("%c",'\\'); 。

24.已有声明"int x=5,y;float z=2;",以下表达式中语法正确的是(24) A.y=x%z B.x>0?y=x:y=-x C.y=x/2=z D.y=x=z/2 25.已知字母 A 的 ASCII 码是 65,字母 a 的 ASCII 码是 97,变量 c 中存储了一个大写字母的编码.若要求将 c 中大写字母编码转换成对应小写字母编码,则以下表达式中不能实现该功能的是(25) A.c=tolower(c) B.c=c+32 C.c=c-'A'+'a' D.c=(c+'A')&-'a' 26.一元二次方程 ax +bx+c=0 有两个相异实根的条件是 a≠0 且 b -4ac>0,以下选项中能正确表示该条件 的 C 语言表达式是 (26) A.a!=0,b*b-4*a*c>0 C.a && b*b-4*a*c>0 。

B.a!=0||b*b-4*a*c>0 D.!a && b*b-4*a*c>0 。

27.以下关于 break 和 continue 语句的叙述中正确的是 (27) A.break 和 continue 语句都可以出现在 switch 语句中 B.break 和 continue 语句都可以出现在循环语句的循环体中 C.在循环语句和 switch 语句之外允许出现 break 和 continue 语句 D.执行循环语句中的 break 或 continue 语句都将立即终止循环 28.若有一函数定义为"int f(int x,int *y){return x/*y;}",声明该函数的正确形式是__(28) . A.void f(int,int); B.int *f(int,int *); C.int f(int *,int *); D.int f(int,int *); 29.已知有声明"char a[]="program",*p=a+1;",则执行以下语句不会输出字符 a 的是 (29) . B.putchar(*(p+4)); D.putchar(*(a+5)); A.putchar(*p+4); C.putchar(a[sizeof(a)-3]); 30.已有定义和声明: struct student {int no; char name[20]; struct{int year,month,day;}birth; } s; 若要求将日期"1989 年 11 月 12 日"保存到变量 s 的 birth 成员中,则能实现这一功能的程序段是 (30) 。

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

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

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

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

(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对答案:D解析:线性表的链式储存肯定要比顺序储存占据更多的空间(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对答案:D解析:C应该是:栈顶指针随栈中元素的变化而变化(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)函数的形参在函数被调用时获得初始值答案:D解析:A——不必声明的是形参,而不是其类型B——形参内存空间在栈上,实参则不一定C——仅仅在函数执行期内(12)下列关于对象初始化的叙述中,正确的是A)定义对象的时候不能对对象进行初始化B)定义对象之后可以显式地调用构造函数进行初始化C)定义对象时将自动调用构造函数进行初始化D)在一个类中必须显式地定义构造函数实现初始化答案:C解析:A——可以而且必须对对象进行初始化,这就是为什么你自己不写构造函数系统都要‘硬’给你整个默认的原因。

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

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

年9月世界打算机二级C++口试试题:文字版一、选择题〔每题2分,共70分〕以下各题A〕、B〕、C〕、D〕四个选项中,只需一个选项是精确的。

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

〔1〕以下表达中精确的选项是A〕线性表的链式存储构造与次第存储构造所需求的存储空间是一样的B〕线性表的链式存储构造所需求的存储空间一般要多于次第存储构造C〕线性表的链式存储构造所需求的存储空间一般要少于次第存储构造D〕上述三种说法都差错〔2〕以下表达中精确的选项是A〕在栈中,栈中元素随栈底指针与栈顶指针的变卦而静态变卦B〕在栈中,栈顶指针波动,栈中元素随栈底指针的变卦而静态变卦C〕在栈中,栈底指针波动,栈中元素随栈顶指针的变卦而静态变卦D〕上述三种说法都差错〔3〕软件测试的目的是A〕评估软件可靠性B〕觉察并改正次第中的差错C〕改正次第中的差错D〕觉察次第中的差错〔4〕下面描画中,不属于软件危殆表现的是A〕软件过程不标准B〕软件开拓花费率低C〕软件质量难以把持D〕软件本钞票不断提高〔5〕软件生命周期是指A〕软件产品从提出、完成、应用爱护到停顿应用退役的过程B〕软件从需求分析、方案、完成到测试完成的过程C〕软件的开拓过程D〕软件的运行爱护过程〔6〕面向东西办法中,承袭是指A〕一组东西所存在的相似性质B〕一个东西存在另一个东西的性质C〕各东西之间的共异性质D〕类之间共享属性跟把持的机制〔7〕层次型、网状型跟关系型数据库分不原那么是A〕记录长度B〕文件的大小C〕联系的复杂程度D〕数据之间的联系办法〔8〕一个义务人员可以应用多台打算机,而一台打算机可被多集团应用,那么实体义务人员、与实体打算机之间的联系是A〕一对一B〕一对多C〕多对多D〕多对一〔9〕数据库方案中反响用户对数据恳求的办法是A〕内办法B〕不雅念办法C〕外办法D〕方案办法〔10〕有三个关系R、S跟T如下:那么由关系R跟S失落失落关系T的把持是A〕自然连接B〕交C〕投影D〕并〔11〕以下关于函数参数的表达中,精确的选项是A〕在函数原型中不必声明形参典范B〕函数的实参跟形参共享内存空间C〕函数形参的生涯期与全部次第的运行期相向D〕函数的形参在函数被调用时获得初始值〔12〕以下关于东西初始化的表达中,精确的选项是A〕定义东西的时候不克不迭对东西停顿初始化B〕定义东西之后可以显式地调用构造函数停顿初始化C〕定义东西时将自动调用构造函数停顿初始化D〕在一个类中必须显式地定义构造函数完成初始化〔13〕以下关于基类跟派生类关系的表达中,精确的选项是A〕每个类最多只能有一个开门见山基类B〕派生类中的成员可以访征询基类中的任何成员C〕基类的构造函数必须在派生类的构造函数体中调用D〕派生类除了承袭基类的成员,还可以定义新的成员〔14〕以下关于赋值运算符“=〞重载的表达中,精确的选项是A〕赋值运算符只能作为类的成员函数重载B〕默认的赋值运算符完成了“深层复制〞功能C〕重载的赋值运算符函数有两个本类东西作为形参D〕假设己经定义了复制〔拷贝〕构造函数,就不克不迭重载赋值运算符〔15〕以下关于模板的表达中,精确的选项是A〕假设一个类中存在纯虚函数,谁人类的确是类模板B〕函数模板不克不迭有办法参数表C〕类模板是一种参数化典范的类,是类的生成器D〕类模板中不克不迭包括构造函数〔16〕以下关于C++预定义流东西的表达中,精确的选项是A〕cin是C++预定义的标准输出流东西B〕cin是C++预定义的标准输出流类C〕cout是C++预定义的标准输出流东西D〕cout是C++预定义的标准输出流类〔17〕以下选项中,精确的C++标识符是A〕6_groupB〕group~6C〕age+3D〕_group_6〔18〕以下选项中,精确的C++表达式是A〕counter++3 B〕element3+ C〕a+=b D〕‘a‘=b〔19〕以下循环语句中有语法差错的选项是A〕inti;for〔i=1;i<10;i++〕cout<<‘*‘;B〕inti,j;for〔i=1,j=0;i<10;i++,j++〕cout<<‘*‘;C〕inti=0;for〔;i<10;i++〕cout<<‘*‘;D〕for〔1〕cout<<‘*‘;〔20〕以下定义语句中,差错的选项是A〕intpx*;B〕char*acp[10];C〕char〔*pac〕[10];D〕int〔*p〕〔〕;〔21〕以下函数原型声明中,差错的选项是A〕intfnction〔intm,intn〕;B〕intfunction〔int,int〕;C〕intfunction〔intm=3,intn〕;D〕intfunction〔int&m,int&n〕;〔22〕假设MyClass为一个类,实行“MyClassa[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<classTl,classT2,classT3>T1sum〔T2,T3〕;doubledl,d2;那么以下调用中,差错的选项是A〕sum<double,double,double>〔dl,d2〕;B〕sum<double;double>〔d1,d2〕;C〕sum<double>〔d1,d2〕;D〕sum〔d1,d2〕;〔26〕有如下语句序列:charstr[10];cin>>str;当从键盘输出〞Ilovethisgame〞时,str中的字符串是A〕"Ilovethisgame"B〕"Ilovethi"C〕"Ilove"D〕"I"〔27〕有如下次第:#include<iostream>#include<cmath>usingstd::cout;classPoint{public:frienddoubledistance〔constPoint&p〕;//p距原点的距离Point〔intxx=0,intyy=0〕:x〔xx〕,Y〔YY〕{}//①private:Intx,Y;};doubledistance〔constPoint&p〕{ //②returnsqrt〔p.x*p.x+p.Y*p.Y〕;}intmain〔〕{Pointp1〔3,4〕;cout<<distance〔p1〕; //③return0;}以下表达中精确的选项是A〕次第编译精确B〕次第编译时语句①出错C〕次第编译时语句②出错D〕次第编译时语句③出错〔28〕有如下次第:#include<iostream>usingnamespacestd;classCD{public:~CD〔〕{cout<<’C’;}private:charname[80];};intmain〔〕{CDa,*b,d[2];return0;}运行时的输出结果是A〕CCCC B〕CCC C〕CC D〕C〔29〕某类中有一个无参且无前去值的常成员函数Show,那么精确的Show函数原型是A〕constvoidShow〔〕;B〕voidconstShow〔〕;C〕voidShow〔〕const;D〕voidShow〔const〕;〔30〕假设已定义了类Vehicle,那么以下派生类定义中,差错的选项是A〕classCar:Vehicle{/*类体略*/},B〕classCar:publicCar{/*类体略*/};C〕classCar:publicVehicle{/*类体略*/};D〕classCar:virtualpublicVehicle{/*类体略*/};〔31〕有如下次第:#include<iostream>usingnamespacestd;classMusic{public:voidsetTitle〔char*str〕{strcpy〔title,str〕;}protected:chartype[10];private:chartitle[20];};classJazz:publicMusic{public:voidset〔char*str〕{strcpy〔type,"Jazz"〕; //①strcpy〔title,str〕; //②}};以下表达中精确的选项是A〕次第编译精确一 B〕次第编译时语句①出错C〕次第编译时语句②出错 D〕次第编译时语句①跟②都出错〔32〕有如下次第:#include<iostream>usingnamespacestd;classInstrument{public:virtualvoidDisplay〔〕=0;};classPiano:publicInstrument{public:voidDisplay〔〕{/*函数体次第略*/}};int,main〔〕{Instruments;Instrument*p=0;//...;return0;}以下表达中精确的选项是A〕语句“Insturment*p=0;〞编译时出错B〕语句“Instruments;〞编译时出错C〕类Piano中的Display函数不是虚函数D〕类Instrumen七是一个虚基类〔33〕有类定义如下:气classType {public:Type〔int i=0〕;Tvpeoperator-〔int〕;friendTypeoperator+〔Type,Type〕;private:intval;假设有东西定义Typecl;那么以下语句序列中,差错的选项是A〕Type〔3〕+c1; B〕cl+Type〔3〕;C〕3-cl; D〕c1-3;〔34〕有如下次第:#include<iostream>#include<iomanip>usingnamespacestd;_intmain〔〕{Cout<<setw〔10〕<<setfill〔’x’〕<<setprecision〔8〕<<left;Cout<<12.3456793<<_______<<98765;return0;}假设程厚的输出是12.345679x98765xxxxx,那么划线处缺失落的部分是A〕setw(10) B〕setfill('x') C〕setprecision(8) D〕right〔35〕有如下次第:#include<iostream>usingnamespacestd;classBook{public:Book〔char*t=""〕{strcpy〔titie,t〕;}_____________________________private:Chartitle[40];};classNovel:publicBook{public:Novel〔char*t=""〕:B00K〔t〕{}char*Category〔〕const {return〞"文学"}};intmain〔〕{Book*pb;pb=newNovel〔〕;Cout<<pb->Category〔〕;return0;}假设次第运行时输出结果是“文学〞,那么划线处缺失落的语句是A〕char*Category〔〕;B〕char*Category〔〕const;C〕virtualchar*Category〔〕const;D〕virtualchar*Category〔〕const=0;二、填空题〔每空2分,共30分〕请将每一个空的精确答案写在答题卡【1】-【15】序号的横线上,答在试卷上不得分。

【免费下载】9月全国计算机等级考试二级C语言真题及答案

【免费下载】9月全国计算机等级考试二级C语言真题及答案

2010 年9 月全国计算机等级考试二级笔试试卷C 语言程序设计(附答案)(考试时间90 分钟,满分100 分)一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制C)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小B)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A )内模式B )概念模式C )外模式D )设计模式(10)有三个关系R 、S 和T 如下: R S T AB C a12b21 c 31则由关系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.0 C)字符斜杠:‟\‟ D)字符串:”\007”(16)表达式a+=a-=a=9 的值是A )9B )-9C )18D )0(17)若变量已正确定义,在if(W)printf(“%d\n”,k);中,以下不可替代W 的是A )a<>b+cB )ch=getchar()C )a==b+cD )a++(18)有以下程序#includemain(){ int a=1,b=0;if(!a) b++;A B C Dc 31A D c 4else if(a==0)if(a) b+=2;else b+=3;printf(“%d\n”,b);}程序运行后的输出结果是A)0 B)1 C)2 D)3(19)若有定义语句int a,b;double x;则下列选项中没有错误的是A)switch (x%2){ case 0: a++; break;case 1: b++; break;default: a++; b++; }B) switch ((int)x/2.0){ case 0: a++; break;case 1: b++; break;default : a++; b++; }C) switch((int)x%2){ case 0: a++; break;case 1: b++; break;default : a++; b++; }D)switch((int)(x)%2){ case 0.0: a++; break;case 1.0: b++; break;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,11 B)7,1 C)7,11 D)6,1(21)有以下程序#includemain(){ int y=10;while(y--);printf(“y=%d\n”,y);}程序执行后的输出结果是A)y=0 B)y=-1 C)y=1 D)while 构成无限循环(22)有以下程序#includemain(){ char s[ ]=”rstuv”;printf(“%c\n”,*s+2);}程序运行后的输出结果是A)tuv B) 字符t 的ASCII 值C)t D)出错(23)有以下程序#include <stdio.h>#include <string.h>main(){ char x[ ]=”STRING”;x[0]=‘0’; x[1]=‘\0‘; x[2]=‟0‟;printf(“%d %d\n”,sizeof(x),strlen(x));}0和\0 表示一样程序运行后的输出结果是A) 6 1 B) 7 0 C) 6 3 D) 7 1(24)有以下程序#includeint 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)1 B)2 C)4 D)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 10 int 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)有以下程序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,4 B)4,4 C) 3,1 D)4,1(30)有以下程序(函数fun 只对下标为偶数的元素进行操作)#includevoid fun(int *a,int n){ int i,j,k,t;for(i=0;i<n-1;i+=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 a[10]={1,2,3,4,5,6,7},i;fun(a,7);for(i=0;i<7;i++)printf(“%d,”,a[i]);printf(“\n”);}程序运行后输出结果是A)7,2,5,4,3,6,1,B)1,6,3,4,5,2,7,C)7,6,5,4,3,2,1,D)1,7,3,5,6,2,1,(31)下列选项中,能够满足“若字符串s1 等于字符串s2, 则执行ST”要求的是A)if(strcmp(s2,s1) ==0) ST;B) if(s1==s2) ST;C) if(strcpy(s1,s2) ==1) ST;D) if(s1-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\0EFG\0”, b[ ]=”IJK”;printf(“%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJK B)ABCDIJK C)IJK D)EFGIJK(34)有以下程序,程序中库函数islower(ch)用以判断ch 中的字母是否为小写字母#include <stdio.h>#include <ctype.h>void fun(char *p){ int i=0;while(p[i]){ if(p[i] ==‟ …&&islower(p[i-1])) p[i-1]=p[i-1]-‟a‟+‟A‟;i++;}}main(){ char s1[100]=”ab cd EFG !”;fun(s1);printf(“%s\n”,s1);}程序运行后的结果是A) ab cd EFG ! B) Ab Cd EFg ! C) aB cD EFG ! D) ab cd EFg !(35)有以下程序#includevoid fun(int x){ if(x/2>1)fun(x/2);printf(“%d ”,x);}main(){ fun(7);printf(“\n”);}程序运行后的输出结果是A)1 3 7 B)7 3 1 C)7 3 D)3 7(36)有以下程序#includeint 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)11 B)21 C)6 D)120(37)有以下程序`#include <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)有以下程序#includemain(){ 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)1,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)有以下程序#includemain(){ short c=124; c=c ;printf(“%d\n”,c);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B) |248 C)& 0248 D) <<1二、填空题(每空2 分,共30 分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

2010年9月全国计算机二级C笔试题(含参考答案)-推荐下载

2010年9月全国计算机二级C笔试题(含参考答案)-推荐下载

1、选择题(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: A B C S: A D T: A B C D ______ _______ ________a 1 2 c 4 c 3 1 4b 2 1c 3 1 则由关系R和S得到关系T的操作是()A)自然连接 B)交 C)投影 D)并(11)、以下关于结构化程序设计的叙述中正确的是()A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)、以下关于简单程序设计的步骤和顺序的说法中正确的是()A)确定算法后,整理并写出文档,最后进行编码和上机测试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,在根据文档进行编码和上机调试,最后确定算法和数据结构(13)、以下叙述中错误的是()A) C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能进行D)C程序中整形变量只能存放整数,实型变量只能存放浮点数(14)、有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是()A) a%(int x-y) B) a=x!=y C) (a*y)%b D)y=x+y=x(15)、以下选项中能表示合法常量的是()A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠:’\’ D)字符串:“\007”(16) 、表达式 a+=a,a=9的值是()A)9 B)-9 C)18 D) 0(17)、若变量已正确定义,在if(W)printf(”%d\n”,k);中,以下不可替代W的是()A)a<>b+c B)ch=getchar() C) a==b+c D)a++(18)、有以下程序# include<stdio.h>main(){int a=1,b=0;if(!a) b++;else if(a==0) if(a) b+=2;else b+=3;printf(“%d\n”,b);}程序运行后的输出结果是()A) 0 B)1 C) 2 D) 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.11 B) 7.1 C) 7.11 D)6.1(21)、有以下程序#include<stdio.h>main(){int y=10;while (y--)printf(“y=%d\n”,y);}程序执行后的输出结果是()A)y=0 B)y=-1 C)y=1 D)while构成无限循环(22)、有以下程序#include<stdio.h>main(){char s[]=”rstuv”;printf(“%c\n”,*s+2);}程序运行后的输出结果是()A)tuv B)字符t的ASCII码值 C)t D) 出错(23)、有以下程序#include<stdio.h>main(){char x[]=”STRING”;x[0]=0; x[1]=’\0’;x[2]=’0’;printf(“%d %d\n”,sizeof(x),srlen(x));}程序运行后的输出结果是()A) 6 1 B) 7 0 C) 6 3 D) 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)1 B) 2 C) 4 D) 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;(29)、有以下程序#include <stdio.h>void f(int *p);main(){int a[5]={1,2,3,4,5}; *r=a;f(r); print(“%d\n”,*r);}void f(int *p){p=p+3;printf(“%d”,*p);}程序运行后的输出结果是()A)1,4 B) 4,4 C)3,1 D)4,1(30)、有以下程序(函数fun只对下标为偶数的无素进行操作)#iinclude<stdio.h>Void fun(int *a,int n){int i,j,k,t;for{i=0;i<n-1;i+=2}{k=i;for{j=i j<n;j+=2} if(a[j]>a[k]) k=j;t=a;a=a[k];a[k]=t;}}main{}{intfun(aa,7);for(i=0;i<7;i++)printf(“\\d,” ,aa);printf(“\n”);}程序运行后的输出结果是()A)7,2,5,4,3,6,1 B)1,6,3,4,5,2,7C)7,6,5,4,3,2,1 D)1,7,3,5,6,2,1(31)、下列选项中,能够满足“若字符串s1等于字条款串s2,则执行ST”要求的是()A)if(strcmp(s2,s1)==0)ST; B)if(s1==s2)ST;C)if(strcpy(s1,s2)==1)ST; D)if(s1-s2==0)ST;(32)、以下不能将s 所指字符串正确复制到t所指存储空间的是()A)while(“t=”s){t++;s++;} B)for(i=0;t=s;i++);C)do{} D)for(i=0;j=0;???)(33)、有以下程序( strcat函数用以连接两个字符串)#include<stdio.h>#include<string,h>main(){char a[20]=”ABCD\OEFG\0”,b[]=Strcat(a,b);printf(\\s\n,a);}程序运行后的输出结果是()A)ABCDE\?FG\OUK B)ABCDUK C)UK D)EFGUK(34)、有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母()#include <stadio.h>#include <ctype.h>Void fun {char *p}{ int i=0;While <p>{if <p==’ ’&&islower<p[i-1]> p[i-1]=p[i-1]-‘a’+’A’;i++;}}main(){char sl[100]=”ab cd EFG!”;}程序运行后的输出结果是()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 7 B)7 3 1 C)7 3 D)3 7 (36)、有以下程序#include<studio .h>Int fun{}{static int x=1;x+=1; retrun x;}main(){int i,s=1;For(i=1;i<5;i++) s+=fun{};Printf(“&d\n”,s);}程序运行后的输出结果是()A) 11 B) 21 C) 6 D)120(37)、有以下程序#include <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;pritf(“%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)<<1二、填空题(每空2分,共30分)(1)、一个栈的初始状态为空,首先将元素5,4,3,2,1依次如栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为_______.(2)、在长度为n的线性表中,寻找最大项至少需要比较______次。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
B "I love thi"
C "I love"
D "I"
27.
有如下程序:
#include<iostream>
#include<cmath>
using std::cout;
class Point{
public:
friend double distance(const Point &p); //p 距原点的距离
A 每个类最多只能有一个直接基类 B 派生类中的成员可以访问基类中的任何成员 C 基类的构造函数必须在派生类的构造函数体中调用 D 派生类除了继承基类的成员,还可以定义新的成员 14. 下列关于赋值运算符“=”重载的叙述中,正确的是
A 赋值运算符只能作为类的成员函数重载 B 默认的赋值运算符实现了“深层复制”功能 C 重载的赋值运算符函数有两个本类对象作为形参 D 如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符 15. 下列关于模板的叙述中,正确的是
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];”语句时会自动调用该类 构造函数的次数是
D 上述三种说法都不对 3. 软件测试的目的是
A 评估软件可靠性
B 发现并改正程序中的错误
C 改正程序中的错误
D 发现程序中的错误 4. 下面描述中,不属于软件危机表现的是
A 软件过程不规范 B 软件开发生产率低 C 软件质量难以控制 D 软件成本不断提高 5. 软件生命周期是指
A 软件产品从提出、实现、使用维护到停止使用退役的过程 B 软件从需求分析、设计、实现到测试完成的过程 C 软件的开发过程 D 软件的运行维护过程 6. 面向对象方法中,继承是指
A 语句“Insturment *p=0;”编译时出错
B 语句“Instruments;”编译时出错
C 类 Piano 中的 Display 函数不是虚函数
D 类 Instrumen 七是一个虚基类 33. 有类定义如下:气
class Type {
public: Type (int i=0); Tvpe operator -(int); friend Type operator + (Type, Type ); private: int val; 若有对象定义 Type cl;则下列语句序列中,错误的是
A 一对一 B 一对多 C 多对多 D 多对一 9. 数据库设计中反映用户对数据要求的模式是
A 内模式 B 概念模式 C 外模式 D 设计模式 10. 有三个关系 R、S 和 T 如下:
则由关系 R 和 S 得到关系 T 的操作是
A 自然连接 B交 C 投影 D并 11. 下列关于函数参数的叙述中,正确的是
A 如果一个类中存在纯虚函数,这个类就是类模板 B 函数模板不能有形式参数表
C 类模板是一种参数化类型的类,是类的生成器 D 类模板中不能包含构造函数 16. 下列关于 C++预定义流对象的叙述中,正确的是
A cin 是 C++预定义的标准输入流对象 B cin 是 C++预定义的标准输入流类 C cout 是 C++预定义的标准输入流对象 D cout 是 C++预定义的标准输入流类 17. 下列选项中,正确的 C++标识符是
A &#;<
D =和[] 25. 有函数模板声明和一些变量定义如下:
template <class Tl,class T2,class T3>T1 sum(T2,T3); double dl,d2; 则下列调用中,错误的是
A sum<double,double,double>(dl,d2);
A 在函数原型中不必声明形参类型 B 函数的实参和形参共享内存空间
C 函数形参的生存期与整个程序的运行期相向 D 函数的形参在函数被调用时获得初始值 12. 下列关于对象初始化的叙述中,正确的是
A 定义对象的时候不能对对象进行初始化 B 定义对象之后可以显式地调用构造函数进行初始化 C 定义对象时将自动调用构造函数进行初始化 D 在一个类中必须显式地定义构造函数实现初始化 13. 下列关于基类和派生类关系的叙述中,正确的是
A 一组对象所具有的相似性质 B 一个对象具有另一个对象的性质 C 各对象之间的共同性质 D 类之间共享属性和操作的机制 7. 层次型、网状型和关系型数据库划分原则是
A 记录长度 B 文件的大小 C 联系的复杂程度 D 数据之间的联系方式 8. 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作 人员、与实体计算机之间的联系是
A class Car:Vehicle{/*类体略*/},
B class Car:public Car{/*类体略*/};
C class Car:public Vehicle{/*类体略*/};
D class Car:virtual public Vehicle{/*类体略*/};
31.
有如下程序:
A setw(10)
B setfill('x')
C setprecision(8)
D right 35. 有如下程序:
#include<iostream> using namespace std; class Book{ public: Book(char* t=""){strcpy(titie,t); } _____________________________
A char* Category();
B char*Category()const;
C virtual char*Category()const;
D virtual char*Category()const=0; 二、填空题(每空 2 分,共 30 分)
2010 年 9 月全国计算机二级 C++笔试试题
(总分 100, 考试时间 120 分钟)
一、选择题(每小题 2 分,共 70 分) 下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选
项填涂在答题卡相应位置上,答在试卷上不得分。 1. 下列叙述中正确的是
A 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
public:
void set(char* str){
strcpy(type,"Jazz");
//①
strcpy(title,str); } }; 下列叙述中正确的是
//②
A 程序编译正确
B 程序编译时语句①出错
C 程序编译时语句②出错
D 程序编译时语句①和②都出错
32. 有如下程序:
#include<iostream> using namespace std; class Instrument{ public: virtual void Display()=0; }; class Piano:public Instrument{ public: void Display(){/*函数体程序略*/} }; int, main(){ Instrument s; Instrument*p=0; //...; return 0; } 下列叙述中正确的是
B sum<double;double>(d1,d2);
C sum<double>(d1,d2);
D sum(d1,d2); 26. 有如下语句序列:
char str[10];cin>>str; 当从键盘输入”I love this game”时,str 中的字符串是
A "I love this game"
cout<<distance(p1);
//③
return 0;

下列叙述中正确的是
A 程序编译正确
B 程序编译时语句①出错
C 程序编译时语句②出错
D 程序编译时语句③出错
28. 有如下程序:
#include<iostream> using namespace std; class CD{ public: ~CD(){cout<<’C’;} private: char name[80]; }; int main(){CD a,*b,d[2];return 0;} 运行时的输出结果是
A Type(3)+c1;
B cl+Type(3);
C 3-cl;
D c1-3; 34. 有如下程序:
#include<iostream> #include<iomanip> using namespace std;_ int main(){ Cout<<setw(10)<<setfill(’x’)<<setprecision(8)<<left; Cout<<12.3456793<<_______<<98765; return 0; } 若程厚的输出是 12.345679x98765xxxxx,则划线处缺失的部分是
相关文档
最新文档