当前位置:文档之家› 计算机二级考试C语言操作题题库

计算机二级考试C语言操作题题库

计算机二级考试C语言操作题题库
计算机二级考试C语言操作题题库

1. 下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。答案:

int fun(int a[][N])

{

int I,j;

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

a[i][j]=0;

}

2. 请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii 码降序排列。答案:

void fun(char *s,int num)

{

char t;

int I,j;

for(i=1;i<num-2;i++)

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

3. 请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ascii值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。答案:

void fun(char *s,char t[])

{

int I,j=0,n;

n=strlen(s);

for(i=0;I,n;i++)

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

{

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

}

t[j]=‘\0’;

}

4. 请编写函数fun,该函数的功能是:将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。答案:

void fun(char (*s)[n] ,char *b)

{

int i,j,k=0; for(j=0;j<n;j++)

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

{

b[k]=*(*(s+i)+j) k++;

}

b[k]=‘\0’;

}

5. 请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指的数组中,非素数的个数通过k传回。答案:

void fun(int m,int *k,int xx[]) {

int i,j;

int n=0;

for(i=4;i

{

for(j=2;j

xx[n++]=i;

*k=n;

}

}

6. 第请编写函数fun,该函数的功能使:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把0至9岁年龄段的人数放在d[0]中,把

10至19岁年龄段的人数放在d[1]中,把20至29岁的人数放在d[2]中,其余以此类推,把100岁(含100以上年龄的人数都放在d[10]中。结果在主函数中输出。答案:

void fun(int *a,int *b)

{

int i,j;

for(j=0;i<m;j++) b[j]=0;

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

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

else if(a>=10&a<=19) b[1]+=1; else if(a>=20&a<=29) b[2]+=1; else if(a>=30&a<=39) b[3]+=1; else if(a>=40&a<=49) b[4]+=1; else if(a>=50&a<=59) b[5]+=1; else if(a>=60&a<=69) b[6]+=1; else if(a>=70&a<=79) b[7]+=1; else if(a>=80&a<=89)

b[8]+=1;

else if(a>=90&a<=99) b[9]+=1; else b[10]+=1;

}

7. 请编写函数fun,其功能时:将两个两位数的正整数a、b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b的十位和个位整数依次放在c数的百位和个位上。答案:

void fun(int a,int b,long *c)

{

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

}

8. 请编写函数fun,其功能使:将两个两位正整数a b合并形成一个整数放在c中。合并的方式使:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。答案:

void fun(int a,int b,long *c)

{

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

}

9. 请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。答案:

void fun(int a, int b, long *c)

{

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

}

11. 请编写函数fun,它的功能是计算:s=(ln(1)+ln(2)+ln(3)+…+ln(m))(0.5),s作为函数值返回。答案:

double fun(int m)

{

int I;

double s=0.0, log(double x); for(i=1;i<=m;i++) s=s+log(i); s=sqrt(s);

return s;

}

double fun(int [][N ])

{

int I,j,k=0;

double s=0.0;

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

s+=w[0][j];

k++;

}

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

{

s+=w[N-1][j];

k++;

}

for(i=1;i<

=N-2;i++)

{

s+=w[i][0]; k++;

} for(i=1;i<

=N-2;i++)

{

s+=w[i][N-1];

k++;

}

return s/=k;

}

13. n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:找出学生的最高分,由函数值返回。答案:

double fun(STREC *h)

{

double max;

STREC *q=h; max=h->s;

Do

{

if(q->s>max) max=q->s;

q=q->next;

}

while(q!=0);

return max;

}

14. 请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ascii值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的一个数组中。答案:

void fun(char *s,char t[])

{

int I,j=0,n;

n=strlen(s);

for(i=0;I,n;i++)

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

{

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

}

t[j]=‘\0’;

}

15. 下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n],int n),该函数的功能是:将数组右上半三角元素中的值乘以m。答案:

void fun(int a[][n],int m) {

int i,j;

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

for(i=0;i<=j;i++) a[j]=a[j]*m;

}

16. 已知学生的记录是由学号和学习成绩构成,n名学生的数据已存入a机构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。答案:

void fun(stu a[],stu *s) {

int i,max;

max=a[0].s;

for (i=0;i<n;i++) if(a.s>max) {

max=a.s; *s=a; }

}

17. 编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。答案:

void fun(char p1[],char p2[ ])

{

int i=0,n=0;

char *p=p1,*q=p2;

while (*p) {

p++; n++;

}

i=n;

while(*p)

{

p1=*q; q++; i++;

}

p1=‘\0’;

}

18.编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。答案:

int fun(char *str,cha r *substr)

{

int n;

char *p,*r;

n=0;

while(*str)

{

p=str; r=substr;

while(*r)

if(*r==*p)

{

r++; p++;

}

else break;

if(*r==‘\0’)

n++; str++;

}

return n;

}

19. 请编写函数fun,其功能是:将s所指字符串中下标位偶数同时ascii值为奇数的字符删除,s中剩余的字符形成的新串放在t所指的数组中。答案:

void fun(char *s,char t[])

{

int i,j=0,n=strlen(s);

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

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

else

{

f[j]=s; j++;

}

t[j]=‘\0’;

}

20. 请编写函数fun,该函数的功能是:实现b=a+a,即把矩阵a加上a的转置,存放在矩阵b中。计算结果在main函数中输出。答案:

void fun(int a[3][3],int b[3] [3])

{

int i,j,at[3][3]; for(i=0;i<=2;i++)

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

at[j]=a[j];

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

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

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

}

21. 学生的记录由学号和成绩组称个,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。答案:

double fun(strec *a, strec * b,int *n)

{

double aver=0.0;

int i,j=0; *n=0;

for (i=0;i<n;i++) aver+=a.s;

aver/=n;

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

if(a.s<aver)

{

b[j]=a; (*n)++; j++;

}

return aver;

}

22. 请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1与自身)之和。规定n的值不大于1000。答案:

