四川计算机二级c语言31次笔试和机考真题和答案

合集下载

全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案
常将有日思无日,莫待无时思有时。——《增广贤文》
老当益壮,宁移白首之心;穷且益坚,不坠青云之志。——唐·王勃
D) 4 (31) 有如下类定义:
class XX( int xx; public: XX(): xx(0) {cout<<' A';} XX( int n):xx ( n) {tout<<' B';} }; Class YY:public XX( Int yy; public: YY(): yy ( 0) (cout+yy;} YY ( int n ): XX (n+1 ), yy(n) (cout<<yy;} YY ( int m, int n):XX (m), yy (n) (cout<<yy;} }; 下列选项中,输出结果为 A0 的语句是 A) YY y1 (0,0); B) YY y2(1); C) YYy3(0); D) YYy4; (32) 有如下程序: #include<iostream> Using namespace std; class A( public: virtual void f () (cout+1;} void g () (cout<<2;} }; class B:public A( public: virtual void f () (cout<<3;} void g()(ecut<<4;} }; void show (A &a)(a.f();a.g( ) ; } int main()( B b; show(b); return 0; } 运行时的输出结果是 A) 12 B) 34 C) 14 D) 32 (33) 有如下程序: #include<iostream> using namespace std; class Pair( int m; int n; public: Pair ( int i, int j ): m(i), n(j) (} boot operator > ( pair p ) const;//须在类体外给出定义 ); int main () { Pair Al(3,4),p2(4,3); p3(4,5); Cout<< (pl>p2) << (P2>P1) << (p2>p3) << (p3>p2); return 0; } 运算符函数。operator〉的功能是比较两个 Pair 对象的大小,当左边对象大时,返回 true,否则 返 回 false。比较规则是首先比较两对象的 m 成员,m 大者为大;当 m 相等时比较 n, n 大者为大。程序输 出 0101, 下列对运算符重载函数的正确定义是 A ) bool Pair::operator> ( Pair p ) const {if (m!=p.m) return m>p.m; return n>p.n;}

四川省计算机二级c历年真题答案

四川省计算机二级c历年真题答案

