已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言基础自学总结之五:函数例子1:#include int main(void) int i,j; for (i=0; i3; i+) for (j=0; ji; j+) printf(*); printf(*n); return 0;将一些繁琐的,反复使用的,重复使用的代码,封装成一个函数。调用函数就会运行这些代码。例子2:#include void func(void)/把例子1这些函数封装成func函数中。备调用。int i,j; for (i=0; i3; i+) for (j=0; ji; j+) printf(*); printf(*n); return;/返回到main函数 int main(void)/main函数,主函数。一个程序里面有多个函数,首先从main函数开始执行,到最后在main函数结束。 func(); /封装成func函数中,要用的时候就直接调用。 func(); func(); return 0;一、函数的参数和返回值1、返回值例子1:返回值#include void func(void)/void,为函数的返回值类型,void意思为空,也就是没有返回值。func函数的返回值是func 前面的如,int func(void),返回值类型就是int printf(hello world!n); return;/如果上面有返回值也就是int func(void)时,这里就具有一个返回的值,应写成return 10;也就时有一个返回“值”,return为返回,”10“是个值。int main(void) func();/当上面func有返回值的时候也就是为int func(void)这里调用写成,int retfunc()。 /返回值就是函数调用表达式的值。func()是函数调用表达式,这个表达式整体的值就是上面函数返回的值”10“,我们把这个返回值赋给ret。 /不能返回一个函数内的局部变的地址。应为局部变量的地址,在调用完毕就会消失。 return 0;2.参数例子1:参数#include void func(int a)/形参,这里的为形参 /func(void),()里的就是参数,void为空,就是没有参数,参数是一个变量如:void func(int a),可有一个参数,也可为多个参数,称为形参 printf(%dn,a); return;int main(void) func(5);/实参,当要调用一个带参数的函数的时候需要传参,()里的参数叫做实参就是func(5)实参5,相当与写成a5,实参是一个数值或者一个表达式,就是将实参的值赋值给形参 /上面就传参:就是用实参给形参赋值; return 0;例子2:#include int add(int a,int b)/一个计算加法的函数,形参可以有多个变量 return a+b;/返回值也可以是表达式,int main(void) printf(%dn,add(3, 5);/add(3,5)调用函数,并用实参给形参int a赋值为3,int b赋值为5,并调用这个函数,得出函数的返回值“ab”。返回值就是函数调用表达式的值。 return 0;二、数组的值传递和弟子传递1、传值例子1:传值#include void func(int a) a+; return;int main(void) int a=0; func(a);/只能把a值传个形参,不能传a这个变量。两个函数中的a不是同一个a所以a0. printf(%dn,a); return 0;2、传地址例子1:传地址#include void func(int *p)/传参就是赋值。p&a *p=9; return;int main(void) int a=0; func(&a);/传一个地址,是可以的,这就是地址传递,这里传的是a的地址,不是a /要修改一个变量,传参要传变量的地址。 printf(%dn,a); return 0;例子:交换值#include void swap(int *a,int *b) int tmp=*a; *a=*b; *b=tmp; return;int main(void) int a=3,b=4; printf(a:%dnb:%dn,a,b); swap(&a,&b);/交换,自定义函数名 printf(a:%dnb:%dn,a,b); return 0;3、数组的传参例子1:数组的传参#include void change(int *p)/改变函数,自定义 int i; for (i=0; i5; i+) pi=1; void print(int *a) printf(%dn,a1);/a1就是(a+1) int i; for (i=0; i5; i+) printf(%dn,ai
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金堂品牌物业服务合同
- 教师最少几年签合同
- 房东给租客买菜合同
- 无锡码头井盖采购合同
- 2025浙江丽水市松阳县粮食收储有限公司定向培养粮油储检人员毕业生拟聘人员笔试历年参考题库附带答案详解
- 砍伐桉树林合同范本
- 支付双倍工资协议书
- 推介服务协议书范本
- 提车前的合同叫协议
- 无尘室改造合同范本
- 2026年国家电网招聘之通信类考试题库300道【a卷】
- 大学生AI智能图文生成创业计划书
- 论功能对等理论下的散文翻译-以《落花生》为例
- 高校招生就业年度工作总结范本
- 2025年秋新国家开放大学国开电大机考期末国际法机考期末试卷参考试题及答案
- 痴呆病人的护理
- 竞聘库房管理岗位
- 《多元统计分析及R语言建模》-第6章 判别分析及R语言使用
- 2025年合肥水务集团有限公司招聘21人笔试考试备考试题及答案解析
- 淮海战役教学课件
- 2025年及未来5年市场数据中国线性驱动器行业发展前景及投资战略咨询报告
评论
0/150
提交评论