二级C语言上机题库及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一套题

上机填空:

#include

double fun(double e)

{ int i, k; double s, t, x;

s=0; k=1; i=2;

/**********found**********/

x=__1__/4;

/**********found**********/

while(x __2__ e)

{ s=s+k*x;

k=k* (-1);

t=2*i;

/**********found**********/

x=__3__/(t*t);

i++;

}

return s;

}

main()

{ double e=1e-3;

printf("\nThe result is: %f\n",fun(e));

第一处答案:3.0

第二处答案:>

第三处答案:(2*i+1)或者(t+1)

上机改错题:

#include

/************found************/

void fun ( int n )

{ int a, b, c, k; double s;

s = 0.0; a = 2; b = 1;

for ( k = 1; k <= n; k++ ) {

/************found************/

s = s + (Double)a / b;

c = a; a = a + b; b = c;

}

return s;

}

main( )

{ int n = 5;

printf( "\nThe value of function is: %lf\n", fun ( n ) );

}

第一处改错:将:void fun ( int n ) 改为double fun ( int n ) 第二处改错:s = s + (Double)a / b; 改为s = s + (double)a / b;

第二套题

上机填空题

#include

double fun(int n)

{ int i; double s, t;

/**********found**********/

s=__1__;

/**********found**********/

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

{ t=2.0*i;

/**********found**********/

s=s+(2.0*i-1)*(2.0*i+1)/__3__;

}

return s;

}

main()

{ int n=-1;

while(n<0)

{ printf("Please input(n>0): "); scanf("%d",&n); }

printf("\nThe result is: %f\n",fun(n));

第一处空答案:0

第一处空答案:n

第三处空答案:(t*t)

改错题

#include

int fun (char *str,char *substr)

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

/************found************/

for(i = 0, str[i], i++)

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

/************found************/

If(substr[k+1]=='\0')

{ num++;

break;

}

return num;

}

main()

{

char str[80],substr[80];

printf("Input a string:") ;

gets(str);

printf("Input a substring:") ;

gets(substr);

printf("%d\n",fun(str,substr));

}

第一处错误:for(i = 0, str[i], i++) 改为for(i = 0; str[i];i++)

第二处错误:If(substr[k+1]=='\0') 改为if(substr[k+1]=='\0') 即是将”If”改为”if”第三套题

填空题

#include

void fun(char *s, int *t)

{ int i, n;

n=0;

/**********found**********/

for(i=0; ___1___ !=0; i++)

/**********found**********/

if(s[i]>='0'&&s[i]<= ___2___ ) n++;

/**********found**********/

___3___ ;

}

main()

{ char s[80]="abcdef35adgh3kjsdf7";

int t;

printf("\nThe original string is : %s\n",s);

fun(s,&t);

printf("\nThe result is : %d\n",t);

}

第一空:s[i] 第二空:’9’第三空:*t=n 改错题:

#include

int fun(int *x,int y)

{

int t ;

/**************found**************/

t = x ; x = y ;

/**************found**************/ return(y) ;

}

main()

{

int a = 3, b = 8 ;

printf("%d %d\n", a, b) ;

b = fun(&a, b) ;

printf("%d %d\n", a, b) ;

相关文档
最新文档