c语言教案第13讲
C语言程序设计全套教学教程完整版电子课件最全ppt电子教案

上一页 下一页
目录
8.1 指针的概念、定义和引用 8.1.1 指针的概念 8.1.2 指针变量的定义 8.1.3 指针变量的引用 8.2 指针与函数 8.2.1 指针变量作函数参数 8.2.2 返回值为指针的函数 8.2.3 通过指针调用函数
上一页 下一页
Hale Waihona Puke 目录8.3 指针与数组 8.3.1 指针与数组的关系 8.3.2 数组名作函数参数的指针解释 8.3.3 指针数组 8.3.4 多级指针 8.4 指针与字符串 8.4.1 字符串的表示形式 8.4.2 字符串指针作函数参数
2.汇编语言
汇编语言的指令与机器语言的指令基本上保持了一一对应的关系。与 机器语言比起来,汇编语言易记、易读、易检查、易修改,但却不能 被计算机直接识别和执行,必须由翻译程序翻译成机器语言程序后才 能执行。汇编语言仍然是面向特定计算机的语言,也仍然是低级语言
下一页
返回
1.1 程序设计语言概述
3.高级语言 高级语言是接近人类自然语言和数学语言的程序设计语言,具有以下
上一页 下一页
目录
5.2 do-while语句 5.3 for语句 5.4 break和continue语句 5.5 多重循环 5.6 综合应用举例 第6章 数组 6.1 数组概述 6.2 一维数组
上一页 下一页
目录
6.2.1 一维数组的定义 6.2.2 一维数组的引用 6.2.3 一维数组的初始化 6.2.4 一维数组的程序举例 6.3 二维数组 6.3.1 二维数组的定义 6.3.2 二维数组的引用 6.2.3 二维数组的初始化
翻译成目标程序,然后执行该目标程序。解释方式是把源程序逐句翻
上一页 下一页 返回
1.1 程序设计语言概述
(完整版)《C语言程序设计》教案(清华谭浩强)

第一章C语言及程序设计概述本章要求:了解C语言的特点、C语言与其它高级语言相比有什么异同;了解C程序在PC机上的建立、编译和运行过程;了解C语言程序设计思想的基本篇;重点:①C语言的主要特点;②C语言在PC机上的运行过程及上机操作过程;③常用算法的应用难点:无一、C语言概述C语言是目前国际上在各种计算机运行较为广泛流行的一种高级语言.主要表现为:C语言:适合于作为系统描述语言—-可用来写系统软件。
具有高级语言的特点,又有低级语言(汇编语言)的特点。
C语言:是AT&T贝尔实验室的Dennis Ritchie在1972年发明的。
C语言:是在B语言的基础上发展起来的.(ALGOL 60)C语言:最早开始是用于UNIX操作系统。
(C语言和UNIX是相辅相成的)DBASE 、Microsoft Exel 、 Microsoft Word、PC—DOS等,则是用C语言加上若干汇编子程序编写的。
1983年:——制定的新标准,称为(美国国家标准化协会)ANSI C1987年:—-Turbo C1.0 (Borland) 1988年:TC 1.5(图形和文本窗口)1989年:——Turbo C2。
0 (DOS操作系统、查错、Tiny模式生成com文件)1991年:—-Turbo C++(3.0) 支持windows 3.X说明:Turbo C语言可以在程序的任何地方嵌入汇编代码,提高速度,可以直接使用存储器和寄存器。
二.C语言的特点1.语言简洁、紧凑、使用方便、灵活C语言:——共有32个关键字,9种控制语句;程序书写自由,主要用小写字母表示;2.运算符丰富C语言的运算符包含的范围很广泛,共有34种运算符;即:把括号、赋值、强制类型转换都作为运算符处理3.有丰富的数据类型整型、实型、字符型、数据类型、指针类型、结构体类型、共用体(联合)类型等。
实现复杂的数据结构(链表、树、栈、图)的运算。
4.具有结构化的功能,用函数作为程序模块,实现程序的模块化5.语法限制不太严格,程序设计自由度大.(放宽了语法检查)例:1)对数组下标越界不作检查,由程序编写者自己保证程序的正确;2)整型数据、字符型数据、逻辑型数据可以通用。
最新C语言第13章_常见错误分析PPT课件