计算机二级历年真题及答案第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:ABABB ABABB二、单项选择题:(每小题1分,共5分)1~5 :DACDC第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、A2、B3、C4、C5、A6、D7、A8、C9、C 10、D二、读程序题(每个选择3分,共45分)1、(1)B (2)D2、(1)A (2)C3、(1)C (2)A (3)D4、(1)A (2)D5、D6、(1)C (2)B7、(1)A (2)B 8、B三、程序填空题(每空2分,共30分)1、①num=0 ②i < len-1 ③str++2、①symm(m)&&symm(m*m)&&symm(m*m*m)②i!=0 ③m=m*10+i%103、①head ②p->data ③p->next4、①(fp=fopen("data.txt", "r"))==NULL②ch=fgetc(fp) ③ch-'A'5、①while(*s++=*t++ ) ②*t='\0' ③else p=NULL??真题三第二十一次等级考试第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:BBABB ABBAB二、单项选择题:(每小题1分,共5分)1~5 :CCDDB第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、C2、B3、B4、B5、C6、A7、A8、C9、D 10、D二、读程序题(每个选择3分,共45分)1、D2、A3、A4、B5、B6、C7 、(1)C (2)B 8、(1)A (2)B 9、(1)C (2)D10、(1)D (2)A (3)D三、程序填空题(每空2分,共30分)1、①struct student *next ②p2->next=p1 ③p=p->next2、①q=p ②p>str ③*p=max3、①aver+=score[i] ②below[k]=score[i] ③fun(score,9,below)4、①i==j ②j=2 ③j>=05、①"wb" ②&em ③1??真题四第二十二次等级考试第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:AABBA BBBAA二、单项选择题:(每小题1分,共5分)1~5 :DCDCA第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、B2、A3、B4、A5、D6、C7、D8、C9、D 10、C二、读程序题(每个选择3分,共45分)1、D2、(1)A (2)C3、(1)A (2)D4、C5、A6、B7、B 8、(1)D (2)A 9、(1)C (2)B10、(1)B (2)D三、程序填空题(每空2分,共30分)1、①p[i]>p[j] ②fscanf(fp,"%d",&a[i] ) ③sort(a,10)2、①func(n) ②long m ③func(m/10)3、①(bott+top)/2 ②top=mid-1 ③bott>top4、①str1[i]!= '\0'&&str2[i]!= '\0'②strlen(str1)>strlen(str2) ③strcat(str3,p2+i )5、①k>0 ②k/10 ③continue??真题五第二十三次等级考试第一部分软件技术基础一、是非判断题(每小题1分,共10分)1~10:AABAB ABBBB二、选择题(每小题1分,共5分)1~5 :CDADA第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、B2、A3、A4、D5、B6、A7、C8、A/B9、D 10、C二、读程序回答问题(每个选择3分,共45分)1、B2、A3、D4、B B5、D A6、B A7、D8、C C9、A C 10、C三、程序填空( 每空2分,共30分)1、①n%base ②c[i] ③b[d]2、①j/10 ②ch[0]==ch[4] && ch[1]==ch[3] ③i3、①i%3==0&&i%7!=0 ②p[num++]=i ③fun ( M,a,&n )4、①s,t ②*(p1+i)==*p2 ③p1+i ,p1+i+15、①fopen ("stu.txt","r+" ) ②fp,"%f",&y ③fprintf ( fp,"%f",x )??真题六第二十四次等级考试第一部分软件技术基础一、是非判断题(每小题1分,共10分)1~10:BABAB BABAB二、选择题(每小题1分,共5分)1~5 :BDBDB第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、C2、B3、A4、A5、D6、C7、C8、B9、D 10、B二、读程序回答问题(每个选择3分,共45分)1、D2、B D3、A4、A B5、A6、C7、C D8、D B9、C 10、C B三、程序填空( 每空2分,共30分)1、①int *p 或int p[] ②p[j+1]=p[j] ③insert(a,wz,x)2、①int i ②i<=y ③return z3、①x>=0 ②x<min ③&x4、①i-1 ②a[j+1]=a[j] ③a[j+1]=t5、①FILE *f ②sizeof(stract rec) ③r.num, r.total??真题七第二十五次等级考试第一部分软件技术基础一、是非判断题(每小题1分,共10分)1~10:BAAAB ABAAB二、选择题(每小题1分,共5分)1~5 :ADDAC第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、A2、D3、B4、C5、B6、A7、D8、B9、D 10、A二、读程序回答问题(每个选择3分,共45分)1、C2、A3、B C4、A C5、D D6、A C7、A D8、B D9、B三、程序填空( 每空2分,共30分)1、①a=a*x ②b=b*i ③s=sum(x,n)2、①s<t ②s++ ③t--3、①filename ②c-‘a’③ch+i4、①*max=i ②*min=i ③fun(a,10,&max,&min)5、①c[k]=a[i++] ②c[k]=b[j++] ③*(b+j)!=’\0’??真题八第二十六次等级考试第一部分软件技术基础一、是非判断题(每小题1分,共10分)1~10:BABAB BBABB二、选择题(每小题1分,共5分)1~5 :BCCCA第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、A2、B3、C4、B5、D6、C7、A8、D9、C 10、B二、读程序回答问题(每个选择3分,共45分)1、A C2、D3、B4、A B5、A6、B C7、D C8、D9、A D 10、B三、程序填空( 每空2分,共30分)1、①char ch ②“r”③ch2、①p=i ②i>=p ③a[p]=x3、①word++ ②max<word ③word=04、①a[k][i] ②*sum ③x,&s5、①a[k] ②a[k] ③“%4\n”??真题九第二十七次等级考试第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:AAAAA ABBBA二、单项选择题:(每小题1分,共5分)1~5 :ADBCA第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、A2、B3、D4、D5、C6、C7、B8、D9、A 10、D二、读程序题(每个选择3分,共45分)1、B2、A3、A4、C5、C6、B7、D8、D A B9、B D 10、C A11、C三、程序填空题(每空2分,共30分)1、①char m ②i<=j ③str[j-1]2、①argv[1] ②ch=fgetc(fp2) ③fputc(ch,fp1)3、①i+2 ②a[j]!=0&&a[i]!=0&&a[j]%a[i]==0 ③count%10==04、①-sign ②num* ③%ld5、①i=0 ②s[i]!=’\0’③i%2==0??真题十第二十八次等级考试第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:AABAB AABBB二、单项选择题:(每小题1分,共5分)1~5 :DBAAC第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、D2、B3、A4、C5、B6、D7、C8、A9、B 10、D二、读程序题(每个选择3分,共45分)1、B2、A C3、D4、A5、B6、A7、A C8、D9、B 10、B C11、C 12、D三、程序填空题(每空2分,共30分)1、①*(s+i)或*(s+i)!='\0' ②return cnt; ③fun(str,ch)2、①-1 ②(2*i+1) ③*s=t;3、①b[i]=0 ②b[i]+ ③x[i][j]4、①i++ ②line=j ③fclose(fp)5、①k++ ②2 ③k-1??真题十一第二十九次等级考试第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:BAAAB ABABA二、单项选择题:(每小题1分,共5分)1~5 :AABDC第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、C2、B3、A4、D5、B6、C7、B8、D9、A 10、D二、读程序题(每个选择3分,共45分)1、(1)D (2)C2、(1)B (2)A3、(1)C (2)D4、A5、B6、(1)D (2)C7、C 8、(1)B (2)C 9、B 10、A三、程序填空题(每空2分,共30分)1、①a[r][c] ②*row=r ③return a[r][c]2、①s+x/y ②x ③x+y3、①“score.dat”②scanf(“%f”,&score) ③fclose(fp)4、①char *sp ②strlen(sp) < strlen(sq[i]) ③fun(str)5、①n=0 ②a[j]=0 ③count<25??真题十二第三十次等级考试第一部分软件技术基础一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分)1~10:二、单项选择题:(每小题1分,共5分)1~5 :第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、D2、C3、B4、B5、A6、D7、B8、A9、D 10、C二、读程序题(每个选择3分,共45分)1、A C2、C A3、B B4、D B5、D B6、B7、A A8、C C三、程序填空题(每空2分,共30分)1、①n%base ②i>=0 ③a[d]2、①*d ②word ③result3、①3 ②"r" ③fgetc(fp1)4、①struct p t[100] ②&t[i].code ③t[i].code5、①n%i ②return 1 ③fun ( a[i] )??真题十三第三十一次等级考试第一部分软件技术基础一、是非判断题(每小题1分,共10分)1~10:ABABB ABBAA二、选择题(每小题1分,共5分)1~5 :CABDA第二部分C与C++语言程序设计一、单项选择题(每小题1分,共10分)1、A2、D3、B4、B5、D6、D7、D8、C9、B 10、B二、读程序题(每个选择3分,共45分)1、D C2、D3、D4、B5、D6、C A7、C B8、D A9、D C 10、C三、程序填空题(每空2分,共30分)1、①i ②w ③"\n"2、①5 ②m=m*10+t%10 ③t=t/103、①i+=3 ②j+=3 ③a[i]>a[j]4、①int a[] ②a[i]%j ③a[k]5、①i ②t*k ③-k机试真题答案??真题一一、程序调试题(文件名为test1-1.c)( 40 分)#include <stdio.h>#include <string.h>#include <stdlib.h>#define N 80void main(){ char str1[N],str2[N];int i,j,locat[10];int fun(char *,char *,int *);FILE *fp;if((fp=fopen("test1-1.dat","r"))=NULL) /* 改为:== */{ printf("Cannot open the file.\n");exit(0);}fgets(str1,fp); /* 改为:str1,N-1,fp */fgets(str2,N-1,fp);printf("str1:%s\nstr2:%s\n",str1,str2);fclose(fp);fun(str1,str2,locat); /* 改为:i= fun(str1,str2,locat); */ printf("arisen times: %d\n,start place:",i);for(j=0;j<i;j++)printf("%d, ",locat[j]);printf("\n");}int fun(char *p,char *q,int locat[]){ int len,i=0,posit=0;char *str;str=q;len=strlen(q);do{ if(*p=*q) /* 改为:*p != *q */{ p++;posit++;}else{while((*q!='\0')||(*q==*p)) /* 改为:&& */{ q++;p++;posit++;}if(*q=='\0'){locat[i]=posit-len;i++;}}q=str;}while(*p!='\0');return i;}评分标准:每改对一处得8分二、编程题(程序文件取名为test1-2.c)(60分)评分标准:1.fun函数编写40分:2. main函数编写20分:1)函数定义、形参书写正确(10分) 1)正确定义变量,并能正确的输出(10分) 2)算法正确(20分) 2)能正确调用fun函数(10分)3)返回值正确(10分)参考程序:# include <stdio.h>int fun(int *a){int i,j=0,qw,bw,sw,gw,s,t;for(i=1000;i<=9999;i++){qw=i/1000;bw=i/100%10;sw=i/10%10;gw=i%10;s=qw*10+sw;t=bw*10+gw;if( (s==5*t) &&(bw!=0) ){a[j]=i;j++;}}return j;}void main(){int a[100],i,j;j=fun(a);for(i=0;i<j;i++){printf("%6d",a[i]);if((i+1)%5==0)printf("\n");}}??真题二一、程序调试题(文件名为test2-1.c)( 40 分)#include <stdio.h>#include <string.h>#include <stdlib.h>#define N 5int fun(char s) /* 改为:*s */{ int i,j;j=strlen(s);for(i=0,j--;i<j;i++,j++) /* 改为:j-- */if(s[i]=s[j]) return 0; /* 改为:!= */return 1;}void main( ){ char s[20];FILE *fp;int i=0,j=0;if((*fp=fopen("test2-1.dat","r"))==NULL) /* 改为:fp */{ printf("Cannot open the file.\n");exit(0);}for(i=0;i<N;i++){ if(fun()) /* 改为:fun(s) */{printf("%s\n",s);j++;}}printf("\nnumber=%d\n",j);fclose(fp);}评分标准:每改对一处得8分二、编程题(程序文件取名为test2-2.c)(60分)评分标准:1.fun函数编写30分:2. main函数编写30分:1)函数定义、形参书写正确(10分) 1)数组定义及初始化正确(10分) 2)算法正确(20分) 2)能正确调用fun函数(5分) 3)能正确输出(15分)参考程序:# include <stdio.h># define N 4void fun(int a[][N]){int i,j;for(i=0;i<N;i++)for(j=0;j<i;j++)if(a[i][j]>a[j][i])a[j][i]=a[i][j];}void main(){int d[N][N]={{0,1,2,3},{7,6,4,5},{11,16,9,10},{15,22,33,8}}; int i,j;for(i=0;i<N;i++){ for(j=0;j<N;j++)printf("%6d",d[i][j]);printf("\n");}fun(d);for(i=0;i<N;i++){ printf("\n");for(j=0;j<N;j++)if(j>=i)printf("%6d",d[i][j]);elseprintf("%6c",' ');}}??真题三一、程序调试题(文件名为test3-1.c)( 40 分)#define N 20#include <stdlib.h>#include <stdio.h>void fun(int *a) /* 改为:int */{ int i,cnt=0;for(i=0;i<N;i++)if(a[i]>0) cnt++; /* 改为:< */ return cnt;}void main( ){ FILE *fp;int a[],i,cnt; /* 改为:a[N] */if((fp=fopen("test3-1.dat","r"))==NULL){ printf("Cannot open the file.\n");exit(0);}for(i=0;i<N;i++)fscanf(fp,"%d",a[i]); /* 改为:a+i */fclose(fp);fun(a); /* 改为:cnt=fun(a) */ printf("positive = %d\n",N-cnt);printf("negative = %d\n",cnt);}评分标准:每改对一处得8分二、编程题(程序文件取名为test3-2.c)(60分)评分标准:1.fun函数编写40分:2.main函数编写20分:1) 函数定义、形参书写正确10分1) 变量定义及输入正确10分2) 算法正确30分2) 能正确调用fun函数5分3) 输出结果正确5分参考程序:# define N 10# include <stdio.h>void fun(int a[],int where,int amount){int *p1,*p2,temp;p1=&a[where-1];p2=&a[where-2+amount];while( p1 <&a[where-1]+amount/2 ){temp=*p1;*p1=*p2;*p2=temp;p1++;p2--;}}void main(){int num[N],where,amount,i;printf("Input 10 number:\n");for(i=0;i<N;i++)scanf("%d",&num[i]);printf("\n");printf("How many numbers do you want to sort:");scanf("%d",&amount);printf("\nWhere do you want to start:");scanf("%d",&where);printf("\n");fun(num,where,amount);printf("\nresorted array as follow:\n");for(i=0;i<N;i++)printf("%d,",num[i]);printf("\n");}??真题四一、程序调试题(文件名为test4-1.c)( 40 分)#define N 20#include <stdlib.h>#include <stdio.h>int fun(int *a,int *even,int *odd) /* 改为:void */{int i,cnt=0;for(i=0;i<N;i++)if(a[j]%2==0) /* 改为:a[i] */*even++; /* 改为:(*even) */else(*odd)++;}void main( ){FILE *fp;int a[N],i,cnt,even=0,odd=0;if((fp=fopen("test4-1.dat","r"))==NULL){printf("Cannot open the file.\n");exit(0);}for(i=0;i<N;i++)fscanf("%d",a+i); /* 改为:fp,"%d",a+i */fclose(fp);fun(a,&even,odd); /* 改为:&odd */printf("even = %d\n",even);printf("odd = %d\n",odd);}评分标准:每改对一处得8分二、编程题(程序文件取名为test4-2.c)(60分)评分标准:1.fun函数编写40分:2.main函数编写20分:1) 函数定义、形参书写正确10分1) 变量定义及输入正确10分2) 算法正确30分2) 能正确调用fun函数5分3) 输出结果正确5分参考程序:# include <stdio.h># define N 5void main(){int i,a[N],b[N],cnt=0;int fun(int a[],int b[]);printf("Enter %d number: ",N);for(i=0;i<N;i++)scanf("%d",&a[i]);printf("cnt=%d\n",cnt);for(i=0;i<cnt;i++)printf("%6d",b[i]);}int fun(int a[],int b[]){int bb[4],cnt=0,i,j,k,flag;for(i=0;i<N;i++){bb[0]=a[i]/1000;bb[1]=a[i]/100%10;bb[2]=a[i]/10%10;bb[3]=a[i]%10;for(j=0;j<4;j++){if(bb[j]%2==0)flag=1;else{flag=0;break;}}if(flag==1)b[cnt++]=a[i];}return cnt;}??真题五一、程序调试题(文件名为test5-1.c)( 40 分)#define N 80#include <stdlib.h>#include <stdio.h>#include <string.h>void fun(char str[],char *cap,char *lower){ int i=0,j=0,k=0;while(str[j]!='\0') /* 改为:str[i] */ { if(str[i]>='a'&str[i]<='z') /* 改为:&& */ lower[j]=str[i]; /* 改为:j++ */ else if(str[i]>='A'&&str[i]<='Z')cap[k++]=str[i];i++;}cap[k]='\0';}void main( ){ FILE *fp;int str[N],cap[N],lower[N];if((fp=fopen("test5-1.dat","r"))==NULL){ printf("Cannot open the file.\n");exit(0);}fgets(str,0,fp); /* 改为:N */fclose(fp);fun(str,cap); /* 改为:str,cap,lower */printf(" %d capitalization : %s\n",strlen(cap),cap);printf(" %d lowercase : %s\n",strlen(lower),lower);}评分标准:每改对一处得8分二、编程题(程序文件取名为test5-2.c)(60分)评分标准:1.fun函数编写40分:2.main函数编写20分:1) 函数定义、形参书写正确10分1) 变量定义及输入正确10分2) 算法正确20分2) 能正确调用fun函数5分3) 返回正确10分3)输出结果正确5分参考程序:# include <stdio.h># define M 3# define N 4void main(){int matrix[3][4];int i,j,n;int fun(int a[M][N]);printf("Please input the elements of the matrix(3*4) row by row :\n");for(i=0;i<M;i++)for(j=0;j<N;j++)scanf("%d",&matrix[i][j]);n=fun(matrix);printf("result=%d\n", n);}int fun(int a[][N]){int i,j,max[M],min;for(i=0;i<M;i++){for(j=1;j<N;j++)if(max[i]<a[i][j])max[i]=a[i][j];}min=max[0];for(i=1;i<M;i++)if(min>max[i])min=max[i];return(min);}??真题六一、程序调试题(文件名为test6-1.c)( 40 分)#define N 10void printf(int n,int fac[],int x) /* 改为:myprintf */ {int j;printf("%3d its factors: ", x);for(j=0;j<n;j++)printf("%d ", fac[j]);printf("\n");}void find( int a[] , int fac[] ){int i, count,s,j;for(i=0;i<N;i++){count=0;for(j=0;j<a[i];j++) /* 改为:j=1 */if(a[i]%j==0)fac[count++]=j;s=0;for(j=0;j<count;j++)s=fac[j]; /* 改为:+= */if(s==a[i])myprintf(count,fac,s);}}void main( ){int i,a[N],fac[N];FILE *fp;fp=fopen("test6-1.dat","r");if(fp=NULL) /* 改为:== */{printf("Can not open file!\n");exit(0);}for(i=0;i<N;i++)fscanf(fp,"%d",&a[i]);fclose(fp);find(a);}评分标准:每改对一处得8分二、编程题(程序文件取名为test6-2.c)(60分)评分标准:1.fun函数编写40分:2.main函数编写20分:1) 函数定义、形参书写正确10分1) 变量定义及输入输出正确15分2) 算法正确20分2) 能正确调用fun函数5分3) 返回正确10分参考程序:# include <stdio.h># define N 10void main(){int x[N],i,n;int fun(int *);for(i=0;i<N;i++)scanf("%d",x+i);n=fun(x);printf("index=%d,max=%d\n",n,x[n]);}int fun(int x[]){int i,max,k=0;max=x[0];for(i=1;i<N;i++)if(x[i]>max){max=x[i];k=i;}return k;}。

