- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数声明 对被调用函数要求: 必须是已存在的函数 库函数: #include *.h 用户自定义函数: 函数声明 函数声明 一般形式: 函数类型 函数名(形参类型 [形参名],….. ) 作用:告诉编译系统函数类型、参数个数及类型,以便检验 函数声明位置:主函数之前或者主函数内调用函数之前 6.8 函数应用综合举例 设计思想:对于输入的四个数a,b,c,d,我们可以先判断两个数,如a,b的最大值,然后用c与第一次所求的结果比较,得到a,b,c中的最大值,最后再用d与第二次求得结果进行比较。求最小值的方法同上 3、静态变量(static型变量) 静态变量 静态变量的类型说明符是static。 静态变量属于静态存储类型。 静态变量可以用来存放全局变量和静态局部变量。 静态局部变量 在局部变量的说明前加上static就构成静态局部变量 ,它有如下特点: 占据固定的存储单元,直到程序结束才释放。 作用域只能在所声明的函数内有效 如果没有赋初始值,系统自动赋0,并且以后调用时使用前一次调用保留的值。 例如: static int a, b; static char c; #include stdio.h void main ( ) { int i; void func ( ); //函数说明 for (i = 1; i = 5; i++) func ( ); //函数调用 } void func ( ) //函数定义 { int j = 0; ++j; printf (%d , j); } #include stdio.h void main ( ) { int i; void func ( ); //函数说明 for (i = 1; i = 5; i++) func ( ); //函数调用 } void func ( ) //函数定义 { static int j = 0; ++j; printf (%d , j); } 局部变量 静态变量 运行结果: 1 1 1 1 1 运行结果: 1 2 3 4 5 静态全局变量 全局变量(外部变量)的说明之前再冠以static就构成了静态全局变量。 全局变量改变为静态变量后改变了它的作用域,限制了它的使用范围。当一个源程序由多个源文件组成时,非静态的全局变量可通过外部变量说明使其在整个源程序中都有效。而静态全局变量只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能通过外部变量说明来使用它。 prg1.cpp int a, b; static char ch; void main ( ) { …… } prg2.cpp extern int a, b; extern char ch; int func (int x, int y ) { …… } 外部(全局)变量定义 静态全局变量定义 错误! 6.7 宏定义 宏定义分为两种:不带参数的宏定义和带参数的宏定义。 1、不带参数的宏定义 一般形式 #define 标识符 字符串 指令名称 宏名,被定义代表后面的单词串 宏体,是宏的内容文本 功能 用指定标识符(宏名)代替字符序列(宏体) 如 #define YES 1 #define NO 0 #define PI 3.1415926 #define OUT printf(“Hello,World”); #define SIZE 10 #define INT_STR %d\n void main ( ) { int a; a=SIZE; printf(INT_STR,a) } 宏定义 void main ( ) { int a; a=10; printf (%d, a); } 预编译处理后 注意:宏替换时仅仅是将源程序中与宏名相同的标识符替换成宏的内容文本,并不对宏的内容文本做任何处理。 宏定义注意事项 C程序员通常用大写字母来定义
文档评论(0)