C语言第七章函数的定义

第七章函数的定义

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
 //函数的基本概念
 //函数的定义和函数返回值
 //函数的定义 也相当于声明了 
 //void  表示函数没有函数返回值 无形参时就写() 里边啥也不写 
void printhello(){//自定义函数 咱们自己写的 

	printf("hello,How are you\n"); 

}
//有返回值 有形式参数
int addtwoshu(int a,int b){//a b就叫形式参数 形式参数的目的表示有数据传递到本函数来,用这些参数接收传递进来的数据 

	int c = a + b; 

  	return c; //return是返回值给调用者 一般是调用者会用赋值语句接收该值

}

int whichmax(int a,int b){
	if(a>b){
		return a; 
	}else{
		return b; 
	}
}
int testf(){//如果你实际返回的类型 和 函数定义的返回值类型不同时,则系统会自动转换成函数返回值类型
 
	return 3.45F;
    //输出就会成为3; 转成int型 
}
 
int main(int argc, char *argv[]) {
	
	//main函数是整个程序的入口函数  称为主函数 
	//把自己写的函数放在main()函数前面 就可以解决先声明的问题 
	printhello(); //调用一个函数之前 必须先进性声明
	printhello(); 
	
	//a 一个文件里有一个或者多个函数 这个文件我们就称为源程序文件
	//b 大项目中 源程序不能都放在一个文件里 行太多 所以一个C项目只有一个或者一个多个源文件组成 
	//这些个函数分别可以放到这些源程序文件里内并被所有源文件公用
	//c C程序可以从main函数开始执行,最终也是从main函数中结束整个程序的运行 
	//d 函数不可嵌套就是说 函数里面不可以写函数 
	//函数之间可以互相调用 main函数除外  main函数是系统才可以调用 不要手动调用main 
	//函数大概分两类:
		//库函数 printf() 可以直接使用 不需要我们自己定义 strcpy strcmp 
		//自定义函数 printhello() 用于解决我们自己的需求 
	
	//函数的定于和返回值
	//函数的参数:就是 我调用函数时 希望把一些数据传递给该函数 该函数就需要用一些变量来接受数据
		//接受数据的变量 就叫函数参数
	
	//函数定义的一般形式:
	//返回类型 函数名(形式参数列表) //记住这个函数 函数里边的参数叫形式参数 简称形参
	//{
	
	//  ....
	//  语句
	//  return 返回值; 
	
	//}
	//a 无返回值类型 无形参 void printhello(){} 必须加void 
	//b 有参数有返回值
	int a = addtwoshu(2,5); //2,5叫实际参数 简称:实参 
	//用赋值语句进行接收 
	printf("a:%d\n",a);
	//return 0;
	
	//函数定义的第一行是没有分号的
	//形式参数在函数调用之前不分配内存 调用的时候分配内存 函数调用结束后,形式参数的内存都被释放了,所以形式参数只能在函数内部使用
	//实际参数 可以是常量 可以是变量 可以是表达式:
	int i = 5,j = 8;
	a = addtwoshu(i,j);
	printf("a:%d\n",a);
	//如果实际参数和形式参数为数组名(数组名代表的是数组首地址)则传递进去的是数组首地址而不是变量值
	//形参数量和实际参数数量应该是一样的 保持一致的 
	
	//C语言规定 实参变量 对形参变量的数据传递是 "值传递" 也就是单项传递 只由实参传递给形参 不可以由形参传给实参
	int x = whichmax(3,7);
	printf("max:%d",x); 
	
	//一遇到return 函数就会跳出,后面的语句将不会被执行 
}

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值