int fun(int n)

{

int s=0,i;

for(i=2;i<=n-1;i++) if(n%i==0) s+=i; return s;

}

23. 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字母串中其他*号全部删除。形参p已指向字符串中最后的一个字母。不使用c的字符串函数。答案:

void fun(char*a,char *p) {

int i=0; char *p=a; while(q<=p)

{

if(*q!=‘*’) {

a=*q; i++;

}

q++;

}

while(*q)

{

a=*q; i++; q++;

}

a=‘\0’;

}

24. 学生的记录是由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。答案:

int fun(strec*a,strec *b,int l,int h) {

int i,j=0;

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

if(a.s>=l&a.s<=h) {

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

return j;

}

25. 编写函数藏服那,它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回。答案:

double fun(int n) {

double s=0.0;

int i;

for(i=1;i<n;i++) if(i%3==0&i%7==0) s=s+i; s=sqrt(s);

return s;

}

26. 请编写函数fun,该函数的功能是:将m行n列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的储存单元中。答案:

void fun(int(*s)[10],int *b,int *n,int mm,int nn)

{

int i,j;

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

{

b[*n]=*(*(s+i)+j); *n=*n+1; }

}

27. 请别写函数fun,该函数的功能是:将放在字符串数组中的m个字符串(每串的长度不超过n),按顺序合并组成一个新的字符串。答案:

void fun(char a[m][n],char *b)

{

int i,j,k=0;

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

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

if(*(*(a+i)+j))

{

b[k]=*(*(a+i)+j) k++;

}

else break;

b[k]=‘\0’;

}

}

28. 请编写函数fun,该函数的功能是:删去一维数组中所有相同的数,使之只剩

一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。答案:

int fun(int a[],int n) {

int i,t,j=0,

*p=a; t=p[0];

for(i=0;i<=n;i++) if(t==p) ;

else {

a[j]=t; t=p; j++; }

if(i>=n) a[j]=t; return j;

}

29. 程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun,该函数的功能是:使数组左下半三角元素中的值乘以n。答案:

fun(int a[][n],int n)

{

int i,j;

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

for(j=0;j<=i;j++) a[j]=a[j]*n;

}

30. 请编写函数fun,该函数的功能是:统一一含字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。答案:

int fun (char *s)

{

int i,n=0;

for(i=0;i<strlen(s);i++) { if(s=‘a’&s<=‘z’&s[i+1]==‘’‖s[i+1]==‘\0’) n++;

}

return n;

}

31. 请编写函数fun,其功能是:将s所指字符串中ascii值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。答案:

void fun(char *s,char t[]) {

int i,j=0,n;

n=strlen(s);

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

if(s%2==0) {

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

t[j]=‘\0’; }

32. 请编写函数fun,其功能是:将两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。答案:

void fun(int a,int b,long *c)

{

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

}

33. 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有*号。在编写函数时,不得使用c语言提供的字符串函数。答案:

void fun(char *a)

{int i=0;char *p=a; while(*p) {

if(*p!=‘*’)

{

a=*p; i++; }

p++;

}

a=‘\0’; }

34. 学生的记录时由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能时:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数时strcmp)。答案:

strec fun(strec*,char *b) {

int i;

strec h;

for(i=0;i<n;i++) if(strcmp(a.num,b)==0)

{

h=a; break;

}

else

{

h.num==""; h.s=-1;

}

return h;

}

35. 请编写函数fun,其功能时:计算并输出下列多项式的值: sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n! 答案:

sn=1+1/1!+1/2!+1/3!+1/4!+...+1/n!

double fun(int n)