四川省计算机二级c语言考试试题及答案及解析

四川省计算机二级c语言考试试题及答案及解析

四川省计算机二级c语言考试试题及答案及解析一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是()。

A. structB. intC. charD. float答案:B解析:在C语言中,定义变量时需要使用关键字,其中用于定义整型变量的关键字是int。

2. 下列哪个选项是合法的C语言标识符?()A. 2variableB. variable2C. _variableD. variable!答案:C解析:C语言中标识符可以由字母、数字、下划线组成,但不能以数字开头。

3. C语言中,用于表示逻辑“与”操作的运算符是()。

A. &&B. ||C. ==D. =答案:A解析:在C语言中,逻辑“与”操作符是&&,用于比较两个表达式是否都为真。

4. 下列哪个选项不是C语言中的控制语句?()A. ifB. switchC. forD. goto答案:D解析:goto语句虽然在C语言中存在,但它不是控制语句,而是一种跳转语句。

5. 在C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A解析:struct关键字用于定义一个结构体类型。

6. 下列哪个选项是C语言中的预处理指令?()A. #includeB. #defineC. #ifD. All of the above答案:D解析:#include、#define和#if都是C语言中的预处理指令。

7. C语言中,用于表示逻辑“或”操作的运算符是()。

A. &&B. ||C. ==D. =答案:B解析:逻辑“或”操作符是||,用于比较两个表达式是否至少有一个为真。