薰衣草專論-醒目薰衣草
6.皮膚:面皰、粉刺、過敏、可治膿腫 燒燙傷及蚊蟲蚊傷可滴一滴在腫處。
7.神經系統:舒壓、抗壓、舒解情緒、失眠、 偏頭痛 薰衣草3d+乳香3d+鼠尾草3d
13.3 诊断错误及其处理
1 =不同于== 符号=作为赋值运算符,符号==作为比较。一般而言,赋值运 算相对于比较运算出现得更频繁,在C语言中赋值符号被作为一 种操作符对待。
2 字符与字符串 C语言中的单引号和双引号含义迥异,用单引号引起的一个字符 实际上代表一个整数,整数值对应于该字符在编译器采用的字符 集中的序列值,而用双引号引起的字符串,代表的却是一个指向 无名数组起始字符的指针,该数组被双引号之间的字符以及一个 额外的二进制值为零的字符‘\0’初始化。
13.4 C语言调试过程中的常见错误
程序调试是指对程序的查错和排错。 调试程序一般应经过以下几个步骤: 一、先进行人工检查,即静态检查。 二、在人工检查无误后,再上机调试。 三、在改正语法错误(包括“错误(error)”和“警告
(warning)”)后,程序经过连接(link)就得到可执行 的目标程序。运行程序,输入程序所需数据,就可得 到运行结果。应当对运行结果作分析,看它是否符合 要求。有的初学者看到运行结果就认为没问题了,不 作认真分析,这是危险的。
运行中的常见错误
Abnormal program termination 程序异常终止。通常 是由于内存使用不当所致。
Floating point error : Domain 或Divide by 0 运算结果 不是一个数或被0 除
Null pointer assignment 对未初始化的指针赋值,程 序有严重错误。
C语言程序调试
C语言程序设计说课教案

《C语言程序设计》说课教案从以下方面说明:一、课程性质、地位二、教学对象分析及要求三、课程体系四、课程的重点、难点及突破五、教学方法与教学手段六、学生考核七、教学计划一、课程性质、地位1.课程的性质《C语言程序设计》课程是高职高专通信类和电子信息类各专业职业素质必修课,旨在培养高职学生运用计算机进行逻辑思维的能力,掌握运用C语言编程来解决岗位工作中实际问题的方法和步骤,为提高职业能力和拓展职业空间打下坚实基础。
所以,本课程主要针对培养这类人才基本程序设计能力的目的而设置的课程。
学生毕业后工作岗位主要有计算机管理员、单片机应用设计员、网络应用等,在计算机控制、单片机应用、电子技术、通信技术等相关行业中都将使用C语言作为应用系统开发设计语言,C语言也是其它编程语言类课程的前导课程,也是信息产业部计算机专业和软件专业水平资格考试(程序员、网络管理员等)考试中要求的主要程序设计语言。
2.课程的地位通信技术(计算机网络方向)专业和电子信息技术专业,C语言室基础,是计算机应用设计的基础。
是学习其他程序语言的前导及基础。
二、教学对象分析及要求1.教学对象本系学习C语言课程的生源是高中生源和中专生源。
高中生文化基础扎实,但计算机专业知识薄弱,开始学习时较困难,但入门提高较快。
中专生,文化基础薄弱,但计算专业已经学习一些,开始学习不会很困难,但是知识转换能力方面会有困难,学习进度会慢一点。
针对不同生源学生在教学方法和重难点方面有所区别。
2学生的学习积极性,提高实际动手能力。
3.在教学中教与学三、 课程体系《C 语言程序设计》教学学时为60,理论内容以“够用为度”的原则,按照程序设计能力,通过一个项目“学生成绩管理系统”为主线,介绍C 语言基本概念、三种基本程序结构设计、指针、函数体等重点内容。
然后通过1周的课程设计,完成项目“学生成绩管理系统” 综合设计题目。
课程内容附表1。
1.课程内容选取依据 1)C 语言编程规范根据C 语言编程规范等资料,选取的内容是C 语言教学中必须掌握的适应中。
高中信息技术 信息学奥赛C语言第十三章 结构体与共用体课件

