当前位置:文档之家› 全国计算机二级C语言机试试题

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

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

第1套:1、程序填空题

给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写在文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。

填空:(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;

第2套:程序填空题

给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数,并作为函数值返回。

例如,从主函数输入一个整数:2763849626846。

填空:(1)1 (2)s〉0 (3)i*10

改错:(1)int fun(int n,int xx[][M]); (2)printf(“%4d”,xx[i][j]);

编程:*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/10);

最后在黑色对话框中输入45 12后按回车键

第3套:程序填空题

给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。

例如,当x值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、311、320、401、410、500,共有15个。当x值为27时,各位数字之和为27的整数是:999,只有1个。

填空:(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; }

第4套:程序填空题

给定程序中,函数fun的功能是:找出100至x(x<999)之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。

例如,当n值为500时,各位数字之和为15的整数有:159、168、177、186、195、249、258、267、276、285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。共有26个。

填空:(1)0 (2)x (3)t++

改错:(1)int i,s1; (2)t[i]=s[s1-1-i];

编程:*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;

最后在黑色对话框中输入45 12后按回车键

第5套:程序填空题

给定程序中,函数fun的功能是计算下式s=1/(2*2)+3/(4*4)+5/(6*6)+…+(2n-1)/(2n*2n)

直到|(2n-1)/(2n*2n)|<=1e-3,函数的返回值2.985678。

填空:(1)0 (2)i++ (3)2.0*i

改错:(1)void fun(char *s,char *t) (2)t[2*d]=’\0’;

编程:int i,j=0;

for(i=1;i

if(i%2==1 && s[i]%2==1)

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

t[j]= ’\0’;

最后在黑色对话框中输入ABCDEFG123456后按回车键

第6套:程序填空题

函数fun的功能是:统计长整数的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1、c2、c3返回主函数。例如,当n=123114350时,结果应该为:c1=3 c2=1 c3=2。填空:(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.0/t;}

return s;

最后在黑色对话框中输入50后按回车键

第7套:程序填空题

给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n 所指的存储单元中。

填空:(1)*n (2)next (3)head

改错:(1)a=NULL; (2)if(*r==*p)

编程:*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);

最后在黑色对话框中输入45 12后按回车键

第8套:程序填空题

给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时, 程序输出x1=5.000000, x2=3.000000, x1*x1+x1*x2=40.000000

填空:(1)double (2)f1 (3)f2

改错:(1)char *fun(char *s,char *t) (2)ss++; (3)tt++;

编程:int i;

for(i=0;i

fun1(w);

最后在黑色对话框中输入3后按回车键

第9套:程序填空题

函数fun的功能是:从三个形参a,b,c中找出中间的那个数,作为函数值返回。例如,当a=3,b=5,c=4时,中数为4。

填空:(1)a (2)a (3)b

改错:(1)c=c+32;(把大写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; }

最后在黑色对话框中输入20后按回车键

第10套:程序填空题

给定程序中,函数fun的功能是,将形参s所指字符串中的字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。

例如:s所指字符串为:asd123fgh543df,处理后新字符串为asdfghdf123543。

填空:(1)s[i] (2)k (3)0

改错:(1)while(*w) (2)if(*r==*p)

编程:int i,j=0;

for(i=0;i

if(!(s[i]%2)) t[j++]=s[i];

t[j]=’\0’;

最后在黑色对话框中输入ABCDEFG12345后按回车键

第11套:程序填空题

给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

填空:(1)q (2)next (3) next

改错:(1);(少了分号) (2){p=j;t=a[p];a[p]=a[i];a[i]=t;}

编程:int i;

*n=0;

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

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

a[(*n)++]=i;

第12套:程序填空题

给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。

填空:(1)*std (2)std[i].age (3)https://www.doczj.com/doc/8d5111147.html,

改错:(1)void fun(int *a,int *b) (2)t=*b;*b=*a;*a=t;

编程:int i,j,min,k;

for(i=0;i

{ min=tt[0][i];k=0;

for(j=1;j

if(tt[j][i]

{ min=tt[j][i]; k=j;}

pp[i]=tt[k][i];

}

第13套:程序填空题

给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长

填空:(1)k (2)len (3)ss[i][j]

改错:(1)result*=n--; (2)return result;(把横线改成result)

编程:char *p=s;

int i=0;

while(*p)

{ if(*p!=c) s[i++]=*p; p++; }

s[i]=’\0’;

最后在黑色对话框中输入n后按回车键

第14套:程序填空题

给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长

填空:(1)ss[i] (2)j+n (3)1

改错:(1)if(*p == ‘’) (2);(后面缺少分号)

编程:char ch;

int i,j;

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

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

{ if (*(s+i) < *(s+j) )

{ ch=*(s+j); *(s+j)= *(s+i); *(s+i) = ch;}

}

最后在黑色对话框中输入CEAedca后按回车键

第15套:程序填空题

函数fun的功能是:计算f(x)=1+x+x2∕2!+…+xn/n! 直到∣xn/n!∣<10-6 若x=2.5,函数值为:12.182494。

填空:(1)x (2)n (3)t

改错:(1)d=1;s=0; (2)d=d/10;(是除号)

编程:int i;

double s=0;

for(i=0;i<8;i++) s+=sqrt((x[i]+x[i+1])/2);

return s;

第16套:程序填空题

给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。

例如,有9个正整数:1 5 7 23 87 5 8 21 45

按升序排列时的中间数为:8

处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45

填空:(1)b[k] (2)N/2 (3)<

改错:(1)int t[N],i,num=0; (2)t[num++]=b[i]; (3)for(i=0;i

编程:int fun(char *s)

{ int n=0;

while(*s)

{ if (*s>=’0’&& *s<=’9’) s++;}

return n;

}

第17套:程序填空题

给定程序中,函数fun的功能是:统计整型变量m中各数字出现的次数,并存放到数组a中,

其中:a[0]存放0出现的次数,a[1]存放1出现的次数,……a[9]存放9出现的次数。

例如,若m为14579233,则输出结果应为:0,1,1,2,1,1,0,1,0,1。

填空:(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

{ sum=sum+a[i];

if(max

if(min>a[i]) min=a[i];

}

sum=sum-max-min;

return (sum/(n-2));

最后在黑色对话框中输入9.9 8.5 7.6 8.5 9.3 9.5 8.9 7.8 8.6 8.4后按回车键(每个小数之间只有一个空格)

第18套:程序填空题

给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。

填空:(1)FILE* (2)fp (3)ch

改错:(1)s[j++]=s[i]; (2)s[j]=’\0’;(双引号改成引号)

编程:(注意:这道题是在/*请填写相应语句完成其功能*/下面的大括号中填入答案)for(j=0;j

{ b[n]=s[j][i]; n=i*M+j+1;}

第19套:程序填空题

函数fun的功能是:计算

f(x)=1+x+x/2!+???+xn/n!

的前n项。若x=2.5,函数值为:12.182340.

填空:(1)1 (2)1 (3)i

改错:(1)k=i;

(2)c=k%10;(后面少了分号)

编程: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(abc/10);

ruturn fc;

第20套:程序填空题

给定程序中,函数fun的功能是:对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。Ss所指字符串数组中共有M个字符串,且串长

填空:(1)i+1 (2) k=j (3) t

改错:(1)void fun (char *str,char ch)

(2) if(*str!=ch) (是不等号)

(3) str[1]=’\0’; (少了一个反斜杠)

编程:char b[N]={0};

int i=0 ,j;

for(j=strlen(s)-1; j>=0;j--) b[i++]=s[j];

strcpy(s,b);

最后在黑色对话框中输入abcdefg后按回车键

第21套:程序填空题

给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。

填空:(1)STU (2)score[i] (3)&std

改错:((1)if(k>0) (2)else if (k==0)

编程:int I,j;

for(i=0;i

a[i][j]*=n;

第22套:程序填空题

程序通过定义学生结构体变量,存储了学生的学号姓名和3门课的成绩,所有学生数据均以二进制输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。

填空:(1) ‘’rb’’(2) > (3)fwrite

改错:(1)p=s; (顺序反了)

(2)while(*p++); (缺少分号)

编程:int I,j;

for(j=0;j

b[j]=0;

for(i=0;i

if(a[i]>=0&&[i]<=9) b[0]+=1;

else

if(a[i]>=10&&a[i]<=19)

b[1]+=1;

else if(a[i]>=20&&a[i]<=29)

b[2]+=1;

else if(a[i]>=30&&a[i]<=39)

b[3]+=1;

else if(a[i]>=40&&a[i]<=49)

b[4]+=1;

else if(a[i]>=50&&a[i]<=59)

b[5]+=1;

else if(a[i]>=60&&a[i]<=69)

b[6]+=1;

else if(a[i]>=70&&a[i]<=79)

b[8]+=1;

else if(a[i]>=90&&a[i]<=99)

b[9]+=1;

b[10]+=1;

第23套:程序填空题

甲乙丙丁四人同时开始放鞭炮,甲每隔t1秒放一次,乙每隔t2秒放一次,丙每隔t3秒放一次,丁每隔t4秒放一次,每人各放n次。函数fun的功能是根据形参提供的值,求出总共听到多少次鞭炮声作为函数值返回。注意,当几个鞭炮同时炸响,只算一次响声,第一次响声是在第0秒。

例如,若t1=7,t2=5,t3=6,t4=4,n=10,则总共可听到28次鞭炮声。

填空:(1) i (2) t++ (3)count

改错:(1)int fun (int a, int b, int c)

(2) else return 1;(注意:这题不仅缺少分号,中间的单词也错了,应该是return)

编程:int i,j=0;

double s=0.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;

最后在黑色对话框中输入100按回车键

第24套:程序填空题

给定程序中,函数fun的功能是:计算出带有头结点的单向链表中个结点数据域中值之和作为函数值返回。

填空:(1) data (2) next (3) head

改错:(1)while (*r)

(2) *a=*r;a++;r++;(缺少分号)

编程:int i,j=0;

for(i=0;i

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

t[j]=0;

最后在黑色对话框中输入ABCDEFGHIJK后按回车键

第25套:程序填空题

给定程序中,函数fun的功能是:求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。Ss所指字符串数组中共有M份字符串,且串长

填空:(1)[N] (2)len (3)*n=len

改错:((1)t+=1.0/i); (2)return t;

编程:int cnt=0;

char *p=str,*q;

while(*p)

{q=strstr(p,substr);

if(q==NULL) break;

p=q+srelen(substr);

cnt++;

ruturn cnt;

最后在黑色对话框中输入asd asasdfg asd as zx67 asd mklo后按回车键,再输入as后按回车键

第26套:程序填空题

给定程序的主函数中,已给出由结构体构成的链表结点a b c,(字母中间有顿号),各结点的数据域中均存入字符,函数fun()的作用是:将a b c 三个结点链接成一个单向链表,并输出链表结点中的数据

填空:(1)pb (2)p->data或(*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’;

第27套:程序填空题

人员的记录由编号和出生年月日(加顿号)组成,N名人员的数据已在主函数中存入结构数组std中。函数fun的功能是:找出指定年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。

填空:(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=0;i

if(a[i].s>max)

{ j=I;

max=a[i].s;

}

*s=a[j];

第28套:程序填空:函数fun的功能是:输出a所指数组中的前n个个数据,要求每行输出5个数。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果

填空:(1)i%5==0 (2)\n (3)a[i]

改错:(1)return t;

(2)for (i=0;i

(3)x[i+1]=findmid(a,b,c);

编程:int i, j;

j=-1;

for(i=0;i

{if(*s==x)

j=I;

}

return j;

最后在对话框中输入27后按回车键

第29套:程序填空题

给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制过程中,把复制的内容输出到终端屏幕。主函数中源文件sfname中,目标文件名放在变量tfname中。

填空:(1)’’r’’(2) fs (3)ft

改错:(1)if(d%2==0) (2)s/=10;

编程:int i, j=0;

for(i=0;i

if(s[i]%2==0) t[i++]=s[i];

t[j]=0;

最后在黑色对话框输入ABCDRFG123456后按回车键

第30套:程序填空题

给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。

s=(1*3)/(2*2)+ (3*5)/(4*4)+ (5*7)/(6*6)+…+(2n-1)(2n+1) /(2n*2n)

例如:当形参n的值为10时,函数返回9.612558.

填空:(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;

最后在黑色对话框中输入0.0005后按回车键

第31套:程序填空题

请补充fun函数,该函数的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。

填空:(1)j=3 (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;

最后在黑色对话框中输入8后按回车键

第32套:程序填空题

人员的记录由编号和出生年月日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号惟一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。

填空:(1)STU (2)std[i].num (3)std[i]

改错:(1)r++;p++; (2)if(*r==’\0’)

编程:int i,j=0;

for(i=0;i

if(s[i]%2)

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

t[j]=0;

最后在黑色对话框输入ABCDRFG12345后按回车键

第33套:程序填空题

给定程序的功能是:从键盘输入若干文本(每行不超过80个字符),写到文件myfile4.txt 中,用-1作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。

填空:(1)*fw (2)str (3)str

改错:(1)void fun(long s,long *t)

(2)sl=s1*10;(注意,s后面是字母l不是数字1)

编程:int i,j=0,min=a[0].s;

for(i=0;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;

第34套:程序填空题

给定程序中,函数fun的功能是:计算下式前n项的和

s=(1*3)/(2*2)- (3*5)/(4*4)+ (5*7)/(6*6)-…+(-1)( n-1) *(2n-1)(2n+1)/(2n*2n)

作为函数值返回。

例如:当形参n的值为10时,函数返回:-0.204491.

填空:(1)1 (2)2*i (3)(-1)

改错:(1)k++; (2)if(m=k)

编程:int i;

*max=a[0];

*d=0;

for(i=0;i

if(*max

{*max=a[i]

*d=I;

}

第35套:程序填空题

函数fun的功能是进行字母转换。若形参ch中是小写英文字母,则转换成对应的大写英文字母;若形参ch中是大写英文字母,则转换成对应的小写英文字母;若是其他字符则保持不变;并将转换后的结果作为函数值返回。

填空:(1)&&(2)‘A’(3)ch

改错:(1)void fun(int *a)

(2)a[j]=a[j-1];

编程:int s=0,i;

for(i=2;i

if(n%i==0) s+=I;

return s;

最后在黑色对话框中输入856后按回车键

第36套:程序填空题

围绕山顶一圈又N个山洞,编号为0、1、2、3、......、N-1,有一直狐狸和一只兔子在洞中居住。狐狸总想找到兔子并吃掉它,他的寻找方法是先到第一个洞(即编号为0的洞)中找;再隔1个洞,即到编号为2的洞中找;再隔2个洞,即到编号为5的洞中找;下次再隔3个洞,即到编号为9的洞中找;......。若狐狸找一圈,请为兔子指出所有不安全的洞号。程序中用a数组元素模拟每个洞,数组元素的下标即为洞号,数组元素中的值为0时,表示该洞安全,为1时表示该洞不安全。例如,当形参N的值为30时,不安全的洞号是0、2、5、9、14、20、27。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的blank1.c中。

不得增行或删行,也不能更改程序的结构!

填空:(1)0 (2)t (3)t+i

改错:(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

p=p*10+(s[j]-48);

return p;

第37套:程序填空题

给定程序中,函数fun的功能是计算下式:

s=3/(2*2)-5/(4*4)+7/(6*6)-...+(-1)(n-1)(2n+1)/(2n*2n)

直到|(2n+1)/(2n*2n)|<10*e(-3)并把计算结果作为函数值返回

例如:若形参e的值为le-3,函数的返回值为0.551690

填空:(1)3. (2)> (3)(2*+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;i<2;i++)

if(max

max=a[i][j];

return max;

第38套:程序填空题

给定程序中,函数fun的功能是:将形参指针所指结果提数组中的三个元素按num成员进行升序排列。

填空:(1)*std (2)PERSON (3)std

改错:int k,q,i; (2)pt[i]=str[k][i];

编程:int i,j;

for(i=0;i

for(j=0;j

a[i][j]=0;

第39套:程序填空题

程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以而进制方式输出到文件中。函数fun的功能是重写形参filename所指的文件中最后一个数据,即用新的学生数据覆盖该学生的原来数据,其他学生的数据不变。

填空:(1)filename (2)fp (3)fp改错(1)p=(NONE*)malloc(sizeof(NODE));

(2)retunrn h;

编程:int i,n=0;

for(i=0;i

{

if(s[i]>='a'&&s[i]<='z'&&(s[i+1]==''||s[i+1]=='\0'))

n++;

}

return n;

第40套:程序填空题

给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值保持递增有序。

填空:(1)x (2) p (3)s

改错:(1)long k=1; (2)num/=10;

编程题:int i;

float aver=0.0;

for(i=0;i

aver=aver/n;

return aver;

第41套:程序题空题:

给定程序中,函数fun的功能是:将自然1~10以及它们的平方根写到名为myfile3.txt的文本文件中,然后将顺序读出显示在屏幕上。

填空:(1)fp (2)fclose(fp) (3)fname

改错:(1)for(i=j+1;i<=n-1;i++)

(2) p=i;

编程题:

*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);

最后在黑框中输入45 12后按回车键。

第42套:程序填空题

给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。

填空:(1)next (2)t->data (3) t

改错:(1)void fun(char *a)

(2) printf (“%c”,*a)

编程:int i;

char *p=s, *q=t;

int n=0,m=0;

while(*p)

{ n++;

P++;}

While (*q)

{m++;

q++;

}

If(n>=m)

p=s;

else

p=t;

return p;

最后在黑色对话框中输入beijing后按回车键

再输入shanghai后按回车键

第43套:程序填空题

给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。

填空:(1)STYPE (2) FILE (3) FP

改错:(1)for( i=0; i<=s1;i++)

(2) t[2*s1]=’\0’或t[s1+s1]=’\0’

编程:

*c=(a/10) *1000+(b/10) *100+(a%10) *10+(b%10);

最后在黑色对话框中输入45 12后按回车键

第44套:程序填空题

给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数返回。

例如,输入一个整数:27638496,函数返回值为:64862.

填空:(1)0 (2) 10*x (3) n/10

改错:(1)*t=0;(2)if(d%2!=0)

编程:char *p=p1;

while(*p2)

{*p++=*p2++;

*p=0;

}

最后在黑色对话框中输入:

FirstString—

SecondString后按回车键

第45套:程序填空题

函数fun的功能是:计算

F(x)=1+x-x2/2!+x3/3!-x4/4!+...+(-1)x-2xn-1/(n-1)!+(-1)x-2xn/n!

的前n项之和。若x=2.5,n=15时,函数值为:1.917914.

填空:(1)1 (2) -1 (3) t

改错:(1)for(i=0;i<=3;i++)

(2)if(k>=0&&k<=6)

编程:double s=1;

lng t=1;

int i;

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

{t*=I;

s+=1./t;

}

Return s;

最后在黑色对话框中输入15后按回车键

第46套:程序填空题

用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置为0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;以此类推,直到所找的下一个数等于n为止。这样会得到一个序列:

2,3,5,7,11,13,17,19,23,……

函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。

填空:(1)a[i] (2) a[i] (3) 0

改错:(1)y=1;(2)d=a-I;

编程: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;

最后在黑色对话框中输入20后按回车键

第47套:程序填空题

程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函数fun的功能是输出这位学生的信息。

填空:(1)tt (2)tt.score[i](3)std

改错:(1)m=i;(2)if(a[k]>a[m])m=k;

编程:unsigned t,s=0,sl=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;

最后在黑色对话框中输入5923后按回车键

第48套:程序填空题

给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除。剩下的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。

例如:输入一个数:27638496,新的数:739.

填空:(1)10 (2)0 (3)x

改错:(1)if(n= =0)(2)缺分号

编程:(注意:这道题是在/*在下代码仅供参考*/到return x;删除,填入下面答案)

long s=0,t;

int i=0,j,n=strlen(p),k,sl;

if(p[0]=‘-‘)

i++;

for(j=i;j<n-1;j++)

{ t=p[j]-‘0’;

sl=10;

for(k=j;k<n-1,k++)

t*=sl;

s+=t;}

if(p[0]=‘-’)

return —s;

else return s;

第49套:程序填空题

给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。

填空:(1)0或NULL (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;

}

最后在黑色对话框中输入abc4EFg后按回车键

第50套:程序填空题

函数fun的功能是:计算

f(x)=1+x-x2/2!+x3/3!-x4/4!+ …+(-1)x -2xn-1/(n-1)!+(-1)x-2xn/n!直到|

xn/n!|<10-6。若x=2.5,函数值为:1.917915。

填空:(1)x (2)n (3)fabs(t)

改错:(1)for(i=1;i<=y;i++)(2)t=t%1000;最后在黑色对话框中输入5 6后按回车键

编程:int n=1;

double sn=1;

double xn=1;

while(fabs(xn)>le-6)

{ xn=xn*x*(0.5-n+1)/n;

n+=1;

sn+=xn;

}

return (sn);

最后在黑色对话框中输入0.210000后按回车键

计算机二级考试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语言真题

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上机考试题库

所属语言: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.(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语言题库及答案

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函数才可单独进行编译

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语言试题库完整

. . . . 参考 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.若变量已正确定义,有以下程序段

计算机考试二级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语言题库

一、选择题 (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.doczj.com/doc/8d5111147.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.doczj.com/doc/8d5111147.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

相关主题
文本预览
相关文档 最新文档