8. C语言中,用于表示逻辑“非”操作的运算符是()。

A. !B. &&C. ||D. =答案:A解析:逻辑“非”操作符是!,用于取反一个表达式的逻辑值。

9. 在C语言中,用于定义一个数组的关键字是()。

四川省第31次计算机二级(VF)考试笔试+答案

四川省第31次计算机二级(VF)考试笔试+答案

四川省普通高等学校计算机应用知识和能力第三十一次等级考试二级(数据库)笔试试卷第二部分数据库语言(Visual FoxPro)程序设计(共85分)一、单项选择题(每小题1分,共15分)3.在Visual Foxpro中进行参照完整性设置时,如果设置成:当更改父表中的主关键字段或7.多表操作中,已经在2、3、5号工作区上打开了多个表,此时执行select 0,选择的当前14.将文本框的PASSWORDCHAR属性值设置为星号“*”,那么,当在文本框中办理入“计算机”,文本框中显示的是()1. 阅读下面程序STORE O TO X,YDO WHILE .T.X=X+1Y=Y+XIF X>15EXITENDIFENDDO?"Y="+STR(Y,4)RETURN2. 阅读下面程序3. 阅读下面程序数据库“等级考试.DBC”中有“学生”和“成绩”两个数据表:学生(考号C(6),姓名C(2),性别C(2),党团员L)成绩(考号C(6) ,笔试成绩N(3),设计成绩N(3),总分N(5,1))程序如下:SELECT TOP 3 学生.考号,学生.姓名,学生.性别,成绩.总分;FROM 等级考试!学生,成绩;ORDER BY 总分;WHERE 学生.考号=成绩.考号4. 阅读下面程序段在表单设计器中设计了一个表单,包含1个标签Label1、1个命令按钮Command1和4个文本框Text1—Text4,如下图所示:命令按钮Command1的Click事件代码如下:A=thisform.text1.valueB=thisform.text2.valueC=thisform.text3.valueIf max(a,b)<cThisform.text4.value=max(a,b)ElseIf min(a,b)<cThisform.text4.value=cElseThisform.text4.value=min(a,b)EndifThisform.text11.setfocus(1)该表单实现的功能是()三、程序填空题(每空2分,共40分)1. 在关系数据库的基本操作中,从关系中制取满足条件的元组的操作为。

四川计算机二级c语言31次笔试真题

四川计算机二级c语言31次笔试真题

