C++高级语言程序设计第5章.ppt

  1. 1、本文档共161页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C高级语言程序设计第5章

* 北京邮电大学信息与通信工程学院 -*- #define指令还可以定义带参数的宏,例如: #includeiostream using namespace std; #define MIN(a,b) (ab?a:b) void main() { int x,y; cout”input x,y:”; cinxy; cout”minimum:”MIN(x,y); } * 北京邮电大学信息与通信工程学院 -*- #includeiostream using namespace std; #define MAX(a,b) (ab?a:b) void main() { int x,y; cout”input x,y:”; cinxy; cout”maximum:”MAX(x,y); } #define指令还可以定义带参数的宏 总结 函数的知识:函数的引入、定义、原型声明、函数的参数及函数调用。 函数的一些特殊形式:递归函数、内联函数、具有默认参数值的函数。 变量的存储类型、标识符的作用域。 * 北京邮电大学信息与通信工程学院 -*- * * * 注意解释编译器需要得到的信息 * 注意解释编译器需要得到的信息 * * * * 值传递的例题 * 北京邮电大学信息与通信工程学院 -*- void CircleArea( float radius) { float pi=3.14f; float area=pi*radius*radius; //局部变量pi coutCircle area: area(float)endl; area=::pi*radius*radius; //全局变量pi coutCircle area: area(double)endl; } void main() { float r; coutinput radius: ; cinr; BallVolume(r); CircleArea(r); } * 北京邮电大学信息与通信工程学院 -*- 关于标识符的使用 (1)标项识符应该先声明,后使用。 (2)在同一作用域中,不能声明同名的标识符。 (3)对于两个嵌套的作用域,如果某个标识符在外层中声明,且在内层中没有同一标识符的声明,则该标识符在内层可见;如果在内层作用域内声明了与外层作用域中同名的标识符,则外层作用域的标识符在内层不可见。 5.8.3 作用域 5.9 变量的存储类型和生存期 一个变量在内存中存在的时间取决于变量的存储类型 * 北京邮电大学信息与通信工程学院 -*- 5.9.1 变量的存储类型 C++程序中使用的变量可分为四种存储类型: auto register extern static * 北京邮电大学信息与通信工程学院 -*- auto型变量 auto型变量包括函数体内部定义的局部变量、函数的形式参数,称为自动变量。 * 北京邮电大学信息与通信工程学院 -*- #includeiostream using namespace std; int max(int x, int y) { return xy?x:y; } void main() { int a,b; coutinput a,b:; cinab; coutmax(a,b)endl; } auto int a,b; 5.9.1 变量的存储类型 * 北京邮电大学信息与通信工程学院 -*- 自动变量因其所在的函数被调用而产生,随其所在的函数调用结束而消失。因为自动变量存于动态存储区,不长时间占据固定内存,有利于内存资源的动态使用,故程序中大量使用的都是自动变量。 5.9.1 变量的存储类型 register型变量 寄存器型变量 定义格式: register 类型标识符 变量标识符; 例: register int counter; 访问寄存器中的变量要比访问内存中的变量速度快,但由于寄存器数量有限,如果设置过多的register型变量,编译器将把这些变量按普通局部变量处理,依然放在内存空间 * 北京邮电大学信息与通信工程学院 -*- 5.9.1 变量的存储类型 extern关键字 多个源文件程序结构 在多文件程序结构中,如果一个文件中的函数需要使用其它文件里定义的全局变量,可以用extern关键字声明所要用的全局变量。 * 北京邮电大学信息与通信工程学院 -*- //file1.cpp int x,y; void main() { … } //file2.cpp extern int x,y; void fun() { … }

文档评论(0)

love1987421 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档