{

double t,sn=1.0; int i,j;

for(i=1;i<n;i++) { t=1.0;

for(j=1;j<=i;j++) t*j; sn+=1.0/t;

}

return sn;

36. 学生得记录由学号和成绩组称个,n名大学生得数据已在主函数中放入结构体数组s 中,请编写函数fun,它的功能时:按分数的高低排列学生的记录,高分在前。答案:

void fun(strec a[]) {

int i,j;

strec t; for(i=0;i

for(j=i;s

if(a.s

{

t=a; a=a[j]; a[j]=t;

}

}

37. 请编写一个函数void fun(char *ss),其功能时:将字符串ss中所有下标为奇数位置上的字母转换为大写(若位置上不是字母,则不转换)。答案:

void fun(char *ss) {

int i,n=0;

char *p=ss;

while(*p) {

n++; p++;

}

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

if ((ss=‘a’&ss<=

‘z’)&i%2!=0)

ss=ss-32; ss=‘\0’;

}

38. 请编写一个函数fun,它的功能时:求fibonacci数列中大于t的最小的一个数,结果由函数返回。其中fibonacci数列f(n)的定义为: f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2) 答案:

f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)

int fun(int t)

{

int a=1,b=1,c=0,i;

for(i=4;i<=t;i++)

{

if(c<t) {c=a+b; a=b; b=c; }

else break; }

return c; }

39. 编写函数fun,它的功能时:计算并输出下列级数和: s=1/1*2+1/2*3+…+1/n(n+1) 答案:double fun (int n)

{

double s=0.0;

int i;

for(i=1;i<=n;i++) s=s+1.0/(i*(i+1));

return s;

}

40. 请编写函数fun,其功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成新串放在t所指数组中。答案:

void fun(char *s,char t[]) {

int i,j=0,n=strlen(s);

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

if(i%2!=0)

{ t[j]=s; j++; }

t[j]=‘\0’; }

41. 假定输入的字符串中只包含字母和*号,请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串第一个字符,形参p 已指向字符串中最后一个字母。在编写程序时,不得使用c语言提供的字符串函数。答案:

void fun(char *a,char *h,ch ar *p)

{

int i=0; char *q=a;

while(q

{

a=*q; q++; i++;

} while(q

{

if(*q!=‘’*)

{

a=*q; i++;

}

q++;

}

while(*q)

{

a=*q; i++; q++;

}

a=‘\0’;

}

42. 学生的记录由学号和成绩组成n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能时:把分数最低的学生数据放在h所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。答案:

int fun(strec *a,strec *b) {

int i,j=0,n=0,min;

min=a[0].s;

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

if(a.s<min) min=a.s; for(i=0;i<n;i++) if(a.s==min)

{

*(b+j)=a; j++; n++; }

return n;

}

43. 请编写函数fun ,该函数的功能:将m行n列的二维数组中的数据,按列的顺学依次放到一维数组中。答案:

void fun(int (*s)[]10,int *b,int *n,int mm,int nn)

{

int i,j;

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

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

{

b[*n]=*(*(s+i)+j);

*n=*n+1;

}

}

44. 请编写函数fun,其功能时:计算并输出当x<0.97时下列多项式的值,直到|sn-s(n-1)|<0.000001为止。

Sn=1+0.5x+0.5(0.5-1)/2!x(2)+…+0.5(0.5-1)(0.5-2)…..(0.5-n+1)/n!x(n) 答案:

double fun(double x)

{

double s1=1.0,p=1.0,sum=0.0,s0,t=1.0; int n=1; do

{

s0=s1; sum+=s0; t*=n; p*=(0.5-n+1)*x; s1=p/t; n++;

}

while(fabs(s1-s0)>1e-6); return sum;

}

45. 请编写一个函数fun,其功能是:将两个两位数的正整数ab合并形成一个整数放在c 中。合并方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。答案:

void fun(int a,int b,long *c)

{

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

}

46. 请编写函数fun,其功能是:将s所指字符串中ascii值为偶数的字符删除,串

中剩余字符形成一个新串放在t所指的数组中。答案:

void fun(char *s,char t[])

{

int i,j=0,n=strlen(s);

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

if (s%2!=0)

{

t[j]=s; j++;

}

t[j]=‘\0’;

}

48. 已知学生的记录由学号和学习成绩构成,n名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。答案:

void fun(stu a[],stu *s)

{

int i,min;

min=a[0].s;

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

if(a.s<min)

{

min=a.s; *s=a;

}

}

49. n名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的

头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。答案:

double fun(strec *h) {

double aver=0.0; while(h!=null)

{

aver+=h->s; hy=h->next; }

aver/=n; return aver; }

50. 请编写函数fun,计算并输出给定10个数的方差。答案:

double fun(double x[10]) {

int i,j;

double s=0.0,s1=0.0;

for(i=0;i<10;i++) s1+=x; s1/=10; for(j=0;j<10;j++) s+=(x[j]-s1)*(x[j]-s1); s/=10;

s=pow(s,0.5);

return s;

}

5 1. 请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。答案:

void fun(int a,int b,long *c)

{

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

}

52. 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数亚时,不得使用c语言提供的字符串函数。答案:

void fun(char *a)

{

int i=0;

char *p=a;

while(*p&&*p==‘*’) { a=*p; i++;

p++;

}

while(*p)

{

if(*p!=‘*’)

{

a=*p; i++;} p++;

}

a=‘\0’;

}

53. 学生的记录是由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。答案:

double fun(strec *a,strec *b,int *n) { double aver=0.0; int i,j=0;

for(i=0;i<n;i++) aver+=a.s; aver/=n;

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

if(a.s)>=aver}

{ *(b+j)=a; j++; }

*n=j;

return aver; }

54. 请编写函数fun,其功能是:计算并输出下列多项式值:sn=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)1/2n). 答案:

sn=(1-1/2)+(1/3-1/4)+...+(1/(2n-1)1/2n).

double fun(int n)

{

int i;

double sn=0.0;

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

sn+=(1.0/(2*i-1)-1.0/(2*i));

return sn;

}

58. 请编写一个函数i n t f u n(i n t*s,i n t t,i n t*k),用来求除数组的最大元素在数

组中的下标并存放在k所指的储存单元中。答案:

void fun (int *s, int t, int *k)

{

int I, max;

max=s[0];

for(i=0;imax) {

max=s[i];

*k=I;

}

}

59. 编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;N通过形参传入。S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n) 答案:

float fun (int n) {

int i;

float s=1.0, t=1.0; for(i=2;i<=n;i++) { t=t+i;

s=s+1/t; }

return s; }

60. 编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。M与n 为两个正整数,且要求m>n。p=m!/n!(m-n)! 答案:

float fun(int m, i nt n)

{

float p,t=1.0;

int I;

for (i=1;i<=m;i++) t=t*I;

p=t;

for(t=1.0,i=1;i<

=n;i++)

t=t*I;

p=p/t;

for(t=1.0,i=1;i<

=m-n;i++)

t=t*I;

p=p/t;

return p;

}

61. 编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一

个实根。迭代步骤如下:(1)取x1初值为0.0;(2)x0=x1,把x1的值赋各x0; (3)x1=cos(x0),求出一个新的x1; (4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2); (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。程序将输出root=0.739085。答案:

float fun() {

float x1=0.0,x0; do

{

x0=x1;

x1=cos(x0); }

while(fabs(x0-x1)>1e-6); return x1;

}

62. 请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。 S=1+x+x(2)/2!+x(3)/3!+…x(n)/n! 答案:

double fun(double x, int n) {

double s=1.0, p=1.0;

int I,j,t; for(i=1;i<=n;i++)

{

t=1;

for(j=1;j<=i;j++) t=t*j;

p=p*x; s=s+p/t;

}

return s;

}

63. 请编写函数fun,其功能是:计算并输出

s=1+(1+2(0.5))+(1+2(0.5)+3(0.5))+…+(1+2(0.5)+3(0.5)+…+n(0.5)) 答案:

double fun(int n)

{

int I;

double =1.0,p=1.0;

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

{

p+=pow(I,0.5); s+=p;

}

64. 规定输入字符串中只包含字母和*号。请编写函数fun,它的功能是:将函数字符串中的前导*号全部删除,中间和尾部的*号不删除。答案:

void fun(char *a)

{

int i=0;

char *p=a;

while(*p&&*p==‘*’) p++; while(*p)

{

a[i]=*p; i++; p++; a[i]=‘\0’;

}

65. *号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做。字符串中间和尾部的*号不删除。答案:

void fun(char *a, int n) {

int i=0,k=0;

char *t=a;

while(*t==‘*’) {

k++; t++; } t=a;

if(k>n) t=a+k-n;

while( *t)

{

a[i]=*t; i++; t++;

}

a[i]=‘\0’;

}

66. 请编写函数fun,其功能使:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。答案:

double fun(double x[9]) {

double sum=0.0;

int I,j=1; for(i=0;i<9;i++)

if(j<=8)

{

sum+=sqrt((x[i]+x[i+1])/2.0);

j++; }

return sum;

}

67. 请编写函数fun,其功能是:计算并输出下列多项式值: s=1+1/(1+2)+1/(1+2+3)+..1/(1+2+3…+50) 答案:

double fun(int n) {

int I,j;

double sum=0.0, t; for(i=1;i<=n;i++)

{

t=0.0;

for(j=1;j<=I;j++) t+=j;

sum+=1.0/t;

}

return sum;

}

68. 请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。答案:

double fun(int n) {

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;

}

69. 请编写函数fun ,其功能是:计算并输出3到n之间所有素数的平方根之和。答案:

double fun(int n)

{

int m,k,I;

double s=0.0;

for(m=3;m<=n;m++) {

k=sqrt(m);

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

if(m%i==0) break;

if(i>=k+1) s+=sqrt(m);

}

return s;

}

70. 请编写函数fun,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no。回文是指顺读和倒读都是一样的字符串。答案:

int fun(char *str) {

int I,n=0;

fg=1;

char *p=str; while (*p)

{

n++;

p++;

}

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

if (str[i]==str[n-1-i]

);

Else

{

fg=0;

break;

}

return fg;

}

71. 学生的记录由学号和成绩组成,n名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能使:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。答案:

int fun (STREC *a, STREC *b)

{

int I,j=0,n=0, max; max=a[0].s;

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

if(a[i].s>max) max=a

[i].s;

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

if(a[i].s==max)

{

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

;

}

return n;

}

72. 请编写一个函数fun,它的功能是:将一个字符串转换为一个整数(不得调用c语言提供的将字符串转换为整数的函数)。答案:

long fun (char *p) { long s=0,t;

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

if(p[0]==‘-’) i++; for(j=I;j<=n-1;j++) {

t=p[j]-‘0’;

s1=10;

for(k=j;k

;

s+=t;

}

if(p[0]==

‘-’) return –s;

else

return s;

}

73. 请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。答案:

char *fun(char *s,cha r *t)

{

char *p,*t1=t,*s1=s; int n=0;m=0;

while (*s1) {

n++;

s1++;

}

while(*t1)

{

m++;

t1++;

}

if(n>=m) p=s;

else p=t;

return p; }

74. 请编写一个函数fun,它的功能是:根据以下公式求x的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):x/2=1+1/3+1×2/3×5+1×2×3/3×5×7+1×2×3×4/3×5×7×9+…+1×2×3×…×n/3×5×7×(2n+1)

程序运行后,如果输入精度0.0005,则程序输出为3.14…。答案:

double fun(double eps )

{

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;

}

75. 请编写一个函数fun,它的功能是:求除1到m之内(含m)能北7或11整除的所有整数放在数组a中,通过n返回这些数的个数。答案:

void fun(int m, int *a, int *n)

{

int I,j=0; *n=0;

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

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

{

a[j]=I; j++;

}

*n=j;

}

76. 请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n 是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。答案:

void fun (int a[],int n, int *m ax, int *d)

{

int I;

*max=a[0]; *d=0;

for(i=0;I<n;i++)

if(a[i]>*max)

{

*max=a[i]; *d=I;

}

}

77. 请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。答案:

void fun(char *ss) {

int I,n;

n=strlen(ss);

for(i=1;i=‘a’&& ss[i]<=‘z’) ss[i]=ss[i]-32;

}

78. 请编写一个函数fun,它的功能是:求除一个2×m整型二维数组中最大元素的值,并将此值返回调用函数。答案:

int fun(int a[][M]) {

int I,j,max;

max=a[0][0];

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

if(a[i][j]>max) max=a[i][j];

return max;

}

79. 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。答案:

void fun(char *a,int n)

{

int i=0;k=0;

char *p, *t;

p=t=a;

while (*t) t++; t--;while(*t==‘*’)

{

k++; t--;

}

t++;

if(k>n)

{

while (*p&&p<t+n)

{

a[i]=*p; i++; p++;

}

a[i]=‘\0’;

}

}

80. 请编写一个函数,用来删除字符串中的所有空格。答案:

void fun(char *str) {

int i=0;

char *p=str;

while (*p)

{

if(*p!=‘’)

{

str[i]=*p; i++;

} p++;

}

str[i]=‘\0’;

}

81. 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。答案:

void fun(char *a) {

int i=0,n=0;

char *p; p=a; while (*p==‘*’) {

n++; p++;

}

while (*p)

{

a[i]=*p; i++; p++;

}

while(n!=0)

{

a[i]=‘*’; i++; n--;

}

a[i]=‘\0’;

}

82. 某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。答案:

void fun(STREC *p) {

double av=0.0;

int i:

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

av+=p->s[i];

av/=N;

p->ave=av;

}

83. 请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。答案:

int fun(char *ss, char c) {

int n=0;

while (*ss) {

if(*ss==c) n++;

ss++;

}

return n; }

84. 请编写函数fun,该函数的功能是:移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。答案:

void fun(int *w, int p, int n)

{

int b[N], i, j=0; for(i=0;i<=p;i++) {

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

}

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

{

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

}

}

85. 请编写一个函数fun,它的功能使:计算n门课程的平均分,计算结果作为函数值返回。答案:

float fun(float *a,int n)

{

float ave=0.0;

int i;

for(i=0;i<n;i++) ave+=a;

ave/=n;

return ave;

}

86. 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能使:将字符串尾部的*号全部删除,前面和中间的*号不删除。答案:

void fun(char *a) {

int i=0;

char *p,*q;

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

while(*p==‘*’) p--;

while(q<=p)

{

}

A=‘\0’;

}

87. 请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。答案:

void fun(int a,int b,long *c)

{

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

}

void fun(char a[],char b[], in t n)

{

int I,j=0;

for (i=0;i

if (i!=n)

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

}

b[j]=‘\0’; }

89. 编写一个函数,从传入的num个字符串中找出一个最长的一个字符串,并通过

形参指针max传回该串地址

(用****作为结束输入的标

志)。答案:

char *fun(char (*a)[81],int num) {

int i; char *max;

max=a[0];

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

if(strlen(max)

}

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 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 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

2019年电大C语言考试题库(c语言小题+编程)

C语言程序设计课程期末复习练习 一、单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为()类。 A. 1 B. 2 C. 3 D. 4 3. 字符串"a+b=12\n"的长度为()。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。 A. for B. if C. do D. while 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。 int i=0; do i++; while(i<10); A. 4 B. 3 C. 5 D. 10 6. 将两个字符串连接起来组成一个字符串时,选用的函数为()。 A. strlen() B. strcap() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是()。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。 A. gets() B. fgets() C. getc() D. fgetc() 11. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 A. 12 B. 144 C. 156 D. 288 13. 带有随机函数调用的表达式rand()%20的值在( )区间内。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 14. for循环语句“for(i=0; i

2020年全国国家计算机二级考试模拟考试训练题库及答案(共450题)

2020年国家计算机二级考试模拟考试训练题库 含答案(共450题) 1、某URL为ftp://ftp、bta、net、cn/,则访问该资源所用的协 议是____。 A、文件传输协议 B、超文本传输协议 C、分布式文本检索协议 D、自动标题搜索协议 2、哪些信息不可以在因特网上传输____。 A、声音 B、图像 C、文字 D、普通信件 3、哪种文件的扩展名是PPT____。 A、PowerPoint B、Word C、Excel D、网页 4、如果想寻找一个文件,哪项内容与寻找该文件无关____。 A、文件的类型 B、文件建立的时间 C、文件的大小 D、文件的图标 5、设置了屏幕保护程序后,如用户在一段时间____Windows将执行 屏幕保护程序。 A、没有按键盘 B、没有移动鼠标器 C、既没有按键盘,也没有移动鼠标器 D、没有使用打印机 6、使用Windows操作系统时,下列说法正确的是____。 A、不能同时打开多个窗口 B、可以同时打开多个窗口 C、不能同时执行多种任务 D、可以在断电后保存内存中的信息 7、数据和程序是以____形式存储在磁盘上的。 A、集合 B、文件 C、目录 D、文件夹

8、通常所说的FTP协议是指____。 A、简单邮件传输协议 B、提供远程登陆功能 C、文件传输协议 D、保证数据的传输 9、万维网的WWW的含义是____。 A、Work wide with B、wait wait wait C、Work wind weak D、World wide web 10、网络中计算机之间的通信是通过____实现的,它们是通信双方 必须遵守的约定。 A、网卡 B、通信协议 C、磁盘 D、电话交换设备 11、计算机工作最重要的特征是____。 A、高速度 B、高精度 C、存储程序和程序控制 D、记忆力强 12、计算机业界最初的硬件巨头“蓝色巨人”指的是____。 A、IBM B、Microsoft C、联想 D、Sun 13、第四媒体是指()。 A、报纸媒体 B、网络媒体 C、电视媒体 D、广播媒体 14、CAD是计算机的主要应用领域,它的含义是____。 A、计算机辅助教育 B、计算机辅助测试 C、计算机辅助设计 D、计算机辅助管理 15、“计算机辅助____ ”的英文缩写为CAM。Assist 辅助 A、制造 B、设计 C、测试 D、教学 16、将高级语言程序设计语言源程序翻译成计算机可执行代码的 软件称为 ____ A、汇编程序 B、编译程序 C、管理程序 D、服务程序

2018全国计算机等级考试一级考试试题库

2018年全国计算机等级考试一级考试试题库 0401) 下列关于世界上第一台电子计算机ENIAC的叙述中,错误的是 A)它是1946年在美国诞生的 B)它主要采用电子管和继电器 C)它是首次采用存储程序控制使计算机自动工作 D)它主要用于弹道计算 答案:C 0402) 一个字长为8位的无符号二进制整数能表示的十进制数值范围是 A)0-256 B)0-255 C)1-256 D)1-255 答案:B 0403) 二进制数1001001转换成十进制数是 A)72 B)71 C)75 D)73 答案:D 0404) 十进制数90转换成无符号二进制数是 A)1011010 B)1101010 C)1011110 D)1011100 答案:A 0405) 标准ASCII码用7位二进制位表示一个字符的编码,其不同的编码共有 A)127个 B)128个 C)256个 D)254个 答案:B 0406) 根据国标GB2312-80的规定,总计有各类符号和一、二级汉字编码 A)7145个 B)7445个 C)3008个 D)3755个 答案:B 0407) 运算器的主要功能是进行 A)算术运算 B)逻辑运算 C)加法运算 D)算术和逻辑运算 答案:D 0408) 下列各存储器中,存取速度最快的是 A)CD-ROM

C)软盘 D)硬盘 答案:B 0409) 假设某台式计算机的内存储器容量为256MB,硬盘容量为20GB。硬盘的容量是内存容量的 A)40倍 B)60倍 C)80倍 D)100倍 答案:C 0410) 在外部设备中,扫描仪属于 A)输出设备 B)存储设备 C)输入设备 D)特殊设备 答案:C 0411) 计算机能直接识别的语言是 A)高级程序语言 B)机器语言 C)汇编语言 D)C++语言 答案:B 0412) 下列关于计算机病毒的叙述中,错误的是 A)计算机病毒具有潜伏性 B)计算机病毒具有传染性 C)感染过计算机病毒的计算机具有对该病毒的免疫性 D)计算机病毒是一个特殊的寄生程序 答案:C 0413) Internet网中不同网络和不同计算机相互通讯的基础是 A)ATM B)TCP/IP C)Novell D)X.25 答案:B 0414) 已知一汉字的国标码是5E38,其内码应是 A)DEB8 B)DE38 C)5EB8 D)7E58 答案:A 0415) 已知三个字符为:a、X和5,按它们的ASCII码值升序排序,结果是 A)5,a,X B)a,5,X C)X,a,5 D)5,X,a 答案:D 0416) 度量计算机运算速度常用的单位是

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

