C语言练习4(函数)=参考答案(2)

2019-01-12 18:06

C)调用该函数的主调函数类型

D)定义函数时指定的函数返回值类型

28-执行下列语句后,程序的运行结果为( A ). int a=10; f( )

{int a; a=12; }

main() {f();

printf(\ }

A) 10 B) 12 C) 0 D) 不确定 29-以下说法中不正确的是( D ).

A)主函数中定义的变量只在主函数内部有效 B)形式参数是局部变量

C)在函数内部定义的变量只在本函数范围内有效

D)当全局变量与局部变量同名时,局部变量不起作用

30-当全局变量与函数内部的局部变量同名时,则在函数内部( A ). A)全局变量有效 B)局部变量有效

C)全局变量与局部变量都有效 D)全局变量与局部变量都无效

31-设下面程序段中调用fun函数传送实参a和b: main( )

{ char a[10],b[10]; ……

fun(a,b); …… }

则在fun函数头部中,对形参正确的定义是:(BCD) A) fun(char a,b) B) fun(char a1[],char a2[]) C) fun(char p[10], char q[10]) D) fun(char *s1,char *s2)

二、判断题

1 形参可以是常量、变量或表达式。错

2 如函数值的类型与返回值类型不一致,以函数值类型为准。对 3 下面两种写法等价。对

(1) int fun(int x,int y) (2) int fun(x,y)

int x,y ; 4 在C语言中,最好使用全局变量. 错

5 以下说法是否正确:若调用C标准库函数,调用前必须重新定义。错 6 形式参数和实际参数的个数可以不同。错

7 数组名做函数的参数时,实参数组和形参数组大小一定要一致。错 8 用数组名做函数参数,形参数组可以不指定大小。对

9 C语言中函数的返回值类型是由return语句中的表达式类型决定的。对

10 数组名作为函数参数,应该在主调函数与被调函数中分别定义数组,不能只在一方定义。对

11 以数组名作为参数时,数据传送方向是“双向的”。即形参值可以传回给实参。对 12 所有的函数都是平行的,一个函数并不从属于另一个函数。对 13 只有主函数才可以调用其它函数。错

14 在C语言中,函数可以递归调用或递归定义。错

15 在同一文件中,外部变量与局部变量同名。在局部变量的作用范围内,外部变量的值等于局部变量的值。错

16 main函数中定义变量是全局变量。错

17 当全局变量与函数内部的局部变量同名时,则在函数内部全局变量有效。错 三、填空题

[1] 以下程序的输出结果是_____12___. unsigned fun6(unsigned num) { unsigned k=1; do

{ k*=num; num/=10; } while(num); return k; }

main()

{ unsigned n=26;

printf(\ }

[2] 以下程序的输出结果是___9.000000_____. double sub(double x,double y,double z) { y-=1.0; z=z+x;

return z; }

main()

{ double a=2.5,b=9.0; printf(\ }

[3] 以下程序的输出结果是____4____. fun1(int a,int b) { int c;

a+=a; b+=b; c=fun2(a,b); return c*c; }

fun2(int a,int b)

{ int c; c=a*b%3; return c; }

main()

{ int x=11,y=19;

printf(\ }

[4] 下面pi函数的功能是,根据以下公式返回满足精度要求的的值.请填空.

double pi(double eps) { double s=0.0,t=1.0; int n;

for(__n=1___;t>eps;n++) { s+=t;

t=n*t/(2*n+1); }

return (2.0*__s___); }

[5] 以下函数用以求x的y次方.请填空. double fun(double x,int y) { int i; double z=1; for(i=1; i__ i<=y___; i++) z=__ z*x___; return z;

} [6] 以下程序的功能是计算.请填空. long f(int n)

{ int i; long s; s=__1___;

for(i=1; i<=n; i++) s=__ s*i___; return s; }

main()

{ long s; int k,n; scanf(\ s=__-1___;

for(k=0; k<=n; k++)s=s+__ f(k)___; printf(\ }

四、编程题

[1] 编写函数 int mymod ( int a, int b)用以求a被b除之后的余数. int mymod( int a, int b) {

}

return a%b;

[2] 编写函数,根据整型形参m的值,计算如下公式的值. t=1-1/2*2-1/3*3-...-1/m*m 例如,若m=5,则应输出0.536389. #include float fun( int m) { float t=1; int i; for(i=2;i<=m;i++) { t=t-1.0/(i*i); } return t; }

void main() {

printf(\}

[3] 编写函数用以求表达式x*x-5*x+4,x作为参数传送给函数,调用此函数求: y1=2*2-5*2+4

y2=(x+15)*(x+15)-5*(x+15)+4 y3=sinx*sinx-5*sinx+4 #include #include float y( float x) { return x*x-5*x+4; }

void main() { float y1,y2,y3; int x=2; y1=y(x); y2=y(x+15); y3=y(sin(x)); printf(\}

[4]编写一个函数,把一个字符串中的大写字母改为小写字母,其余不变。并从键盘输入一个字符串,然后使用该函数将大写字母变为小写字母后输出。 #include #include #define N 80

void changestr(char str[]) { int i=0; while(str[i]!='\\0') { if(str[i]>='A'&&str[i]<='Z') { str[i]=str[i]+('a'-'A'); } i++; } }

void main() { char st[N]; printf(\ scanf(\ changestr(st); printf(\}


C语言练习4(函数)=参考答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:汽车商贸城项目可行性研究报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: