武汉大学C语言课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机基础教学系列课程
C语言程序设计
C 语言程序设计
课程性质: 大学生公共基础课程 (必修课) 学时: 讲课 34课时; 实验 64 (课内32/课外32) 学分: 2学分
总评成绩 = 平时成绩 40%+ 期末成绩 60% 平时成绩: 成绩1(作业、考勤10%) + 成绩2(单元测验15%)
+ 成绩3(实验报告15%)
起止框 连接点
处理框 流程线
判断框
输入或输出框
【例1.1】对任意给定 的三个整数 x,y,z, 求 出其最大值。
开始
读入x,y,z
流程图:
T maxx
x>y?
F maxy
T maxz
z>max? F
输出max 结束
4. 用N-S流程图表示算法
例: 对任意给定的 三个整数 x,y,z, 求 出其最大值。
读入x, y, z
T
ቤተ መጻሕፍቲ ባይዱ
x>y
F
maxx maxy
z>max
T
F
maxz
打印max单元的值
结构化程序设计
C语言是结构化程序设计语言, 有三种基本结构。 顺序结构 选择结构 循环结构 程实序践设证计明的,目任标何在复正杂确的的算前法提都下可, 以其用重这要三性种排基列本次 序结依构次来为描: 述可。读、可维护、可移植和高效。
遵循这种结构的程序只有一个入口和一个出口。
缺点:存在数据与程序模块的分离和程序的可重用性差等问题。
面向对象的程序设计
Program Design in C Language
面向对象的程序设计将一些新的理念和结构化程序设计中 好的思想相融合,提供了一种全新的程序设计方法。
基本思想
将一个需要解决的问题分解为一系列实 体(对象),然后围绕这些对象建立数 据和函数;函数的功能决定了该对象的 行为。规定一个对象的函数可以访问另 一对象的函数,但一个对象的数据不能 应用于另一对象的函数中。
2021/3/11
4
第一章 C语言的发展、特点与程序开发基本知识
1.1 C语言的发展与特点 1.2 程序设计的基本方法 1.3 算法的概念及其表示 1.4 C语言的基本结构 1.5 应用程序的开发步骤和运行过程
2021/3/11
5
目 录 下一章 习题
C语言的发展
C语言是一门优秀的程序设计语言 − C语言是在1973年由美国贝尔实验室开发的。 − 1983年, ANSI为C语言制定了新的标准, 称为 ANSIC, 并于1989年最终完成。 − 目前使用较多的版本有ANSI C, Borland C, Turbo C, Microsoft C/C++ , Visual C++等。
顺序结构
矩形框 — 用于表示顺序结构。执行时按语句的 先后顺序执行。先执行语句A, 再执行语句B。
A B
顺序结构的流程图
A B
顺序结构的N-S图
选择结构(分支结构)
根据条件的真或假选择执行不同的操作内容。当 条件成立执行语句A,否则执行语句B。
2. 用伪代码表示算法
英语和程序设计语言混合使用称为伪代码。 Begin {算法开始} input x, y, z if x>y then max=x else max=y if z>max then max=z print max end {算法结束}
3. 用流程图表示算法
用一些图框和方向线表示算法的图形表示法。 特点: 直观形象,易于理解,便于检查和交流。 常用流程图符号及含义如下:
C语言的特点
C语言是结构化程序设计语言 功能强大,具有丰富的数据类型及运算符。 简洁紧凑,使用方便灵活。 C语言具有自我扩充能力 C语言具有汇编语言的功能 可移植性好
1.2 程序设计的基本方法
程序的概念 程序是计算机解决问题所需的一系列指令的集合。
程著序名=计数算据机结科构学+家算Ni法kik+la程us序W设ir计th方提法出+了语言工具 数“据算结法构+是数数据据结的构类=型程和序数”据的的公组式织形式。 程 序算就法是是在为数解据决的一某个些问特题定而的采表用示的方方式法和和结有构限的的基步础骤上。, 对 抽程象序算设法计的方具法体描述。 确定语言和编程环境
期末成绩: 期末理论机考60%
2021/3/11
2
第一章 C语言的发展、特点与程序结构
第二章 基本数据类型、运算符和表达式
第三章 基本语句与顺序结构
第四章 选择结构
第五章 循环结构
第六章 数组
第七章 函数
第八章 指针
第十章 结构体
第十二章 文件
2021/3/11
3
C语言程序设计
推荐参考书: 谭浩强主编《C程序设计》(第二版) 北京:清华大学出版社
求和 1+2+3+……+100
100
(1) =(…(((1+2)+3)+4)+ …+100 ) i 1
(2)
100
=(1+100)×50
i 1
一个好的算法应该是: 正确、易读、效率高。
算法的表示方法
常用的算法描述方法有: 自然语言描述、伪代码、流程图、N-S图、PAD图 等。 1. 自然语言 就是用人们日常使用的语言来描述或表示算法的 方法。
几个基本概念: 类、对象、属性、事件、方法
三类机制: 封装、继承、多态
1.3 算法及其表示
算法的特性 − 有穷性 一个算法的操作步骤应当是有限的; − 确定性 算法中的每一个步骤应当有确定的意义,不能 有二义性; − 有效性 算法中的每一个步骤应当正确、可行, 并且能 有效地执行; − 有零个或多个输入 执行算法时需要从外界获取的信息; − 有一个或多个输出 执行算法后应当得到正确的结果。
面向过程的程序设计
所谓面向过程的程序设计, 是指利用面向过程的语言工具 (如Pascal、Fortran和C语言等)进行程序开发的各项活动。
基本思想:
把一个需要求解的复杂问题分为 若干个模块来处理,每个模块处 理一个子问题;设计时遵循自顶 向下、逐步细化、模块化设计和 结构化编码的原则。
优点:编程简单、结构性强、可读性好;
算法举例
【例1.1】输入三个数,然后输出其中最大的数。 (1) 输入变量 x,y,z的值 (2) 比较x和y, 如果x>y, 则x送max; 否则y送max。 (3) 比较max与z, 如果 z > max, 则将z送max。 (4) 输出max, max 即为最大数。
算法
对同一个问题, 算法是不唯一的, 例如:
C语言程序设计
C 语言程序设计
课程性质: 大学生公共基础课程 (必修课) 学时: 讲课 34课时; 实验 64 (课内32/课外32) 学分: 2学分
总评成绩 = 平时成绩 40%+ 期末成绩 60% 平时成绩: 成绩1(作业、考勤10%) + 成绩2(单元测验15%)
+ 成绩3(实验报告15%)
起止框 连接点
处理框 流程线
判断框
输入或输出框
【例1.1】对任意给定 的三个整数 x,y,z, 求 出其最大值。
开始
读入x,y,z
流程图:
T maxx
x>y?
F maxy
T maxz
z>max? F
输出max 结束
4. 用N-S流程图表示算法
例: 对任意给定的 三个整数 x,y,z, 求 出其最大值。
读入x, y, z
T
ቤተ መጻሕፍቲ ባይዱ
x>y
F
maxx maxy
z>max
T
F
maxz
打印max单元的值
结构化程序设计
C语言是结构化程序设计语言, 有三种基本结构。 顺序结构 选择结构 循环结构 程实序践设证计明的,目任标何在复正杂确的的算前法提都下可, 以其用重这要三性种排基列本次 序结依构次来为描: 述可。读、可维护、可移植和高效。
遵循这种结构的程序只有一个入口和一个出口。
缺点:存在数据与程序模块的分离和程序的可重用性差等问题。
面向对象的程序设计
Program Design in C Language
面向对象的程序设计将一些新的理念和结构化程序设计中 好的思想相融合,提供了一种全新的程序设计方法。
基本思想
将一个需要解决的问题分解为一系列实 体(对象),然后围绕这些对象建立数 据和函数;函数的功能决定了该对象的 行为。规定一个对象的函数可以访问另 一对象的函数,但一个对象的数据不能 应用于另一对象的函数中。
2021/3/11
4
第一章 C语言的发展、特点与程序开发基本知识
1.1 C语言的发展与特点 1.2 程序设计的基本方法 1.3 算法的概念及其表示 1.4 C语言的基本结构 1.5 应用程序的开发步骤和运行过程
2021/3/11
5
目 录 下一章 习题
C语言的发展
C语言是一门优秀的程序设计语言 − C语言是在1973年由美国贝尔实验室开发的。 − 1983年, ANSI为C语言制定了新的标准, 称为 ANSIC, 并于1989年最终完成。 − 目前使用较多的版本有ANSI C, Borland C, Turbo C, Microsoft C/C++ , Visual C++等。
顺序结构
矩形框 — 用于表示顺序结构。执行时按语句的 先后顺序执行。先执行语句A, 再执行语句B。
A B
顺序结构的流程图
A B
顺序结构的N-S图
选择结构(分支结构)
根据条件的真或假选择执行不同的操作内容。当 条件成立执行语句A,否则执行语句B。
2. 用伪代码表示算法
英语和程序设计语言混合使用称为伪代码。 Begin {算法开始} input x, y, z if x>y then max=x else max=y if z>max then max=z print max end {算法结束}
3. 用流程图表示算法
用一些图框和方向线表示算法的图形表示法。 特点: 直观形象,易于理解,便于检查和交流。 常用流程图符号及含义如下:
C语言的特点
C语言是结构化程序设计语言 功能强大,具有丰富的数据类型及运算符。 简洁紧凑,使用方便灵活。 C语言具有自我扩充能力 C语言具有汇编语言的功能 可移植性好
1.2 程序设计的基本方法
程序的概念 程序是计算机解决问题所需的一系列指令的集合。
程著序名=计数算据机结科构学+家算Ni法kik+la程us序W设ir计th方提法出+了语言工具 数“据算结法构+是数数据据结的构类=型程和序数”据的的公组式织形式。 程 序算就法是是在为数解据决的一某个些问特题定而的采表用示的方方式法和和结有构限的的基步础骤上。, 对 抽程象序算设法计的方具法体描述。 确定语言和编程环境
期末成绩: 期末理论机考60%
2021/3/11
2
第一章 C语言的发展、特点与程序结构
第二章 基本数据类型、运算符和表达式
第三章 基本语句与顺序结构
第四章 选择结构
第五章 循环结构
第六章 数组
第七章 函数
第八章 指针
第十章 结构体
第十二章 文件
2021/3/11
3
C语言程序设计
推荐参考书: 谭浩强主编《C程序设计》(第二版) 北京:清华大学出版社
求和 1+2+3+……+100
100
(1) =(…(((1+2)+3)+4)+ …+100 ) i 1
(2)
100
=(1+100)×50
i 1
一个好的算法应该是: 正确、易读、效率高。
算法的表示方法
常用的算法描述方法有: 自然语言描述、伪代码、流程图、N-S图、PAD图 等。 1. 自然语言 就是用人们日常使用的语言来描述或表示算法的 方法。
几个基本概念: 类、对象、属性、事件、方法
三类机制: 封装、继承、多态
1.3 算法及其表示
算法的特性 − 有穷性 一个算法的操作步骤应当是有限的; − 确定性 算法中的每一个步骤应当有确定的意义,不能 有二义性; − 有效性 算法中的每一个步骤应当正确、可行, 并且能 有效地执行; − 有零个或多个输入 执行算法时需要从外界获取的信息; − 有一个或多个输出 执行算法后应当得到正确的结果。
面向过程的程序设计
所谓面向过程的程序设计, 是指利用面向过程的语言工具 (如Pascal、Fortran和C语言等)进行程序开发的各项活动。
基本思想:
把一个需要求解的复杂问题分为 若干个模块来处理,每个模块处 理一个子问题;设计时遵循自顶 向下、逐步细化、模块化设计和 结构化编码的原则。
优点:编程简单、结构性强、可读性好;
算法举例
【例1.1】输入三个数,然后输出其中最大的数。 (1) 输入变量 x,y,z的值 (2) 比较x和y, 如果x>y, 则x送max; 否则y送max。 (3) 比较max与z, 如果 z > max, 则将z送max。 (4) 输出max, max 即为最大数。
算法
对同一个问题, 算法是不唯一的, 例如: