- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
六、七 总结与练习
【要点归纳】
函数定义
函数定义的格式有两种,即传统格式和现代格式。
传统的函数定义的一般格式如下:
存储类别 数据类型 函数名(形参表)
形参说明语句序列;
{
说明语句序列;
可执行语句序列;
}
现代的函数定义的一般格式如下:
存储类别 数据类型 函数名(形参说明表)
{
说明语句序列;
可执行语句序列;
}
函数调用
C语言中函数调用的一般格式如下:
函数名(实参表)
注:在调用函数时,实参与形参的个数必须相等,对应类型应一致,实参与形参按对应顺序一一传递数据。
被调函数说明
在程序中调用一个函数时,需要说明该函数的数据类型,这称为函数说明。函数说明在程序的数据说明部分。
传统的函数说明格式如下:
数据类型 函数名();
现代的函数说明格式如下:
数据类型 函数名(形参说明表);
或
数据类型 函数名(形参数据类型表);
函数的存储类别
在C语言中,函数可分为static型和extern型两种。
extern型函数
在定义一个函数时,若指定函数的存储类别为extern关键字,则称该函数为“外部”函数,其基本特征是:该函数可以被其他编译单位中的函数调用。
static型函数
在定义一个函数时,若指定函数的存储类别为static关键字,则称该函数为“静态”函数,其基本特征是:只限于本编译单位中的其他函数调用它,而不允许其他编译单位中的函数调用它。
函数参数的计算顺序
在Turbo C中,函数参数的计算顺序是从右向左进行的。
变量的作用域
从作用域的角度看,C语言的变量分为局部变量和全局变量。
局部变量
在函数内部或复合语句内定义的变量称为局部变量,也称为内部变量。函数的形式参数也属于局部变量。
全局变量
在函数外部定义的变量称为全局变量。全局变量的作用域是从该变量定义的位置开始,到整个源文件结束止。
变量的存储类别
C程序在内存中的存储映象如下图所示:
⑴局部变量的存储类别
auto局部变量
register局部变量
static局部变量
⑵全局变量的存储类别
static全局变量
extern全局变量
函数的数据传递方式
C语言的参数传递均为单向的值传递,但值又分为普通数据和地址值两种。
⑴数据复制方式传递数据
其特点是:由于数据在传递方和被传递方占用不同的内存空间,所以接收被传递数据的变量在被调用函数中无论如何变化,都不会影响调用的函数中相应的实参值。
⑵地址传递方式传递数据
地址传递方式传递数据时传递的不是数据本身,而是存储该数据的地址。
其特点是:由于数据无论是在调用的函数中还是被调用函数中都使用同一个存储空间,所以被调用函数对该存储空间的值做出某种变动后,必然会影响到使用该空间的调用函数中的变量的值。
⑶return传递数据
⑷全局变量传递数据
宏是一种预处理命令,根据是否带参数,可分为无参宏和带参宏
⑴无参宏
无参宏定义语句的一般格式如下:
#define 标识符 字符串
无参宏用一个简单的名称“标识符”代替一个长的“字符串”。这个标识符称为“宏名”,在预编译时将宏名替换成字符串的过程称为“宏展开”或“宏替换”。
注:宏名习惯上用大写字母表示,以与变量名相区别。
⑵带参宏
带参宏定义语句的一般格式如下:
#define 标识符(标识符1,标识符2,…,标识符n) 字符串
文件包含格式:
#include包含文件名
或
#include“包含文件名”
【本节选题】
【例1】以下错误的说法是:C语言规定 B 。
A.实参可以是常量,变量,或表达式
B.形参可以是常量,变量,或表达式
C.实参可以为任何类型
D.形参应与其对应的实参类型一致
【例2】下列程序段的输出是_____。
int f(int m)?????????????????????
{?? static int k=0;
???int s=0;???????????
??????? for(; k=m; k++) s++;
??????? return s;
}
void main( )
{? int s1, s2;
?? s1=f(5);
?? s2=f(3);
?? printf(%d %d\n, s1, s2);
}
在C 语言程序中,在函数内部定义的变量称为______。
A、全局变量???? B、全程变量??? C、外部变量? D、内部变量以下程序运行后的输出结果是fun(int a, int b){ if(ab) return(a);else return(b);}main(){ int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf(%d\n, r);}A、3
文档评论(0)