函数
-
定义。实现特定功能的代码段。
-
三个要素 (1) 功能。 干嘛用的? (2) 参数。 我需要给它提供什么? 形参:定义函数1的时候,()中的内容 实参: 调用函数的时候,()中的内容 (3) 返回值。它会给我什么? 不是所有的函数都有返回值 3.参数传递 (1)实参传递给形参 (2)参数要一一对应。类型,个数,顺序。
-
return 用来设置函数的返回值。它后边接的这个值,就是函数的返回值。 要点:与定义函数时的类型约定保持一致!
定义函数的格式:
返回值类型|或者是void 函数名(形参){ return 返回值 }
# include<stdio.h>
/*
函数
1. 定义。实现特定功能的代码段。
2. 三个要素
(1) 功能。 干嘛用的?
(2) 参数。 我需要给它提供什么?
形参:定义函数1的时候,()中的内容
实参: 调用函数的时候,()中的内容
(3) 返回值。它会给我什么?
不是所有的函数都有返回值
3.参数传递
(1)实参传递给形参
(2)参数要一一对应。类型,个数,顺序。
4. return 用来设置函数的返回值。它后边接的这个值,就是函数的返回值。
要点:与定义函数时的类型约定保持一致!
定义函数的格式:
返回值类型|或者是void 函数名(形参){
return 返回值
}
*/
// void 这个关键字,就表明这个函数没有返回值。
void printN(int n) {
int rst = 0;
for(int i = 1;i<=n;i++){
rst += i;
}
printf("%d",rst);
}
// 写一个函数,用来把一个给定的参数放大10倍数
int times10(int n){
return 10 * n;
}
int main09(){
int rst = times10(5);
printf("%d",rst);
return 0;
}
运行结果如下:
# include<stdio.h>
// 写一个函数,功能: 计算两个整数中的较大者,并返回
//int getBigger(int a,int b){
// return a > b ? a : b;
//}
//写一个函数用来求三个整数中的最大值,并返回!
int getBigger (int x,int y, int z){
if(x>=y&&x>=z){
return x;
}else if(y>=x&&y>=z){
return y;
}else {
return z;
}
}
int main(){
int rst = getBigger(10, 20, 30);
printf("%d",rst);//20
}
运行结果如下:
return 的作用
- 设置函数的返回值。它后边的表达式的值就是当前函数的返回值。
- 结束后面代码的执行 函数运行到此为止,它后边的代码都不会执行!
# include<stdio.h>
//return 的作用
//1. 设置函数的返回值。它后边的表达式的值就是当前函数的返回值。
//2. 结束后面代码的执行 函数运行到此为止,它后边的代码都不会执行!
int f(){
printf("a");
printf("b");
printf("c");
return 10 + 3 - 90 * 200;
}
int main()
{
int rst = f();
printf("%d",rst);
return 0;
}
运行结果如下:
有4种调用方法(函数有三个要素: 功能,参数,返回值)
- 将函数作为表达式调用。
- 作为语句调用。
- 作为函数的实参调用。
# include<stdio.h>
//函数有三个要素: 功能,参数,返回值。
/*
有4种调用方法
1. 将函数作为表达式调用。
2.作为语句调用。
3.作为函数的实参调用。
*/
int getBig2(int a,int b){
if(a>b){
return a;
}else{
return b;
}
}
int getBig3(int x,int y,int z){
// 大者1:求 x,y的较大者
//求大者1 和 z 的较大者
//int k = getBig2(x,y); //4.在一个函数中调用另一个函数
// return getBig2(k,z);
return getBig2(getBig2(x,y),z);
}
int f32(int n){
return n / 3+1;
}
void printfOK(){
printf("\n*************************************\n");
printf("*************************************\n");
printf("*************************************\n");
}
int main(){
printf("%d",getBig3(1,2,3));
printfOK();
int rst = f32(10) + 20; // 1.将函数作为表达式调用
printf("%d",rst);
printfOK(); //2.作为语句调用
int rst1 = f32(f32(10)); // 3.作为函数的实参调用。
printf("%d",rst1); //
}
运行结果如下: