c语言递归函数变量作用域,C语言课程变量的作用域和生存周期、递归.ppt
C语言课程变量的作用域和生存周期、递归
函数的定义和函数的调用 函数定义格式: 返回值类型 函数名(类型 参数1,类型 参数2,…) { 函数体 return 表达式; } 函数调用格式: 函数名(参数1,参数2,…); 函数定义的语法远比函数调用的要严格很多 函数原型 函数和变量一样,要先定义后使用 如果函数调用出现在函数定义之前,必须使用函数原型说明该函数有几个参数,参数的类型,和返回值的类型,才能保证编译器正常完成工作 示例 double add(double,double); int main() { …… add(a,b); return 0; } double add(double x,double y) { …… } 对函数接口加以注释说明 /* 函数功能:实现××××功能 函数参数:参数1,表示××××× 参数2,表示××××× 函数返回值: ××××× */ 返回值类型 函数名(参数表) {函数体return 表达式; } 主要内容 变量的作用域和生存周期 函数的嵌套调用和模块化原则 函数的递归调用 重点 & 难点 变量的作用域和生存周期 重点、难点 模块化原则 重点、难点 需要实践和经验 函数的递归调用 难点 变量的作用域 #include int main() { int a = 1; { int a = 2; printf("In the INNER block, a = %d\n", a); } printf("In the OUTER block, a = %d\n", a) return 0; } #include int main() { int a; { int b; { int c; a = 0; b = 0; c = 0; d = 0; } a = 0; b = 0; c = 0; d = 0; } { int d; a = 0; b = 0; c = 0; d = 0; } a = 0; b = 0; c = 0; d = 0; return 0; } 比较两程序 #include int main() { int a = 3, b = 5,temp; printf("before swap,a=%d,b=%d",a,b); temp = a; a = b; b = temp; printf("after swap,a=%d,b=%d",a,b); return 0; } #include void swap(int a,int b) { int temp; temp = a; a = b; b = temp; } int main() { int a = 3, b = 5,temp; printf("before swap,a=%d,b=%d",a,b); swap(a,b); printf("after swap,a=%d,b=%d",a,b); return 0; } 说明 被大括号括起来的区域,叫做语句块(Block) 函数体、循环体、分支结构都可以看作语句块 变量的作用域规则是: 每个变量仅在定义它的语句块内(包含下级语句块)内有效,并拥有自己的内存空间 同一语句块内不可以定义同名变量,不同语句块内可以定义同名变量 变量的作用是表征变量的作用范围,属于空间概念 按照变量的作用域,变量可以分为全局变量和局部变量 #include int a = 3, b = 5; //定义全局变量 void swap() { int temp; temp = a; a = b; b = temp; } int main() { printf("before swap,a=%d,b=%d",a,b); swap(a,b); printf("after swap,a=%d,b=%d",a,b); return 0; } #include extern int a,b; void swap() { int temp; temp = a; a = b; b = temp; } int main() { printf("before swap,a=%d,b=%d",a,
c语言递归函数变量作用域,C语言课程变量的作用域和生存周期、递归.ppt相关推荐
- c语言递归函数头文件,C语言函数,递归,功能模块头文件(习题)
递归:直接或者间接调用自身函数 1. 返回值 函数名(形参) { ... 函数名(实参); ... } 注: 1,when从什么时候 2,when到什么时候结束 3,what 每次递 ...
- java 变量作用域 c语言_C语言深入理解 - 常量与变量
++++++++++++++++++++++++++++++++++++++++++ <C语言深入理解系列 - 常量与变量> 查看其它博文请关注原创作者. 本文系本站原创,欢迎转载! 转载 ...
- 【C语言进阶】函数三要素,变量作用域、生存周期、存储类型
目录 写在前面 一.函数的用法 1.声明 2.调用 3.定义 形参与实参类型不一致 形参与实参类型一致 函数值类型与返回值类型不一致 函数值类型与返回值类型一致 二.变量的作用域与生存周期 三.变量的 ...
- c语言字体属性,【C】 5_变量属性
C语言的变量属性 C语言中的变量可以有自己的属性 在定义变量的时候可以加上"属性"关键字 "属性"关键字指明变量的特殊意义 语法: `property type ...
- 厦门大学c语言上机答案,厦门大学C语言程序设计2016模拟题讲评及课程复习.pptx...
<C语言程序设计>课程复习及模拟题讲评;<C语言程序设计>试卷各类题目分数分布情况 一.选择题 40分(20小题, 每题2分 ) 主要考核基本概念, 词法, 语法和小程序阅读等 ...
- 【C 语言】变量本质 ( 变量概念 | 变量本质 - 内存空间别名 | 变量存储位置 - 代码区 | 变量三要素 )
文章目录 一.变量概念 二.变量本质 1.变量本质 - 内存别名 2.变量存储位置 - 代码区 3.变量三要素 一.变量概念 变量概念 : 变量 是 既能读 , 又能写 的 内存对象 ; 与 变量 相 ...
- 【C语言】20-static和extern关键字2-对变量的作用
说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能够快速上手C语言.如果你还没有编程经验,或者对C语言.iOS开发不感兴趣,请忽略 上一讲介绍了static和ex ...
- A13在c语言中是合法变量吗,C语言中局部变量和全局变量等在内存中的存放位置.doc-资源下载在线文库www.lddoc.cn...
C语言中局部变量和全局变量_等在内存中的存放位置.doc C 语言中局部变量和全局变量 变量的存储类别static,extern,auto,register 8.8 局部变量和全局变量在讨论函数的形参 ...
- 在c语言中函数的定义变量的值为,变量定义(C语言中变量的声明和定义)
变量定义(C语言中变量的声明和定义),哪吒游戏网给大家带来详细的变量定义(C语言中变量的声明和定义)介绍,大家可以阅读一下,希望这篇变量定义(C语言中变量的声明和定义)可以给你带来参考价值. 3.函数 ...
最新文章
- Missing separate debuginfos, use: debuginfo-install
- 2019数字化趋势:未来5年政府、零售数字化程度将达80%
- 守护线程与非守护线程的区别
- kaggle的discussion区都是些什么鬼?
- 信息学奥赛一本通(1163:阿克曼(Ackmann)函数)
- loadRunner目录分析二
- 周鸿祎回应年会特等奖「免裁券」;微信放开 5000 人好友上限;Firefox 72 正式发布| 极客头条...
- 测试用例设计设计方法——正交实验法
- PS 如何制作WIN7的玻璃化透明窗口效果
- blos硬盘启动台式计算机,电脑如何bios设置硬盘启动顺序?掌握这6大类型是关键!...
- 后台提示登录失败----YYC松鼠短视频开源
- 【毕设教程】OLED屏幕介绍与使用
- c语言中地址值是什么意思,单片机C语言中如何区别是地址还是数值啊?
- LTE-LAA中的LBT详解
- 闲人闲谈PS之二十八——PS模块底层架构设计初探
- #芯片# LTC2990
- CLI, CILCLR
- 3.8-7.25 partB
- BUUCTF-强网杯-随便注
- 笔记本计算机忘记密码,win7笔记本电脑密码忘记了怎么办_win7笔记本电脑密码忘了怎么办-win7之家...