全国计算机等级考试二级C语言真题题库1+2015年3月
2015年计算机二级C语言测试题及答案解析(一)
1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 ( C ) 开始执行。
A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3、以下说法中正确的是( C )。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是( B )。
A、 C程序的工作过程是编辑、编译、连接、运行B、 C语言不区分大小写。
C、 C程序的三种基本结构是顺序、选择、循环D、C程序从main函数开始执行5.下列正确的标识符是(C )。
A、-a1B、a[i]C、a2_iD、int t5~8题为相同类型题考点:标识符的命名规则只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B )。
A、3axB、xC、caseD、-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是( C )。
A、 %xB、a+bC、a123D、123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while 为关键字,不满足(3)9.C语言中的简单数据类型包括(D )。
2015年计算机等级考试《二级C语言程序设计》机考操作题题库(附答案)
2015年计算机等级考试《二级C语言程序设计》机考操作题题库(附答案)本卷共分为3大题15小题,作答时间为240分钟,总分200分,120分及格。
一、程序填空题(共50分)1、请补充main()函数,该函数的功能是:计算3名学生各科的平均成绩。
例如,当scoreEN][M]={{85,62,89.5,60,69),{90,96.84.5,100,85},{92,97。
86,73,85})时,五门学科的平均分为:898586.777.779.7。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序:2、请补充函数proc(),该函数的功能是:把字符下标为非素数的字符从字符串str中删除,把字符下标为素数的字符重新保存在字符串str中。
字符串str从键盘输入,其长度作为参数传人函数proc()。
例如,输入“helloeverybody”,输出“lleeoy”。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:3、给定程序中,函数fun()的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。
例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgf。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在fun()函数的横线上填入所编写的若干表达式或语句。
试题程序:4、请补充main()函数,该函数的功能是:把文本文件text2中的内容追加到文本文件text1的内容之后。
例如,文件text2的内容为“1’m very happy!”,文件Text1的内容为“I’m a girl,”,追加之后文件text1的内容为“1’m a girl,I’m very happy”。
2015年《计算机等级考试二级C语言》精装版
2015计算机二级C语言精装版找题目录1 int fun(___1___ *std)2 void WriteText(FILE ___1___)3 fprintf(___1___,"%d %f\n",i,sqrt((double)i));4 if((fs=fopen(source, ___1___))==NULL)5 s->data=___1___;6 t=t->___1___;7 free(___1___);8 while(p!=___1___)9 ___1___=0;10 s+= p->___1___;11___1___ fun(STU *std, char *num)12 if( ___1___==year)13 void modify(___1___ *ss,float a)14 void fun(PERSON ___1___)15 max= ___1___;16 void show(STU ___1___)17 for(j=___1___; j<M; j++)18 n=len; ___1___=i;19 n=strlen(___1___);20 int fun(char (*ss) ___1___, int *n)21 if ((ch>='a')___1___(ch<='z'))22 f = ___1___;23 t = ___1___;24 t = ___1___;/**********found**********/25 f = 1.0+___1___;26 for (___1___; j<i; j++)27 switch(___1___)28 for (j=a[i]*2; j<=n; j+=___1___)29 ((___1___%t==0) && (i/t<n))30 t = (a>b) ? (b>c? b :(a>c?c:___1___))31 n=__1__;32 while(t<=__1__){33 i=__1__;34 if(t%2==__1__)35{ t=*n % __1__;36 s=__1__;37 k=__1__;38 x=__1__/4;39 s=0; i=__1__;40 t[j]=__1__; j++;}41__1__ fun(int i, double x, double y)44 fp = fopen(filename, __1__);45 fp = fopen(__1__, "rb+");46 t=b[i]; b[i]=___1___; b[k]=t;47 if( ___1___==0 )48 pa->next=___1___;49 a[i]=___1___;50 __1__ = 0;1填空,(1) STYPE(2) FILE (3) fp改错 (1) for(i = 0 ; i < sl ; i++)(2) t[2*sl] = 0;编程 *c=a/10*1000+b/10*100+a%10*10+b%10;2填空,(1) *fw (2) str (3) str改错 (1) void fun(long s,long *t)(2) sl=sl*10;编程 int i, j=0, min=a[0].s;for(i=0; i<N; i++){if(min>a[i].s){j=0; b[j++]=a[i]; min=a[i].s;}else if(min==a[i].s)b[j++]=a[i];}return j;3填空,(1) fp(2) fclose(fp)(3) fname改错(1) for(i=j+1;i<n;i++) (2) p=i;编程 *c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10; 4填空,(1) "r" (2) fs (3) ft改错 (1) if(d%2==0) (2) s/=10;编程 int i, j=0;for(i=0; i<strlen(s); i+=2)if(s[i]%2==0)t[j++]=s[i];t[j]='\0';5填空,(1) x 2) p (3) s改错(1) long k=1; (2) num/=10;编程 int i;float ave=0.0;for(i=0; i<n; i++)ave=ave+a[i];ave=ave/n;return ave;6填空,(1) next,(2) t->data (3) t改错 (1) fun (char *a) (2) printf("%c",*a);编程int i;char *p=s, *q=t;{n++;p++;}while(*q){m++;q++;}if(n>=m)p=s;elsep=t;return p;7填空,(1) q (2) next (3) next改错 (1) p=j;(2) p=i;编程int i,j=0;*n=0;for(i=1;i<=m;i++)if(i%7==0||i%11==0){a[j]=i; j++;}*n=j;8填空,(1) 0,(2) n (3) head,ch改错 (1) for(i=0,t=0;p[i];i++)(2) c[t]=0;编程int i;for(i=1; i<strlen(ss); i+=2){ if(ss[i]>='a'&& ss[i]<='z')ss[i]-=32;}9填空,(1) *n,(2) next(3) head改错 (1) a=0;(2) if(*r==*p)编程 *c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10); 10填空,(1) data,(2) next (3) head改错 (1) while(*r) (2) *a=*r;a++;r++;编程 int i, j=0;for(i=1; i<strlen(s); i+=2)t[j++]=s[i];t[j]='\0';11填空,(1) STU,(2) std[i].num (3) std[i]改错 (1) r++;p++; (2) if(*r==0)编程 int i, j=0;for(i=0; i<strlen(s); i++)if(s[i]%2)12填空,(1) std[i].year (2) std[i] (3) n改错 (1) IsPrime(int n) (2) if(!(n%i))编程 int i, max=a[0].s, j=0;for(i=1; i<N; i++)if(max<a[i].s){j=i;max=a[i].s;}*s=a[j];13填空,(1) STU (2) score[i](3) &&std改错 (1) if(k>0) (2) else if(k==0)编程 int i,j;for(i=0; i<N; i++)for(j=0; j<=i; j++)a[i][j]*=n;14填空,(1) *std,(2) PERSON (3) std改错 (1) int k,q,i; (2) pt[i]=str[k][i];编程 int i, j;for(i=0; i<N; i++)for(j=0; j<=i; j++)a[i][j]=0;15填空,(1) *std, (2) std[i].age (3) 改错(1) void fun(int *a,int *b) (2) t=*b;*b=*a;*a=t; 编程int i, j;for(i=0; i<N; i++)for(j=0; j<=i; j++)a[i][j]=0;pp[i]=tt[k][i];}16填空,(1) tt (2) tt.score[i] (3) std改错(1) m=i; (2) if(a[k]>a[m]) m=k;编程 unsigned t,s=0,s1=1,p=0;t=w;while(t>10){ if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;}return s;17填空,(1) i+1 (2) k=j (3) t改错 (1) void fun(char *str, char ch )int i=0, j;memset(b, 0, N);for(j=strlen(s)-1; j>=0; j--)b[i++]=s[j];strcpy(s, b);18填空,(1) k, (2) len (3) ss[i][j]改错 (1) result*=(double)n—; (2) return result; 编程char *p=s;int i=0;while(*p){if(*p !=c)s[i++]=*p;p++;} s[i]='\0';19填空,(1) ss[i],(2) n+j (3) 1改错 (1) if(*p==' ')(2) *(p-1)=toupper(*(p-1)); 编程char t;int i,j;for(i=1;i<num-2;i++)for(j=i+1;j<num-1;j++)if(s[i]<s[j]){t=s[i]; s[i]=s[j];s[j]=t;}20填空,,(1) [N] (2) len (3) *n=len改错 (1) t+=1./i; (2) return t;编程 int cnt=0;char *p=str, *q;while(*p){q=strstr(p, substr);if(q==NULL) break;p=q+strlen(substr);cnt++;} return cnt;21填空,(1) &&&&,(2) 'A' (3) ch改错 (1) void fun(int *a) (2) a[j]=a[j-1];编程 int s=0, i;for(i=2; i<n; i++)if(n%i==0)s+=i;return s;22填空,(1) 1,(2) -1 (3) t改错 (1) for(i=1;i<=3;i++) (2) if(k>=0&&&&k<=6) 编程 double s=1;long t=1;int i;for(i=1; i<=n; i++){23填空,(1) x,(2) n (3) fabs(t)改错:(1) for(i=1;i<=y;i++) (2) t=t%1000; 编程 int n=1;double sn=1;double xn=1,xn1=0;while(fabs(xn-xn1)>=0.000001){xn=xn*x*(0.5-n+1)/n;n+=1; sn+=xn;} return(sn);24填空,(1) 1,(2) 1 (3) i改错 (1) k=i;(2) c=k;编程 int i;double avg=0.0, sum=0.0, abs=0.0, fc;for (i=0;i<10;i++) sum+=x[i];avg=sum/10;for (i=0;i<10;i++)abs+=(x[i]-avg)*(x[i]-avg);fc=sqrt(abs/10);return fc;}25填空(1) x (2) n (3) t改错(1) d=1;s=0;(2) d=d/10;编程 int i;double avg=0.0,sum=0.0;for(i=0;i<8;i++){avg=(x[i]+x[i+1])/2;sum+=sqrt(avg);} return sum;26填空(1)j=2 (2)I (3)j改错(1) sum=0;j=0; (2) if(sum%4==2)编程 int i;double sum=0.0;if (n>1 && n<=100) {for(i=1; i<=n; i++)sum+=1.0/(2*i-1)-1.0/(2*i);} return sum;27填空(1) n%10 (2) break (3) break改错(1) if(t==0) (2) *zero=count;编程double s=0, t=1;int i;for(i=1; i<=n; i++){t *=i; s+=1./t;} return s;编程 int i;double sum=0.0;for(i=1; i<=n; i++)if(i%5==0||i%9==0)sum+=1.0/i;return sum;29填空(1) I (2) t++ (3) count改错(1) int fun(int a,int b,int c)(2) else return 1;编程 int i,j=0;double s=0;for (i=3; i<=n; i++){for (j=2; j<i; j++)if(i%j==0)break;if(j==i)s=s+sqrt(i);} return s;30填空(1) a (2) a (3) b改错(1) c=tolower(c); (2) c=c+5;编程 int i;double fac=1.0;double sum=1.0;for(i=2;i<=n;i++){fac+=sqrt(i);sum+=fac;} return sum;31填空(1) 0 (2) x (3) t++改错(1) int i,sl; (2) t[i]=s[sl-i-1];编程 *c=(b/10)*1000+(a/10)*100+(b%10)*10+(a%10); 32填空(1) 999 (2) t/10 (3) x改错(1) void fun(long s,long *t) (2) while(s>0) 编程 if(a[i].s<a[j].s){tmp=a[i];a[i]=a[j];a[j]=tmp;}33填空(1) 1 (2) s (3) i*10改错(1) int fun(int n,int xx[][M])(2) printf("%d",xx[i][j]);编程 *c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);编程 char *p=p1;while(*p)p++;while(*p2) *p++=*p2++;*p=0;35填空(1) 10 (2) 0 (3) x改错(1) if (n==0) (2) result *= n-- ;编程 while(*p) x = x*10-48+(*p++);36填空(1)0 (2) n (3) (t*t)改错(1) for(i=0;str[i];i++) (2) if(substr[k+1]==0)编辑 double s;float n,t,pi;t=1;pi=0;n=1.0;s=1.0;while((fabs(s))>=eps){ pi+=s;t=n/(2*n+1);s*=t; n++;}pi=pi*2; return pi;37填空(1) 1 (2) 2*i (3) (-1)改错(1) k++; (2) if(m==k)编辑 int i;*max=a[0];*d=0;for(i=1; i<n; i++)if(*max<a[i]){*max=a[i];*d=i;}38填空(1) 3. (2) > (3) (2*i+1)改错(1) double fun(int n) (2) s=s+(double)a/b;编程 int i, j, max=a[0][0];for(i=0; i<2; i++)for(j=0; j<M; j++)if(max<a[i][j]) max=a[i][j];return max;39填空(1) 0 (2) i++ (3) 2.*i改错(1) void fun (char *s, char *t) (2) t[2*d] = 0; 编程 int i, j=0;for(i=1; i<strlen(s); i+=2)if(s[i]%2)t[j++]=s[i];t[j]='\0';40填空(1) s[i] (2) k (3) 0for(i=0; i<strlen(s); i++)if(s[i]%2==0) t[j++]=s[i]; t[j]=0;41填空(1) double (2) f1 (3) f2改错(1) char *fun(char *s,char *t)(2) ss++; (3) tt++;编程 int i;for(i=0; i<m; i++)fun1(w);42填空(1) FILE * (2) fp (3) ch改错(1) s[j++]=s[i]; (2) s[j]=0;编程 for(j=0; j<M; j++){b[n]=s[j][i];n=i*M+j+1;}43填空填空(1) FILE * (2) fclose(fp) (3) fp改错(1) t=(STU *)calloc(sizeof(STU),m);(2) t[k]=b[j];编程 int i,t,j=0,*p=a;t=p[0];for(i=0;i<=n;i++)if(t==p[i]) ;else{a[j]=t; t=p[i]; j++;}if(i>=n)a[j]=t; return j;44填空(1) "rb" (2) > (3) fwrite改错(1) p=s; (2) while(*p++);编程int i, j ;for(i = 0 ; i < M ; i++) b[i] = 0 ;for(i = 0 ; i < N ; i++) {j = a[i] / 10 ;if(j > 10) b[M - 1]++ ; else b[j]++ ;}45填空(1) filename (2) fp (3) fp改错(1) p=(NODE *)malloc(sizeof(NODE)); (2) return h; 编程int i,n=0;for(i=0;i<strlen(s);i++){if(s[i]>='a'&&s[i]<='z'&&s[i+1]==' '||s[i+1]=='\0') n++;} return n;46填空(1) b[k] (2) N/2 (3) <改错(1) int t[N] ,i, num=0;for(i=0;s[i]!='\0';i++)if(s[i]>='0'&&s[i]<='9')n++; return n;47填空(1) i%5 (2) \n (3) a[i]改错(1) return t; (2) for(i=0;i<N;i++) t[i]=x[i];(3) x[i+1]=findmid(a,b,c);编程 int i,j;j=-1;for(i=0;i<N;i++){if (*s==x)j=i; s++;} return j;48填空(1) pb (2) p->data (3) p->next改错(1) int i, one=0, zero=0;(2) switch( s[i] ) (3) case 0:zero++;break;编程 while(*s){*a=*s;s++; a++;} *a=’\0’;49填空(1) 0 (2) t (3) i+t改错(1) b[i]=0; (2) b[a[i] - 'a']++;(3) if (b[max] < b[i])编程 int i,j;long int p;i=strlen(s);p=s[0]-48;for(j=1;j<i;j++)p=p*10+(s[j]-48);return p;50填空(1) a[i] (2) m%10 (3) m/10改错(1) b[i] = a[i][0]; (2) for (j=1; j<=N-1; j++) (3) if ( b[i] > a[i][j] )编程double sum=0,max,min;int i;max=min=a[0];for(i=0;i<n;i++){sum=sum+a[i];if(max<a[i])max=a[i];if(min>a[i])min=a[i];}sum=sum-max-min;。
2015年《全国计算机二级C语言》考试真题
2015年《全国计算机二级C语言》考试真题1、对于一个正常运行的C程序,以下叙述中确的是A)程序的执行总是从main 涵数开始B)程序的执行总是从程序的笫一个函数开始,在程序的最后一个函数中结束C)程序的执行总是从main函数幵始,在程序的最后一个函数中结束D)程序的执行总是从程序的笫一个函数开始,在main函数结束3、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是A)x+1=yB) x=x+10=x+yC)double (x)/10D)++x,y=x--4、以下选项中能表示合法常量的是A)’\’B)1,200C)1.5E2.0D)”\007”5、以下定义语句中正确的是A) double a=0.0;b=1.1;B) float a=1,*b=&a,*c=&b;C) int a=b=0;D) char A=65+1,b=’b’7、若变量已正确定义为int型,要通过语句scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)A) □□□1,2,3<回车>B)1,2,3<回车>C)1, □□□2, □□□3<回车>D)1 □2 □3<回车>8、当变量c的值不为2、4、6时,值也为“真”的表达式是()A (c>=2&&c<=6)&&(c%2!=1)B) (c>=2&&c<=6)&&!(c%2) )C) (c==2)‖(c==4)‖(c==6)D) (c>=2&&c<=6)‖(c!=3)‖(c!=5)9、以下选项中,值为1的表达式是A) ‘\0’-‘0’B)’1’-0C)1-‘0’D)1-‘\0’30、以下选项中,不合法的C语言用户标识符是A a——bB AaBcC _1D a_b31. 以下选项中关于C语言常量的叙述错误的是A经常被使用的变量可以定义成常量B 所谓常量,是指在程序运行过程中,其值不能被改变的量C常量可分为数值型常量和非数值型常量D常量分为整型常置、实型常量、字符常量和字符串常量34、以下叙述中正确的是A C语句必须在一行内写完B C语言程序中的注释必须与语句写在同一行C C程序中的每一行只能写一条语句D 简单C语句必须以分号结束37、以下选项中不能作为C语言合法常量的是A ’cd’B’\011’ C 0.le+6 D "\a"58、以下选项中不能用作C程序合法常量的是A."\x7D"B.1,234C.123D.'\123'60、C语言源程序名的后缀是A) . cpB) .objC) .exeD) .C61、阅读以下程序#include <stdio .h>main (){ int case ;float printF;printf ("请输入2个数:");scanf ( "%d %f",&case, &printF );printf("%d %f\n",case,printF );}该程序在编译时产生错误,其出错原因是A.定义语句出错,case是关键字,不能用作用户自定义标识符B.定义语句无错,printf不能输出case的值C.定义语句无错,scanf不能作为输入函数使用D.定义语句出错,printF不能用作用户自定义标识符62.若有定义语句:int x=12,y=8, z;在其后执行语句z= 0.9+x/y;则z的值为A.2.4B.1C.2D.1.963. 表达式a+=a-= a=9的值是A.-9B.0C.9D.1868. 以下选项中非法的c语言字符常量是A.'\b'B.'\xaa'C.'\007'D.'aa'72. 以下叙述中正确的是A.英文大写字母X和荚文小写字母x都可以作为二进制数字的开头字符B.八进制数的开头要使用英文字母o,否则不能与十进制区分开C. 在C程序中的八进制和十六进制,可以是浮点数D.整型变量可以分为int型、short型、long型和unsigned型四种79. 以下选项中,当x为大于1奇数时,值为0的表达式是A.x%2==0B.x%2==lC.x%2!=0D.x/2101. 以下选项中不能作为c语言合法常量的是A.'cd'B.'\011'C.0.le+6D."\a"104. 以下选项中不能用作C程序合法常量的是A"\x7D"B.1,234C.123D.'\123'134. 若有定义语句:char a='\82 ';则变量aA.包含3个字符B.说明不合法C.包含1个字符D.包含2个字符135. 有以下程序#include <stdio.h>main (){char cl='A',c2='Y';printf ("%d,%d\n", cl,c2 );}程序的输4结果是A.输出格式不合法,输出出错信息B.65.89C.A,YD.65.90154. 以下选项中,能用作数据常量的是A.115LB.0118C.0115D.1.5el.5155. 设变量已正确定义并赋值,以下正确的表达式是A.x=y*5=x+zB.int(15.8%5)C.x-25%5.0D.x=y+z+5,++y185. 有以下程序#include <stdio.h>main(){ char a='H';a = ( a>='A' && a<= 'Z' ) ? (a+32) : a;printf("%c\n",a );}程序运行后的输出结果是A) AB) aC) hD) H194. 以下叙述中正确的是A)程序可以包含多个主函数,但总是从第一个主函数处开始执行B)书写源程序时,必须注意缩进格式,否则程序会有编译错误C)程序的主函数名除main外,也可以使用Mainl或_mainD)在C程序中,模块化主要是通过函数来实现的199. 以下叙述中正确的是A)字符变量在定义时不能赋初值B)同一英文字母的大写和小写形式代表的是同一个字符常量C)转义字符用@符号开头D)字符常量可以参与任何整数运算200. 以下叙述中正确的是A)"a"表示一个字符常量B)"\"是非法的C)'\0'表示字符0D)表达式:'a'>'b'的结果是"假"202. 以下叙述中正确的是A)由&&构成的逻辑表达式与由||构成的逻辑表达式都有"短路"现象B)C语言的关系表达式:0<x<10完全等价于:(0<x)&& (x<10)C)逻辑"或"(即运算符||)的运算级别比算术运算要高D)逻辑"非〃〈即运算符!)的运算级别是最低的219. c源程序中不能表示的数制是A) 八进制B)十六进制C)十进制D) 二进制221. 以下四个程序中,完全正确的是A) # include<stdio .h>main (){/* programming */printf("programming!\n"); }B)include<stdio. h>main (){/* programming */printf("programming!\n"); }C) #include <stdio.h>main ();{/* programming /*/printf("programming!\n"}; }D) # include<stdio .h>main (){/*/* programming */*/printf("programming!\n"); }222. 若有定义语句:int x=10;则表达式x-=x+x的值为A) 10B) -10C) -20D) 0224. 己知大写字母A的ASCII码是65’小写字母a的ASCII码是97。
2015年3月全国计算机等级考试二级《VISUAL FOXPRO》真题一及详解
2015年3月全国计算机等级考试二级《VISUAL FOXPRO》真题一(总分100, 考试时间120分钟)一、选择题,每题1分。
1. 向student表插入一条新记录的正确SQL语句是()A APPENDINTOstudentVALUES('0401','王芳,,'女',l8.B APPENDstudentVALUES('0401',7王芳,,,女,。
18.:C INSERTINTOstudentVALUES('0401','王芳,,'女',l8.D INSERTstudentVALUES('0401','王芳','女,,18.答案:C['1INSERTINTO<表名>[(字段名1[,字段名2,……].]VALUES(字段值l[,字段值2。
……].命令用于插入数据,只有C选项的SQL命令格式正确.2. 下列程序段执行后,内存变量sl的值是sl="奥运会游泳比赛"sl=fight(sl,4.+substr(sl,7,4.+left(sl,4.?slA 奥运比赛游泳B 游泳比赛奥运C 比赛游泳奥运D 奥运游泳比赛答案:C【解析】RIGHT(.从指定表达式值的右端取一个指定长度的子串作为函数值,SUBSTR(.从指定表达式值的指定起始位置取指定长度的子串作为函数值,LEVI'(.从指定表达式值的左端取一个指定长度的子串作为函数值。
本题sl="奥运会游泳比赛",fight(sl,4.=比赛,substr(sl,7,4.=游泳,left(sl,4.=奥运,即C选项正确。
3. 有客户表如下:客户(客户号(C,4.,客户名(C,36.,地址(C,36.。
所在城市(C,l0.,联系电话(C,8..查询所有地址中包含"中山路"字样的客户,正确的SQL语句是()A SELECTCr*FROM客户WHERE地址lAKE"%中山路%"B SELECT·FROM客户WHERE地址LIKE"·中山路·"C SELECT·FROM客户WHERE地址LIKE"?中山路?"D SELECT*FROM客户WHERE地址LIKE"_中山路_'答案:A【解析】本题考查常用的特殊运算符,lAKE是字符串匹配运算符,可与通配符"%"和"一"一起使用。
3月计算机等级考试二级C语言笔试真题及参考答案
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%cn”,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)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=%dn",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,%dn",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%dn",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)一个自定义函数中必须有本文来源于贵州学习网WWW.GZU521.COM一条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,%en",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("%dn", 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("%dn",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="n123\";printf("%d %dn", 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("%dn",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("%dn",s);}程序运行后的输出结果是A)OB)1C)4D)8(35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%dn",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.1fn",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=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("%dn",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)abcB) 28cC) abc28D)因类型不一致而出错二、填空题(1)一个队列的初始状态为空。
计算机等级考试(国家)-二级c语言真题2015年03月-(2)
二级C语言真题2015年03月-(2)一、选择题1、下列叙述中正确的是______。
A.每一个结点有两个指针域的链表一定是非线性结构B.所有结点的指针域都为非空的链表一定是非线性结构C.循环链表是循环队列的链式存储结构D.线性结构的存储结点也可以有多个指针2、使用白盒测试方法时,设计测试用例应根据______。
A.程序的内部逻辑 B.程序的复杂结构 C.程序的功能 D.使用说明书3、在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治疗。
则实体医生和患者之间的联系是______。
A.多对多 B.多对一 C.一对多 D.一对一4、设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是______。
A.二分法查找 B.顺序查找 C.分块查找 D.哈希查找5、设数据集合为D={1,3,5,7,9},D上的关系为R,下列数据结构B=(D,R)中为非线性结构的是______。
A.R={(5,1),(7,9),(1,7),(9,3)} B.R={(9,7),(1,3),(7,1),(3,5)}C.R={(1,9),(9,7),(7,5),(5,3)} D.R={(1,3),(3,5),(5,9)}6、深度为7的二叉树共有127个结点,则下列说法中错误的是______。
A.该二叉树有一个度为1的结点 B.该二叉树是满二叉树C.该二叉树是完全二叉树 D.该二叉树有64个叶子结点7、某二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为______。
A.DCBA B.BDCA C.ABCD D.BADC8、下面能作为软件需求分析工具的是______。
A.PAD图 B.程序流程图C.甘特图 D.数据流程图(DFD图)9、下面不属于对象主要特征的是______。
A.唯一性 B.多态性 C.可复用性 D.封装性10、关系R经过运算σ(A=B∧G>4∧D>3)(R)的结果为______。
2015年3月全国计算机等级考试二级《C语言》真题二及详解
2015年3月全国计算机等级考试二级《C语言》真题二(总分100, 考试时间120分钟)一、选择题1. 下列叙述中正确的是A 算法复杂度是指算法控制结构的复杂程度B 算法复杂度是指设计算法的难度C 算法的时间复杂度是指设计算法的工作量D 算法的复杂度包括时间复杂度与空间复杂度答案:D2. 设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。
现经过一系列入队与退队操作后,front=rear=1,此后又正常地插入了两个元素。
最后该队列中的元素个数为A 2B 1C 3D 52答案:A3. 一棵完全二叉树共有360个结点,则在该二叉树中度为1的结点个数为A 0B 1C 180D 181答案:B4. 设某二叉树的后序序列与中序序列均为ABCDEFGH,则该二叉树的前序序列为A HGFEDCBAB ABCDEFGHC EFGHABCDD DCBAHGFE答案:A5. 在排序过程中,每一次数据元素的移动会产生新的逆序的排序方法是A 快速排序B 简单插入排序C 冒泡排序D 以上说法均不正确答案:A6. 下面对软件工程描述正确的是A 软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法B 软件工程的三要素是方法、工具和进程C 软件工程是用于软件的定义、开发和维护的方法D 软件工程是为了解决软件生产率问题答案:A7. 耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是A 内聚性是指模块间互相连接的紧密程度B 提高耦合性降低内聚性有利于提高模块的独立性C 耦合性是指一个模块内部各个元素间彼此结合的紧密程度D 降低耦合性提高内聚性有利于提高模块的独立性答案:D8. 下列关于数据库系统的叙述中正确的是A 数据库系统中数据的一致性是指数据类型一致B 数据库系统避免了一切冗余C 数据库系统减少了数据冗余D 数据库系统比文件系统能管理更多的数据答案:C9. 一名演员可以出演多部电影,则实体演员和电影之间的联系是A 多对多B 一对一C 多对一D 一对多答案:A10. 下面可以作为软件需求分析工具的是A 包图B 程序流程图C PAD图D 数据流程图(DFD图)答案:D11. 有以下程序#include <stdio.h>main(){ int a=2,b=3,c=4;a*=16 +(b++) - (++c);printf("%d \n",a );}程序运行后的输出结果是A 15B 30C 28D 14答案:C12. 以下叙述正确的是A 通过分解成简单子任务,可以完成任何复杂任务B 每个结构化程序都要包含全部三种基本结构C C语言程序的所有自定义函数只能写在同一个源文件中D C语言程序允许使用多个main函数,只要它们的函数体各不相同即可答案:A13. 以下选项中,合法的C语言实数是A E4.8B 4.3e0.2C 4e0D 0.29E答案:C14. 设a,b,c已定义为整型变量,以下选项中不正确的赋值表达式是A a = 3 = (b = 2) = 1;B a = (b = 0) * c + 1;C a = (b = 0) * c + 1;D a = 10 % (b = c = 2.0);答案:A15. 若变量已正确定义并赋初值,以下合法的赋值语句是A k=(m==n);B k=-m-nC k=int(m+n);D k=m*n=1;答案:A16. 以下关于逻辑运算符两侧运算对象的叙述中正确的是A 只能是整数0或1B 只能是整数0或非0整数C 可以是结构体类型的数据D 可以是任意合法的表达式答案:D17. 以下选项中错误的是A printf("%s\n", 's');B printf("%d %c\n", 's','s');C printf("%c\n", 's'- 32);D printf("%c\n", 65);答案:A18. 若有定义:char ch;当执行以下循环时从键盘输入abcde<回车>,将输出*的个数是while((ch=getchar())=='e') printf("*");A 4B 0C 5D 1答案:B19. 有以下程序#include <stdio.h>。
二级C语言真题2015年03月-(1)及答案解析
二级C语言真题2015年03月-(1)及答案解析(1/40)单项选择题第1题下列关于算法复杂度叙述正确的是______。
A.最坏情况下的时间复杂度一定高于平均情况的时间复杂度B.时间复杂度与所用的计算工具无关C.对同一个问题,采用不同的算法,则它们的时间复杂度是相同的D.时间复杂度与采用的算法描述语言有关下一题(2/40)单项选择题第2题设有栈S和队列Q,初始状态均为空。
首先依次将A,B,C,D,E,F入栈,然后从栈中退出3个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为______。
A.DEFXYZABCB.FEDZYXCBAC.FEDXYZCBAD.DEFZYXABC上一题下一题(3/40)单项选择题第3题下列叙述中正确的是______。
A.有两个指针域的链表称为二叉链表B.循环链表是循环队列的链式存储结构C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表D.节点中具有多个指针域的链表称为多重链表上一题下一题(4/40)单项选择题第4题某二叉树共有845个节点,其中叶子节点有45个,则度为1的节点数为______。
A.400B.754C.756D.不确定上一题下一题(5/40)单项选择题第5题软件需求分析阶段的主要任务是______。
A.确定软件开发方法B.确定软件开发工具C.确定软件开发计划D.确定软件系统的功能上一题下一题第6题下面对软件测试描述错误的是______。
A.严格执行测试计划,排除测试的随意性B.随机地选取测试数据C.软件测试的目的是发现错误D.软件测试是保证软件质量的重要手段上一题下一题(7/40)单项选择题第7题结构化程序的3种基本控制结构是______。
A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移上一题下一题(8/40)单项选择题第8题数据库中对概念模式内容进行说明的语言是______。
全国计算机等级考试二级C++真题题库1+2015年3月
全国计算机等级考试二级C++真题题库1 2015年3月(总分:100.00,做题时间:120分钟)一、选择题(每小题1分,共40分)(总题数:40,分数:40.00)1.下列排序方法中,最坏情况下比较次数最少的是()。
(分数:1.00)A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序√解析:冒泡排序、直接插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2 n。
2.下面程序的运行结果为()。
#include class A { public: A(){tout<<<<(分数:1.00)A.1234B.1324C.1342 √D.3142解析:本题考查的是在继承中构造函数和析构函数的调用顺序,应该是先调用基类的构造函数,再调用派生类的构造函数,调用析构函数时的顺序是先调用派生类的析构函数,后调用基类的析构函数。
3.以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是()。
#include void main() {int * P,* q,a,b; P=&a: eout<>P:(分数:1.00)A.* P表示的是指针变量P的地址B.P表示的是变量a的地址,而不是变量a的值√C.*P表示的是指针变量P的值D.*P只能用来说明P是一个指针变量解析:P表示的是变量a的地址,定义后*P表示的是变量a的值。
4.与语句cout<(分数:1.00)A.cout <B.cout<C.cout <D.cout<√解析:题干表示的是回车换行,选项A、B、c都表示回车换行,而选项D是字符串的结尾标志。
5.如果表达式x * y+z中,“*”是作为友元函数重载的,“+”是作为成员函数重载的,则该表达式还可为()。
(分数:1.00)A.operator+(operator*(X,Y),z) √B.x.operator+(operator * (x,y),Z)C.Y.operator * (operator+(x,Y),z)D.x.operator+(operator{(X,Y))解析:C++中用成员函数重载x * y为:x.oper-ator}(y),用友元函数重载x*Y为:(,perator*(x,Y),用成员函数重载x+Y为:x.operator+(Y),用友元函数重载x+Y为:operator+(x,Y)。
2015年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中。
全国计算机二级C语言真题2015年03月-(1)
二级C语言真题2015年03月-(1)一、选择题1. 下列关于算法复杂度叙述正确的是______。
A.最坏情况下的时间复杂度一定高于平均情况的时间复杂度B.时间复杂度与所用的计算工具无关C.对同一个问题,采用不同的算法,则它们的时间复杂度是相同的D.时间复杂度与采用的算法描述语言有关答案:B[解答] 算法的时间复杂度是指执行算法所需要的计算工作量,它与使用的计算机、程序设计语言以及算法实现过程中的许多细节无关,B选项正确,D选项错误。
最坏情况下的时间复杂度可以与平均情况的时间复杂度相同,A选项错误。
不同的算法时间复杂度一般不相同,C选项错误。
2. 设有栈S和队列Q,初始状态均为空。
首先依次将A,B,C,D,E,F入栈,然后从栈中退出3个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为______。
A.DEFXYZABCB.FEDZYXCBAC.FEDXYZCBAD.DEFZYXABC答案:B[解答] 栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。
队列是指允许在一端进行插入,而在另一端进行删除的线性表。
将A,B,C,D,E,F入栈后,栈中元素为ABCDEF,退出3个元素入队,队列元素为FED,将X,Y,Z入栈后栈中元素为ABCXYZ,全部入队后,队列元素为FEDZYXCBA,故B选项正确。
3. 下列叙述中正确的是______。
A.有两个指针域的链表称为二叉链表B.循环链表是循环队列的链式存储结构C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表D.节点中具有多个指针域的链表称为多重链表答案:D[解答] 双向链表与二叉链表均是有两个指针域的链表,A选项错误。
在单链表的第一个节点前增加一个表头节点,队头指针指向表头节点,最后一个节点的指针域的值由NULL改为指向表头节点,这样的链表称为循环链表。
循环队列是队列的一种顺序存储结构。
2015年3月全国计算机等级考试二级《C语言》真题四及详解
2015年3月全国计算机等级考试二级《C语言》真题四(总分100, 考试时间120分钟)一、选择题(每小题1分,共40分)1. 下列叙述中正确的是()。
A 每一个节点有两个指针域的链表一定是非线性结构B 所有节点的指针域都为非空的链表一定是非线性结构C 循环链表是循环队列的链式存储结构D 线性结构的存储节点也可以有多个指针该问题分值: 1答案:D[解析]一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,则称为线性结构,在数据结构中习惯称为线性表。
双向链表节点具有两个指针域,属于线性结构,A选项错误。
循环链表所有节点的指针域都为非空,属于线性结构,B选项错误。
循环链表是链表,循环队列属于队列,队列只能在队尾人队,在排头退队,链表可以在任何位置插入、删除,C选项错误。
双向链表节点具有多个指针域,D选项正确。
2. 使用白盒测试方法时,设计测试用例应根据()。
A 程序的内部逻辑B 程序的复杂结构C 程序的功能D 使用说明书该问题分值: 1答案:A[解析]白盒测试又称为结构测试或逻辑驱动测试,它允许测试人员利用程序内部的逻辑结构及有关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试,故A选项正确。
3. 在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治疗。
则实体医生和患者之间的联系是()。
A 多对多B 多对一C 一对多D 一对一该问题分值: 1答案:A[解析]一般来说,实体集之间必须通过联系来建立联接关系,分为三类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。
医生可为多位患者看病,患者也可以找多位医生看病,实体医生与患者联系是多对多,A选项正确。
4. 设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是()。
A 二分法查找B 顺序查找C 分块查找D 哈希查找该问题分值: 1答案:A[解析]对长度为n的线性表排序,最坏情况下时间复杂度,二分法查找为O(log2n);顺序查找法为O(n);分块查找时间复杂度与分块规则有关;哈希查找时间复杂度为O(1),因其通过计算HashCode来定位元素位置,所以只需一次即可。
全国计算机等级考试二级c语言题库及答案
全国计算机等级考试二级c语言题库及答案一、选择题1. 下列关于C语言中变量的叙述中,正确的是()。
A. 变量名可以以数字开头B. 变量名可以包含空格C. 变量名区分大小写D. 变量名不能包含特殊字符答案:C2. C语言中,以下哪个选项是合法的整型常量?()A. 0x12B. 0x1.2C. 0x1.2e3D. 0x1.2f答案:A3. 在C语言中,以下哪个选项是合法的字符常量?()A. 'ab'B. '65'C. '\t'D. '\n'答案:C4. C语言中,以下哪个选项是合法的浮点型常量?()A. 3.14e2B. 3.14eC. 3.14ED. 3.14E+答案:A5. 在C语言中,以下哪个选项是合法的字符串常量?()A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!" 'a'D. "Hello, World!" "a"答案:A6. 在C语言中,以下哪个选项是合法的数组声明?()A. int a[5];B. int a[];C. int a[5] = {1, 2, 3, 4, 5};D. int a = {1, 2, 3, 4, 5};答案:C7. 在C语言中,以下哪个选项是合法的函数声明?()A. int f();B. int f(int a);C. int f(int);D. int f(int a, int b);答案:C8. 在C语言中,以下哪个选项是合法的指针声明?()A. int *p;B. int *p[];C. int *p[5];D. int (*p)[5];答案:A9. 在C语言中,以下哪个选项是合法的循环结构?()A. for(;;)B. while(1)C. do { } while(0)D. A、B和C都是答案:D10. 在C语言中,以下哪个选项是合法的条件语句?()A. if (x > 0)B. if (x > 0) { }C. if (x > 0) { } else { }D. A、B和C都是答案:D二、填空题1. C语言中,整型常量可以用()或()表示。
全国计算机等级考试二级C语言操作真题题库1+2015年3月
全国计算机等级考试二级C语言操作真题题库1 2015年3月(总分:30.00,做题时间:90分钟)1.基本操作函数fun的功能是:在有n个元素的结构体数组std中,查找有不及格科目的学生,找到后输出学生的学号;函数的返回值是有不及格科目的学生人数。
例如,主函数中给出了4名学生的数据,则程序运行的结果为:学号:N1002 学号:N1006 共有2位学生有不及格科目请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构! #include typedef struct { char num[8]; double score[2]; /**********found**********/ } __(1)__ ; int fun(STU std[ ], int n) { int i, k=0; for(i=0;i<60__(2)__std[i].score[1](分数:10.00)__________________________________________________________________________________________ 正确答案:((1) STU (2) || (3) k)解析:【考点分析】主要考察对结构体的定义和使用,以及逻辑运算符的使用【解题思路】填空1:STU 结构体别名,通过main()中的语句可知填空2:|| 只要学生二门课成绩有不及格的,就算不及格,因此使用或运算填空3: k 返回的是不及格的学生个数,有题意可知k是累计个数的。
2.简单应用给定程序MODI1.C中,函数fun 的功能是判断整数n是否是“完数”。
当一个数的因子之和恰好等于这个数本身时,就称这个数为“完数”。
例如:6的因子包括1、2、3,而6=1+2+3,所以6是完数。
如果是完数,函数返回值为1,否则函数返回值为0。
2015年3月全国计算机等级考试二级《C语言》真题一及详解
2015年3月全国计算机等级考试二级《C语言》真题一(总分100, 考试时间120分钟)一、选择题(每小题1分,共40分)1. 单击窗口内的按钮时,产生的事件是()。
A MouseEventB WindowEventC ActionEventD KeyEvent该问题分值: 1答案:C在构件的事件类中,MouseEvem事件是鼠标事件,包括鼠标单击,移动;WindowEvent事件是窗口事件,包括关闭窗口,窗口闭合,图标化;ActionEvent事件是动作事件,包括按钮按下;TextField 中按<Enter>键;KeyEvent事件是键盘事件,包括键按下、释放。
2. 在Java中,实现用户界面功能的包是()。
A java.appletB javax.transactionC java.utilD java.awt该问题分值: 1答案:D本题考查考生对Java包功能的理解。
选项A中java.applet包是为Applet提供执行需要的所有类,主要访问Applet内容的通信类;选项B中transaction包是属于javax而不是java,javax.transaction包是提供事务处理所需要的包;选项C中java.util包提供使用程序类和集合类,如系统特性定义和使用、日期函数类、集合Collection、Map、List、Array等常用工具类;java.awt 包是封装抽象窗口工具包,提供构建和管理用户图形界面功能,为本题正确答案。
3. 下列选项中属于字符串常量的是()。
A ·abc·B "abc"C [abc]D (abc)该问题分值: 1答案:BJava中字符串常量由双引号和其中间的字符所组成.4. 类Panel默认的布局管理器是()。
A GridLayoutB BorderLayoutC FlowLayoutD CardLayout该问题分值: 1答案:C本题考查Java中的布局管理器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国计算机等级考试二级C语言真题题库1 2015年3月(总分:40.00,做题时间:120分钟)一、选择题(总题数:40,分数:40.00)1.算法的时间复杂度是指(分数:1.00)A.设计该算法所需的工作量B.执行该算法所需要的时间C.执行该算法时所需要的基本运算次数√D.算法中指令的条数解析:2.设循环队列存储空间为Q(1:50),初始状态为front=rear=50。
经过一系列入队和退队操作后,front=rear=25,则该循环队列中元素个数为(分数:1.00)A.26B.25C.24D.0或50 √解析:3.某棵树的度为4,且度为4、3、2、1的结点数分别为1、2、3、4,则该树中的叶子结点数为(分数:1.00)A.11 √B.9C.10D.8解析:4.设某二叉树的前序序列与中序序列均为ABCDEFGH,则该二叉树的后序序列为(分数:1.00)A.HGFEDCBA √B.EFGHABCDC.DCBAHGFED.ABCDEFGH解析:5.下列叙述中正确的是(分数:1.00)A.二分查找法适用于任何存储结构的有序线性表B.二分查找法只适用于顺序存储的有序线性表√C.二分查找法适用于有序循环链表D.二分查找法适用于有序双向链表解析:6.下列序列中不满足堆条件的是(分数:1.00)A.(98,95,93,96,89,85,76,64,55,49)√B.(98,95,93,94,89,85,76,64,55,49)C.(98,95,93,94,89,90,76,64,55,49)D.(98,95,93,94,89,90,76,80,55,49)解析:7.下面属于面向对象方法中对象基本特点的是(分数:1.00)A.多态性√B.方法唯一性C.可修改性D.灵活性解析:8.下面可以作为软件需求分析工具的是(分数:1.00)A.包图B.程序流程图C.PAD图D.数据流程图(DFD图) √解析:9.数据库的数据模型分为(分数:1.00)A.层次、关系和网状√B.网状、环状和链状C.大型、中型和小型D.线性和非线性解析:10.数据库系统的数据独立性是指(分数:1.00)A.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序√B.不会因为数据的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构解析:11.以下叙述正确的是(分数:1.00)A.C程序由函数组成,可以不包含main函数B.每个C程序文件中的main函数都应当放在最前面C.每个C程序文件都应当包含一个main函数D.每个C程序都只能有一个main函数√解析:12.以下叙述错误的是(分数:1.00)A.计算机可以直接识别由十六进制代码构成的程序√B.可以连续执行的指令的集合称为"程序"C."程序"是人与计算机"对话"的语言D.计算机可以直接识别由0和1组成的机器语言代码解析:13.以下与数学表达式“0<x(分数:1.00)A.(0<x√B.0C.x>0 && xD.(x>0 && x2 && x<5)解析:14.以下选项中与 ( !a== 0 )的逻辑值不等价的表达式是(分数:1.00)A.( a== !0 ) √B.aC.(a>0 || a<0)D.(a!= 0 )解析:15.变量math和engl中存放了两门课的成绩。
若两门课成绩均在60分以上(含60),则显示"pass";有一门低于60分则显示"fail",以下不能实现上述功能的程序段是(分数:1.00)A.if(math<60)if(engl<60)printf("fail/n");elseprintf("pass/n"); √B.if(math<60)printf("fail/n");elseif(engl>=60)printf("pass/n");elseprintf("fail/n");C.if ((math<60))printf("fail/n");elseprintf("pass/n");D.if ((math>=60) && (engl>=60))printf("pass/n");elseprintf("fail/n");解析:16.设有以下程序段 main( ) { int x[M][N]; ... Arrlet(x); ... } 则作为函数Arrlet的形参,以下表示形式非法的是(分数:1.00)A.int x[M][ ] √B.int (*x)[N]C.int x[ ][N]D.int x[M][N]解析:17.有以下程序 #include void fun( int n ) { if( n/2 ) fun(n/2); printf("%d",n%2 ); } main() { fun( 10 ); printf("/n"); } 程序运行后的输出结果是(分数:1.00)A.0101B.1000C.1100D.1010 √解析:18.有以下程序 #include void fun(char *a,char *b) { char *s=a; while(*s) s++; s--; while(s>=a) { *b=*s; s--; b++; } *b='/0'; } main() { char s1[]="abc",s2[6]; fun(s1,s2); puts(s2); } 程序运行后的输出结果是(分数:1.00)A.cbaabcB.abcC.cba √D.abccba解析:19.有以下程序#include main( ) { char b[4][10]; int i; for ( i=0; i=0; i-- ) printf( "%s ", b[i] ); printf( "/n" ); } 执行时若输入: Peach flower is pink. ,则输出结果是(分数:1.00)A.Peachflower is pink.B.pink. is flower Peach √C.Peachflowerispink.D.Pink is flower peach.解析:20.有以下程序 #include int * f(int *s) { s[1] +=6; *s=7; s+=2; return s; } main( ) { inta[5]={1,2,3,4,5}, *p=a; p= f(p); printf( "%d,%d,%d/n", a[0], a[1], *p ); } 程序运行后的输出结果是(分数:1.00)A.9,8,9B.7,8,7C.7,8,3 √D.1,2,1解析:21.设有定义: char s[81]; int i=0; 以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是(分数:1.00)A.scanf("%s",s); √B.while((s[i++]=getchar())!='/n');s[i]='/0';C.gets(s);D.do{ scanf("%c",&s[i]); }while(s[i++]!='/n'); s[i]='/0';解析:22.以下叙述中错误的是( )。
(分数:1.00)A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令√B.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为.obj的目标程序解析:23.以下选项中,合法的一组C语言数值常量是( )。
(分数:1.00)A.12. 0Xa23 4.5e0 √B.028 .5e-3 -0xfC.177 4e1.5 0abcD.0x8A 10,000 3.e5解析:24.以下选项中不合法的标识符是( )。
(分数:1.00)A.&a √B.FORC.printD.__00解析:25.若有代数式 (其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是( )。
(分数:1.00)A.sqrt(fabs(pow(n,x)+exp(x))) √B.sqrt(fabs(pow(n,x)+pow(x,e)))C.sqrt(abs(n^x+e^x))D.sqrt(fabs(pow(x,n)+exp(x)))解析:26.若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )(分数:1.00)A.i=(a+k)<=(i+k);B.i=a%11;√C.a=a++,i++D.i=!a;解析:27.有以下程序:#include main() { int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf("%d,%d/n",s,t); } 在VC6.0平台上编译运行,程序运行后的输出结果是( )。
(分数:1.00)A.10,6B.4,4C.2,4D.4,8 √解析:28.有以下程序: #include 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); } 当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符) 12 34 则输出结果是( )。
(分数:1.00)A.1234B.12C.1234D.34 √解析:29.下关于逻辑运算符两侧运算对象的叙述中正确的是( )。
(分数:1.00)A.可以是任意合法的表达式√B.只能是整数0或非0整数C.可以是结构体类型的数据D.只能是整数0或1解析:30.有以下程序: #include main() { int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3;printf("%d,%d,%d,%d/n",a,b,c,d); } 程序输出( )。