C语言

34 阅读4分钟
#include <stdio.h>

//写一个函数,功能: 计算两个整数中的较大值,并返回。

// int getBigger(int a, int b) {
//    return a > b ? a : b;
// }

int getBiggest(int a,int b, int c){
	if(a >=b && a>= c){
		return a;
	} else if (b>=a && b >= c){
		return b;
	} else {
		return c;
	}
}



 
int main(){
	
    int rst1 = getBiggest(30,20,10);
	printf("%d",rst1); //30 
	return 0;
}

image.png

函数

1.定义。实现特定功能的代码段。

2.三个要素

1)功能。干嘛用的?

(2)参数。我需要给它提供什么?

形参:定义函数的时候,()中的内容

实参:调用函数的时候,()中的内容

(3)返回值。它会给我什么?

不是所有的函数都有返回值

3.参数传递

(1)实参传递给形参

(2)参数要一一对应。类型,个数,顺序。

  1. return用来设置函数的返回值。它后边接的这个值,就是函数的返回值!

要点:与定义函数时的类型约定保持一致!

定义函数的格式:

返回值类型|或者是void函数名(形参) {

return 返回值 }

#include <stdio.h>
/*
  函数
  1.定义。实现特定功能的代码段。
  2.三个要素
    (1)功能。干嘛用的?
	(2)参数。我需要给它提供什么?
	     形参:定义函数的时候,()中的内容
		 实参:调用函数的时候,()中的内容
	(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 main4(){
	int rst = times10(5);
	printf("%d",rst);
	return 0;
} 

image.png

return 的作用

1.设置函数的返回值,它后边的表达式的值就是当前函数的返回值。

2.结束后面代码的执行 函数运行到此为止,它后边的代码都不会执行!

V#include <stdio.h>
 /* return 的作用
   1.设置函数的返回值,它后边的表达式的值就是当前函数的返回值。
   2.结束后面代码的执行  函数运行到此为止,它后边的代码都不会执行! 
*/

int f(){
	
	printf("a");
	printf("b");
	printf("c");
	
	return 777;
}

int main(){
	int rst = f();
	printf("%d",rst);
	return(0);
}

image.png

函数有三个要素: 功能,参数,返回值。

有4种调用方式

1.将函数作为表达式调用。

2.作为语句调用。

3.作为函数的实参调用。

4.在一个函数中调用另一个函数

#include <stdio.h>
// 函数有三个要素: 功能,参数,返回值。

/*
有4种调用方式
1.将函数作为表达式调用。
2.作为语句调用。
3.作为函数的实参调用。
4.在一个函数中调用另一个函数 
*/


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 getBig(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); // 
	
	

运行结果

image.png