四川省计算机二级(C与C++)机试题参考答案18~24次)

四川省计算机二级(C与C++)机试题参考答案18~24次)
四川省计算机二级(C与C++)机试题参考答案18~24次)

四川省普通高等学校计算机应用知识和能力

第十八次等级考试

二级(C语言)上机考试试卷(第一套) 参考答案

一、程序调试题(文件名为test1-1.c)(40分)

# include

# include

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分。

二、编写程序(程序文件取名为 test1-2.c)(60分)

评分标准:

1.文件打开与关闭正确10分2.文件读写正确10分3.函数及函数调用正确20分4.屏幕上显示结果正确10分5.Test1-2.txt中结果正确10分

参考程序:

# include

# include

# define M 10

int a[M][M]={0};

fm(int a[][M],int m)

{ int j,k;

for(j=0;j

for(k=0;k

a[j][k]=(k+1)*(j+1);

}

main()

{ int i,j,n;

FILE *fp;

fp=fopen("test1-2.txt","w");

clrscr();

printf("Enter n:");

scanf("%d",&n);

fm(a,n);

for(i=0;i

{ for(j=0;j

{ printf("%4d",a[i][j]);

fprintf(fp,"%4d",a[i][j]);

}

printf("\n");

fprintf(fp,"\n");

}

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第十九次等级考试

二级(C和C++语言)上机考试试卷(第一套) 参考答案

一、程序调试题(文件名为test1-1.c)(40分)

# include

void fun(long s,long t) /* 改为long *t */

{ long s1=10;

*t=s%10;

while(s>o);/* 改为while(s>0)*/

{ s=s/100;

t=s%10*s1+t; /* 改为*t=s%10*s1+*t */

s1=s1*100; /* 改为s1=s1*10 */

}

}

void main()

{ long s,t;

printf("\nPlease enter integer s:");

scanf("%ld",&s);

if(s>0)

{ fun(s,&t);

printf("The result is :%ld\n",t);

}

else printf("s value error.\n");

}

评分标准:每改对一处得6分,第二处有两个错误,结果正确得10分。

二、编写程序(程序文件取名为 test1-2.c)(60分)

评分标准:

1.文件打开、关闭正确10分2.屏幕结果输出正确5分

3.文件结果输出正确5分4.数据输入方法正确5分

5.排号正确5分6.数据初始化正确5分7.数据处理正确20分8.找出结果正确5分参考程序:

# include

# define nmax 50

void main()

{ int i,k,m,n,num[nmax],*p;

FILE *fp;

printf("Please enter the n:");

scanf("%d",&n);

p=num;

for(i=0;i

*(p+i)=i+1;

i=0;k=0;m=0;

while(m

{ if( *(p+i)!= 0 )

k++;

if(k==5)

{ *(p+i)=0;

k=0;m++;

}

i++;

if(i==n) i=0;

}

while(*p==0) p++;

fp=fopen("test1-2.dat","w");

printf("%d number is a last ont.\n",*p);

fprintf(fp,"%d number is a last ont.\n",*p);

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第十九次等级考试

二级(C和C++语言)上机考试试卷(第二套) 参考答案

一、程序调试题(文件名为test2-1.c)(40分)

# include

# include

void fun(char *s,char *t1,char *t2,char *w)

{ char *p,*r,*place;

strcpy(w,s);

place=NULL;

while(*w)

{ p=w; r=t1;

while(r) /* 改为*r*/

if(*r=*p) /* 改为*r==*p */

{ r++;p++;}

else continue; /* 改为break */

if(*r=='0') /* 改为'\0' */

place=w;

w++;

}

if(place!=NULL)

{ r=t2;

while(&r) /* 改为*r */

*place=*r,place++,r++;

}

}

main()

{ char s[100],t1[100],t2[100],w[100];

printf("\nPlease enter string s:");

scanf("%s",s);

printf("\nPlease enter substring t1:");

scanf("%s",t1);

printf("\nPlease enter substring t2:");

scanf("%s",t2);

if(strlen(t1)==strlen(t2))

{ fun(s,t1,t2,w);

printf("\nThe result is:%s\n",w);

}

else printf("Error:strlen(t1)!=strlen(t2)\n");

}

评分标准:每改对一处得6分,结果正确得10分。

二、编写程序(程序文件取名为 test2-2.c)(60分)

评分标准:

1.文件打开、关闭正确10分2.屏幕结果输出正确5分3.文件结果输出正确5分4.数据输入方法正确5分5.函数调用和函数参数定义方法正确10分6.下标为奇数位置的判断正确10分7.字母转换正确10分8.命令行参数使用正确5分参考程序:

# include

void fun(char *st)

{ char *p=st;

int i=0;

while(*p)

{ if((i%2)&&(*p>='a' && *p<='z')) *p-=32;

p++; i++;

}

}

void main(int argc,char *argv[])

{ char tt[51];

FILE *wf;

if(argc!=2)

{ printf("\nToo few parameter!\n");

exit(0);

}

wf=fopen(argv[1],"w");

printf("Please enter an charachter string within 50 characters:\n");

gets(tt);

fun(tt);

puts(tt);

fprintf(wf,"t=%s",tt);

fclose(wf);

}

四川省普通高等学校计算机应用知识和能力

第十九次等级考试

二级(C和C++语言)上机考试试卷(第三套) 参考答案一、程序调试题(文件名为test3-1.c)(40分)

# include "stdio.h"

# include "string.h"

char *insert(char *s1,char *s2)

{ int len1,len2;

char p,q; /* 改为*p,*q */

len1=strlen(s1);

len2=strlen(s2);

q=s1;

p=s1+len1; /* 改为len1-1 */

while(*s1!='\0' || *s1!=*s2) /* 改为&&*/

*s1++; /* 改为*s1++*/

if(*s1!='\0')

for(;p>=s1;p++) /* 改为p--*/

*(p+len2)=*p;

while(*s2)

*s1++=*s2++;

*(q+len1+len2)='\0';

return p; /* 改为return q */

}

void main()

{ char str1[100],str2[100],*add;

printf("Input a string:\n");

gets(str1);

printf("\nInput the string do you want to insert:\n");

gets(str2);

add=insert(str1,str2);

printf("output is :%s\n",add);

}

评分标准:每改对一处得5分,结果正确得10分。

二、编写程序(程序文件取名为 test3-2.c)(60分)

评分标准:

1.字符串输入正确5分2.函数及函数调用正确10分3.替换位置定义正确10分4.字符串替换正确15分5.屏幕上显示结果正确5分6.文件打开、关闭正确5分7.文件写入正确5分8.返回结果正确5分参考程序:

# include

# include

char *strrep(char *s1,char *s2,int n)

{ char *p,*q;

p=s1+n;

q=s2;

while(*q) *p++=*q++;

*p='\0';

return s1;

}

main()

{ char a[100],b[100],*str;

int n,len;

FILE *fp;

fp=fopen("test3-2.dat","w");

printf("Input string a and b:\n");

gets(a);

gets(b);

len=strlen(a);

printf("Input number:");

scanf("%d",&n);

if((n>=0)&&(n<=len))

{ str=strrep(a,b,n);

printf("Output is :%s\n",str);

fprintf(fp,"Output is :%s\n",str);

}

else

{ printf("n value is error.\n");

fprintf(fp,"n value is error.\n");

}

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第二十次等级考试

二级(C和C++语言)上机考试试卷(第一套) 参考答案

一、程序调试题(文件名为test1-1.c)(40分)

#include

int len_max(char *strp)

{ int max=0,len=0;

while(strp!='\0')

{ while((*strp>='A'&&*strp<='Z')&&(*strp>='a'&&*strp<='z')) /* 改为|| */ { len++;/* 增加一行语句:strp++; */

}

if(lenmax */

len=0;

strp++;

}

return; /* 改为return max */ }

void main()

{ char str[100];

int maxlen;

printf("Input a sentence:\n");

gets(str);

maxlen=len_max(&str); /* 改为str */

printf("maxlen=%d\n",maxlen);

}

二、编写程序(程序文件取名为 test1-2.c)(60分)

评分标准:

1.文件打开、关闭正确2.屏幕结果输出正确

3.文件结果输出正确4.函数定义、形参书写正确

5.正确定义实参二维数组,并能正确调用creat函数6.函数中对二维数组的处理正确参考程序:

# include

void creat(int a[10][10],int n)

{ int i,j;

for(i=0;i

for(j=0;j<=i;j++)

a[i][j]=i*4+j*2+1;

}

main()

{ int a[10][10],m,i,j;

FILE *fp;

fp=fopen("test1-2.dat","w");

printf("Input m(1~10):");

scanf("%d",&m);

creat(a,m);

for(i=0;i

{ for(j=0;j<=i;j++)

{ printf("%5d",a[i][j]);

fprintf(fp,"%5d",a[i][j]);

}

printf("\n");

fprintf(fp,"\n");

}

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第二十次等级考试

二级(C与C++语言)上机考试试卷(第二套) 参考答案一、程序调试题(文件名为test2-1.c)(40分)

#include

void fun(int m, char s) /* 改为*s*/

{ int k, i=10;

while(m!=0)

{ k=m/i ; /* 改为m%i */ *s=k+"0"; /* 改为'0' */

s++ ;

m=(m-k)/i ;

}

/*增加一行内容:*s='\0'; */ }

void main()

{ int x, i;

char s[10];

scanf("%d", &x);

if(x>0)

{ fun(x, s);

for(i=0 ; s ; i++) /* 改为s[i] */

printf("%c*" , s[i]) ;

}

else printf("x value error\n");

}

二、编写程序(程序文件取名为 test2-2.c)(60分)

评分标准:

1.文件打开和关闭正确2.串的读入正确

3.串的排序正确4.文件位置指针定位正确5.屏幕输出和文件输出正确6.程序结构合理

参考程序:

# include

# include

main()

{ char str[3][80],string[80];

int i,j,k;

FILE *fp;

fp=fopen("test2-2.txt","r+");

for(i=0;i<3;i++)

fgets(str[i],80,fp);

printf("The strings:\n");

for(i=0;i<3;i++)

printf("%s",str[i]);

for(i=0;i<2;i++)

{ k=i;

for(j=i+1;j<3;j++)

if( strcmp( str[k] , str[j] ) > 0 ) k=j;

if(k!=i)

{ strcpy(string,str[k]);

strcpy(str[k],str[i]);

strcpy(str[i],string);

}

}

printf("Sorted result:\n");

fseek(fp,0,2);

for(i=0;i<3;i++)

{ printf("%s",str[i]);

fprintf(fp,"%s",str[i]);

}

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第二十次等级考试

二级(C与C++语言)上机考试试卷(第三套) 参考答案一、程序调试题(文件名为test3-1.c)(40分)

#include

#define M 2

#define N 3

#define P 2

void fun(int a[M][N],b[N][P],c[M][P]) /* 改为int b[N][P],int c[M][P]*/ { int i,j,k;

for(i=0;i<=P;i++) /* 改为i

{ c[i][j]=0;

for(k=0;k

}

void main()

{ int a[2][3]={{1,2,3},{4,5,6}};

int b[3][2]={{1,2},{3,4},{5,6}};

int c[2][2], i, j;

fun(*a,*b,*c); /* 改为fun(a,b,c) */

for(i=0;i<2;i++)

{ for(j=0;j<2;j++)

printf("%d ",c[i][j]);

printf("\n");

}

}

二、编写程序(程序文件取名为 test3-2.c)(60分)

评分标准:

1.文件打开和关闭正确2.函数定义、调用和参数使用正确

3.屏幕输出和文件输出正确4.递归调用方法正确

5.命令行参数使用正确6.程序结构合理

参考程序:

# include

int fun(int n)

{ int f;

if(n<1) return 0;

else if(n==1) f=1;

else f=fun(n-1)+n;

return f;

}

main(int argc,char *argv[])

{ int sum,n;

FILE *fp;

if(argc!=2)

{ printf("Error!\n");

exit(0);

}

fp=fopen(argv[1],"w");

printf("Input n: ");

scanf("%d",&n);

sum=fun(n);

printf("1+2+...+%d=%d\n",n,sum);

fprintf(fp,"1+2+...+%d=%d\n",n,sum);

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第二十一次等级考试

二级(C与C++语言)上机考试试卷(第一套) 参考答案一、程序调试题(文件名为test1-1.c)(40分)

#include

#include

char *fun( char str) /* 改为*str*/

{ int i ;

for(i=0 ; str; i++) /* 改为str[i]*/

if(('a'<=str[i])||(str[i]<='z')) /* 改为&& */

str[i]+=32; /* 改为-= */

return *str; /* 改为str */

}

main()

{

char str[81];

printf("\n Please enter a string:");

gets(str[81]); /* 改为str */

printf("\n The result string is:\n%s" , fun(str));

}

评分标准:每改对1处得5分,结果正确得10分。

二、编写程序(程序文件取名为 test1-2.c)(60分)

评分标准:

1.被调函数编写正确20分2.文件打开、数据读入正确和定位正确10分3.函数调用正确5分4.屏幕输出和文件输出正确20分5.程序结构合理5分

参考程序:

# include

# include

int prime(int a[],int n)

{ int i,j,k=0,flag=0;

for(i=0;i

{ for(j=2;j

if(a[i]%j==0)

{ flag=0;

break;

}

else flag=1;

if(flag)

a[k++]=a[i];

}

return k;

}

main()

{ int n,i,a[10];

FILE *fp;

fp=fopen("test1-2.txt","r+");

for(n=0;n<10;n++)

fscanf(fp,"%d",&a[n]);

n=prime(a,n);

fseek(fp,0,2);

for(i=0;i

{ printf("%5d",a[i]);

fprintf(fp,"%5d",a[i]);

}

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第二十一次等级考试

二级(C与C++语言)上机考试试卷(第二套) 参考答案

一、程序调试题(文件名为test2-1.c)(40分)

#include

#define N10/* 改为N 10*/

void fi(int a[],int m) /* 改为int */

{

int low=0,high=N,mid;

while (low<=high)

{

mid=(low+high)/2;

if(m

high=mid-1;

else if(m>=a[mid]) /* 改为m>a[mid]*/

low=mid+1;

else return(mid);

}

return(-1);

}

main()

{

int i, a[N]={-3,4,7,9,13,45,67,89,100,180},k,m;

for(i=0;i

printf("%d ",a[i]);

printf("Enter m: ");

scanf("%d",); /* 改为&m */

k=fi(a[],m); /* 改为a */

if(k>0) printf("m=%d,index=%d\n",m,k); /* 改为k>=0 */

else printf("Not be found!\n");

}

评分标准:每改对1处得5分,结果正确得10分。

二、编写程序(程序文件取名为 test2-2.c)(60分)

评分标准:

1.被调函数编写正确20分2.文件打开、数据读入正确15分

3.函数调用正确5分4.屏幕输出及结果正确15分5.程序结构合理5分

参考程序:

# include

# define M 3

# define N 4

void fun(int tt[M][N],int pp[N])

{ int i,j,min;

for(j=0;j

{ min=tt[0];

for(i=0;i

if(tt[i][j]

min=tt[i][j];

pp[j]=min;

}

}

main()

{ int t[M][N];

int p[N],i,j,k;

FILE *fp;

fp=fopen("test2-2.dat","r");

for(i=0;i<3;i++)

for(j=0;j<4;j++)

fscanf(fp,"%d",&t[i][j]);

fclose(fp);

printf("The original data is :\n");

for(i=0;i

{ for(j=0;j

printf("%6d",t[i][j]);

printf("\n");

}

fun(t,p);

printf("\nThe result is :\n");

for(k=0;k

printf("%4d",p[k]);

printf("\n");

}

四川省普通高等学校计剪机应用知识和能力

第二十一次等级考试

二级(C与C++语言)上机考试试卷(第三套) 参考答案

一、程序调试题(文件名为test3-1.c)(40分)

#include

void main()

{

int i,k; /* 改为k=0*/

char a[80],b[80],*p;

p=*a; /* 改为p=a*/

gets(p);

while(!*p) /* 改为*p*/

{

for(i=1;i<3&&*p!='\0';p++,k++,i++) /* 改为i<=3*/

b[k]=*p;

if(i==4) {b[k]='';k++;} /* 改为' ' */

}

b[k]='\0';

puts(*b); /* 改为b */

}

评分标准:每改对1处得5分,结果正确得10分。

二、编写程序(程序文件取名为 test3-2.c)(60分)

评分标准:

1.被调函数编写正确20分2.文件打开、数据写入正确10分3.函数调用正确10分4.屏幕输出正确10分5.m输入正确5分6.程序结构合理5分参考程序:

# include

int create(int a[],int m)

{ int i,j=0;

for(i=1;i<=m;i++)

if(i%3==0 || i%7==0)

a[j++]=i;

return (j);

}

main()

{ int a[80],m;

int i,n;

FILE *fp;

if((fp=fopen("test3-2.dat","w"))==NULL)

{ printf("Can't open the file.\n");

exit(0);

}

printf("Input m:\n");

scanf("%d",&m);

n=creat(a,m);

printf("n=%d\n",n);

fprintf("fp,"n=%d\n",n);

for(i=0;i

{ printf("%4d",a[i]);

fprintf(fp,"%4d",a[i]);

}

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第二十一次等级考试

二级(C与C++语言)上机考试试卷(第四套) 参考答案一、程序调试题(文件名为test4-1.c)(40分)

#include

main()

{

char str[81],c;

int i,j,n; /* 改为n=0*/

printf("\n Enter a string:");

gets(str[81]); /* 改为str */

printf("\n Enter a character:");

getchar(c); /* 改为c=getchar() */

for(i=j=0;str[i];i++)

if(str[i]!=c)

str[j]=str[i]; /* 改为j++ */

else

n; /* 改为n++ */

str[j]= ; /* 改为str[j]= '\0' */

printf("\nSTR=%s,N=%d\n",str,n);

getchar();

}

评分标准:每改对1处得5分,结果正确得10分。

二、编写程序(程序文件取名为 test4-2.c)(60分)

评分标准:

1.输入数据正确5分2.被调函数编写正确20分3.文件操作及数据写入正确15分4.函数调用正确5分5.屏幕输出及结果正确10分6.程序结构合理5分参考程序:

# include

# include

void fun(char *s,char *t)

{ int i,j=0,n;

n=strlen(s);

for(i=0;i

if(!(i%2==0 && s[i]%2!=0))

t[j++]=s[i];

t[j]='\0';

}

main()

{ char s[100],t[100];

FILE *fp;

printf("Please enter a string:\n");

gets(s);

fun(s,t);

fp=fopen("test4-2.txt","w");

printf("%s\n%s\n",s,t);

fprintf(fp,"%s\n%s\n",s,t);

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第二十二次等级考试

二级(C与C++语言)上机考试试卷(第一套) 参考答案

一、程序调试题(文件名为test1-1.c)(40分)

#include

#include

char move( char *str, int r) /* 改为*move */

{ char t;

int i,len; /* 改为k*/

len=strlen(str);

for(k=0;k<=r;k++) /* 改为k

{ t=*str;

strcpy(str+1,str);/* 改为strcpy(str+1,str)*/

str[len-1]=t;

}

return *str; /* 改为str */

}

void main()

{ char s[81];

int m;

printf("\n Please enter a string:\n");

gets(s);

do

{ printf("\n Please enter m:");

scanf("%d",m); /* 改为&m */

if(m>strlen(s))

printf("\n Data error!!\n");

}while(m>strlen(s));

printf("\n Result:%s\n",move(s,m));

}

评分标准:每改对1处得5分,结果正确得10分。

二、编写程序(程序文件取名为 test1-2.c)(60分)

评分标准:

1.被调函数编写正确25分2.文件打开、数据读出正确10分3.函数调用正确10分4.屏幕输出正确10分

5.程序结构合理5分

参考程序:

#include

sort(char a[],char b[])

{

char c;

int i,j=0;

for(i=1;i

b[j++]=a[i];

b[j]='\0';

for(i=1;i

for(j=0;j

if(b[j]>b[j+1])

{ c=b[j]; b[j]=b[j+1]; b[j+1]=c; }

}

main()

{

FILE *in;

char a[128],b[65];

in=fopen("test1-2.in","r");

fgets(a,128,in);

fclose(in);

sort(a,b);

puts(b);

}

四川省普通高等学校计算机应用知识和能力

第二十二次等级考试

二级(C与C++语言)上机考试试卷(第二套) 参考答案一、程序调试题(文件名为test2-1.c)(40分)

#include

main()

{

float a[ ][10], min; /* 改为a[10][10]*/

int i, j;

int invert(); /* 改为float*/

for(i=0;i<10;i++)

for(j=0;j<10;j++)

a[i][j]= i+j;

for(i=0;i<10;i++)

{

min=invert(a,10); /* 改为a[i] */

printf("a[%d]min=%f\n",i,min);

}

}

float invert(float *a, n) /* 改为int n */

{

int i;

float min;

min=*(a+0);

for(i=1;i

{

if(min<*(a+i)) /* 改为>*/

min=(a+i); /* 改为*(a+i) */

}

return min;

}

评分标准:每改对1处得5分,结果正确得10分。

二、编写程序(程序文件取名为 test2-2.c)(60分)

评分标准:

1.被调函数编写正确15分2.文件打开、数据写入正确15分3.函数调用正确10分4.屏幕输出正确10分5.程序结构合理10分

参考程序:

# include

int select(int a)

{ if(!(a%3)&&!(a%5)) return 1;

else return 0;

}

main()

{ int i,k=0;

FILE *fp;

if((fp=fopen("test2-2.dat","wb"))==NULL)

{ printf("cannot open the file\n");

exit(0);

}

for(i=3;i<400;i++)

if(select(i))

{ k=k+1;

printf("%10d",i);

fprintf(fp,"%10d",i);

if(k%5==0)

{ printf("\n");

fprintf(fp,"\n");

}

}

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第二十二次等级考试

二级(C与C++语言)上机考试试卷(第三套) 参考答案

一、程序调试题(文件名为test3-1.c)(40分)

#include

int fun(float s, int n, float *aver) /* 改为*s */

{ float ave,t=0.0;

int count,k,i; /* 改为count=0 */

for(k=0;k

t=s[k]; /* 改为+= */

ave=t/n;

for(i=0;i

if(s[i]>ave) count++; /* 改为<*/

*aver=&ave; /* 改为ave */

return count;

}

main()

{ float s[30],aver;

int m, i;

printf("\nPlease enter n(<30):");

scanf("%d", &m);

printf("\nPlease enter %d mark:\n",m);

for(i=0;i

scanf("%f", s+i);

printf("\nThe number of students:%d \n",fun(s, m, aver)); /* 改为&aver */

printf("A ve=%f \n", aver);

}

评分标准:每改对1处得5分,结果正确得10分。

二、编写程序(程序文件取名为 test3-2.c)(60分)

评分标准:

1.被调函数编写正确20分2.文件操作和读数据正确15分3.函数调用正确10分4.屏幕输出正确10分5.程序结构合理5分

参考程序:

#include

#include

#define M 10

void fun(int *s)

{ int i,j,t;

for(i=1;i

for(j=i+1;j

if(s[i]>s[j])

{ t=s[i];

s[i]=s[j];

s[j]=t;

}

}

int input(int s[])

{ FILE *fp;

int i;

if((fp=fopen("test3-2.in","r"))==NULL)

{ printf("cannot open file\n");

return(0);

}

for(i=0;i

fscanf(fp,"%d ",&s[i]);

fclose(fp);

return(1);

}

main()

{ int s[M];

int i;

if(input(s))

{ fun(s);

printf("\n");

for(i=0;i

printf("%d ",s[i]);

}

}

四川省普通高等学校计算机应用知识和能力

第二十三次等级考试

二级(C与C++语言)上机考试试卷(第一套) 参考答案

一、程序调试题(文件名为test1-1.c)(40分)

#include

#include /* 改为:math.h*/

main()

{

char str[100], *p=str, help[15];

static long int num[50];

int i=0, k=0, m, sign=0;

printf("\ninput the string:");

scanf("%s", p);

do

{ if(*p>=0 && *p<=9) /* 改为:*p>=’0’ && *p<=’9’或*p>=48 && *p<=57 */ { sign=1;

help[k++]=*p;

}

else if(sign=1) /* 改为:== */

{ int n=0;

全国计算机等级考试二级C语言真题

2009年3月二级C语言笔试真题((1)—(10)每小题2分,(11)—(50)每题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)栈是“先进先出”的线性表 B)队列是“先进先出”的线性表 C)循环队列是非线性结构 D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构 (2)支持子程序调用的数据结构是 A)栈B)树C)队列D)二叉树 (3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10B)8C)6D)4 (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是 A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性

C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度 (8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训 (9)有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为 A)选择B)投影C)插入D)连接 (10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域 (11)以下选项中合法的标识符是 A)1-1B)1—1C)-11D)1-- (12)若函数中有定义语句:intk;,则 A)系统将自动给k赋初值0 B)这时k中值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值 (13)以下选项中,能用作数据常量的是 A)o115B)0118C))115L (14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1 B)x++,2*x C)x*=(1+x)

计算机二级考试C语言练习题及答案

一、选择题 1). 下列叙述中正确的是( )。 A.调用printf( )函数时,必须要有输出项 B.使用putchar( )函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以二进制、八进制或十六进制的形式输出 D.调节getchar( )函数读入字符时,可以从键盘上输入字符所对应的ASCII码 正确答案:B 答案解析:选项A,若printf函数没有输出项,且格式字符串中不含格式信息,则输出的是格式字符串本身,若格式字符串含有格式信息,运行时则出现错误提示;选项C,在C 语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar函数是从标准输入设备读取一个字符。 2). 以下结构体类型说明和变量定义中正确的是( ) A.typedef struct { int n; char c; } REC; REC t1,t2; B.struct REC ; { int n; char c; }; REC t1,t2; C.typedef struct REC; { int n=0; char c=′A′; } t1,t2; D.struct { int n; char c; } REC; REC t1,t2; 正确答案:A 答案解析:定义结构体类型的一般形式为:struct 结构体名 {成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。 3). 若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是( ) A.一对一 B.一对多 C.多对一 D.多对多 正确答案:B 答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间也是一对多的联系。 4). 关于C语言的变量,以下叙述中错误的是( ) A.所谓变量是指在程序运行过程中其值可以被改变的量 B.变量所占的存储单元地址可以随时改变 C.程序中用到的所有变量都必须先定义后才能使用 D.由三条下划线构成的符号名是合法的变量名 正确答案:B

计算机二级c上机考试题库

所属语言:C++ 试卷总分:200分 共有题型:5种 一、填空共20题(共计20分) 第1题(1.0分) 假设变量a,b均为整型,表达式 (a=5,b=2,a>b?a++:b++,a+b) 的值是【1】. 答案: =======(答案1)======= 8 第2题(1.0分) 若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组的元素中,数值最大的元素的下标值是【1】.答案: =======(答案1)=======

2 第3题(1.0分) 下面程序段的输出结果是【1】. int a=12; a=a&0377;pritnf("%o\n",a); 答案: =======(答案1)======= 14 第4题(1.0分) 若输入字符串:abcde<回车>,则以下while循环体将执行【1】次. While((ch=getchar())=='e') printf("*"); 答案: =======(答案1)======= 第5题(1.0分) 将数组a的首地址赋给指针变量p的语句是【1】. 答案: =======(答案1)=======

p=a; 第6题(1.0分) C语言把文件看作是一个【1】的序列. 答案: =======(答案1)======= 字符 =========或========= 字节 第7题(1.0分) 静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是在【2】时进行的. 答案: =======(答案1)======= 编译 =======(答案2)======= 函数调用 第8题(1.0分)

计算机二级c语言历年真题及答案

计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】 class=txt>c语言程序设计 (考试时间90分钟,满分100分) 一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共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) 可封装 d) 自顶向下

c) 模块化 d) 逐步求精 (7)软件详细设计产生的图如下: 该图是 a) n-s图 b) pad图 c) 程序流程图 d) e-r图 (8)数据库管理系统是 a)操作系统的一部分 b) 在操作系统支持下的系统软件 c) 一种编译系统 d) 一种操作系统 (9)在e-r图中,用来表示实体联系的图形是 a) 椭圆图 b) 矩形 c) 菱形 d) 三角形 (10)有三个关系r,s和t如下: 其中关系t由关系r和s通过某种操作得到,该操作为 a) 选择 b) 投影 c) 交 d) 并 (11)以下叙述中正确的是 a)程序设计的任务就是编写程序代码并上机调试 b)程序设计的任务就是确定所用数据结构 c)程序设计的任务就是确定所用算法 d)以上三种说法都不完整 (12)以下选项中,能用作用户标识符的是 a)void b)8_8 c)_0_ d)unsigned (13)阅读以下程序

2010年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)函数的实参和形参共享内存空间

全国计算机二级C语言操作题题库

1.程序Cmody021.c输出如下所示图形: * *** ***** ******* ********* #include void main() { int i,j;for(i=1;i<=5;i++) { for(j=1;j<=5-i;j++)printf(" "); for(j=1;j<=2*i-1;j++) printf("*"); printf("\n"); } } 2.程序Cmody032.c的功能是:输出201-300之间的所有素数,统计总个数。#include #include void main() { int num; printf("\n"); num=fun(); printf("\nThe total of prime is %d",num); getch(); } int fun() { int m,i,k,n=0; for(m=201;m<=300;m++) { k=sqrt(m+1); for(i=2;i<=k;i++) /**/if(m/i==0)/**/ break; /**/if(i==k)/**/ { printf("%-4d",m); n++;

if(n%10==0)printf("\n"); } } return n; } 3. 程序Cmody041.c,其功能是统计输入字符串中小写英文字母的个数。如输入:abcdEFGHIJK123 输出:4 #include #include main() { char str1[128]; /**/int i,len,sum=0;/**/ gets(str1); len=strlen(str1); for(i=0;i='a'&&str1[i]<='z')/**/ sum++; } printf("%d\n",sum); getch(); } 4.程序Cmody051.c,其功能是统计输入字符串中大写英文字母的个数。如输入:abcDEFGH123 输出:5 #include #include main() { /**/char str1[128]/**/ int i,len,sum=0; printf("Please input a string:\n"); scanf("%s",str1); len=strlen(str1); for(i=0;i='A'&&str1[i]<='Z') /**/sum++;/**/