四川省普通高等学校计算机应用知识和能力第三十一次等级考试二级(C与C++语言) 笔试试卷时间: 2009年10月24 日( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 数据在计算机内存中的表示是指数据的存储结构。

( 1 )2. 作业与进程的主要区别是前者是由系统自动生成,后者是由用户提交。

( 2 )3. 从逻辑上可以把数据结构分为线性结构和非线性结构。

( 3 )4. 在设备管理中,通道是处理输入、输出的软件。

( 4 )5. 链表可以随机访问任意一个结点,而顺序表则不能。

( 5 )6. 栈顶的位置是随着进栈和退栈操作而变化的。

( 6 )7. 处于等待状态的进程,若其等待的事件已发生,就立即转入运行状态。

( 7 )8. 任何两个并发进程之间一定存在互斥关系。

( 8 )9. 在面向过程方法的软件生存期内,能准确确定软件系统必须做什么和必须具备的功能阶段是需求分析。

( 9 ) 10.在软件测试的基本方法中,静态测试不用测试用例。

( 10 )二、选择题(每小题1分,共5分)1. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是(11 )。

11 (A) 1,4,3,2 (B) 2,3,4,1 (C) 3,1,4,2 (D) 3,4,1,2 2. 操作系统本身是计算机系统软件的重要组成部分,而其物质基础是(12 )。

12 (A) 系统硬件(B) 程序(C) 数据结构(D) 标准程序库3. 外部设备完成了预定的输入/输出操作所引起的中断是(13 )。

13 (A) 外中断(B) I/O中断(C) 程序中断(D) 标准程序库4. 以下的准则中哪个不是软件设计应遵循的(14 )。

14 (A) 抽象准则(B) 模块化准则(C) 信息屏蔽准则(D) 综合性准则5. 在结构化设计方法中,设计功能模块算法属于软件开发中的(15 )阶段。

15 (A) 详细设计(B) 需求分析(C) 总体设计(D) 编程调试1. 已知:char s[]="China",*p; (考点:字符指针)p=s;则下列叙述正确的是(16 )。

四川计算机二级C语言真题19-31次

四川计算机二级C语言真题19-31次

四川省普通高等学校计算机应用知识和能力第十九次等级考试二级(C与C++语言) 笔试试卷时间: 2003年10月18日( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 在目前,用于保证软件质量的主要手段是进行软件测试。

( 1 )2. 使用DMA方式传送数据期间不需要CPU干预。

( 2 )3. 线性顺序队列会产生“假溢出”,而线性循环队列则不会。

( 3 )4. 对同一种算法,用高级语言编写的程序比用低级语言编写的程序运行速度快。

( 4 )5. 在线性表中,数据的存储方式有顺序和链接两种。

( 5 )6. 进程是由程序块、文件控制块和数据块三部分组成。

( 6 )7. 在面向对象的程序设计中,派生类只能从一个基类产生。

( 7 )8. 操作系统是用户和硬件的接口。

( 8 )9. 个人计算机中可配置的最大内存容量受地址总线位数的限制。

( 9 )10.软件维护中最困难的问题是软件配置不全。

( 10 )二、选择题(每小题1分,共5分)1. 在排序法中,从未排序序列中依次取出元素,与已排序序列中的元素作比较,将其放入已排序序列的正确位置称为( 11 )。

11 (A) 选择排序(B) 快速排序(C) 插入排序(D) 冒泡排序2. 有X、Y、Z三个元素依次入栈,不可能的出栈顺序是( 12 )。

12 (A) Z,Y,X (B) Z,X,Y(C) Y,X,Z (D) X,Y,Z3. 进程的状态是可以转换的,而以下哪个状态转换是不可能的( 13 )。

13 (A) 就绪状态→执行状态(B) 执行状态→就绪状态(C) 阻塞状态→就绪状态(D) 等待状态→执行状态4. 线性链表的地址( 14 )。

14 (A) 必须连续(B) 部分地址必须连续(C) 一定不连续(D) 连续与否均可以5. 在软件测试中,( 15 )主要分析程序的内部结构。

15 (A) 白盒法(B) 黑盒法(C) 因果图法(D) 错误推测法第 2 页共129 页1. 对下列程序段的描述正确的是(16 )。

四川计算机二级c语言31次机试真题

四川计算机二级c语言31次机试真题

(第一套)(60分钟)一、程序调试题(文件名为test1-1.c)(40分)fun函数的功能是:检查字符串str1中是否包含有子串str2,如果有则返回其子串出现的次数,并记录每个子串出现的起始位置。

在main函数中从文件test1-1.dat中分别输入两个字符串str1和str2,调用fun函数,然后输出子串在母串中出现的次数,以及每个子串出现的起始位置。

例如:当str1为“the day the month the year”,str2“the”时,输出为:出现3次,起始位置分别是:0,8,18。

请改正程序中的错误,使它能得出正确结果。

注意:不得增行或删行,也不得更改程序结构。

源程序如下:#include <stdio.h>#include <string.h>#include <stdlib.h>#define N 80void main(){ char str1[N],str2[N];int i,j,locat[10];int fun(char *,char *,int *);FILE *fp;if((fp=fopen("test1-1.dat","r"))=NULL){ printf("Cannot open the file.\n");exit(0);}fgets(str1,fp);fgets(str2,N-1,fp);printf("str1:%s\nstr2:%s\n",str1,str2);fclose(fp);fun(str1,str2,locat);printf("arisen times: %d\n,start place:",i);for(j=0;j<i;j++)printf("%d, ",locat[j]);printf("\n");}int fun(char *p,char *q,int locat[]){ int len,i=0,posit=0;char *str;str=q;len=strlen(q);do{ if(*p=*q){ p++;posit++;else{while((*q!='\0')||(*q==*p)){ q++;p++;posit++;}if(*q=='\0'){locat[i]=posit-len;i++;}}q=str;}while(*p!='\0');return i;}二、编写程序(程序文件名命为test1-2.c)(60分)(1)编写函数fun,其功能是将所有满足如下条件的四位整数存放到形参数组a中:将四位整数的千位和十位构成一个两位数s,将百位和个位构成另一个两位数t,注意,这里不考虑两位数十位为0的特殊情况,即不将01,02,03等视为两位数。

计算机二级c语言考试真题及答案详解

计算机二级c语言考试真题及答案详解

计算机二级c语言考试真题及答案详解一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12.3L答案:A2. 若有定义int a=1, b=2;,则以下哪个表达式的值不为真?A. a<bB. a<=bC. a>bD. a!=b答案:C3. 在C语言中,以下哪个选项是合法的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:A4. 下列哪个函数不能正确计算数组元素的总和?A. sum = 0; for(i=0; i<n; i++) sum += array[i];B. sum = 0; for(i=0; i<n; i++) sum = sum + array[i];C. sum = 0; for(i=0; i<n; i++) sum = array[i];D. sum = 0; for(i=0; i<n; i++) sum += array[i];答案:C5. 在C语言中,以下哪个选项是合法的函数声明?A. int add(int, int);B. int add();C. int add(int a, int b);D. int add(a, b);答案:C6. 若有定义int a[10];,则以下哪个表达式是合法的数组元素访问?A. a[10]B. a[-1]C. a[3.5]D. a[3]答案:D7. 在C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A8. 若有定义int x=10;,则以下哪个表达式是合法的赋值语句?A. x = x + 1;B. x = 1 + x;C. x = x++;D. x = ++x;答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do {} while(0)D. for(;;) {}答案:D10. 若有定义int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式是合法的数组元素访问?A. a[5]B. a[-1]C. a[2.5]D. a[2]答案:D11. 在C语言中,以下哪个选项是合法的switch语句?A. switch(x) { case 1: break; }B. switch(x) { default: break; }C. switch(x) { case 1: case 2: break; }D. switch(x) { case 1: default: break; }答案:C12. 若有定义int x=5;,则以下哪个表达式是合法的自增运算?A. x++;B. ++x;C. x--;D. --x;答案:A13. 在C语言中,以下哪个选项是合法的函数原型声明?A. void func();B. int func(int);C. void func(int a);D. All of the above答案:D14. 若有定义int a=3;,则以下哪个表达式是合法的位运算?A. a & 2B. a | 2C. a ^ 2D. All of the above答案:D15. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. All of the above答案:A二、编程题(每题30分,共60分)1. 编写一个函数,计算并返回一个整数数组中所有元素的和。

四川省第31次计算机二级(数据库)上机考试试卷

四川省第31次计算机二级(数据库)上机考试试卷

四川省普通高等学校计算机应用知识和能力第三十一次等级考试二级(数据库)上机考试试卷(第一套)2009年10月25日院校名称班级软盘编号准考证号姓名成绩要求:将下列题目涉及的文件全部放入已创建的项目。

(项目文件名:“31TEST1.PJX”)一、基础操作题(30)1、创建数据库(数据1)及数据库中的成绩表,并将其保存为“成绩.DBF”文件,各字段请根据下表内容确定其数据类型和字段长度。

并输入各记录内容。

2、给数据表“成绩.DBF”创建索引如下“编号”字段为候选索引,“专业”字段为普通索引。

二、编写程序(30)(文件名:“abc1.PRG”保存在31TEST1.PJX项目文件中)程序设计要求:根据项目文件中已有的数据表“成绩.DBF”编程:1、计算其总成绩2、根据输入专业查找,如果查到,则显示其姓名,性别,专业,总成绩,否则显示“表中没有查的到此人信息!”。

界面如图所示:clearuse 成绩repl all 总成绩with 高数+英语+计算机accept "请输入要查找的专业" to zy?"******************查询结果*****************"scan all for 专业=zydispendscanuseclearuse 成绩repl all 总成绩with 高数+英语+计算机accept "请输入要查找的专业" to zylocate for 专业=zy?"******************查询结果*****************"if found()?"查询专业是:"+zy?"姓名性别总成绩"scan all for 专业=zy? 姓名,性别,总成绩endscanelse?"表中没有查到此人信息!"endifusereturnclearuse 成绩repl all 总成绩with 高数+英语+计算机accept "请输入要查找的专业" to zylocate for 专业=zy?"******************查询结果*****************"if foun()?"查询专业是:"+zy?"姓名性别总成绩"do while not eof()? 姓名,性别,总成绩contenddoelse?"表中没有查到此人信息!"endifusereturn三、表单设计(表单名为form1)(40)利用已有的数据表“成绩.dbf”在项目中建立如下图的表单。

C语言四川省计算机二级笔试真题

C语言四川省计算机二级笔试真题

C语言四川省计算机二级笔试真题C32总共30 题共100分一.单选题(共15题,共37.5分)1.【题号:5113】以下能正确进行字符串赋值的是()(2.5分)A.char s[5]={'a','e','i','o','u'};B.char s[5]; s="good";C.char s[5];s[5]="abcd";D.char s[5]; s[ ]="good";标准答案:A2.【题号:5114】有下面的说明和语句,则输出的结果是()char a=9,b=020;printf("%o\n",~a&b<<1);(2.5分)A.377B.40C.32D.以上答案均不对标准答案:B3.【题号:5115】若有float x; 则sizeof ( x ) 和sizeof ( float ) 两种描述()(2.5分)A.都正确B.都不正确C.前者正确,后者不正确D.后者正确,前者不正确标准答案:A4.【题号:5116】若有代数式,则不正确的C语言表达式是()(2.5分)A.3*a*e/b*cB.3*a*e/b/cC.a/b/c*e*3D.a*e/c/b*3标准答案:A5.【题号:5117】下列程序运行的结果是 ( )main(){ struct cmplx{ int x;int y;}cnum[2]={1,3,2,7};printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);}(2.5分)A.0B.1C.3D.6标准答案:D6.【题号:5118】若有以下说明和语句,且0=<iA.*(a+i)B.a[p-a]C.p+iD.*(&a[i])标准答案:C7.【题号:5119】#define M 2#define X(m) ((M+2)*m)则执行语句:z=2*(M+X(3+2); 后,z的值为()(2.5分)A.44B.45C.32D.338.【题号:5120】下列函数定义中,会出现编译错误的是( )(2.5分)A.int fun(int x,int y){ int z;z=(x>y)?x:y;return z;}B.int fun(int x,int y,int *z){ z=(x>y)?x:y;return z;}C.int fun(int x,int y){ return ( (x>y) ? x : y ); }D.int fun(int x,int y,int *z){ *z = (x>y) ? x : y ; }标准答案:B9.【题号:5121】下面C++的语句( )能实现printf("%d%d\n",a,b); 的功能(2.5分)A.cin>>a>>bB.cin>>a>>bC.cout<<a<<b< p="">D.cout<<a<<b<<endl< p="">标准答案:D10.【题号:5122】在如下程序段中的while循环 ( )int k=0;while(k=1) k++;(2.5分)A.有语法错,不能执行B.无限循环C.一次都不执行D.执行一次11.【题号:5123】下述程序的输出结果是 ( )# includevoid main(){int y=10;while(y--);printf("y=%d",y);}(2.5分)A.y=0B.y=1C.y=随机值D.y=-1标准答案:D12.【题号:5124】若有以下说明:char *str1="copy",str2[20],*str3="str",*str4,*str5="good";则错误的串操作语句是 ( )(2.5分)A.strcpy(str4,str1);B.strcat(str1,str3);C.str2="new str";D.strcpy(str5,str3);标准答案:C13.【题号:5125】下面程序运行后,x,y,z的值分别为( ) void main() { int x=0,y=0,z=0; ++x||++y||++z; printf("%d%d%d\n",x,y,z); }(2.5分)A.100B.000C.111D.001标准答案:A14.【题号:5126】关于C++和C语言学关系描述中,错误的是 ( )(2.5分)A.C语言与C++是兼容的B.C++对C语言进行了一些改进C.C语言是C++的一个子集D.C++和C语言都是面向对象的标准答案:D15.【题号:5127】#define f(x) 1+x+x*x#includevoid main(){int a=2,b=3;printf("%d\n",f(a+b));}(2.5分)A.17B.31C.13D.7标准答案:A二.读程序回答问题(共10题,共25分)16.【题号:5128】下列程序运行的结果为()。

二级C语言-31_真题(含答案与解析)-交互

二级C语言-31_真题(含答案与解析)-交互

二级C语言-31(总分79, 做题时间90分钟)一、选择题1.请选出以下程序的输出结果_______。

#include<stdio.h>sub(int*s,inty){ static int t=3,y=s[t];t-;}main(){ int a[]={1,2,3,4},i,x=0;for(i=0;i<4;i++){sub(a,x);printf("%d",x);}printf("\n");}• A. 1234• B. 4321• C. 0000• D. 4444SSS_SIMPLE_SINA B C D分值: 1答案:C[解析] x作为函数sub()的实参时,函数对x值的改变没有返回主函数,并不能使得x的值变化,所以在打印时,x的值是始终不变的,即为0。

2.下列程序执行后的输出结果是void func1(int i);void func2(int i);char st[]="hello,friend!”;void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}{ int i=0;func1(i);printf("\n");}• A. hello• B. hel• C. hlo• D. hlmSSS_SIMPLE_SINA B C D分值: 1答案:C[解析] 考查函数的调用。

[解题要点] 函数调用的一般形式为:函数名(实参列表)首先调用函数funcl(0),输出st[0]=h。

i值变为 2,并调用函数func2(2),输出st[2]=l。

i值此时变为 4,又调用函数funcl(4),输出st[4]=0。

四川省计算机二级C语言18次至31次机试试题及答案1

四川省计算机二级C语言18次至31次机试试题及答案1

(第一套)(60分钟)一、程序调试题(文件名test1-1.c)(40分)磁盘上有一个名为testl-l.c的C程序文件,其功能是:计算并输出M以内最大的10个素数之和,M 由主函数传给fun 函数。

例如:当M的值为100,则函数的值为732。

调试程序使之能输出正确的结果。

注意:可以增加和修改程序行,但不得删除程序中的整行。

在一处增加的程序行不得超过两行。

源程序如下:# include <stdio.h># include <conio.h>int fun(int m);{ int sum,n=0,j,yes;while((m>=2)&&(n<10){ yes=0;for(j=2;j<=m/2;j++)if(m%j==0){ yes=0;break;}if(yes=1){ sum+=m; n++;m--;}}return ;}main(){ int m;clrscr();scanf("%d",m);printf("%d\n",fun(m));}二、编写程序(程序文件名为testl-2.c)(60分)要求编写函数fun,其函数的功能是:根据形参m的值(2<=m<=9),在m行m列的二维数组中存放如下所示的数据,由main函数输出结果。

结果显示在屏幕上并送testl1-2·txt中保存。

例如:如输入3 如输入5则输出:则输出:1 2 3 4 51 2 3 2 4 6 8 102 4 63 6 9 12 153 6 94 8 12 16 205 10 15 20 2518-1套参考答案:一、程序调试题(文件名test1-1.c)(40分)# include <stdio.h># include <conio.h>int fun(int m);/* 去掉分号(;) */{ int sum,n=0,j,yes; /* 改为sum=0 */ while((m>=2)&&(n<10)/* 改为(n<10))*/{ yes=0; /* 改为yes=1*/ for(j=2;j<=m/2;j++)if(m%j==0){ yes=0;break;}if(yes=1) /* 改为yes==1 */{ sum+=m; n++;m--;}}return ; /* 改为return sum*/ }main(){ int m;clrscr();scanf("%d",m); /* 改为&m */printf("%d\n",fun(m));}评分标准:每改对一处得5分,运行结果正确得5分。

四川省计算机二级C语言18次至31次机试试题及答案1

四川省计算机二级C语言18次至31次机试试题及答案1

(第一套)(60分钟)一、程序调试题(文件名test1-1.c)(40分)磁盘上有一个名为testl-l.c的C程序文件,其功能是:计算并输出M以内最大的10个素数之和,M由主函数传给fun函数。

例如:当M的值为100,则函数的值为732。

调试程序使之能输出正确的结果。

注意:可以增加和修改程序行,但不得删除程序中的整行。

在一处增加的程序行不得超过两行。

# include <stdio.h># include <conio.h>int fun(int m);{ int sum,n=0,j,yes;while((m>=2)&&(n<10){ yes=0;for(j=2;j<=m/2;j++)if(m%j==0){ yes=0;break;}if(yes=1){ sum+=m; n++;m--;}}return ;}main(){ int m;clrscr();scanf("%d",m);printf("%d\n",fun(m));}二、编写程序(程序文件名为testl-2.c)(60分)要求编写函数fun,其函数的功能是:根据形参m的值(2<=m<=9),在m行m列的二维数组中存放如下所示的数据,由main函数输出结果。

结果显示在屏幕上并送testl1-2·txt中保存。

例如:如输入3 如输入5则输出:则输出:1 2 3 4 51 2 3 2 4 6 8 102 4 63 6 9 12 153 6 94 8 12 16 205 10 15 20 2518-1套参考答案:一、程序调试题(文件名test1-1.c)(40分)# include <conio.h>int fun(int m);/* 去掉分号(;) */{ int sum,n=0,j,yes; /* 改为sum=0 */while((m>=2)&&(n<10)/* 改为(n<10))*/{ yes=0; /* 改为yes=1*/for(j=2;j<=m/2;j++)if(m%j==0){ yes=0;break;}if(yes=1) /* 改为yes==1 */{ sum+=m; n++;m--;}}return ; /* 改为return sum*/ }main(){ int m;clrscr();scanf("%d",m); /* 改为&m */printf("%d\n",fun(m));}评分标准:每改对一处得5分,运行结果正确得5分。

四川省计算机二级VFP第30、31、32次笔试真题(含答案)

四川省计算机二级VFP第30、31、32次笔试真题(含答案)

四川省普通高等学校计算机使用知识和能力第三十次等级测试二级(数据库)笔试试卷第一部分软件技术基础(共15分)一、是非判断题(每题1分,共10分)1、能影响中断响应次序的技术是中断优先级和终端屏蔽。

(A)2、线性结构中元素的关系是一对一,树形结构中元素的关系也是一对一。

(B)3、在操作系统中,进程是一个具有独立运行功能的程序在某个数据集合上的一次运行过程。

(A)4、操作系统的存储器管理部分负责对进程进行调度。

(A)5、分时操作系统通常采用时间片轮转策略为用户服务(A)。

6、作业和进程的主要区别是前者是由用户提交,后者是由系统自动生成。

(A)7、顺序查找只适用于存储结构为顺序存储的线性表。

(B)8、栈顶的位置是随着进栈和退栈操作而变化的。

(B)9、结构化程序设计主要强调的是程序的易读性。

(B)10、在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、判定树。

(A)二、选择题(每题1分,共5分)1、分页式储存管理的主要特点是(B)A.要求作业全部同时装入内存B.不要求作业装入到内存的连续区域C.要求扩充外存容量D.不要求处理缺页终端2、进程从运行状态进入就绪状态的原因可能是(D)A.被选中占有处理机B.等待某一事件C.等待的事件已发生D.时间片用完3、多道程序设计是指(B)A.在实时系统中并发运行多个程序B.在分布系统中同一时刻运行多个程序C.在一台处理机上同一时刻运行多个程序D.在一台处理机上并发运行多个程序4、需求分析中开发人员主要从用户那里了解(C)A.软件如何做B.软件数据结构C.软件做什么D.软件模块大小5、对象实现了数据和操作的结合,使数据和操作(B)于对象的统一体中。

A.结合B.隐藏C.封装D.抽象第二部分VF(85分)一、单项选择题(每题1分,共10分)1、支持数据库各种操作的软件系统是(D)A.操作系统B.命令系统C.数据库系统D.数据库管理系统2、在关系模型中,为了实现“关系中不允许出现相同元祖”的约束应使用(B)A.临时关键字B.主关键字C.外部关键字D.索引关键字3、在VF中,通过项目管理器窗口的按钮不可以完成的操作是(C)A.新建文件B.添加文件C.重命名文件D.删除文件4、学生表和成绩表的索引文件已打开,现要将记录指针定位到底一个成绩高于90分的记录上,下列(D)选项可以实现。

四川计算机二级c语言考试30次机试真题

四川计算机二级c语言考试30次机试真题

(第一套)(60分钟)一、程序调试题(40分)磁盘上有一个名为程序test1-1.c的C程序文件,其中有两个函数:1)fun函数的功能是:将N方阵中对角线元素和反向对角线元素互换;2)main函数的功能是:从已有文件test1-1.dat中读入N阶方阵的数据,然后调用fun函数,最后输出交换后的N阶方阵。

