- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章自义函数设计
解析C程序设计》第3章 自定义函数设计 课堂练习 计算两个实数之和,要求用自定义函数实现。 举一反三 【例3-3】比较年龄的大小。源代码如下: #include stdio.h void main() { int yourAge,hisAge,max; printf(Please enter your age: ); scanf(%d,yourAge); /*输入你的年龄yourAge */ printf(Please enter your friends age: ); scanf(%d,hisAge); /*输入你朋友的年龄hisAge */ max=(yourAge = hisAge) ? yourAge: hisAge; /*条件运算符*/ printf(The older age is=%d\n,max); } 课堂练习 用静态变量实现计算1~5的阶乘。 【例3-11】计算一个数的立方。源代码如下: #include stdio.h void cude(); void main() { extern N; /* 扩展全局变量N的作用域 */ printf(Input a number: ); scanf(%d,N); cude(); /* 计算立方值 */ printf(%d\n,N); } int N; /* 定义全局变量 */ /* 计算立方值 */ void cude() { N=N*N*N; } 第一次课后作业 1.阅读教材第3章 2.习题3.4、习题3.5、习题3.10 第一次课后思考题 【思考题3-13】在同一个程序中能否定义两个相同的函数?同一个函数中,能否定义两个相同的变量名? 【思考题3-14】在不同的函数中定义相同的变量名是否对其他函数中的相同变量有影响? 第二次课后作业 1.阅读教材第3章 2.习题3.5、习题3.6、习题3.12 第二次课后思考题 怎样判断一元二次方程有无实根? 怎样在一个程序中判断多个年份是否闰年? 函数的形式参数也是局部变量。 main函数中定义的变量也只有在main函数中有效,而主函数也不能使用其它函数中定义的变量。 如上面两数交换的问题,main函数中的a和b两个变量只有在main函数中有效,而在swap函数中无效;swap函数中的形式参数x和y也只在swap函数中有效,而对main函数不起作用。因此,输出的a、b和x、y两组变量的值是各不相同的。 全局变量 在函数之外定义的变量称为全局变量。 与局部变量不同,全局变量可以为本文件所有函数所共有。它的有效范围从定义变量的位置开始到本源文件结束。 #include stdio.h int a=3,b=8; void swap(); void main( ) { b=5; printf(11 a=%d, b=%d\n,a,b); /* 调用交换函数之前 */ swap(); /* 调用交换函数swap */ printf(12 a=%d, b=%d\n,a,b); /* 调用交换函数之后 */ } void swap() /* 函数定义 */ { int t; printf(21 a=%d, b=%d\n,a,b); /* 交换变量值之前 */ t=x; a=b; b=t; /* 本行的3句:交换变量a,b的值 */ printf(22 a=%d, b=%d\n,a,b); /* 交换变量值之后 */ } 运行结果 11 a=3, b=5 21 a=3, b=5 22 a=5, b=3 12 a=5, b=3 从结果可知,变量的值得到交换。原因是使用了全局变量,无论是主函数还是其他函数使用的变量都是同一个。 变量的存储类型 从变量的作用域角度来分,变量可以分为: 全局变量 局部变量 从变量值存在的时间(即生存期)角度来分,变量可以分为: 静态存储方式 动态存储方式 静态存储方式是指:程序运行期间分配固定的存储空间,该空间从分配时刻开始存在,直到程序运行结束才释放。 动态存储方式是指:程序运行期间根据需要动态分配存储空间,该空间使用结束后自动释放,下次需要时再分配。 根据冯?诺依曼原理可知,程序和数据均存储在存储器中。 在内存中,供用户使用的存储空间分为三部分:程序区、静态存储区、动态存储区。 用户编写的程序存放在程序区,而数据存放在静态存储区和动态存储区。 变量的存储类型 (1)自动型a
您可能关注的文档
- 白居易在州.ppt
- 白户怎样成良好信用?.pptx
- 白酒公关购操作手册.ppt
- 白内障讲PPt.ppt
- 白居易和乐府运动.ppt
- 画画你我.ppt
- 百丽企业化.ppt
- 百货商场办事宜及招商管理.doc
- 白光LE的发展史.ppt
- 畜牧场设图的识别.ppt
- 2024年江西省寻乌县九上数学开学复习检测模拟试题【含答案】.doc
- 2024年江西省省宜春市袁州区数学九上开学学业水平测试模拟试题【含答案】.doc
- 《GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语》.pdf
- 中国国家标准 GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语.pdf
- GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- 《GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构》.pdf
- 中国国家标准 GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 中国国家标准 GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 《GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南》.pdf
文档评论(0)