计算机考试二级C语言上机试题上

计算机考试二级C语言上机试题上 [ 第13套试题说明***********************************第一题(30分)给定程序的功能是求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。函数体的变量必须使用r。例如输入圆的半径值r:19.527输出为:s=598.950017。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C 中。不得增行或删行,也不得更改程序的结构!***********************************第二题(30分)给定程序MODI1.C中函数fun的功能是:将既在字符串s中出现又在字符串t中出现的字符构成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符。例如:当??有?尵琬尽??时,u中的字符串为尺有尴。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结 构!***********************************第三题(40分)请编写一个函数 voidfun(inttt[M][N],intpp[N]),tt是一个M行N列的二维数组,求出每列中最小元素,并依次放入pp数组中。tt数组中的数由主函数从键盘读入。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 第16套试题说明***********************************第一题(30分)给定程序的功能是从字符串s尾部开始,按逆序把相邻的两个字符交换位置,并依次把每个字符紧随其后重复出现一次,放在一个新串t中。例如:当s中的字符串为尺㈱?尵时,则t中的字符串应为尺塘?。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! ***********************************第二题(30分)给定程序MODI1.C中函数fun的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:π111┄┄≈1-┄┄+┄┄-┄┄+...4357例如,程序运行后,输入0.0001,则程序输出3.1414。请改正程序中的错误,使它能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!***********************************第三题(40分)程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N]),函数的功能是:使数组中第一列元素中的值与最后一列元素中的值对调、数组中a第二列元素中的值与倒数第二列元素中的值对调、……、其他依次类推。例如: 的值为|XX||XXXX5|a=|XX||145682||XX||XX||54791|则返回主程序后a数组中的值应为 |XX||286514||XX|注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句

