第七章函数(答案)

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

第七章习题函数

一、选择题

1.以下所列的各函数首部中,正确的是( C )

A) void play(var :Integer,var b:Integer) B) void play(int a,b)

C) void play(int a,int b) D) Sub play(a as integer,b as integer)

2.如下fun函数的类型是( C )

fun(float x)

{ double y; int z;

y=x*x;

z=(int)y ;

return(z) ; }

A)void B)double C)int D) float

3.以下程序的运行结果是( A )

int fun(int array[4][4])

{ int j;

for(j=0;j<4;j++) printf("%2d",array[2][j]);

printf("\n");}

main()

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

fun(a); }

A) 2 0 0 5 B) 1 0 0 4 C) 0 1 2 0 D) 0 4 5 0

4.以下程序运行后屏幕输出为( B )

#include

void f(int i)

{ int a=2;

a=i++;

printf("%d, ",a); }

main()

{ int a=1,c=3;

f(c);

a=c++;

printf("%d",a); }

A) 4,3 B)3,3 C)4 ,5 D)3,5

5.有以下程序

void swap1(int c[])

{ int t;

t=c[0];c[0]=c[1];c[1]=t;}

void swap2(int c0,int c1)

{ int t;

t=c0;c0=c1;c1=t;}

main( )

{ int a[2]={3,5},b[2]={3,5};

swap1(a); swap2(b[0],b[1]);

printf("%d %d %d %d\n ",a[0],a[1],b[0],b[1]);

} 其输出结果是( B )

A)5 3 5 3 B) 5 3 3 5 C)3 5 3 5 D)3 5

5 3

6. 以下函数的功能是( A )

int fun( int n)

{ if (n==1) return 1;

else return fun(n-1)+n; }

A) 计算1+2+3+4+…+n B) 计算1*2*3*4*…*n

C) 仅返回函数值1 D) 仅返回函数值n

【局部变量和全局变量】

7. 以下叙述中正确的是 ( A )

A)局部变量说明为static 存储数,其生存期将得到延长

B)全局变量说明为static 存储类,其作用域将被扩大

C)任何存储类的变量在未赋初值时,其值都是不确定的

D)形参可以使用的存储类说明符与局部变量完全相同

8. 若有如下函数定义:

int fun()

{ static int k=0; return ++k; }

以下程序段运行后屏幕输出为( C )

int i;

for(i=1;i<=5;i++) fun();

printf("%d",fun());

A) 0 B)1 C) 5 D) 6

9. 下面程序的输出结果是( C )

#include main()

int x,y; { int a=9,b=5;

f() x=a+b; y=a-b;

{ int y,a=25,b=10; f();

x=a+b; y=a-b; printf(“%d,%d\n ”,x,y); }

return; }

A)14,4 B)35,15 C)35,4 D)14,15

二、改错题

【循环:累加题】

1. 函数fun(int n) 的功能是:根据参数n ,计算大于10的最小n 个能被3整除的正整数的倒数

之和。例如:

396.033

1.......211181151121)8(=+++++=fun #include

#include

#define M 50

double fun(int n)

{ double y = 0.0;

int i,j;

j=0;

for(i=1;;i++)

{/**/ if((i>10)&&(i%3==0)) /**/

{/**/ y+=1.0/i; /**/

j++;

}

if(j==n) break;

}

return y;}

void main()

{ clrscr();

printf("fun(8) = %8.3lf\n", fun(8));}

【循环:求特殊数】

2.输出201-300之间的所有素数,统计总个数。

#include

#include

int fun()

{ int m,i,k,n=0;

for(m=201; m<=300;m+=2)

{ 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;}

void main()

{ int num;

printf("\n");

num=fun();

printf("\nThe total of prime is %d",num);

getch();

}

【循环:穷举法】

3.求解百马百担问题

有100匹马,驮100担货,大马驮3担,中马2担,两匹小马驮1担,问大、中、小马数可分别为多少?有多少种解决方案?

相关文档
最新文档