(1)若要引用结构体变量s1中的age成员, 可写作:s1.age;ps->age;(*ps).age; (2)引用结构体数组元素的成员,可写成 s[0].age.在这里,s数组的每一个元素可 以简单地看做是一个结构体变量。 (3)访问结构体中的数组成员,比如访 问s1中的grade数组,则可以写成 s1.grade[0]。 (4)若结构体中的字符数组存放的是字 符串,则可以对其数组名直接引用,如 、ps->name等。 (5)嵌套定义的结构体变量成员的引用: 在结构体说明中,某成员变量又是一个 结构体变量,若要引用其成员,可以一 级一级的找到最低一级的成员。
在这里由车牌、车名、型号、车速共同构成了 对一辆轿车的描述,在数据处理中,这四个属性 应该当作一个整体来处理。但它们不属于同一类 型,无法用数组来容纳,而用单个变量来分别代 表各个属性,又难以反映出它们的内在联系。
C语言提供结构体(structure)数据结构,将不同数 据类型、但相互关联的一组数据,组合成一个有 机整体使用。
(4)向函数传递结构体变量成员的地址 例13.11
(5)函数的返回值可以是结构体类型或返回值是指 向结构体变量的指针,即当做基本类型看待。
13.2.6 用结构体构成链表
(1)结构体中含有指向本结构体类型的指针成员。结 构体中的成员可以是各种类型的数据。那么,当结构
体中有一个或多个成员指针,且它们的基类型就是本
struct memb
1001
{ float v;
sa1占7个字
v
int n;
节内存空间
char c;
1005
n
} sa1;
1007
c
union memb
{ float v; usa2占4个字 2001
《C语言程序设计》谭浩强版教案

《C语言程序设计》教案
单位:湖南理工职业技术学院学院(教研室):风能工程学院工业机器人专业授课教师:周常欣职称:助教
《C语言程序设计》教案
《C语言程序设计》教案
《C语言程序设计》教案
《C语言程序设计》教案
《C语言程序设计》教案
《C语言程序设计》教案
《C语言程序设计》教案
《C语言程序设计》教案
《C语言程序设计》教案
第29-30 课时
《C语言程序设计》教案
第31-32 课时
《C语言程序设计》教案
《C语言程序设计》教案
《C语言程序设计》教案
第37-38 课时
《C语言程序设计》教案
第39-40 课时
《C语言程序设计》教案
《C语言程序设计》教案
《C语言程序设计》教案
《C语言程序设计》教案
《C语言程序设计》教案
《C语言程序设计》教案。
《C语言基础教案》
《C语言基础教案》word版教案章节:一、C语言概述1. C语言的历史和发展2. C语言的特点和应用范围3. C语言的编译过程二、C语言基础语法1. 数据类型整型、浮点型、字符型变量和常量的声明和使用2. 运算符和表达式算术运算符关系运算符逻辑运算符赋值运算符条件运算符逗号运算符3. 控制语句条件语句循环语句跳转语句三、函数和数组1. 函数的定义和声明2. 函数的参数传递3. 函数的返回值4. 数组的声明和使用5. 字符串的操作四、指针和引用1. 指针的概念和声明2. 指针的运算3. 指针与数组4. 指针与函数5. 指针与动态内存分配五、结构体和文件操作1. 结构体的定义和声明2. 结构体的使用3. 文件的概念和打开4. 文件的读写操作5. 文件的关闭和错误处理六、顺序结构与分支结构1. 顺序结构的实现2. 分支结构的概念与实现3. 条件语句的嵌套4. 逻辑表达式与布尔类型七、循环结构1. 循环结构的概念与类型2. for循环的实现与应用3. while循环的实现与应用4. do-while循环的实现与应用5. 循环控制语句:break与continue八、数组与字符串1. 一维数组的声明、初始化与操作2. 二维数组的概念与操作3. 字符串的基本操作4. 字符串数组的应用5. 排序算法与数组的应用九、指针与内存管理1. 指针的基本概念与运算2. 指针与数组的关系3. 指针与函数的调用4. 指针与动态内存分配5. 内存管理:malloc、calloc、realloc与free十、结构体与联合体1. 结构体的概念与使用2. 结构体数组的操作3. 结构体指针的应用4. 联合体的概念与使用5. 枚举类型的声明与使用十一、函数的高级应用1. 递归函数的概念与实现2. 函数指针的应用3. 函数调用的方式与参数传递4. 全局变量与局部变量的作用域5. 静态局部变量的使用十二、指针与数组1. 指针与数组的关系2. 指针数组的概念与使用3. 数组指针的概念与使用4. 指针函数的概念与使用5. 函数指针数组的应用十三、文件操作1. 文件的概念与文件指针2. 文件的打开与关闭3. 文件的读写操作4. 文件的定位与操作5. 文件权限与错误处理十四、标准库函数1. 标准输入输出函数2. 字符串处理函数3. 数学函数4. 日期与时间函数5. 随机数函数十五、C语言编程实例1. 计算器程序的设计与实现2. 文本编辑器的基本功能实现3. 排序算法的实现与应用4. 树状数组与动态规划算法5. 简单的游戏设计与实现重点和难点解析本文档为《C语言基础教案》的全篇内容,主要涵盖了C语言的概述、基础语法、函数和数组、指针和引用、结构体和文件操作等基础知识,以及高级应用、函数的高级应用、文件操作、标准库函数和编程实例等进阶内容。
c语言从入门到精通__第13章
13.1.1 文件类型
例如,对于整数12345,在文本文件中存放时,数字“1”,“2”, “3”,“4”,“5”都以字符的形式各占一个字节,每个字节中存 放的是这些字符的ASCII值,所以要占用5个字节的存储空间;而 在二进制文件中存放时,因为是整型数据所以系统分配两个字节 的存储空间,也就是说,整数12345在二进制文件中占用两个字 节。其存放形式如下图: 在文本文件中存储形式:
13.1.2 C如何操作文件——文件指针
在C语言中所有对文件的操作都通过文件指针完成。 我们在前面已经学习过变量的指针,变量的指针指 向该变量的存储空间;但文件的指针不是指向一段 内存空间,而是指向描述有关这个文件的相关信息 的一个文件信息结构体,该结构体定义在stdio.h 头文件中,当然,用户也无需了解有关此结构体的 细节,只要知道如何使用文件指针就可以了,和普 通指针一样,文件指针在使用之前,也必须先进行 声明。
fclose(fp); /*fp是指向要关闭的文件的文件指针*/
13.2.2 文件的关闭——fclose()函数
技 巧:因为保持一个文件的打开状态需要 占用内存空间,所以对文件的操作一般应该 遵循“晚打开,早关闭”的原则,避免无谓 的浪费。
13.2.3 文件结束检测——feof()函数
feof()函数用于检测文件是否结束,既适用 于二进制文件,也适用于文本文件。其一般 使用格式如下:
第13章
文件
文件概述 文件的打开和关闭 文件的顺序读写 文件的随机读写 综合应用——文件操作 跟我上机
第13章
文件
文件概述 文件的打开和关闭 文件的顺序读写 文件的随机读写 综合应用——文件操作概述 文件的打开和关闭 文件的顺序读写 文件的随机读写 综合应用——文件操作 跟我上机
《C语言程序设计教程》全册教案教学设计
《C语言程序设计教程》第一章教案设计【教学目标】1. 理解C语言的发展历程和特点。
2. 掌握C语言的基本语法和结构。
3. 能够编写简单的C语言程序。
【教学内容】1. C语言的发展历程和特点。
2. C语言的基本语法和结构。
3. 简单的C语言程序编写。
【教学步骤】1. 引入C语言的发展历程和特点,让学生了解C语言的重要性和应用领域。
2. 讲解C语言的基本语法和结构,包括变量、数据类型、运算符等。
3. 通过实例讲解如何编写简单的C语言程序,让学生掌握基本的程序结构。
【教学评价】1. 学生能够描述C语言的发展历程和特点。
2. 学生能够掌握C语言的基本语法和结构。
3. 学生能够编写简单的C语言程序。
《C语言程序设计教程》第二章教案设计【教学目标】1. 掌握C语言的变量和数据类型。
2. 理解C语言的运算符和表达式。
3. 能够进行基本的数学运算和逻辑运算。
1. C语言的变量和数据类型。
2. C语言的运算符和表达式。
3. C语言的基本数学运算和逻辑运算。
【教学步骤】1. 讲解C语言的变量和数据类型,让学生掌握如何声明和使用变量。
2. 讲解C语言的运算符和表达式,让学生了解不同运算符的使用方法和优先级。
3. 通过实例讲解如何进行基本的数学运算和逻辑运算,让学生掌握运算符的实际应用。
【教学评价】1. 学生能够正确声明和使用变量。
2. 学生能够理解和使用不同的运算符。
3. 学生能够进行基本的数学运算和逻辑运算。
《C语言程序设计教程》第三章教案设计【教学目标】1. 掌握C语言的控制语句。
2. 理解C语言的条件语句。
3. 能够编写简单的循环程序。
【教学内容】1. C语言的控制语句。
2. C语言的条件语句。
3. C语言的循环语句。
1. 讲解C语言的控制语句,让学生了解如何进行跳转和分支。
2. 讲解C语言的条件语句,让学生掌握如何根据条件进行分支。
3. 通过实例讲解如何使用循环语句编写循环程序,让学生掌握循环的使用方法和退出条件。
《C语言编程基础》电子教案
《C语言编程基础》电子教案第一章:C语言概述1.1 C语言的历史与发展1.2 C语言的特点1.3 编译器与开发环境1.4 第一个C语言程序第二章:数据类型、运算符和表达式2.1 数据类型2.1.1 基本数据类型2.1.2 构造数据类型2.1.3 指针类型2.1.4 空类型2.2 运算符2.2.1 算术运算符2.2.2 关系运算符2.2.3 逻辑运算符2.2.4 位运算符2.2.5 赋值运算符2.2.6 其他运算符2.3 表达式2.3.1 赋值表达式2.3.2 算术表达式2.3.3 关系表达式2.3.4 逻辑表达式2.3.5 条件表达式第三章:控制语句3.1 顺序结构3.2 选择结构3.2.1 if语句3.2.2 switch语句3.3 循环结构3.3.1 while循环3.3.2 do-while循环3.3.3 for循环3.3.4 循环控制语句第四章:函数4.1 函数的定义与声明4.2 函数的参数与返回值4.3 函数的调用4.4 局部变量与全局变量4.5 静态变量与动态内存分配4.6 递归函数第五章:数组、指针与字符串5.1 数组5.1.1 一维数组5.1.2 二维数组5.1.3 多维数组5.2 指针5.2.1 指针的基本概念5.2.2 指针的运算5.2.3 指针与数组5.2.4 指针与函数5.3 字符串5.3.1 字符串的基本操作5.3.2 字符串数组5.3.3 字符串与指针第六章:结构体、联合体和枚举6.1 结构体的定义和使用6.2 联合体的定义和使用6.3 枚举类型的定义和使用6.4 结构体数组和指针6.5 结构体、联合体和枚举的综合应用第七章:文件操作7.1 文件概述7.2 文件打开与关闭7.3 文件读写操作7.4 文件定位与文件长度7.5 文件的权限与安全性7.6 错误处理与文件操作练习第八章:标准库函数8.1 标准输入输出库函数8.2 字符串处理库函数8.3 数学计算库函数8.4 日期和时间处理库函数8.5 常用库函数的综合应用第九章:预处理指令9.1 宏定义9.2 文件包含9.3 条件编译9.4 预处理指令的综合应用第十章:C语言编程实践10.1 程序设计方法与技巧10.2 常见数据结构和算法10.3 编程规范与风格10.4 项目实践与案例分析10.5 编程竞赛与挑战重点解析第一章:C语言概述重点:C语言的历史、特点、编译器与开发环境。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7章 模块化程序设计
2、用户自定义函数
1) 函数定义格式 )
•
10
格式1 格式 函数名(形参数列表 形参数列表) 函数返回值类型名 函数名 形参数列表 形参类型说明 如: int max(a,b) { 说明部分 说明部分; int a,b; 执行部分; 执行部分 } 方式2 方式 函数名(形参类型说明 形参) 函数返回值类型名 函数名 形参类型说明 形参 { 说明部分 说明部分; 如: int max(int a,int b) 执行部分; 执行部分 }
3) C程序的执行从 程序的执行从main函数开始,调用其他函数后流程回到 函数开始, 函数开始 调用其他函数后流程回到main 函数, 函数中结束整个程序的运行。 函数,在main函数中结束整个程序的运行。main函数是系统定义 函数中结束整个程序的运行 函数是系统定义 的。 (4) 所有函数都是平行的,即在定义函数时是互相独立的,一个函 所有函数都是平行的,即在定义函数时是互相独立的, 数并不从属于另一函数,即函数不能嵌套定义, 数并不从属于另一函数,即函数不能嵌套定义,函数间可以互相调 6 但不能调用main函数。 2011-7-1 函数。 用,但不能调用 函数
2011-7-1
第7章 模块化程序设计
例:定义符号函数sign。 定义符号函数 。
int sign(x)
/*函数返回值类型未说明,默认为int,建议给出函数类型说明 函数返回值类型未说明,默认为 ,建议给出函数类型说明*/ 函数返回值类型未说明
11
int x; /*形式参数说明 形式参数说明*/ 形式参数说明 {int y; /*函数体局部变量 函数体局部变量*/ 函数体局部变量 y=x>0?1:(x==0?0:-1); return y; /*返回函数值 返回函数值*/ 返回函数值 } 注意: 语言函数分为两大部分 语言函数分为两大部分: 注意:C语言函数分为两大部分 – 函数的说明部分 函数头部分 函数的说明部分(函数头部分 函数头部分) – 函数体部分。 函数体部分。
2011-7-1
第7章 模块化程序设计
函数各部分作用
a)函数的说明部分 函数的说明部分 函数说明部分说明函数的类型, 函数名, 参数表及参数类型。 函数说明部分说明函数的类型 函数名 参数表及参数类型。 (1)函数的类型说明 函数的类型说明 函数的类型即函数的返回值类型。若函数不提供返回值, 函数的类型即函数的返回值类型。若函数不提供返回值, 则可定义其类型为: void。 则可定义其类型为 。 例如: 例如 void putdata(int a) 省略函数类型时, 语言默认其为 语言默认其为int型 省略函数类型时,C语言默认其为 型。 (2) 函数名 函数名又称函数标识符。命名遵循C语语言标识符的规定 语语言标识符的规定; 函数名又称函数标识符。命名遵循 语语言标识符的规定; 函数名要反映函数完成的功能。 函数名要反映函数完成的功能。
函数语句调用、 函数语句调用、函数表达式调用和函数参数调用 void max(int a,int b,int c) { int y; y=(a>b)?a:b; y=y>c?y:c; printf("max=%d\n",y); } void main() { int x,y,z,m; scanf("%d,%d,%d",&x,&y,&z); max(x,y,z); } /*采用函数语句形式调用函数 采用函数语句形式调用函数max*/ 采用函数语句形式调用函数
第7章 模块化程序设计
第13讲 函数的定义和调用 13讲
教学目的与要求: 教学目的与要求: 掌握函数的定义和调用 掌握函数嵌套调用 教学内容提要: 教学内容提要: 1、概述 、 2、函数的定义和调用 、 3、函数嵌套调用 、 教学重点:函数的定义和调用 教学重点:函数的定义和调用 教学难点:函数的定义和调用和函数嵌套调用 教学难点:函数的定义和调用和函数嵌套调用 教学方法与手段: 教学方法与手段:多媒体教学 教学进度: 教学进度:P168~P179 ~ 教学过程: 教学过程:
f22() 22() { }
┇
main() 参数 返回 f1() 参数 返回 f11() f21() 参数 返回 参数 参数 返回 f2() 返回 f22()
2011-7-1
7
第7章 模块化程序设计
二、函数的定义与调用
函数: 函数: 完成相对独立功能的程序
从用户使用的角度看,函数有两种: 从用户使用的角度看,函数有两种: 标准函数,即库函数:这是由系统提供的, ① 标准函数 , 即库函数 : 这是由系统提供的 ,用户不必自己定义这些 函数,可以直接使用它们。应该说明,不同的C 函数,可以直接使用它们。应该说明,不同的C系统提供的库函数的数 量和功能不同,当然有一些基本的函数是共同的。 量和功能不同,当然有一些基本的函数是共同的。 用户自己定义的函数:用以解决用户的专门需要用户自己写。 ② 用户自己定义的函数:用以解决用户的专门需要用户自己写。
15
2011-7-1
第7章 模块化程序设计
2)、 自定义函数的调用 )、 a)函数的调用格式 函数的调用格式
有参数函数的调用格式: 有参数函数的调用格式
函数名(实参 函数名 实参) 实参
无参数函数的调用格式: 无参数函数的调用格式
函数名( 函数名 )
16
2011-7-1
第7章 模块化程序设计
(2)函数调用形式 )
8
2011-7-1
第7章 模块化程序设计
1、标准库函数
定义在不同的头文件中 用户使用时,必须用#include“头文件 头文件” 用户使用时,必须用#include“头文件”把相应的头文 件包含到程序中来。 件包含到程序中来。 包含math.h math.h头文件 #include <math.h> /* 包含math.h头文件 */ #include <stdio.h> /* 包含 stdio.h 头文件 */ main( ) { double a, b; scanf (“%lf”,&a); /*调用输入函数,输入变量a的值*/ /*调用输入函数,输入变量a的值*/ 调用输入函数 /*调用sin函数 调用sin函数, 的值*/ b = sin (a); /*调用sin函数,求sin (a) 的值*/ printf(“%6.4lf”,b);/*调用输出函数 输出变量b的值* 调用输出函数, printf(“%6.4lf”,b);/*调用输出函数,输出变量b的值*/ 9 } 2011-7-1
在程序设计中, 在程序设计中,常将一些常用的功能模块编写成函 放在函数库中供公共选用。要善于利用函数, 数,放在函数库中供公共选用。要善于利用函数, 以减少重复编写程序段的工作量。 以减少重复编写程序段的工作量。
42011-ຫໍສະໝຸດ -1第7章 模块化程序设计
运行情况如下: 运行情况如下: ****************** How do you do! 一个简单的函数调用的例子。 * 7.1 一个简单的函数调用的例子。例* * * * * * * * * * * * * * * * *
12
2011-7-1
第7章 模块化程序设计
函数各部分作用
(3)形参表 参数表写在函数名后的( 内 参数表写在函数名后的 )内,由一个或多个变量标识 符及类型标识符组成。 符及类型标识符组成。 参数表中的变量称为形式参数, 简称形参。 参数表中的变量称为形式参数 简称形参。 若函数没有形参,则称为无参函数,其后“( )”不 若函数没有形参,则称为无参函数,其后“ ” 能省略。 能省略。 参数必须指定类型。形参的类型说明有两种: 参数必须指定类型。形参的类型说明有两种: 方法1: 方法 int max(a,b) int a,b; 方法2: 方法 int max(int a, int b)
2
2011-7-1
第7章 模块化程序设计
由功能模块组成程序的结构图: 由功能模块组成程序的结构图
基本模块
模块
模块
模块
模块
模块
模块
模块
模块
模块
2011-7-1
3
第7章 模块化程序设计
在C语言中,模块的功能是由函数完成的。 语言中,模块的功能是由函数完成的。 一个C程序可由一个主函数和若干个函数构成。 一个C程序可由一个主函数和若干个函数构成。由 主函数调用其他函数,其他函数也可以互相调用。 主函数调用其他函数,其他函数也可以互相调用。 同一个函数可以被一个或多个函数调用任意多次。 同一个函数可以被一个或多个函数调用任意多次。
14
第7章 模块化程序设计
定义函数power(x,n), 求x的n次方。 次方。 例: 定义函数 的 次方 函数定义如下: 函数定义如下
float power( float x, int n) { int i; float t=1; for(i=1;i<=n;i++) t = t * x; /* 1*x*x*…*x 共乘 次 */ 共乘n次 return t; /* 返回 的值 */ 返回t的值 }
5
main() () {printstar();/ 调用 ();/* ();/ 调用printstar函数 */ 函数 / print-message();/ 调用 ();/* ();/ 调用print message */ printstar(); /* 调用 调用printstar函数 */ (); 函数 / } printstar() /*printstar函数 / () 函数*/ 函数 { printf(" * * * * * * * * * * * * * * * * *\n"); ("* (" \ "); } print-message() /* print-message函数 / 函数*/ () 函数 { printf(“How do you do!\n”); ( \ ); }