内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第五章 函数

C语言程序设计教案 第五章函数 内容 说明 1.函数定义、函数调用 内容 函数声明、函数返回值 3.变量的作用域 4.结构设计与模块化 重点 1. 函数定文、函数调用、函数声明、函数返回值 难点 2 模块化原则 函数的参数传递与返回值 问思 提出 如果要编写一个较大的程序,全部数据定义、流程控制语句、输入输 出操作都在main()主函数中编写的话,就会给程序的修改和调试都 带来麻烦 将一个较大的程序分为若干个子模块,每个模块实现一个独立的功 能。这样就结构清晰、功能分工明确了。 一模块化程序设计思想 函数的定义与使用 1、C语言函数的分类 1由系统提供的,无需用户自己定义 2.用#include将描述库函数的头文件包含进来 例如:sqrto函数在mahh中定义,在使用sqrt0函数前,就要 使用命令: #include 3.可以在任何程序中使用。 2、函数的定义 *函数的定义也遵循“先定义、后使用”的原则。 “函数名 是函数的唯 函数定义的一般格式: 标识符,符 返回值类型函数名(类型参数1,类型参数2,) 合标识符命 名规则: 局部变量定义语句 。函数体用 可执行语句序列 一对拉据 包围,编写程 【例5.1a】编写一个函数,计算两个整数的最大值 序的想则与 int max(int x,inty) main0一致。 int result=(x>y)?x:y return result:
C 语言程序设计教案 第五章 函数 内 容 说 明 主要 内容 重点 难点 问题 提出 1. 函数定义、函数调用 2. 函数声明、函数返回值 3. 变量的作用域 4. 结构设计与模块化 。 *“函数名” 是 函 数 的 唯 一标识符,符 合 标 识 符 命 名规则; * 函数体用 一 对 花 括 号 包围,编写程 序 的 规 则 与 main()一致。 1. 函数定义、函数调用、函数声明、函数返回值 2. 模块化原则 函数的参数传递与返回值 如果要编写一个较大的程序,全部数据定义、流程控制语句、输入输 出操作都在 main()主函数中编写的话,就会给程序的修改和调试都 带来麻烦。 将一个较大的程序分为若干个子模块,每个模块实现一个独立的功 能。这样就结构清晰、功能分工明确了。——模块化程序设计思想 一、函数的定义与使用 1、C 语言函数的分类 1. 由系统提供的,无需用户自己定义。 2. 用#include 将描述库函数的头文件包含进来。 例如:sqrt()函数在 math.h 中定义,在使用 sqrt()函数前,就要 使用命令: #include 3. 可以在任何程序中使用。 2、函数的定义 *函数的定义也遵循“先定义、后使用”的原则。 *函数定义的一般格式: 返回值类型 函数名(类型 参数 1,类型 参数 2,.) { 局部变量定义语句 可执行语句序列 } 【例 5.1a】编写一个函数,计算两个整数的最大值。 int max(int x,int y) { int result=(x>y)? x:y ; return result; }

C语言程序设计教案 3、函数的调用、参数传递和返回值 C程序中,通过对函数的调用来执行相对应的功能。 (1)函数调用的一般形式为: 函数名([实参列表]) 【说明】 参数是函数调用时进行数据传递的载体 无参函数的调用是无需实参的,但是不能省略函数名后面的圆 括号: √调用有参函数时,实参的个数、类型和顺序,应该与被调用函 数所要求的参数个数、类型和顺序一致,才能正确地进行数 传递。 【例5.1b】:在main()中调用自定义函数ma) #include sstdio h> int max(intx,inty) oid main() inta=12,b-24i int larger-max(a,b): printf(“%d is larger.n”,larger)i (2)函数的返回值: 把程序控制从被调用函数返回主调函数,如果有返回值则同时把 返回值带给调用函数。 return语句一般格式: return(返回值表达式): 说 √表达式外的圆括号可以省路: √可以省略表达式,只用return,也可以不写return语句表示没有 明确的一个返回值,函数运行结束自动返回 C语言的函数都是单值函数,return语句只能返回一个值, 4、函数声明 maxO先定义,编译器在编译main()时便知道maxO的参数、返回信 等,从而可以正确编译。 max()后定义的时候,应先声明函数maxO,再定义函数ma): 若没有先声明语句,则编译时无法得知ma0的样子
C 语言程序设计教案 3、函数的调用、参数传递和返回值 C程序中,通过对函数的调用来执行相对应的功能。 (1)函数调用的一般形式为: 函数名( [实参列表] ) 【说明】 ✓ 参数是函数调用时进行数据传递的载体。 ✓ 无参函数的调用是无需实参的,但是不能省略函数名后面的圆 括号; ✓ 调用有参函数时,实参的个数、类型和顺序,应该与被调用函 数所要求的参数个数、类型和顺序一致,才能正确地进行数据 传递。 【例 5.1b】:在 main( )中调用自定义函数 max( ) #include int max( int x, int y) { int result=(x>y)?x:y; return result; } void main() { int a=12,b=24; int larger=max(a,b); printf(“%d is larger. \n”,larger); } (2)函数的返回值: 把程序控制从被调用函数返回主调函数,如果有返回值则同时把 返回值带给调用函数。 return 语句一般格式: return ( 返回值表达式 ); 说明: ✓ 表达式外的圆括号可以省略; ✓ 可以省略表达式,只用 return,也可以不写 return 语句表示没有 明确的一个返回值,函数运行结束自动返回。 ✓ C 语言的函数都是单值函数,return 语句只能返回一个值, 4、函数声明 max()先定义,编译器在编译 main()时便知道 max()的参数、返回值 等,从而可以正确编译。 max()后定义的时候,应先声明函数 max(),再定义函数 max()。 若没有先声明语句,则编译时无法得知 max()的样子

