c语言谭浩强第八章函数PPT,[高等教育]经典C语言课件 谭浩强版 第八章 函数.ppt...

[高等教育]经典C语言课件 谭浩强版 第八章 函数

第八章 函数

8.1 函数概述

8.2 函数定义的一般形式

8.3 函数参数和函数的值

8.4 函数的调用

8.5 函数的嵌套调用

8.7 数组作为函数参数

8.8 局部变量和全局变量

8.9 变量的存储类别

8.1 函数概述

一、有关C 函数的介绍

一个源程序文件由一个

或多个函数组成(一个源

程序文件是一个编译单位)

2. 一个C程序由一个或多个

源程序文件组成

3. C程序从main函数开始执行,

调用其他函数后再返回到main 函数

4. 所有函数都是平行的, 定义函数时是互相独立的,

函数之间可以互相调用, 但是不能调用main函数

#include

#include

main( )

{ int a, b, c;

scanf(“%d%d”, &a, &b) ;

c=a+abs(b);

printf(“c=%d\n”, c);

}

二、C 函数的分类

1. 从用户使用角度分为: 标准函数和用户自定义函数

2. 从函数的形式分为: 无参函数和有参函数

#include

int max(int x, int y)

{ int z;

if (x>y) z=x;

else z=y;

return(z);

}

main( )

{ int a,b,c;

scanf(“%d%d”,&a,&b);

c=max(a,b);

printf(“max=%d”,c);

}

函数定义

函数调用

形式参数

#include

main( )

{ printf(“******\n”);

printf(“ good \n”);

printf(“******\n”);

}

#include

list()

{ printf(“******\n”); }

main( )

{ list( ) ;

printf(“ good \n”);

list ( );

}

实在参数

8.2 函数定义的一般形式

1. 定义格式 : 函数类型 函数名 ( 形式参数表)

函数体

2. 说明

(1) 函数名 : 用户定义的合法标识符

(2) 函数的类型 : 函数返回值的类型

若返回值为 int 类型 函数定义时可省略不写

若函数无返回值即“无类型”函数(void)

list()

{ printf(“******\n”); }

(3) 形式参数

① 书写格式 : 每一个参数都要写上数据类型和参数名,参数之间以逗号分隔。

② 作用 : 表示将从主函数中接收哪些类型的信息

例 : int max( int x , int y )

{ int z ;

z = x > y ? x : y ;

return( z ) ;

}

(4) 函数体 : 由变量声明和语句组成

① 函数体内定义的变量是局部量, 只在执行该函数时存在

② 函数体可以为空(即存在空函数) f () { }

8.3 函数参数和函数的值

一、形式参数和实在参数

1. 形式参数 : 在定义函数时写在函数名后面的括号 内的变量

2. 实在参数 : 在调用函数时写在函数名后面的括号内的变量

3. 说明

程序在编译时不为形参分配存储空间, 只有当函数被调用时, 形参被分配存储空间, 在调用结束后, 形参所占的空间被释放

(2) 实参可以是常量, 变量或表达式(有确定的值)

(3) 实参和形参的类型应相同或赋值相容

(4) 实参对形参的数据传递是“值传递”, 即单向传递

二、 函数的返回值

1. 函数的返回值通过函数中return语句获得

return语句的作用: 使流程返回主调函数 ;

将函数值送回到调用表达式中

2. 函数类型决定函数返回值的类型

一般函数值的类型和return语句中表达式的类型应一致如果二者不一致, 则以函数值的类型为准

3. 有的函数中没有return语句, 因为它不需要带回值, 这时可以将函数类型定义为 void 型

void list( )

{ printf(“******\n”); }

4. 一个函数允许有一个或多个return语句, 但每个return后的表达式类型要相同; 当执行到其中任何一个return语句时会立即返回主调函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值