(完整版)2019年全国计算机二级考试试题题库(附答案)

2019年全国计算机二级考试试题题库(附答案) 一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分) 下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。 (1) 应用软件是指 A) 所有能够使用的软件 B) 能被各应用单位共同使用的某种软件 C) 所有微机上都应使用的基本软件 D) 专门为某一应用目的而编制的软件 (2) 下列述叙中错误的是 A) 计算机要经常使用不要长期闲置不用 B) 为了延长计算机的寿命,应避免频繁开关计算机 C) 在计算机附近应避免磁场干扰 D) 计算机用几小时后,应关机一会儿再用 (3) 下列字符中,ASCII码值最小的是 A) A B) a C) Z D) x (4) 用晶体管作为电子器件制成的计算机属于 A) 第一代 B) 第二代 C) 第三代 D) 第四代 (5) 下列各不同进制的四个无符号数中,最小的数是 A) (11011001)2 B) (37)8 C) (75)10 D) (2A)16 (6) 二进制数1110111.11转换成十六进制数是 A) 77.C B) 77.3 C) E7.C D) E7.3 (7) 下列各无符号十进制数中,能用八位二进制表示的是 A) 296 B) 333 C) 256 D) 199 (8) 计算机的软件系统可分类为 A) 程序与数据 B) 系统软件与应用软件 D) 操作系统与语言处理程序 D) 程序、数据与文档 (9) 486机中的CPU同时能处理的二进制位数为 A) 8 B) 16 C) 32 D) 64 (10) 在使用计算机的过程中,需要重新启动DOS,则要

大学计算机二级考试试题及其答案 !!!

全国计算机二级考试试题 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。A) print B) i\am C) Pxq D) str_l _3d one_half My->book Cpp ??? oodbs tart$it line#pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置

【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 B) 0 C) 037 D) 0xAF 【1.9】执行语句 printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) -ffff D) ffff 【1.10】已知 long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768 C) 1 D) 32768 【1.11】已知 long i=65539;执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3 D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000 B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。 A) 原码 B) 补码

(完整版)C语言考试题库之判断题(2)

三、判断题(10道小题,共10分) 1、C 语言具有简洁明了的特点。(1分) 正确 2、预处理命令的前面必须加一个“#”号。(1分) 正确 3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。(1分) 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(1 分) 正确 5、continue 不是结束本次循环,而是终止整个循环的执行。(1分) 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分) 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递(1分) 正确 8、直接访问就是直接利用变量的地址进行存取直接访问(1分) 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(1分) 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。(1分) 错误 11、C 语言标准格式输入函数scanf() 的参数表中要使用变量的地址值。(1分) 正确 12、浮点型常量的指数表示中,e 是可以省略的。(1分) 错误 13、任何表达式语句都是表达式加分号组成的。(1分) 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。(1分) 错误 15、do-while循环的while后的分号可以省略。(1分) 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。正确 17、C语言函数返回类型的默认定义类型是void(1分) 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分) 正确 19、枚举类型中的元素都具有一个整型值。(1分) 正确 20、C 语言是一种具有某些低级语言特征的高级语言。(1分) 正确 21、case语句后如没有break,顺序向下执行。(1分)正确

计算机二级考试题库