注意:可以修改程序行,但不得增行或删行,不得更改程序结构。

源程序如下:# include <stdio.h># define N 4void fun(int a[][N]){int i,t;for(i=0;i<N;i++){ t=a[i][i];a[i][i]=a[i][N-i];a[i][N-i]=t;}}void main(){int a[N][N],i,j;FILE *fp;fp=fopen("test1-1.dat","r");if(fp==NULL){ printf("test1-1.dat can not open.\n");exit(0);}for(i=0;i<N;i++)for(j=0;j<N;j++)fscanf("%d",&a[i][j]);fclose(fp);fun( );printf("output:\n");for(i=0;i<N;i++){ for(j=0;j<N;j++)printf("%5d",&a[i][j]);printf("\n");}}二、编写程序test1-2.c(60分)请用函数调用方式编写程序test1-2.c,要求:1.编写函数fun,其功能是:生成某整型数组的前N(20)项。

该数组前两个数据分别为1和2,以后每个奇数下标(数组的下标从0开始)的项是前两项的和,偶数下标的项为前两项差的绝对值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3. 外部设备完成了预定的输入/输出操作所引起的中断是( 13 )。
13 (A) 外中断 (B) I/O中断 (C) 程序中断 (D) 标准程序库
4. 以下的准则中哪个不是软件设计应遵循的( 14 )。
14 (A) 抽象准则 (B) 模块化准则 (C) 信息屏蔽准则 (D) 综合性准则
(C) char b[10]; strcpy(b, "Hello!");
(D) char b[10]= "Hello!";
10. 若变量已正确定义并赋值,以下符合C语言语法的表达式是 ( 25 ) 。(考点:表达式)
25 (A) a:=b+1 (B) a=b=c+2 (C) int 18.5%3 (D) a=a+7=c+b
17 (A) c:prog\file1.dat (B) c:\\prog\\file1.dat
(C) "c:\prog\file1.dat" (D) "c:\\prog\\file1.dat"
3. 若有定义:
union data
{
int i;
# define PRINT(a) PR(a);putchar('\n')
void main()
{
int x=2;
PRINT(GOOD(5)*x);
}
29 (A) 11 (B) 15 (C) 13 (D) 12
4. 下列程序运行后的输出结果是( 30 )。(考点:结构体类型、函数(普通参数)、全局变量和局部变量)
2. 下列程序的输出结果是( 28 )。(考点:函数(地址参数和普通参数)、指针运算)
void fun(char *c,int d)
{
*c=*c+1;
d=d+1;
}
void main()
{
char a='A',b='a';
fun(&b,a);
printf("%c,%c\n",a,b);
}
(1) 第1个printf输出的结果为( 26 )。
26 (A) 8 8 (B) 20 8 (C) 20 20 (D) 20 4
(2) 第2个printf输出的结果为( 27 )。
27 (A) abcd (B) ab12cd (C) 1234 (D) ab12cd34
22 (A) p->next=q->next; (B) p->next=p->next->next;
(C) p->next=r; (D) p=q->next;
8. 下列程序段中,不是无限循环的是( 23 )。(考点:循环语句)
23 (A) (B)
k=0; j=100;
fun(t);
printf("%d,%s\n",t.x,t.s);
}
30 (A) 10,computer (B) 1,minicomputer
(C) 1,computer (D) 10,minicomputer
5. 下列程序编译连接后生成可执行文件CAD.EXE,输入以下命令行:
float j;
char s[5];
}k;
则在Turbo C 2.0环境中sizeof(k)的值是(18)。(考点:共用体类型)
18 (A) 2 (B) 5 (C) 11 (D) 0
4. 下面四个选项中,合法的用户自定义标识是( 19 )。(考点:标识符命名)
while(s%2+s++%2);
9. 不能把字符串"Hello!"赋给字符数组b的选项是( 24 )。(考点:字符数组赋值)
24 (A) char b[10]={ 'H','e','l','l','o','!','\0'};
(B) char b[10]; b="Hello!";
}
28 (A) B,A (B) a,B (C) A,B (D) A,b
3. 下列程序的输出结果是( 29 )。(考点:带参数的宏定义)
# include "stdio.h"
# define GOOD(y) 2.84+y
# define PR(a) printf("\n%d",(int)(a))
1. 已知:char s[]="China",*p; (考点:字符指针)
p=s;
则下列叙述正确的是( 16 ) 。
16 (A) s和p完全相同 (B) *p与s[0]不等 (C) *p与 s[0]相等 (D) *s与p相等
2. 以下可以作为函数fopen中第一个参数的正确格式是(17)。(*考点:文件)
5. 链表可以随机访问任意一个结点,而顺序表则不能。 ( B )
6. 栈顶的位置是随着进栈和退栈操作而变化的。 ( A )
7. 处于等待状态的进程,若其等待的事件已发生,就立即转入运行状态。 ( B )
8. 任何两个并发进程之间一定存在互斥关系。 (B )
二、读程序回答问题 ( 每个选择3分,共45分 )
1. 在下面程序中(考点:数组、函数(地址参数)、删除字符算法)
# include <stdio.h>
void fun(char *s)
{
int i,j;
for(i=0,j=0;s[i]!='\0';i++)
if(s[i]>='0' && s[i]<='9')
四川省普通高等学校计算机应用知识和能力
第三十一次等级考试
二级(C与C++语言) 笔 试 试 卷
时间: 2009年10月 24 日
上午 9:00—11:00
第一部分
软件技术基础
(共15分)
一、是非判断题(每小题1分,共10分)
( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )
6. 下面程序的输出结果是( 21 )。(考点:宏定义)
# include <stdio.h>
# define M 4
# define N 2*M+1
# define K N/2-5
void main()
{ printf("%d\n",K); }
21 (A) 2 (B) 1 (C) 0 (D) 3
{ s[j]=s[i];
j++;
}
s[j]='\0';
}
void main()
{
char s[20]="ab12cd34";
fun(s);
printf("%3d %3d\n",sizeof(s),strlen(s));
printf("%s\n",s);
1. 数据在计算机内存中的表示是指数据的存储结构。 ( A )
2. 作业与进程的主要区别是前者是由系统自动生成,后者是由用户提交。 ( B )
3. 从逻辑上可以把数据结构分为线性结构和非线性结构。 ( A )
4. 在设备管理中,通道是处理输入、输出的软件。 ( B )
{
x++;
for(j=0;j<=3;j++)
{
if(j%2)
x++;
}
printf("%d\n",x);
int month;
}birth;
char sex;
}stu;
20 (A) stu.birth=2009; (B) stu.year=2009;
(C) stucent.birth.year=2009; (D) stu.birth.year=2009;
19 (A) int (B) a_b3 (C) 3_bc (D) #mm
5. 已知结构体:( 20 )。(考点:存储类型extern)
struct student
{
char name[20];
struct
{ int year;
7. 有以下结构体及其变量的定义:
struct node
{ int data;
struct node *next;
}*p,*q,*r;
如图所示,指针p、q、r分别指向此链表中的三个连续结点。
若要将q所指结点从链表中删除,使p所指结点与r所指结点连接,不能完成指定操作的语句是( 22 )。(考点:链表)
11 (A) 1,4,3,2 (B) 2,3,4,1 (C) 3,1,4,2 (D) 3,4,1,2
2. 操作系统本身是计算机系统软件的重要组成部分,而其物质基础是( 12 )。
12 (A) 系统硬件 (B) 程序 (C) 数据结构 (D) 标准程序库
do while(1)
{ ++k; } { j=j%100+1;
whiel(k-->=0); if( j>100 ) break; }
(C) (D)
s=3333; for( ; ; );
5. 在结构化设计方法中,设计功能模块算法属于软件开发中的 ( 15 )阶段。
相关文档
最新文档