C语言程序设计教案 5、main0函数的特殊性 (1)在心语言中,各个函数都是平等的,各个函数都遵守共同的语法 规则。可以相互调用,其中,函数调用自身,称为递归: (2)maiO由操作系统调用,从而作为程序的唯一入口开始程序的运 行,并从main()结束运行: 三、变量的作用域 【、变量的作用域 变量的作用域规则: 每个变量仅在定义它的语句块(包含下级语句块)内有效,并且 拥有它自己的内存空间 【注】 √同一语句块中不可以定义同名的变量: √不同语句块中可以定义同名变量: √两个毫不相干的语句块中定义的同名变量自然也毫无相干。 2、局部变量 在一个函数内部定义的变量是内部变量,它只在本函数范围内有 效,这种变量称为局部变量 3.全局变量 在函数外部定义的变量称为外部变量(全局变量),全局变量可以让本文 件中其它函数使用,有效范围从定义变量的位置开始到本源文件结束。 四、预处理指令 1.#include #include被称为源代码包含指令,简称包含指令。有两种用法: 和双引号表示定位filename的两种不同方式。前者是在编译 器指定的目录内查找文件,后者是按照filepath所描述的路径查找文件。 2.#define和#undef define叫做宏定义指令。最常见的用法; #define PI 3.14 #define macro_name replacement #define MAX(A,B)A+B/2 #define MIN(A.B)((A)>(B)?(A):(B)) 而宏定义的有效范围是从定义的那一行开始,直 到见取消宏定义的#undef为止。如果没有undef 就一直到文件末尾
C 语言程序设计教案 5、main()函数的特殊性 (1)在 c 语言中,各个函数都是平等的,各个函数都遵守共同的语法 规则。可以相互调用,其中,函数调用自身,称为递归; (2)main()由操作系统调用,从而作为程序的唯一入口开始程序的运 行,并从 main()结束运行; 三、变量的作用域 1、变量的作用域 变量的作用域规则: 每个变量仅在定义它的语句块(包含下级语句块)内有效,并且 拥有它自己的内存空间。 【注】 ✓ 同一语句块中不可以定义同名的变量; ✓ 不同语句块中可以定义同名变量; ✓ 两个毫不相干的语句块中定义的同名变量自然也毫无相干。 2、局部变量 在一个函数内部定义的变量是内部变量,它只在本函数范围内有 效,这种变量称为局部变量。 3.全局变量 在函数外部定义的变量称为外部变量(全局变量),全局变量可以让本文 件中其它函数使用,有效范围从定义变量的位置开始到本源文件结束。 四、预处理指令 1.#include #include 被称为源代码包含指令,简称包含指令。 有两种用法: #include 和#include “filename” “<>”和双引号表示定位 filename 的两种不同方式。前者是在编译 器指定的目录内查找文件,后者是按照 filepath 所描述的路径查找文件。 2.#define 和 #undef #define 叫做宏定义指令。最常见的用法: #define PI 3.14 #define macro_name replacement #define MAX(A,B) A+B/2 #define MIN(A,B) ((A)>(B)? (A):(B)) 而宏定义的有效范围是从定义的那一行开始,直 到遇见取消宏定义的#undef 为止。如果没有#undef, 就一直到文件末尾
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(一).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(二).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.5 字符数组.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第八章 结构体与共用体.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(三).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第九章 文件操作.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第七章 指针(四).doc
- 内蒙古科技大学:《C语言程序设计》课程教学大纲 C Language Programming.pdf
- 《计算机组成原理》课程教学课件(PPT讲稿)第1章 计算机组成原理概述 Computer Organization.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第6章 总线系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第3章 指令系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第2章 运算方法和运算器 第1节 数据表示(数据与文字表示方法).ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第2章 运算方法和运算器 第2节 定点加减运算及实现 第3节 定点乘法运算及实现 第4节 定点除法运算及实现 第5节 定点运算器的组成与结构 第6节 浮点运算方法和浮点运算器.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第4章 中央处理器.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第7章 输入输出系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第5章 存储系统.ppt
- 《计算机组成原理》课程教学课件(PPT讲稿)第8章 外围设备.ppt
- 《计算机组成原理》课程教学资源(实验指导)实验五 模型计算机与指令执行.doc
- 《计算机组成原理》课程教学资源(实验指导)实验四 数据通路.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.2.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.3.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第六章 数组 6.3.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(一).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(二).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(三).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第四章 程序的控制结构(四).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第三章 简单的C程序设计.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第一章 C简介.doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第二章 数据类型、运算符及表达式(二).doc
- 内蒙古科技大学:《C语言程序设计》课程授课教案(讲义)第二章 数据类型、运算符及表达式(一).doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)编程题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)填空题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)改错题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学资源(作业习题)选择题.doc
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第八章 结构体与共用体.ppt
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第七章 指针.ppt
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第九章 文件操作.ppt
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第六章 数组.ppt
- 内蒙古科技大学:《C语言程序设计》课程教学课件(PPT讲稿)第二章 数据类型、运算符及表达式.ppt