教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 行业范文 >

第5章 函数和编译预处理

来源:网络收集 时间:2026-08-25
导读: c++ Visual C++程序设计 第5章 函数和 编译预处理 c++ 第5章 函数和编译预处理5.1 函数的定义和调用 5.2 函数的形参、实参、返回值及原型说明5.3 函数的嵌套和递归调用 5.4 作用域和存储类 5.5 内联函数 5.6 具有缺省参数值的函数 5.7 函数的重载5.8 编译预

c++

Visual C++程序设计

第5章 函数和 编译预处理

c++

第5章 函数和编译预处理5.1 函数的定义和调用

5.2 函数的形参、实参、返回值及原型说明5.3 函数的嵌套和递归调用 5.4 作用域和存储类 5.5 内联函数 5.6 具有缺省参数值的函数

5.7 函数的重载5.8 编译预处理

c++

5.1 函数的定义和调用

5.1.1 函数概述 1. 函数概念 具有独立功能的程序段;模块化的程序设计思想。例如:求5~100之间的所有素数。 思路:定义函数 f 判断某数是否为素数。主函数中遍历 5~100之间所有的数,通过调用 f 函数判断其是否为素数。 int f(int n) //f函数:若n是素数值为1,否则值为0 {…} void main() //主函数 { for(int n=5;n<=100;n++) if(f(n))…; }

c++

5.1 函数的定义和调用2. 函数的组成函数类型 函数名称 函数形参 //函数头部 //函数体

void {

main ( void ) ... }

3. 函数种类 (1)主函数、库函数、自定义函数; (2)有参函数、无参函数; (3)有返回值函数、无返回值函数等。

c++

5.1 函数的定义和调用5.1.2 函数定义 1. 定义格式 函数类型 函数名称 ( 形参列表) { ... } //函数体例5-1 定义一个函数sum,求两个实数的和,

要求得到(返回)其和。

2. 定义时的注意问题(1)函数的缺省类型为整型; (2)没有参数时,只写括号()或(void); (3)函数体写在一对{ }中。

c++

5.1 函数的定义和调用5.1.3 函数调用1. 调用格式 函数名(实参列表)

2. 函数之间的关系 函数之间通过调用语句建立联系,通过参数和返回 值实现函数间的传递数据。如: float sum(float x,float y) { return x+y; }void main() { float a=6.6,b=8.8,s; s=sum(a,b); cout<<“sum=”<<s<< \n ; }

c++

5.1 函数的定义和调用5.1.3 函数调用3. 函数的调用过程 float sum(float x,float y) { ... } } 所调用的函数

void main(){...; s=sum(a,b); ...; 主函数

函数调用语句 传递参数和返回值 结束

执行所调用的函数

c++

5.2 函数的形参、实参、返回值及原型说明5.2.1 函数的形参与实参void f( float x , int y ) { cout<<x<< \t ; cout<<y<< \n ; } void main() 2. 实参 { float b=8.8; 调用函数时的参数。 f( 6 , b ); (1)实参没有有类型,只有名称; (2)实参可以是常量、变量、表达式; } (3)实参与形参必须个数相等,类型一致。 3. 实参、形参之间的数据传递 (1)传递过程:先计算实参的值,再把计算结果赋给形参; (2)传递方式:值传递、地址传递、引用传递。1. 形参 定义函数时,在头部列举的参数。 (1)每个形参都有类型和名称组成; (2)形参之间用 ,分隔。

c++

5.2 函数的形参、实参、返回值及原型说明函数的值传递,只能把实参传递给形参, 不能把形参传递给实参,是单向传递。例5-2 函数的值传递

#include <iostream.h> void swap(float x,float y) { cout<<x<< \t <<y<< \n ; float t; t=x; x=y; y=t; cout<<x<< \t <<y<< \n ; } void main(void) { float a=40,b=70; cout<<a<< \t <<b<< \n ; swap(a,b); cout<<a<< \t <<b<< \n ; } main( ) a 40 b 70 swap(a,b)

x=a,y=bswap() x 70 40 y 70 40

t

40

c++

5.2 函数的形参、实参、返回值及原型说明5.2.2 函数类型与返回值1. 函数类型是指函数运行结果(返回值)的数据类型。 例5-3 定义函数getmax,求(返回)两个数中的大数。 例5-4 定义函数showmax,输出两个数中的大数。 2. 有值型函数一定有return语句,且return后一定有表达 式,其值为函数运行结果(主调函数中函数调用语句的 值);此时return语句的格式为:return 表达式; 3. 无值型函数一般没有return语句,即使有return语句, 也只能是: return ;

4. 函数调用过程中一旦执行了return语句,则立即结束函 数调用;否则自动运行到函数结尾而结束。5. 有值型函数与无值型函数调用语句的区别。

c++

5.2 函数的形参、实参、返回值及原型说明说出下列函数定义错误的原因,并改正错误。void f1(int a,float b) { return a+b; } float f2(int a,float b) { cout<<a+b<< \n ; }

c++

5.2 函数的形参、实参、返回值及原型说明指出函数f1与f2、f3与f4的区别。int f1(int a,int b) { if(a>b)return a; else return b; } int f3(int x) { for(int i=2;i<x;i++) if(x%i==0)return 0; return 1; } int f2(int a,int b) { if(a>b)return a; return b; }

int f4(int x) { for(int i=2;i<x;i++) if(x%i==0)return 0; else return 1; }

c++

5.2 函数的形参、实参、返回值及原型说明例5-5 设计一个程序,求出5~100之间的所有素数,要求每 行输出5个数。判断一个整数是否为素数用一个函数来实现。算法分析: (1)定义函数fun,判断某个整数是否为素数,通过整型形参 x带入要判断的数。 (2)定义整型变量p表示x是否为素数,若x是素数p为1(真), 否则p为0(假)。 (3)fun函数返回p的值(1或0),故函数类型为int。 程序结构: int fun(int x); // 判断x是否为素数 void main();//调用fun函数,找出5~100之间的素数

c++

5.2 函数的形参、实参、返回值及原型说明5.2.3 函数的原型说明1. 函数的定义通常在函数调用之前。 2. 若函数先调用后定义,则在调用之前必须进行说明, 称为函数的原型说明,其格式为: 函数类型 函数名称(参数列表); 3. 函数的原型说明必须与定义一致,其中参数可以只有 类型,没有名称。 4. 关于函数的语句有三种,请加以区别: (1)函数定义性说明,简称函数定义; (2)函数引用性说明,简称函数原型说明; (3)函数调用。

c++

5.2 函数的形参、实参、返回值及原型说明指出下列函数错误的原因,并改正错误。void int print(x)

; print(int y); x); void main() { int x=5; void print(int); int f(int x) x); { return x*x; } void print(int x) { y=int f(int x); int y=f(x); cout<<y<< \n ; }

print( x );}

c++

5.3 函数的嵌套和递归调用5.3.1 函数的嵌套调用1. 概念:在调用函数的过程中,再去调用函数。如: void f2( ) { void f1( ) { …; …; f2( ); …; } }

void main( ) { …;

f1( ); …;

}

2. 函数可以嵌套调用,但不允许嵌套定义。如: void main() //定义主函数 { …… int f () { …… } //定义子函数F …… }

…… 此处隐藏:1691字,全部文档内容请下载后查看。喜欢就下载吧 ……
第5章 函数和编译预处理.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/985124.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)