计算机二级c语言题库及答案

2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。 或35 2.下列关于栈的叙述中,正确的是( )。 A.栈底元素一定是最后入栈的元素 B.栈操作遵循先进后出的原则 C.栈顶元素一定是最先入栈的元素 D.以上三种说法都不对 3.下列链表中,其逻辑结构属于非线性结构的是( )0、 A.双向链表 B.带链的栈 C.二叉链表 D.循环链表 4.在关系数据库中,用来表示实体间联系的是( )。 A.网状结构 B.树状结构 C.属性 D.二维表 5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。 :m联系 :n联系 :1联系 :l联系

6.右两个关系R和S如下: 则由关系R得到关系S的操作是( )。 A.自然连接 B.并 C.选择 D.投影 7.数据字典(DD)所定义的对象都包含于( )。 A.软件结构图 B.方框图 C.数据流图(DFD图) D.程序流程图 8.软件需求规格说明书的作用不包括( )。 A.软件设计的依据 B.软件可行性研究的依据 C.软件验收的依据 D.用户与开发人员对软件要做什么的共同理解 9.下面属于黑盒测试方法的是( )。 A.边界值分析 B.路径覆盖 C.语句覆盖 D.逻辑覆盖 10.下面不属于软件设计阶段任务的是( )。 A.制订软件确认测试计划 B.数据库设计 C.软件总体设计 D.算法设计 11.以下叙述中正确的是( )。 A.在C语言程序中,main函数必须放在其他函数的最前面 B.每个后缀为C的C语言源程序都可以单独进行编译 C.在C语言程序中,只有main函数才可单独进行编译

