《浙江大学C颜晖原版课件C3》由会员分享,可在线阅读,更多相关《浙江大学C颜晖原版课件C3(23页珍藏版)》请在金锄头文库上搜索。
1、 Chap3 算法与 程序设计 q算法 q 语句概述 qC 程序的基本结构 算 法 q程序 用编程语言编写 完成特定功能 的语句的集合 q编程步骤 1 明确问题 2 问题 若干具体步骤 算法 3 算法 程序 4 上机调试运行 q算法 解题方法或解题步骤的精确描述 算法表示 文字描述 流程图和N S流程图 算法与程序 q程序 算法 数据结构 结构化程序设计方法 语言工具和环境 例3 1 从键盘中输入100个整数 对其中的正整数进 行累加 最后输出结果 算法描述 自然语言 输入一个数 如果该数 0 累加它 如果100个数没有输入完 转 步骤 1 输入完100个数后 输出累加 和 例3 1 算法描述
2、 流程图 开始 输入一个数 该数 0 累加 输入完100个 数 输出累加和 结束 起止框 处理框 判断框 流向线 Y Y N N 例3 1 算法描述 N S流程图 处理 判断 重复 算法的C语句实现 void main int x 存放输入数的单元 int count 存放输入个数的单元 int sum 存放累加和的单元 count 0 sum 0 工作单元初值 do scanf d 输入一个数 count 每输入一个数 记一下数 if x 0 判断输入数 0否 sum sum x 是 0 则加到累加和中 while count temp 例3 4 交换变量的值 例 对两个变量先输入两个值 然
3、后交换这两个变量的值 x temp y 步骤 1 x temp 2 x temp 2 x y 例3 4 交换变量的值 例 对两个变量先输入两个值 然后交换这两个变量的值 x temp y 步骤 1 x temp 2 x y 例3 4 交换变量的值 对两个变量先输入两个值 然后交换这两个变量的 值 main int x y temp scanf d d temp x x y y temp printf first d second d x y C 程序的基本结构 q顺序结构 q选择结构 语句1 语句2 条件 满足 不满足 条件 满足不满足 语句1 语句2 选择结构 例 输入变量x 计算y值 1
4、当 x 0 y 1 当 x0 y 1 else y 1 printf x d y d x y x 0 满足 不满足 y 1 y 1 C 程序的基本结构 q顺序结构 q选择结构 q循环结构 不满足 满足 重复执行的语句 后一语句 条件 循环结构 void main int i max x i 9 scanf d while i 0 scanf d if x max max x i printf max number is d max 重复步骤 C 程序的基本结构 q结构化程序设计基本要求 o自顶向下 模块化设计 o使用三种基本结构构造程序 o程序书写规范 切勿随心所欲 o 清晰第一 效率第二 思路清晰 书写清晰 变量名 函数名 注解等 书写使用阶梯形 int merge int a1 int n1 int a2 int n2 把2个排好序的数组a1 a2归并到a2 上 int i j 0 k 0 b 10 if n2 0 for j0 for i 0 i n2 i b i a2 i i 0 while i n1 j else a2 k a1 i if a1 i b j j i k if i n1 for i n1 i k a2 k a1 i if j n2 for j n2 j k a2 k b j return k 请注意书写格式