c语言程序设计教案资源,C语言程序设计教案cjiaoxu.ppt

C语言程序设计教案cjiaoxu.ppt

第四章 C程序流程设计,C语句概述,程序的三种基本结构,选择型程序设计,循环型程序设计,辅助控制语句,4.1 C语句概述,C语句以“;”作分隔符,编译后产生机器指令. C语句分类 表达式语句表达式加分号构成。,空语句 ;,程序控制语句9种),如 totaltotallimit; a3; func ; printf“Hello,worldn”;用 括起来的一组语句 一般形式 数据说明部分; 执行语句部分; 说明 “”后不加分号 语法上和单一语句相同 复合语句可嵌套,复合语句,结构化程序设计 基本思想任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto) 结构化程序由三种基本结构反复嵌套构成的程序叫 优点结构清晰,易读,提高程序设计质量和效率 三种基本结构 顺序结构,4.2 程序的三种基本结构,二分支选择结构,多分支选择结构,选择结构当型循环结构,直到型循环结构,注A,B,A1.An可以是一个简单语句,也可以是一个基本结构,循环结构,if语句(条件选择语句) if语句的三种形式 形式一 格式if expression statement 执行过程,例if xy printf“d”,x;,形式二 格式if expression statement1 else statement2 执行过程,例if xy maxx; else maxy;4.3 选择型程序设计,三 格式,if expr1 statement1 else if expr2 statement2 else if expr3 statement3 . else statementn ,执行过程,例if salary1000 index0.4; else if salary800 index0.3; else if salary600 index0.2; else if salary400 index0.1; else index0;,选择型程序设计形式,如ifab,if后面的表达式类型任意,语句可以是复合语句 ifx ifx0 ifx ifx0,例 考虑下面程序的输出结果 include main int x,y; scanf“d,d”, Compile Error,说明, 一般形式,if语句嵌套,/*ch4_4.c*/ include main int x,y; printf“Enter integer x,y“; scanf“d,d“, ,运行Enter integer x,y12,23 XY Enter integer x,y12,12 XY,例 输入两数并判断其大小关系,缺省 时,else总是和它上面离它最近的未配对的if配对,if else 配对原则,例 if ab ifbc printf“abc”; else printf“ab”;,修改 if ab ifbc printf“abc”; else printf“ab”;,实现if else 正确配对方法加 实现if else 正确配对方法,一般形式,switch 表达式 case E1 语句组 1; break; case E2 语句组 2; break; . case En 语句组 n; break; default 语句组 ; break; ,执行过程switch语句(开关分支语句), E1,E2,En是常量表达式,且值必须互不相同 语句标号作用,必须用break跳出 case后可包含多个可执行语句,且不必加 switch可嵌套 多个case可共用一组执行语句,如 case A case B case C printf“score60n”; break; ,说明,例 switchscore case 5 printf“Very good”; case 4 printf“Good”; case 3 printf“Pass”; case 2 printf“Fail”; default printf“data error”; ,运行结果score为5时,输出 Very good Good Pass Fail data error,例子(1),/*ch4_5.c*/ include main int c; printf“Enter m or n or h or other“; cgetchar; switchc case m printf“nGood morningn“;break; case n printf“nGood nightn“; break; case h printf“nHellon“; break; default printf“nn“; break; ,例子(2) 根据输入字母输出字符串,概述 C语言可实现循环的语句 用goto 和 if 构成循环 while 语句 do while 语句 for 语句 goto语句及用goto构成循环 goto语句一般格式,goto 语句标号; . 标号语句;,4.4 循环型程序设计,功能无条件转移语句 说明 不能用整数作标号 只能出现在goto所在函数内,且唯一 只能加在可执行语句前面 限制使用goto语句,4.4 循环型程序设计(1),/*ch5_1.c*/ include main int i,sum0; i1; loop ifi100 sumi; i; goto loop; printf“d“,sum; ,sum01 sum123 sum336 sum64 sum49501005050,例 用if 和goto语句构成循环,一般形式,while表达式 循环体语句;,执行流程,while语句,一般形式,while表达式 循环体语句;,执行流程,while语句形式和执行流程,特点先判断表达式,后执行循环体 说明 循环体有可能一次也不执行 循环体可为任意类型语句 下列情况,退出while循环 条件表达式不成立(为零) 循环体内遇break,return,goto 无限循环 while1 循环体;,While语句特点和说明,用while循环求,/*ch5_2.c*/ include main int i,sum0; i1; whilei100 sumsumi; i; printf“d“,sum; ,例子/*ch5_21.c*/ include main int i1; whilei10 printf“d*ddn“,i,i,i*i; i; ,运行结果 1*11 2*24 3*39 4*416 5*525 6*636 7*749 8*864 9*981 10*10100,例 显示110的平方,一般形式,do 循环体语句; while表达式;,执行流程,dowhile语句,特点先执行循环体,后判断表达式 说明 至少执行一次循环体 dowhile可转化成while结构,dowhile语句特点和说明,一般形式,forexpr1 ; expr2 ; expr3 循环体语句;,执行流程,for语句,,for循环变量赋初值;循环条件;循环变量增值 循环体语句; ,说明 for语句中expr1, expr2 ,expr3 类型任意,都可省略,但分号;不可省 无限循环 for for语句可以转换成while结构,expr1; whileexpr2 循环体语句; expr3; ,for语句一般应用形式,例include main int i0; fori0;i10;i putcharai; ,运行结果abcdefghij,例include main int i0; for;i10;i putcharai; ,例include main int i0; for;i10; putcharai; ,例include main int i0; for;i10;putcharai,i ; ,例子例 (f0r梯形法求数值积分,三种循环可互相嵌套,层数不限 外层循环可包含两个以上内循环,但不能相互交叉 嵌套循环的执行流程,1 while while . ,2 do do while ; . while ;,3 while do while ; . ,4 for ; ; do while; while . ,嵌套循环的跳转 禁止 从外层跳入内层 跳入同层的另一循环 向上跳转,循环的嵌套,fori1;i10;i forj1;j10;j printfj9“4dn““4d“,i*j;,循环的嵌套(图解),4.5 辅助控制语句,break语句 功能在循环语句和switch语句中,终止并跳出循环体或开关体 说明 break只能终止并跳出最近一层的结构 break不能用于循环语句和switch语句之外的任何其它语句之中,4.5 辅助控制语句(图解1),4.5 辅助控制语句(图解2),功能结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断 仅用于循环语句中,continue语句,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值