C语言程序课件ppt-第3章算法、输入输出函数、顺序结构
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
l 要用预编译命令将库函数文件包括到用户源文件中。 如:
#include “stdio.h”或 #include <stdio.h>
3.3.1 格式输出函数 printf() 作用:向终端(或系统隐含指定的输出设备)输出
若干个任意类型的数据。
1. 一般格式:printf(“格式控制符” ,输出列表)
结 if( (5.0*cocks+3.0*hens+chicks/3.0)==100.0)
构
printf("%d %d %d\n",cocks,hens,chicks);
hens复+合+语; 句
}
cocks++;
0
25 75
}
4
18 78
} (3)调试程序
8
11 81
12 4
84
§3.2 C语言的基本语句
(三)空语句:;/*仅有一个;*/ 空语句什么也不做。有时用做被转向点,或为循环语句提供空体。 空语句
§ 3.3 数据输入与输出
l 输入和输出是以计算机主机为主体而言。 输出外部 设备:显示屏,打印机,磁盘。输入设备: 键盘, 扫描仪等。 默认输入设备是键盘,输出设备是显示 器
l C 语言不提供输入输出语句,输入输出操作是由函数 来完成的。如前面提到的printf和scanf。它们是函 数名不是C 语言的关键字。
1、带序号的自然语言描述---易懂却不直观,不严格。
2、流程图:灵活、自由、形象、直观,可表示任何算法。
输入/输出 处理
判断
起止
连接点
流程线
3、NN--SS流图程(图盒图)特点:完全去掉了带箭头的流程线,算法的 所有步骤都写在大矩形框(表示简单、符合结构化思想)。
A B
(a)顺序结构
真P 假 AB
如: s=3.14159*r*r; i++;
表达式语句
函数调用语句:函数调用表达式加一个;号
如:printf( “Hello ,world\n”);
函数调用语句
(2)结构控制语句:控制程序的流程
控制语句
(二)复合语句:将一组语句括在一对{}中,如复合语句 ①、复合语句的{}之后不能有‘;’ ②复合语句中可以是简单语句、复合语句、空语句
}
cocks加1
}
(2)用计算机语言写出程序
#include "stdio.h"
void main( ) {
变量定义与初始化
循环语in句t cocks=0,hens,chicks;
while (cocks<=19)赋{值语句 hens=0;
while (hens<=33) {
选 择
chicks=100-cocks-hens;
四、结构化程序设计过程 1、确定算法:分析问题(建立数学模型)写出算法描述 2、编写程序:用计算机语言写出实现算法的程序 3、上机调试:
举例:张丘建〈算经〉中提出“百鸡问题”:鸡翁一值钱五, 鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、 母、雏各几何?
(1)分析:cocks+hens+chicks=100 5*cocks+3*hens+chicks/3=100
一种良好算法的基本单元:顺序、选择、循环。
A
真P 假
当P成立
B
A
B
A
(a)顺序结构
(b)选择结构
(c)当型循环
二、三种基本结构的共同特点 (1)单入口单出口 (2)结构内的每一部分都有机会被执行 (3)不存在“死循环”
A
直到P成立
(d)直到型循环
三、结构化程序设计的优点 用三种基本结构组成的程序是结构化程序 优点:易编、易读、易懂、易维护 强调程序设计风格和程序结构的规范化 核心思想:自顶向下,逐步细化,模块化设计,结构化编 码
hens=0
细化
当hens ≤ 33时{
找满足题意的chicks数;
hens 加1
}
cocks加1
}
cocks=0
当cocks ≤ 19时{
hens=0
当hens ≤ 33时{
chicks=100-cocks-hens
细化
如果5*cocks+3*hens+chicks/3=100,
则输出
hens 加1
(b)选择结构
当P成立 A
(c)当型循环
A 直到P成立
(d)直到型循环
4、伪代码:用介于自然语言与计算机语言之间的文字及符号来 描述算法(方便、易懂、便于向计算机语言过渡)
自然语言描述: 1、0 s单元 2、1 n单元 3、s+n s 4、n+1 n 5、判断n≤100? 是,转3;否,则转6 6、输出s的值
流程图描述: 开始
0 S 1 n S+n S n+1 n n≤100
输出s
N-S图描述:
0 s 1 n
n≤100?
s+n s n+1 n
输出s的值
伪代码描述: 0 s 1 n
if n≤100 s+n s n+1 n print s
3.1.3结构化程序设计方法
一、结构化程序的三种基本结构 1966年提出三种基本结构,用这三种基本结构作为表示
一、语句 用来对数据进行加工(完成操作任务),是构成程序的基 本单位,通常一个C程序由若干个函数(系统/用户)组成, 每一函数由若干条语句组成。每条语句总是以”;”结束。
二、C语句的分类
可分为三大类:简单语句、复合语句、空语句
(一)简单语句
(1)表达式语句:由一个表达式后跟“;”组成
赋值语句:赋值表达式加一个;号
第3章 算法、输入输出函数、顺序结构
★ 算法及其算法的表示方法
★ C语句概述 ★ 基本的数据输入/输出函数 ★ 简单的C程序设计
著名计算机科学家沃思(Niklaus Wirth)提出 程序 = 数据结构 + 算法
描述数据的类 型、组织形式
描述对数据 的操作步骤
§3.1算法的概念及常用的描述方法
§3.1.1算法的概念
做事情都有——方法、步骤(顺序)—决定事情成败
1、算法:计算机求解某一问题而采用的具体方法、步骤
2、两大类计算机算法:数值运算算法(求数值解-成熟)
非数值运算算法(事务管理-广泛)
3、算法的特性:有穷性、确定性、有效性等
4、算法的描述:描述算法的方法有多,归纳为两大类:
(1)文字
(2)图形(符号)
§3.1.2 算法的常用描述方法
其中:0≤cocks ≤ 19,0 ≤ hens ≤ 33,0 ≤ chicks ≤ 100 思路:依次取cocks的值域中的值,然后求其余两数,看
是否合乎题意题意的hens,chicks数; cocks 加1 }
cocks=0
当cocks ≤ 19时{
#include “stdio.h”或 #include <stdio.h>
3.3.1 格式输出函数 printf() 作用:向终端(或系统隐含指定的输出设备)输出
若干个任意类型的数据。
1. 一般格式:printf(“格式控制符” ,输出列表)
结 if( (5.0*cocks+3.0*hens+chicks/3.0)==100.0)
构
printf("%d %d %d\n",cocks,hens,chicks);
hens复+合+语; 句
}
cocks++;
0
25 75
}
4
18 78
} (3)调试程序
8
11 81
12 4
84
§3.2 C语言的基本语句
(三)空语句:;/*仅有一个;*/ 空语句什么也不做。有时用做被转向点,或为循环语句提供空体。 空语句
§ 3.3 数据输入与输出
l 输入和输出是以计算机主机为主体而言。 输出外部 设备:显示屏,打印机,磁盘。输入设备: 键盘, 扫描仪等。 默认输入设备是键盘,输出设备是显示 器
l C 语言不提供输入输出语句,输入输出操作是由函数 来完成的。如前面提到的printf和scanf。它们是函 数名不是C 语言的关键字。
1、带序号的自然语言描述---易懂却不直观,不严格。
2、流程图:灵活、自由、形象、直观,可表示任何算法。
输入/输出 处理
判断
起止
连接点
流程线
3、NN--SS流图程(图盒图)特点:完全去掉了带箭头的流程线,算法的 所有步骤都写在大矩形框(表示简单、符合结构化思想)。
A B
(a)顺序结构
真P 假 AB
如: s=3.14159*r*r; i++;
表达式语句
函数调用语句:函数调用表达式加一个;号
如:printf( “Hello ,world\n”);
函数调用语句
(2)结构控制语句:控制程序的流程
控制语句
(二)复合语句:将一组语句括在一对{}中,如复合语句 ①、复合语句的{}之后不能有‘;’ ②复合语句中可以是简单语句、复合语句、空语句
}
cocks加1
}
(2)用计算机语言写出程序
#include "stdio.h"
void main( ) {
变量定义与初始化
循环语in句t cocks=0,hens,chicks;
while (cocks<=19)赋{值语句 hens=0;
while (hens<=33) {
选 择
chicks=100-cocks-hens;
四、结构化程序设计过程 1、确定算法:分析问题(建立数学模型)写出算法描述 2、编写程序:用计算机语言写出实现算法的程序 3、上机调试:
举例:张丘建〈算经〉中提出“百鸡问题”:鸡翁一值钱五, 鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、 母、雏各几何?
(1)分析:cocks+hens+chicks=100 5*cocks+3*hens+chicks/3=100
一种良好算法的基本单元:顺序、选择、循环。
A
真P 假
当P成立
B
A
B
A
(a)顺序结构
(b)选择结构
(c)当型循环
二、三种基本结构的共同特点 (1)单入口单出口 (2)结构内的每一部分都有机会被执行 (3)不存在“死循环”
A
直到P成立
(d)直到型循环
三、结构化程序设计的优点 用三种基本结构组成的程序是结构化程序 优点:易编、易读、易懂、易维护 强调程序设计风格和程序结构的规范化 核心思想:自顶向下,逐步细化,模块化设计,结构化编 码
hens=0
细化
当hens ≤ 33时{
找满足题意的chicks数;
hens 加1
}
cocks加1
}
cocks=0
当cocks ≤ 19时{
hens=0
当hens ≤ 33时{
chicks=100-cocks-hens
细化
如果5*cocks+3*hens+chicks/3=100,
则输出
hens 加1
(b)选择结构
当P成立 A
(c)当型循环
A 直到P成立
(d)直到型循环
4、伪代码:用介于自然语言与计算机语言之间的文字及符号来 描述算法(方便、易懂、便于向计算机语言过渡)
自然语言描述: 1、0 s单元 2、1 n单元 3、s+n s 4、n+1 n 5、判断n≤100? 是,转3;否,则转6 6、输出s的值
流程图描述: 开始
0 S 1 n S+n S n+1 n n≤100
输出s
N-S图描述:
0 s 1 n
n≤100?
s+n s n+1 n
输出s的值
伪代码描述: 0 s 1 n
if n≤100 s+n s n+1 n print s
3.1.3结构化程序设计方法
一、结构化程序的三种基本结构 1966年提出三种基本结构,用这三种基本结构作为表示
一、语句 用来对数据进行加工(完成操作任务),是构成程序的基 本单位,通常一个C程序由若干个函数(系统/用户)组成, 每一函数由若干条语句组成。每条语句总是以”;”结束。
二、C语句的分类
可分为三大类:简单语句、复合语句、空语句
(一)简单语句
(1)表达式语句:由一个表达式后跟“;”组成
赋值语句:赋值表达式加一个;号
第3章 算法、输入输出函数、顺序结构
★ 算法及其算法的表示方法
★ C语句概述 ★ 基本的数据输入/输出函数 ★ 简单的C程序设计
著名计算机科学家沃思(Niklaus Wirth)提出 程序 = 数据结构 + 算法
描述数据的类 型、组织形式
描述对数据 的操作步骤
§3.1算法的概念及常用的描述方法
§3.1.1算法的概念
做事情都有——方法、步骤(顺序)—决定事情成败
1、算法:计算机求解某一问题而采用的具体方法、步骤
2、两大类计算机算法:数值运算算法(求数值解-成熟)
非数值运算算法(事务管理-广泛)
3、算法的特性:有穷性、确定性、有效性等
4、算法的描述:描述算法的方法有多,归纳为两大类:
(1)文字
(2)图形(符号)
§3.1.2 算法的常用描述方法
其中:0≤cocks ≤ 19,0 ≤ hens ≤ 33,0 ≤ chicks ≤ 100 思路:依次取cocks的值域中的值,然后求其余两数,看
是否合乎题意题意的hens,chicks数; cocks 加1 }
cocks=0
当cocks ≤ 19时{