C语言无纸化考试选择题全真模拟试卷(1) 选择题((1)~(40)每小题1分,共40分)下列A)、B)、C)、D)四个选项中,只有一个选项是正确的。 (1)下列关于栈和队列的描述中,正确的是(D)。 A)栈是先进先出B)队列是先进后出 C)队列允许在队头删除元素D)栈在栈顶删除元素 (2)已知二叉树后序遍历序列是CDABE,中序遍历序列是CADEB,它的前序遍历序列是(C)。A)ABCDEB)ECABDC)EACDBD)CDEAB (3)在数据流图中,带有箭头的线段表示的是(B)。 A)控制流B)数据流C)模块调用D)事件驱动 (4)结构化程序设计的3种结构是(B)。 A)顺序结构,分支结构,跳转结构B)顺序结构,选择结构,循环结构 C)分支结构,选择结构,循环结构D)分支结构,跳转结构,循环结构 (5)下列方法中,不属于软件调试方法的是(C)。 A)回溯法B)强行排错法C)集成测试法D)原因排除法 (6)下列选项中,不属于模块间耦合的是(B)。 A)内容耦合B)异构耦合C)控制耦合D)数据耦合 (7)下列特征中不是面向对象方法的主要特征的是(D)。 A)多态性B)标识惟一性C)封装性D)耦合性 (8)在数据库设计中,将E-R图转换成关系数据模型的过程属于(C)。 A)需求分析阶段B)概念设计阶段C)逻辑设计阶段D)物理设计阶段 (9)在一棵二叉树上,第5层的结点数最多是(D)。 A)8B)9C)15D)16 (10)下列有关数据库的描述,正确的是(B)。 A)数据库设计是指设计数据库管理系统 B)数据库技术的根本目标是要解决数据共享的问题 C)数据库是一个独立的系统,不需要操作系统的支持 D)数据库系统中,数据的物理结构必须与逻辑结构一致 (11)以下叙述错误的是()。 A)C语言区分大小写 B)C程序中的一个变量,代表内存中一个相应的存储单元,变量的值可以根据需要随时修改 C)整数和实数都能用C语言准确无误地表示出来 D)在C程序中,正整数可以用十进制、八进制和十六进制的形式来表示 (12)下列叙述中错误的是()。 A)用户所定义的标识符允许使用关键字 B)用户所定义的标识符应尽量做到"见名知意" C)用户所定义的标识符必须以字母或下划线开头 D)用户定义的标识符中,大、小写字母代表不同标识 (13)下列选项中可作为C语言合法常量的是()。 A)-80B)-080C)-8e1.0D)-80.0e (14)下列定义变量的语句中错误的是()。 A)int _int;B)double int_;C)char For;D)float US$; (15)下列关于函数的叙述中正确的是()。 A)每个函数都可以被其他函数调用(包括main函数)B)每个函数都可以被单独编译 C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数 (16)当a=1、b=2、c=3、d=4时,执行下面程序段后,x的值是()。

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

计算机等级考试二级真题及答案

2015计算机二级考试试题及答案 1、设有表示公司和员工及雇佣的三张表,员工可在多家公司兼职,其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),员工S(员工号,姓名,性别,年龄,学历),雇佣E(公司号,员工号,工资,工作起始时间)。其中表C的键为公司号,表S的键为员工号,则表E的键(码)为______。 A、公司号,员工号 B、员工号,工资 C、员工号 D、公司号,员工号,工资 【评析】 本题考查知识点是关键字。 能唯一标识实体的属性集称为码(关键字)。码也称为关键字,是表中若干属性的属性组,其值唯一标识表中的一个元组。 本题答案:A。 3、下列叙述中正确的是______。 A、每一个结点有两个指针域的链表一定是非线性结构 B、所有结点的指针域都为非空的链表一定是非线性结构 C、循环链表是循环队列的链式存储结构 D、线性结构的存储结点也可以有多个指针 【评析】 本题考查知识点是线性表的线性结构与非线性结构。

线性表的链式存储结构称为线性链表。在某些应用中,对线性链表中的每个结点设置两个指针,一个称为左指针,用以指向其前件结点;另一个称为右指针,用以指向其后件结点。 本题答案:D。 4、在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数______。 A、相同,元素的存储顺序与逻辑顺序一致 B、相同,但其元素的存储顺序可以与逻辑顺序不一致 C、不同,但元素的存储顺序与逻辑顺序一致 D、不同,且其元素的存储顺序可以与逻辑顺序不一致 【评析】 本题考查知识点是线性表的顺序存储结构。 线性表的顺序存储结构具有两个基本特点:1.线性表中所有元素所占的存储空间是连续的;2.线性表中各元素在存储空间中是按逻辑顺序依次存放的。 本题答案:A。 5、设循环队列为Q(1: m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=30,rear=10。现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为______。 A、19 B、20 C、m-19 D、m-20 【评析】 本题考查知识点是循环队列的运算。

2019二级C语言题库参考答案解析

2019年C语言考题答案 1、程序填空题 给定的程序的功能是调用fun 函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制中。 填空:( 1) STYPE(2)FILE(3)fp 改错:(1) for(i=0;i<=sl;i++)(2)t[2*sl]= 0“ 或t[sl+sl]= 0“ 编程: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b% 10); 2、程序填空题给定程序的功能是:从键盘输入若干文本 (每行不超过80 个字符),写到文件myfile4.txt 中,用-1 作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和Writetext 实现。 填空:(1)*fw(2)str (3) str 改错:(1)voidfun(longs,long*t)(2) s1=s1*10; 编程:int i,j=0,min=a[0].s; for(i=0;i

else if(min==a[i].s) b[j++]=a[i]; } return j; 3、程序填空题 给定程序中,函数fun 的功能是:讲自 然数1~10 以及它们的平方根写到名为myfile3.txt 的文本中,然后再按顺序读出显示在屏幕上。 填空:( 1) fp( 2)fclose(fp)(3)myfile3.txt 改错:( 1)for(i=j+1;i

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

全国计算机等级考试二级MS+Office高级应用真题精彩试题库2+20173月

全国计算机等级考试二级MS Office高级应用真题题库2 2016年3月 (总分100, 做题时间120分钟) 一、选择题(每小题1分。共20分) 1. 英文缩写CAM的中文意思是()。 A 计算机辅助设计 B 计算机辅助制造 C 计算机辅助教学 D 计算机辅助管理 该问题分值: 1 答案:B CAM是计算机辅助制造。 2. 若网络的各个节点通过中继器连接成一个闭合环路,则称这种拓扑结构称为()。 A 总线型拓扑 B 星型拓扑 C 树型拓扑 D 环型拓扑

该问题分值: 1 答案:D 环型拓扑结构是指各个节点通过中继器连接到一个闭合的环路上,环中的数据沿着一个方向传输,由目的节点接收。 3. 有三个关系R、S和T如下: 则由关系R和s得到关系T的操作是()。 A 自然连接 B 交 C 投影 D 并 该问题分值: 1 答案:A 关系R和关系S有公共域,关系 T是通过公共域的等值进行连接的结果,符合自然连接,选A。 4. 对下列二叉树进行前序遍历的结果是()。

A DYBEAFCZX B YDEBFZXCA C ABDYECFXZ D ABCDEFXYZ 该问题分值: 1 答案:C 前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且,在遍历左右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。前序遍历描述为:若二叉树为空,则执行空操作。否则:①访问根结点;②前序遍历左子树;③前序遍历右子树,C正确。 5. 字长是CPU的主要技术性能指标之一,它表示的是()。 A CPU的计算结果的有效数字长度 B CPU一次能处理二进制数据的位数 C CPU能表示的最大的有效数字位数 D CPU能表示的十进制整数的位数

全国计算机等级考试笔试模拟试卷

全国计算机等级考试笔试模拟试卷(2) 二级公共基础知识和C语言程序设计 (考试时间90分钟,满分loo~) 一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题1分,70分) (1)下面关于算法的叙述中,正确的是( )。‘ A)算法的执行效率与数据的存储结构无关 B)算法的有穷性是指算法必须能在执行有限个步骤之后终止 c)算法的空间复杂度是指算法程序中指令(或语句)的条数 D)以上三种描述都正确 (2)下列二叉树描述中,正确的是( )。 A)任何一棵二叉树必须有一个度为2的结点B)二叉树的度可以小于2 c)非空二叉树有O个或1个根结点 D)至少有2个根结点 (3)如果进栈序列为A,B,c,D,则可能的出栈序列是( )。 A)C,A,D,B B)B,D,C,A C)C,D,A,B D)任意月顷序 (4)下列各选项中,不属于序言性注释的是( )。 A)程序标题 B)程序设计者 c)主要算法 D)数据状态 (5)下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。 A)内模式 B)外模式 c)概念模式 D)逻辑模式 (6)下列叙述中,不属于软件需求规格说明书的作用的是( )。 A)便于用户,开发人员进行理解和交流 B)反映出用户问题的结构,可以作为软件开发工作的基础和依据 C)作为确认测试和验收的依据 D)便于开发人员进行需求分析 (7)下列不属于软件工程3个要素的是( )。 A)工具 B)过程 C)方法 D)环境 (8)数据库系统在其内部具有3级模式,用来描述数据库中全体数据的全局逻辑结构和特 性的是( )。 A)外模式 B)概念模式 C)内模式 D)存储模式 (9)将E—R图转换到关系模式时,实体与联系都可以表示成( )。 A)属性 B)关系 C)记录 D)码 (10)某二叉树中度为2的结点有10个,则该二叉树中有( )个叶子结点。 A)9 B)10 C)11 D)12 (11)以下叙述中正确的是( )。 A)c程序中注释部分可以出现在程序中任意合适的地方 B)C程序的书写格式是固定的,每行只能写一条语句 c)构成c程序的基本单位是函数,所有函数名都可以’由用户命名 D)在对c语言程序进行编译时,可以发现注释行中的拼写错误 (12)下面的程序在编译时产生错误,其出错原因是( )。 #include main() {int l_case;float pfin~; pnntf(”请输入2个数:”);· sea~f(”%d%f.,&l_case,&printF); pdmf(”%d%舳”,l_case,printF);

C语言试题及答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 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 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

2019全国计算机二级考试题题库(附答案)

2019年全国计算机二级考试试题题库(附答案)一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分) 下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。 (1) 应用软件是指 A) 所有能够使用的软件 B) 能被各应用单位共同使用的某种软件 C) 所有微机上都应使用的基本软件 D) 专门为某一应用目的而编制的软件 (2) 下列述叙中错误的是 A) 计算机要经常使用不要长期闲置不用 B) 为了延长计算机的寿命,应避免频繁开关计算机 C) 在计算机附近应避免磁场干扰 D) 计算机用几小时后,应关机一会儿再用 (3) 下列字符中,ASCII码值最小的是 A) A B) a C) Z D) x (4) 用晶体管作为电子器件制成的计算机属于 A) 第一代 B) 第二代 C) 第三代 D) 第四代 (5) 下列各不同进制的四个无符号数中,最小的数是 A) (11011001)2 B) (37)8 C) (75)10 D) (2A)16 (6) 二进制数1110111.11转换成十六进制数是 A) 77.C B) 77.3 C) E7.C D) E7.3 (7) 下列各无符号十进制数中,能用八位二进制表示的是 A) 296 B) 333 C) 256 D) 199 (8) 计算机的软件系统可分类为 A) 程序与数据 B) 系统软件与应用软件 D) 操作系统与语言处理程序 D) 程序、数据与文档 (9) 486机中的CPU同时能处理的二进制位数为 A) 8 B) 16 C) 32 D) 64 (10) 在使用计算机的过程中,需要重新启动DOS,则要 A) 按Ctrl+Break键 B) 按^C键 C) 按Ctrl+Alt+Del键 D) 按^H键

C语言考试题库之判断题[1]_共5页

三、判断题(10道小题,共10分) 1、c语言具有简洁明了的特点。 正确 2、预处理命令的前面必须加一个“#”号。正确 3、标准格式输入函数seanf()可以从键盘上接收不同数据类型的数据项。 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{} 括起来组成一个复合语句。 正确 5、continue不是结束本次循环,而是终止整个循环的执行。 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递 正确 8、直接访问就是直接利用变量的地址进行存取直接访问 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。 错误 11、C语言标准格式输入函数scanfO的参数表中要使用变量的地址值。 正确 12、浮点型常量的指数表示中,6是可以省略的。 错误 13、任何表达式语句都是表达式加分号组成的。 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。 错误 15、do-while循环的while后的分号可以省略。 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。 正确 17、C语言函数返回类型的默认定义类型是void( 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数正确 19、枚举类型中的元素都具有一个整型值。 正确 20、C语言是一种具有某些低级语言特征的高级语言。 正确 21、c ase语句后如没有break,顺序向下执行。正确 22、d o-while循环至少要执行一次循环语句。正确

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