分校C课件第6讲语句和算法17-25.ppt_第1页
分校C课件第6讲语句和算法17-25.ppt_第2页
分校C课件第6讲语句和算法17-25.ppt_第3页
分校C课件第6讲语句和算法17-25.ppt_第4页
分校C课件第6讲语句和算法17-25.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六讲 语句和算法,常用语句 算法及其表示 结构化程序设计 程序设计举例,2/38,C语句概述,3/38,C语句概述,一个c程序可以有若干个源程序文件组成 一个源文件可以有若干个函数和预处理命令以及全局变量声明部分组成 一个函数有函数首部和函数体组成 函数体由数据声明和执行语句组成 C语句分为,5类,控制语句 函数调用语句 表达式语句 空语句 复合语句,(一)控制语句 完成一定的控制功能 1 if() else 条件语句 6 break 间断语句 2 for() 循环语句 7 switch() 开关语句 3 while()循环语句 8 goto 转向语句 4 do while();循环语句 9 return 返回语句 5 continue 继续语句,4/38,C语句概述,5/38,4.1 C语句概述,6/38,程序设计和算法,程序设计 程序 = 数据结构 + 算法 任何计算问题的解决方案包括 按照特定顺序去执行一系列动作。 算法(Algorithm) 为解决某个特定的问题而采用的确定且有限的步骤。 例如 “早晨上学准备算法”: 起床-穿衣-洗漱-吃早餐-上学,语句和算法,算法是程序的灵魂。 Algorithm is the spirit of a program.,7/38,算法的表示,算法的表示方法 自然语言 伪代码 流程图 计算机语言 举例 问题 计算1+2+3+100 数据结构 定义整型变量 i 保存加数 定义整型变量 sum 保存每次累加的和,语句和算法,8/38,算法的自然语言表示,问题 计算1+2+3+100 算法的自然语言表示,语句和算法,步骤1:i=1,sum=0。 步骤2:如果i不大于100,顺序执行步骤3;否则,执行步骤5。 步骤3: sum加上i,相加后的值仍放在sum中,即:sum = sum+i。 步骤4:使 i 的值增 1 得到下一个加数,即i=i+1; 执行步骤2。 步骤5:变量sum中的值就是要得到的结果;输出结果,算法结束。,9/38,算法的伪代码表示,问题 计算1+2+3+100 伪代码表示,语句和算法,i=1 sum=0 while i=100 do sum=sum+i i=i+1 end while print sum,人为的、非正式的语言 与日常用语类似 帮助程序员在写程序之前“设想出”程序 很容易被转换成C程序 一般只包括可执行语句,10/38,算法的流程图表示,流程图表示,语句和算法,11/38,算法的计算机语言表示,C语言表示,语句和算法,#include void main() int i, sum; /定义变量 i=1; sum=0; /变量赋初值 while (i=100) /循环累加100次 sum=sum+i; i=i+1; printf(“1+2+3+.+100=%d”,sum); /输出结果 ,(cw0501.c),12/38,程序的控制结构,程序控制 计算机程序中指定语句执行的顺序。 顺序执行 程序中的语句按照它们的书写顺序一句接一句地执行。 控制转移 把待执行的下一个语句指定为不是书写顺序中的下一个语句。 goto语句带来很多问题。 程序结构不清晰、可读性差、不利于维护。,语句和算法,13/38,结构化技术,结构化技术(1970s):所有的程序只用3种结构就可以写出来。 顺序结构(Sequence structures) Built into C Programs executed sequentially by default 选择结构(Selection structures) C has three types: if, if-else, and switch 循环结构(Repetition structures) C has three types: while, do/while and for,语句和算法,14/38,结构化程序,3种控制结构都是单入/单出控制结构。 结构化程序由3种结构通过以下方式组合而成: 堆叠(stacking) 嵌套(nesting),语句和算法,stacking,nesting,15/38,顺序结构,顺序结构 按语句书写的顺序执行。,语句和算法,到目前为止, 我们所学的程序结构都是从上到下依次执行的顺序结构.,16/38,程序设计举例,问题: 把十进制整数407转换成八进制形式并输出。 分析与设计 转换规则:除8取余法。 用三个变量分别保存八进制形式的三位数,即三次除法运算所得的余数。,语句和算法,17/38,#include void main() int n1, n2, n3; printf(“407 = “); n1 = 407%8; n2 = 407/8%8; n3 = 407/8/8%8; printf(“0%d%d%dn”, n3, n2, n1); ,程序设计举例,源代码(cw0502.c),语句和算法,407 = 0627,18/38,小结,语句是组成程序的基本成分。 C语言的常用语句 算法 概念 与程序设计的关系 表示方法 结构化程序设计,语句和算法,常用的算术运算符 运算符的优先级和结合性 类型转换 赋值运算符 自增自减运算符 逗号运算符,19/38,第七讲 选择结构,关系运算 if语句 if-else语句 问号条件运算符 逻辑运算 switch语句 程序设计举例,C语言程序设计,引例 问题:根据输入的x值,计算y值。,选择结构,分析 情况一:条件x2.5满足时 情况二:条件x2.5满足时,20/38,引例,引例 源代码(cw0601.c),选择结构,#include void main() float x, y; scanf(“%f“, ,5 Y = 24.0 1 Y = 2.0,21/38,关系运算,关系运算(比较运算) 比较两个值,结果为“真”或“假”。 举例:a3 如果a=8,则结果为“真” 如果a=1,则结果为“假” 用关系运算进行条件判断 关系表达式表示一个条件,根据其结果判断条件是否满足。 举例:a3 如果a=8,结果为“真”,即条件满足 如果a=1,结果为“假”,即条件不满足,选择结构,22/38,关系运算符,关系运算符,选择结构,23/38,关系表达式,关系表达式的值是一个逻辑值:“真”或“假” C语言没有逻辑类型的值,因此 用整数 1 表示“真” 用整数 0 表示“假” 即关系表达式的值是整数 1 或 0 。 举例 若a=1,b=2,c=3,选择结构,ab a+bc)=(bc) Y!=y,0 1 1 1,关系表达式 表达式1和表达式2可以是任何表达式。,24/38,关系表达式的使用,举例:写出下面各条件的关系表达式 x为不小于 -5 的整数 x为非零的数 x的平方大于m与n的和,选择结构,x=-5 x!=0 !=0可省见P64中部 x*x(m+n),#include void main() int a=1,b=2,c=3,x,y,m,n; printf(“%dn%dn%dn“, (ab,a+bc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论