- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章函数与预处理概要
第 四 章
函数与预处理;第四章 函数与编译预处理;C/C++ 源程序结构;模块划分
像组织机构一样,要做到:分工有序、各司其职
按功能划分函数 —— 分治策略(分解 + 求解)
大问题→小问题→更小问题→... →可简单求解:函数
层层分解:自顶向下、从整体到局部、从大到小;函数(function)
源程序的组成单位 —— 函数
一个cpp:由若干个函数组成
主函数: main(),程序入口
其他函数:自编函数 + 库函数
函数调用:主函数不能被调用,可调用其他
程序结束:主函数开始 → 主函数结束
库函数
VC++ 提供的、已编写好的函数,放在库中
用户(我们)可以直接调用,不必重复编写
自编函数
我们自己编写的函数 —— 我们的任务!;定义函数 编写函数功能,函数的实现
返回值类型 函数名( 形式参数 )
{ // 函数体开始
... ; // 若干语句,一般不超过50行
} // 函数体结束
【例】求两个整数中的最大值
int myMax( int x, int y ) // 多个参数用逗号分隔
{
int m = xy ? x : y ;
return m; // m 类型:int
} ;先定义,后使用(调用)
函数名( 实参 ) 实参:常量、变量、表达式均可;定义函数;函数定义的位置和顺序:C++ 没有规定,但要满足
先定义、后使用(调用)
—— 编译器从上到下逐句编译,未定义的使用:语法错
什么情况下,函数必须提前说明(声明)
先调用、后定义 例如 main 在其他函数前面
在调用某函数前,用它的函数原型声明 理由
—— 告诉编译器:该函数名及特征
函数定义 = 函数头 + 函数体
函数原型 ≈ 函数头:
void ShowMax( int m, int n ); // 后面有分号
参数变量名 m , n 可省略
void ShowMax( int , int );;参数的传递方式 ;函数无返回值
return ; // 可以省略
函数的最后一条语句执行完毕后终止,返回到调用处,程序从调用处继续执行
函数有返回值
必须用 return 语句返回值到调用处,语法:
return 表达式 ;
一个函数只能有一个返回值(不能返回多个值)
函数是如何将值返回给调用处的?
自动创建一个临时变量保存值,将其返回给调用处;【例】求10~1000内所有 x,满足:
x, x2, x3 都是回文数 正反读都一样;例:函??设计与使用;形参可有默认值
给形参指定值 默认值 ,函数调用时实参可省略 用默认值
void showArea( float length=1.0, float width=2.0 );
void main()
{ showArea( ); // 缺2个实参
showArea(10.); // 缺1个实参
showArea(20.0, 3.5); // 覆盖形参缺省值
}
void showArea( float length, float width )
{ coutarea=length*widthendl; };形参的默认值;引用 ( reference )
给一个变量已定义取别名 允许多个别名
变量类型 变量别名 变量名
操作引用:就是操作被引用的变量
定义引用:必须指明被引用的变量 初始化
int x, y, z = x; // 变量x的别名z
y = 200; z = y; // z 就是 x
z = y; // ERROR
int z = y; // ERROR
参数传递:单向传值、引用实现双向传递;引用作为形参;局部变量 绝大多数情况使用
生存期(诞生 → 死亡)
诞生:占有内存单元,定义/创建变量时
死亡:内存中不存在,定义它的语句块{...} 执行完毕
作用域(可见性)
变量在内存中存在,但并非谁都能用它
在定义它的 {...} 内能使用它
其外面,它已经死亡
操作系统把它从内存删除了
简单例子:;void main( )
{
int s; // 创建:开内存空间
for( int i=0; i10; i++)
{
s += i; cout i;
}
cout s;
//cout i; //error
};全局变量
生存期
定义:任何函数体包括main() { ... } 外面的任何位置
诞生:本程序开始运行时,并非
您可能关注的文档
最近下载
- 初中英语《比较级和最高级》课件.pptx VIP
- 13、公路工程预算定额JTG-T B06-03-2007.doc VIP
- 微信公众号外包方案.docx VIP
- 2008年修电脑1400张照片连接.docx VIP
- 抽水试验报告-1.docx
- 可行性研究报告财务分析自动计算电子表格资料.xls VIP
- 方正证券-电子行业深度报告:光刻胶研究框架2.0,详解上游单体、树脂、光酸、光引发剂-220125.pdf VIP
- 2025年中国康复医疗产业市场前景分析与投资建议报告.docx
- 奶牛养殖场建设项目可行性实施报告可行性实施报告.docx
- 2025年中国共青团入团团员必知知识考试题与答案 .pdf VIP
文档评论(0)