计算机二级C语言测试题及答案解析(一)

2016年计算机二级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 )。

B、a[i] C、a2_i D、int t 5~8题为相同类型题 考点:标识符的命名规则 只能由字母、数字、下划线构成 数字不能作为标识符的开头 关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B )。 A、3ax B、x C、case D、-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C )。 A、%x B、a+b C、a123

选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C 中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C 。 A、2.5 B、2 C、1 D、3 %为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1;5%

【免费下载】春浙江省计算机等级考试二级C试卷及答案

2005年春二级C考试试卷 试题一、判断题(每小题1分,共10分) 说明:在以下提供的若干个陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。(1)在C语言中,常量和变量都有数据类型。 (2)C语言的运算符只有单目运算符和双目运算符两种。 (3)若变量己正确定义,表达式x+y=z符合C语言语法。 (4)C编译器可以找出C源程序中所有的语法错误和逻辑错误。 (5)表达式3*5/2和表达式3/2*等价。 (6)表达式m=n++的求解顺序是先计算m=n,再计算n=n+1。 (7)变量名fahr和Fahr代表两个不同的变量。 (8)若表达式sizeof(unsigned)的值为2,则unsigned类型数据能表示的最大整数为216-1。 (9)break语句只能用于循环结构中。 (10)while语句先判断循环条件,所以循环体有可能一次也不执行。 试题二、单选题(每小题2分,共20分) b(11)执行scanf(“%d%lf%d”,&money,&rate,&year), 输入(11)后,money=1000, year=3, rate=0.025. A、1000 3 0.025 B、1000 0.025 3 C、1000,3,0.025 C、1000,0.025,3 c(12)判断变量ch是英文字母的表达式为(12)。 A、('a'<=ch<='z')||('A'<=ch<='z') B、(ch>='a' && ch<='z')&&(ch>='A' && ch<='Z') C、(ch>='a' && ch<='z')|| (ch>='A' && ch<='Z') D、('A'<=ch<='z')&&('A'<=ch<='z') b (13)while((13))等价于while(!x)。 A、x==1 B、x==0 C、x!=0 D、x!=1 a(14)以下程序段输出字符串str, 其中循环条件str[i]!= 0 还可以写成(14)。 char str[80]; for(i=0;str[i]!='\0' i++) putchar(str[i]); A、str[i]!=NULL B、i< 80 C、!(str[i]= '\0' D、i<=80 d(15)设变量定义为:int n,*p;char ch,*q,*g;,则语句(15)是不正确的。 A、p=&n;g=q=&ch; B、p=&n;q=&ch; C、p=&n;g=&ch D、p=&n;q=&ch;g=p; a(16)设变量定义如下,则对其中的结构分量num正确的引用是(16)。

历年全国计算机二级C语言试题库完整

. . . . 参考 50道C 语言知识题 1.以下叙述中正确的是 A)用C 程序实现的算法必须要有输入和输出操作 B)用C 程序实现的算法可以没有输出但必须要有输入 C)用C 程序实现的算法可以没有输入但必须要有输出 D)用C 程序实现的算法可以既没有输入也没有输出 2.下列可用于C 语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C 语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e 4.若有语句:char*line[5];,以下叙述中正确的是 A)定义line 是一个数组,每个数组元素是一个基类型为char 为指针变量 B)定义line 是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line 是一个指针数组,语句中的*号称为间址运算符 D)定义line 是一个指向字符型函数的指针 5.以下定义语句中正确的是 A)inta=b=0;B)charA=65+1,b=′b′; 6.有以下程序段 charch;intk; ch=′a′; k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a 的ASCII 码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main() {inti,s=1; for(i=1;i<50;i++) if(!(i%5)&&!(i%3))s+=i; printf("%d\n",s);} 程序的输出结果是 A)409B)277C)1D)91 8.当变量c 的值不为2、4、6时,值也为"真"的表达式是 A)(c==2)||(c==4)||(c==6) B)(c>=2&&c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 9.若变量已正确定义,有以下程序段

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

2010年春江苏省计算机等级二级C考试试题 第一部分计算机基础知识 1.下面关于通信技术的叙述中,错误的是___1___ 。 A.任何一个通信系统都有信源、信道和信宿这三个基本组成部分, B.为了实现远距离传输信息,在模拟通信和数字通信中均采用载波技术 C.为了降低传输信息的成本,在通信中广泛采用多路复用技术 D.数字通信系统的一个主要性能参数是信道带宽,它指实际进行数据传输时单位时间内传输的二进位数目2.在下列有关集成电路及其应用的叙述中,错误的是___2___ 。 A.集成电路的制造工序繁多,工艺复杂且技术难度高 B.经过抛光后的硅片称为晶圆,每个晶圆最多可以制成一个合格的集成电路芯片 C.IC卡分为接触式IC卡和非接触式IC卡,后者通常又称为射频卡或感应卡 D.集成电路应用十分广泛,目前我国第2代居民身份证中就有集成电路芯片 3.在下列有关数字技术的一些叙述中,错误的是_____3_____ 。 A.数字技术是采用有限个状态(例如"0"和"1")来表示、处理、存储和传输信息的 B.在逻辑代数中,1与1进行逻辑加(V)和逻辑乘(^)的结果相同 C.任何一个十进制数,均可以精确地转换成等值的二进制数 D.在PC机中,通常用原码表示正整数、用补码表示负整数 4.在下列有关PC机主机的叙述中,错误的是___4___ 。 A.BIOS和CMOS存储器安装在主板上,普通用户一般不能自己更换 B.由于PC机主板的物理尺寸等没有标准化,所以不同PC机的主板均不能互换 C.芯片组是PC机各组成部分相互连接和通信的枢纽,一般由2块VLSI芯片组成 D.芯片组决定了主板上所能安装的内存最大容量、速度及可使用的内存条类型 5.在下列4个Intel微处理器产品中,采用双核结构的是_____5_____ 。 A. Core 2 Duo B.Pentium PRO C.Pentium III D.Pentium 4 6.在下列四种PC机主存储器类型中,目前常用的是_____6_____ 。 A.EDODRAM B.SDRAM C.RDRAM D.DDR SDRAM 7.在下列有关PC机常用I/O接口的叙述中,错误的是7 。 A.目前显卡与显示器的接口大多采用VGA接口 B. 可用于连接鼠标器的USB接口和PS/2接口的数据传输方式均是串行传输方式 C. USB接口连接器有4个引脚,其中1个引脚可获得由主机提供的+1.5V电源 D.IEEE-1394b接口也是PC机常用的一种高速接口 8.在下列有关PC机外存储器的叙述中,错误的是8 。 A.由于数据存取速度慢、容量小等原因,软盘存储器已逐渐被淘汰 B. 所有的硬盘都是由2个或2个以上盘片组成的,硬盘中的盘面数为盘片数的2倍 C.目前有些优盘产品可以模拟软盘和硬盘启动操作系统 D. 目前常见的组合光驱(“康宝”)既有DVD只读光驱功能,又有CD光盘刻录机功能 9.在下列有关光盘存储容量的叙述中,错误的是9 。 A.80ram CD存储容量大约为200多兆字节B.120mm CD存储容量大约为600多兆字节 C.单面单层的120mm DVD存储容量大约为4.7GB D.单面单层的120mm蓝光光盘存储容量大约为17GB 10.在下列有关Windows系列操作系统及其功能的叙述中,错误的是10 。 A.Windows操作系统采用并发多任务方式支持系统中多个任务的执行 B.Windows XP分为多个版本,它们可用于不同计算机和不同的应用 C.与Windows XP相比,Windows Vista做了许多改进,但其硬件运行环境要求较高 D.无论是硬盘还是光盘,它们均采用相同的文件系统,即FAT文件系统 11.在下列常用应用软件中,不能对编辑的文档设置密码的是11 。 A.Microsoft Word B.Microsoft Excel C.Microsoft PowerPoint D.Microsoft FrontPage

计算机考试二级C语言上机试题下[23]

计算机考试二级C语言上机试题下[23] 第 53套 试题说明 *********************************** 第一题(30分) 给定程序中,函数fun的功能是将不带头结点的单向链表逆置。即若原链表中 从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结 果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! *********************************** 第二题(30分) 给定程序MODI1.C中函数fun的功能是: 将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。 例如, 字符串中的数据为: AABBCCDDEEFF, 则输出应当是:ABBCDDEFF。 请改正函数fun中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! *********************************** 第三题(40分) 请编写函数fun, 函数的功能是: 将M行N列的二维数组中的数据, 按列的顺序依次放到一维数组中。 例如, 二维数组中的数据为: 33 33 33 33 44 44 44 44

55 55 55 55 则一维数组中的内容应是: 33 44 55 33 44 55 33 44 55 33 44 55。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。

计算机二级C语言编程题库(100题)

2011,____年上机题100题库 1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 答案: int fun(int score[],int m,int below[]) { int i,k=0,aver=0; for(i=0;i<m;i++) aver+=score[i]; aver/=m; for(i=0;i<m;i++) if(score[i]<aver) { below[k]=score[i]; k++; } return k; } 2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。

答案: void fun(int *a, int *n) { int i,j=0; for(i=2;i<1000;i++) if ((i%7==0 || i%11==0) && i%77!=0) a[j++]=i; *n=j; } 3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 答案: void fun(int x, int pp[ ], int *n) { int i=1,j=0;k=0,*t=pp; for(i=0;i<=x;i++) if(i%2!=0) { t[j]=I; j++; }

计算机二级c语言题库

一、选择题 (1) 下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (2) 以下数据结构中不属于线性数据结构的是(C) A. 队列 B. 线性表 C. 二叉树 D. 栈 (3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得 A. 8 B. 16 C. 32 D. 15 (4) 下面描述中,符合结构化程序设计风格的是(A) A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句 (5) 下面概念中,不属于面向对象方法的是(D) 注:P55-58 A. 对象 B. 继承 C. 类 D. 过程调用 (6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B) A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码 (7) 在软件开发中,下面任务不属于设计阶段的是(D) A. 数据结构设计 B. 给出系统模块结构 C. 定义模块算法 D. 定义需求并建立系统模型 (8) 数据库系统的核心是(B) A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库 (9) 下列叙述中正确的是(C) A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统 C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致 (10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108 A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式 (11) 算法的时间复杂度是指(C) A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法执行过程中所需要的基本运算次数 D. 算法程序中的指令条数 (12) 算法的空间复杂度是指(D) A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 算法执行过程中所需要的存储空间 (13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出 A. 349 B. 350 C. 255 D. 351 (14) 结构化程序设计主要强调的是(B) A.程序的规模 B.程序的易读性 C.程序的执行效率 D.程序的可移植性 (15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是 (D) 注:即第一个阶段 A. 概要设计 B. 详细设计 C. 可行性分析 D. 需求分析 (16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A) 注:P67

计算机二级C语言考试编程题题库

计算机c语言编程题库 1、求100之内自然数中最大的能被17整除的数。 void main() { int i; for(i=100;i>0;i--) if(i%17==0)break; printf("%d\n",i); } 2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。 void main() { int a,b,c; for(a=1;a<=9;a++) { for(b=0;b<=9;b++) { for(c=1;c<=9;c++) if(a*100+b*10+c+c*100+b*10+a==1333) printf("%d,%d,%d\n",a,b,c); } } } 3、计算并输出200-400之间不能被3整除的整数的和。 void main() { int i,sum=0; for(i=200;i<=400;i++) if(i%3!=0) sum=sum+i; printf("%d\n",sum); } 4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。 void main() { int i,n=0,sum=0; int a[10]; printf(“请输入10个数:”);

for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=0;i<10;i++) if(a[i]>=0) { sum=sum+a[i]; n++;} printf("非负个数是%d,sum=%d\n",n,sum); } 5、求100之内自然数中偶数之和。 void main() { int i,sum=0; for(i=0;i<=100;i++) if(i%2==0) sum=sum+i; printf("sum=%d\n",sum); } 6、输入5个数,求和并输出。要求编写求和的函数。 void main() { int b(int x[],int n); int sum=0; int a[5]; int i; printf("请输入5个数:"); for(i=0;i<5;i++) scanf("%d",&a[i]); sum=b(a,5); printf("sum=%d\n",sum); } int b(int x[],int n) { int i,sum=0; for(i=0;i<5;i++) sum=sum+x[i]; return sum; } 7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。 void main() { int i,sum=0; for(i=1;i<=99;i=i+2) sum=sum+i*(i+1)*(i+2); printf("%d\n",sum); } 8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。void main()

江西计算机省二级试题及答案_二级C语言上机题库1

二级C 语言上机考试复习资料,共有50套题目 一、程序填空题 1、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun 的功能是对形参b 所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。 例如: b 所指变量t 中的学号、姓名、和三门课的成绩依次是: 1000 2、"ZhangQi"、9 3、85、87,修改后输出t 中的数据应为:1000 4、" LiJie "、93、8 5、87。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! #include #include struct student { long sno; char name[10]; float score[3]; }; void fun( struct student *b) { /**********found**********/ b__1__ = 10004; /**********found**********/ strcpy(b__2__, "LiJie"); } main() { struct student t={10002,"ZhangQi", 93, 85, 87}; int i; printf("\n\nThe original data :\n"); printf("\nNo: %ld Name: %s\nScores: ",t.sno, https://www.360docs.net/doc/933247196.html,); for (i=0; i<3; i++) printf("%6.2f ", t.score[i]); printf("\n"); /**********found**********/ fun(__3__); printf("\nThe data after modified :\n"); printf("\nNo: %ld Name: %s\nScores: ",t.sno, https://www.360docs.net/doc/933247196.html,); for (i=0; i<3; i++) printf("%6.2f ", t.score[i]); printf("\n"); } 2、给定程序中,函数fun 的功能是计算下式 例如,若形参e 的值为1e-3,函数的返回值2.985678。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! #include double fun(double e) { int i; double s, x; /**********found**********/ s=0; i=__1__; x=1.0; while(x>e){ /**********found**********/ __2__; /**********found**********/ x=(2.0*i-1)/((__3__)*(2.0*i)); s=s+x; } return s; } main() { double e=1e-3; printf("\nThe result is: %f\n",fun(e)); } 3、给定程序中,函数fun 的功能是: 将s 所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s 所指的字符串为:def35adh3kjsdf7。执行结正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! #include void fun(char *s) { int i, j=0, k=0; char t1[80], t2[80]; for(i=0; s[i]!='\0'; i++) if(s[i]>='0' && s[i]<='9') { /**********found**********/ t2[j]=s[i]; ___1___; } else t1[k++]=s[i]; t2[j]=0; t1[k]=0; /**********found**********/ for(i=0; i #define N 4 /**********found**********/ void fun(int (*t)___1___ ) { int i, j; for(i=1; i

相关文档
最新文档