day06 函数 形参实参 函数的嵌套调用
来源:互联网 发布:java 图片合成框架 编辑:程序博客网 时间:2024/05/22 06:55
//引入文件:
//#import "当前工程下的索引文件",相当于拷贝一份。
//#import <到指定路径下的索引文件>,相当于系统文件。
#import "Operator.h"
#pragma mark-函数
//定义一个函数。(在main函数之外)
//完整的函数包括三部分:函数声明,函数实现,函数调用
//函数声明
/*
(1)函数定义出现在主调用之前,可以省略函数声明。(但是一般不要省略)
(2)函数定义在主调函数之后,需要提前声明函数。
*/
//函数的分类:
//1.库函数
//printf();
//scanf();
//strcpy();
// 2.自定义函数
/*
(1)无参无返回值。
(2)无参有返回值。
*/
//函数的声明
void printHello(void);
//函数的实现
void printHello(void){
printf("hello,nimei");
}
//(2)无参有返回值。
//返回值为int的函数
//函数声明:
int getCount()
{
//return 后面的数据返回给主调函数。、
//什么是主调函数:那个函数调用那本函数,谁就是主调函数。
return34;
}
//(3)有参数,无返回值类型的函数
//函数声明内形参可以与函数实现的形参名不同
void printSumValue(int a,int b);
void printSumValue(int value1,int value2)
{
//参数如何写:类型+参数名(形式参数,称为形参)
//如果是多个参数,用逗号分隔(需要注意:每个形参前面需要声明参数类型)
printf("两个数的和为:%d\n",value1+value2);
}
//(4)有参数,有返回值函数
int sumValue(int a,int b);
int sumValue(int a,int b)
{
return a+b;
}
//练习:1.编写函数void sayHi(vodi);应用for循环,打印3遍我要减肥
//void sayHi(void);
//void sayHi(void)
//{
// for (int i=0; i<3;i++) {
// printf("我要减肥\n");
// }
//}
//2.编写函数,应用for循环,打印n遍“我要减肥”,n的值有键盘输入。
//void printfHi(int n);
//void printfHi(int n)
//{
// for (int i=0; i<n; i++) {
// printf("我要减肥\n");
// }
//}
//3.编写函数,计算1-n的和,并将计算结果通过返回值返回,n的值有键盘输入
//int sumData(int N);
//int sumData(int N)
//{
// int sum=0;//存储累加结果
//循环累加结果:
// for (int i=1; i<=N; i++) {
// sum +=i;
// }
// return sum;
//}
//4.编写函数,返回三个整数的中间值
int minvar(int a,int b,int c);
int minvar(int a,int b,int c)
{
int min,max;
max=a > b?(a>c? a:c):(b>c?b:c);
min=a < b?(a<c? a:c):(b<c?b:c);
return a+b+c-max-min;
}
#pragma mark-形参实参
//形参:出现在函数定义中,以假名字来表示函数调用时需要提供的值,作用范围为整个函数范围。
//实参:(实际参数)
//出现在函数调用中的表达式。
//注意:函数调用中,形参会拷贝实参的内容,传递参数事给函数传递信息的一种方法。
#pragma mark-函数的嵌套调用
/*
c语言中不允许函数嵌套定义,但是允许函数嵌套调用。
函数嵌套定义:在一个函数定义内在去定义一个函数。
函数嵌套调用:在一个函数内去调用另一个函数。
*/
int main(int argc,constchar * argv[]) {
//函数调用:
// printHello();
//调用无参无返回值函数
//不需要写返回值类型,直接写函数名及小括号,就算没有参数,括号也不能省略。
// 函数调用(2)
//调用有返回值,无参数的函数
//不需要写返回值类型,直接写函数名
//可以定义一个返回值类型匹配的变量名来保存函数的反馈结果
// int count=getCount();
// printf("人数是:%d\n",count);
// printf("人数是:%d\n",getCount());
//调用函数(3)
//调用的时候出入的数据称为实参
//实参可以常量或者常量表达式
//也可以写变量
//int a=3;
// int b=5;
// printSumValue(a, b);
//以上三句等效于以下一句代码
// printSumValue(3, 5);
//调用函数(4)
//可以直接赋值常量
//也可以写变量
// int sum=sumValue(6, 8);
// printf("sum=%d\n",sum);
// printf("sum=%d\n",sumValue(6, 8));
//函数的定义结构
//返回值类型函数名(参数列表){
//函数体
// return 返回具体数值(若没有返回值,就不用写了)
//}
// 1.
//sayHi();
// 2.
//int count=0;
// printf("please input count:");
// scanf("%d",&count);
// printfHi(count);
//3.
// int n=0;
// printf("please input n:");
// scanf("%d",&n);
// printf("sum=%d",sumData(n));
//4.
// int a,b,c;
// printf("plese input a,b,b:");
// scanf("%d%d%d",&a,&b,&c);
// printf("中间值:%d",minvar(a,b,c));
// printf("%d\n",sumVar(6,9));
// printf("%d\n",subVar(6,9));
// printf("%d\n",mulVar(6,9));
// printf("%.2f\n",devVar(14.2,0.9));
printf("最大值:%d\n",getMaxOfTwo(7,8));
printf("最大值:%d\n",getMaxOfThree(7,8,9));
printf("最大值:%d\n",getMaxOfFour(7,8,9,10));
printf("最大值:%d\n",getMaxOfFive(7,8,9,10,11));
return0;
//#import "当前工程下的索引文件",相当于拷贝一份。
//#import <到指定路径下的索引文件>,相当于系统文件。
#import "Operator.h"
#pragma mark-函数
//定义一个函数。(在main函数之外)
//完整的函数包括三部分:函数声明,函数实现,函数调用
//函数声明
/*
(1)函数定义出现在主调用之前,可以省略函数声明。(但是一般不要省略)
(2)函数定义在主调函数之后,需要提前声明函数。
*/
//函数的分类:
//1.库函数
//printf();
//scanf();
//strcpy();
// 2.自定义函数
/*
(1)无参无返回值。
(2)无参有返回值。
*/
//函数的声明
void printHello(void);
//函数的实现
void printHello(void){
printf("hello,nimei");
}
//(2)无参有返回值。
//返回值为int的函数
//函数声明:
int getCount()
{
//return 后面的数据返回给主调函数。、
//什么是主调函数:那个函数调用那本函数,谁就是主调函数。
return34;
}
//(3)有参数,无返回值类型的函数
//函数声明内形参可以与函数实现的形参名不同
void printSumValue(int a,int b);
void printSumValue(int value1,int value2)
{
//参数如何写:类型+参数名(形式参数,称为形参)
//如果是多个参数,用逗号分隔(需要注意:每个形参前面需要声明参数类型)
printf("两个数的和为:%d\n",value1+value2);
}
//(4)有参数,有返回值函数
int sumValue(int a,int b);
int sumValue(int a,int b)
{
return a+b;
}
//练习:1.编写函数void sayHi(vodi);应用for循环,打印3遍我要减肥
//void sayHi(void);
//void sayHi(void)
//{
// for (int i=0; i<3;i++) {
// printf("我要减肥\n");
// }
//}
//2.编写函数,应用for循环,打印n遍“我要减肥”,n的值有键盘输入。
//void printfHi(int n);
//void printfHi(int n)
//{
// for (int i=0; i<n; i++) {
// printf("我要减肥\n");
// }
//}
//3.编写函数,计算1-n的和,并将计算结果通过返回值返回,n的值有键盘输入
//int sumData(int N);
//int sumData(int N)
//{
// int sum=0;//存储累加结果
//循环累加结果:
// for (int i=1; i<=N; i++) {
// sum +=i;
// }
// return sum;
//}
//4.编写函数,返回三个整数的中间值
int minvar(int a,int b,int c);
int minvar(int a,int b,int c)
{
int min,max;
max=a > b?(a>c? a:c):(b>c?b:c);
min=a < b?(a<c? a:c):(b<c?b:c);
return a+b+c-max-min;
}
#pragma mark-形参实参
//形参:出现在函数定义中,以假名字来表示函数调用时需要提供的值,作用范围为整个函数范围。
//实参:(实际参数)
//出现在函数调用中的表达式。
//注意:函数调用中,形参会拷贝实参的内容,传递参数事给函数传递信息的一种方法。
#pragma mark-函数的嵌套调用
/*
c语言中不允许函数嵌套定义,但是允许函数嵌套调用。
函数嵌套定义:在一个函数定义内在去定义一个函数。
函数嵌套调用:在一个函数内去调用另一个函数。
*/
int main(int argc,constchar * argv[]) {
//函数调用:
// printHello();
//调用无参无返回值函数
//不需要写返回值类型,直接写函数名及小括号,就算没有参数,括号也不能省略。
// 函数调用(2)
//调用有返回值,无参数的函数
//不需要写返回值类型,直接写函数名
//可以定义一个返回值类型匹配的变量名来保存函数的反馈结果
// int count=getCount();
// printf("人数是:%d\n",count);
// printf("人数是:%d\n",getCount());
//调用函数(3)
//调用的时候出入的数据称为实参
//实参可以常量或者常量表达式
//也可以写变量
//int a=3;
// int b=5;
// printSumValue(a, b);
//以上三句等效于以下一句代码
// printSumValue(3, 5);
//调用函数(4)
//可以直接赋值常量
//也可以写变量
// int sum=sumValue(6, 8);
// printf("sum=%d\n",sum);
// printf("sum=%d\n",sumValue(6, 8));
//函数的定义结构
//返回值类型函数名(参数列表){
//函数体
// return 返回具体数值(若没有返回值,就不用写了)
//}
// 1.
//sayHi();
// 2.
//int count=0;
// printf("please input count:");
// scanf("%d",&count);
// printfHi(count);
//3.
// int n=0;
// printf("please input n:");
// scanf("%d",&n);
// printf("sum=%d",sumData(n));
//4.
// int a,b,c;
// printf("plese input a,b,b:");
// scanf("%d%d%d",&a,&b,&c);
// printf("中间值:%d",minvar(a,b,c));
// printf("%d\n",sumVar(6,9));
// printf("%d\n",subVar(6,9));
// printf("%d\n",mulVar(6,9));
// printf("%.2f\n",devVar(14.2,0.9));
printf("最大值:%d\n",getMaxOfTwo(7,8));
printf("最大值:%d\n",getMaxOfThree(7,8,9));
printf("最大值:%d\n",getMaxOfFour(7,8,9,10));
printf("最大值:%d\n",getMaxOfFive(7,8,9,10,11));
return0;
}
//练习:穿件一对文件:Operator.h Operator.m实现4个函数,分别求两个整数的加减乘除。
int sumVar(int a,int b);
int subVar(int a,int b);
int mulVar(int a,int b);
float devVar(float a,float b);
//练习:1.求2个数的最大值。
int getMaxOfTwo(int a,int b);
//练习:2.求3个数的最大值。
int getMaxOfThree(int a,int b,int c);
//练习:3.求4个数的最大值。
int getMaxOfFour(int a,int b,int c,int d);
//练习:4.求5个数的最大值。
int sumVar(int a,int b);
int subVar(int a,int b);
int mulVar(int a,int b);
float devVar(float a,float b);
//练习:1.求2个数的最大值。
int getMaxOfTwo(int a,int b);
//练习:2.求3个数的最大值。
int getMaxOfThree(int a,int b,int c);
//练习:3.求4个数的最大值。
int getMaxOfFour(int a,int b,int c,int d);
//练习:4.求5个数的最大值。
int getMaxOfFive(int a,int b,int c,int d,int e);
int sumVar(int a,int b)
{
return a+b;
}
int subVar(int a,int b)
{
return a-b;
}
int mulVar(int a,int b)
{
return a*b;
}
float devVar(float a,float b)
{
//检测参数有效性
//假设计算范围为整数,以-1作为错误代码
if(b==0)
return -1;
return a/b;
}
int getMaxOfTwo(int a,int b)
{
return a>b?a:b;
}
int getMaxOfThree(int a,int b,int c)
{
// int max=getMaxOfTwo(a, b);
// max=getMaxOfTwo(max, c);
int max=getMaxOfTwo(getMaxOfTwo(a, b), c);
return max;
}
int getMaxOfFour(int a,int b,int c,int d)
{
int max=getMaxOfTwo(getMaxOfThree(a, b,c),d);
return max;
}
int getMaxOfFive(int a,int b,int c,int d,int e)
{
int max=getMaxOfTwo(getMaxOfFour(a, b, c, d),e);
return max;
}
{
return a+b;
}
int subVar(int a,int b)
{
return a-b;
}
int mulVar(int a,int b)
{
return a*b;
}
float devVar(float a,float b)
{
//检测参数有效性
//假设计算范围为整数,以-1作为错误代码
if(b==0)
return -1;
return a/b;
}
int getMaxOfTwo(int a,int b)
{
return a>b?a:b;
}
int getMaxOfThree(int a,int b,int c)
{
// int max=getMaxOfTwo(a, b);
// max=getMaxOfTwo(max, c);
int max=getMaxOfTwo(getMaxOfTwo(a, b), c);
return max;
}
int getMaxOfFour(int a,int b,int c,int d)
{
int max=getMaxOfTwo(getMaxOfThree(a, b,c),d);
return max;
}
int getMaxOfFive(int a,int b,int c,int d,int e)
{
int max=getMaxOfTwo(getMaxOfFour(a, b, c, d),e);
return max;
}
0 0
- day06 函数 形参实参 函数的嵌套调用
- 函数的类型,函数的声明,函数的定义,函数的调用,函数嵌套,函数递归,形参实参
- 函数分类、函数声明和定义、函数调用,形参实参、函数嵌套调用
- 《IOS_C语言》函数分类、函数声明和定义、函数调用、形参实参、函数嵌套调用
- 函数调用,形参实参的变化
- 作业《IOS_C语言》函数分类、函数声明和定义、函数调用、形参实参、函数嵌套调用
- 函数的调用:形参与实参
- C语言中函数调用、实参、形参的选择
- [TwistedFate]函数声明定义,函数调用,形参,实参,函数嵌套调用
- 函数的基本类型, 实参与形参的运用 调用头文件 递归调用
- 函数的形参和实参
- 函数的形参和实参
- 关于调用函数的实参问题
- 函数调用中实参和形参变化问题
- 关于函数调用过程中的实参和形参问题
- 函数调用中实参和形参变化问题
- 已定义的函数有返回值,函数调用可以作为一个函数的实参,但是不能作为形参
- 已定义的函数有返回值,函数调用可以作为一个函数的实参,但是不能作为形参
- 【杭电】[1048]The Hardest Problem Ever
- Android五大布局
- Mysql数据库主从同步配置操作详解(单向同步)
- 用java打开个文件夹并选中指定文件
- RMAN实战9:利用Data Recovery Advisor恢复丢失的表空间文件
- day06 函数 形参实参 函数的嵌套调用
- 13:枚举初步使用以及using名称空间
- mycncart操作使用教程 - 布局
- 网站的架构是演进式的
- PL/SQL Select into 异常处理
- 18.利用UITableView制作一个列表选择器
- BZOJ4034:[HAOI2015]T2
- 【杭电】[1280]前m大的数
- day06 homework