- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7第七章 函数习题
第七章 函数
【例1】以下正确的函数定义形式是________。
double fun(int x,int y)
double fun(int x;int y)
double fun(int x,int y);
double fun(int x, y);
【例2】有以下函数定义:
void fun(int n, double x) {……}
若以下选项中的变量都已正确定义并赋值,则对fun的正确调用语句是________。
A)fun(int y,double m); B)k = fun(10,12.5);
C)fun(x,n); D)void fun(n,x);
【例3】C语言规定,简单变量作为实参时,它和对应形参之间的数据传递方式是_______。
地址传递
单向值传递
由实参传给形参,再由形参传回给实参
由用户指定传递方式
【例4】以下程序的运行结果是_______。
int f(int x,int y)
{ return (y-x)* x;}
main()
{ int a=3,b=4,c=5,d;
d = f(f(a,c),f(a,b)+f(c,d));
printf(“%d\n”,d);
}
-48
58
-58
47
【例4】在C语言程序中以下正确的描述是_______。
函数的定义可以嵌套,但函数的调用不可以嵌套
函数的定义不可以嵌套,但函数的调用可以嵌套
函数的顶一个函数的调用均不可以嵌套
函数的定义和函数的调用均可以嵌套
【例5】以下叙述中正确的是_____。
局部变量说明为static存储数,其生存期将得到延长
全局变量说明为static存储类型,其作用域将被扩大
任何存储类型的变量在未赋初值时,其值都是不确定的
形参可以使用的存储类型说明符与局部变量完全相同
【例6】凡是函数中未指定存储类别的局部变量,其隐含的存储类别为_____。
自动(auto)
静态(static)
外部(extern)
寄存器(register)
【例6】以下程序的正确运行结果是________。
main()
{ int a=2,I;
for(i=0;i3;i++)printf(“4d”,f(a));
}
f(int a)
{ int b=0;static int c=3;
b++;c++;
return(a+b+c);
}
7 7 7
7 10 13
7 9 11
7 8 9
【例7】以下程序的功能实用递归方法计算5位学生的年龄,已知第一位学生的年龄最小为10岁,其余学生一个比一个大2岁,求第5为学生的年龄。请填空。
递推公式如下:
age(n)=
#includestdio.h
age(int n)
{ int c;
if(n==1) c=10;
else c=【1】
return(c);
}
main()
{ int n=5;
Printf(“age: %d\n”,【2】);
}
【例8】以下函数fun的功能是:统计用数字0~9可以组成多少个位置相同的3位偶数。请填空。
#include”stdio.h”
int fun()
{ int n=0,I,j,k;
for(i=1;i=9;i++)
for(k=0;k=8;k=【1】)
if(【2】) n++;
return n;
}
main()
{ int n;
n=fun();
printf(“n=%d\n”,n);
}
【例8】以下函数fun的功能是从3个红球(x)、5个白球(y)、6个黑球(z)中任意取出8个,且其中必须要有红球和白球。轻编写函数,输出所有方案。
#include”stdio.h”
int fun(int x,int y,int z)
{ int i,j,k,sum=0;
(请在此处编写函数)
}
main()
{ int sum,x=3,y=5,z=6;
sum=fun(x,y,z);
printf(“sum=%4d\n”,sum);
}
文档评论(0)