C语言程序设计教案cjiaoxueppt课件

上传人:风*** 文档编号:252358908 上传时间:2024-11-15 格式:PPT 页数:37 大小:291.89KB
返回 下载 相关 举报
C语言程序设计教案cjiaoxueppt课件_第1页
第1页 / 共37页
C语言程序设计教案cjiaoxueppt课件_第2页
第2页 / 共37页
C语言程序设计教案cjiaoxueppt课件_第3页
第3页 / 共37页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,你现在所处的位置:,首页,C语言教学,幻灯片版,第四章 C程序流程设计,1,第四章 C程序流程设计,C语句概述,程序的三种基本结构,选择型程序设计,循环型程序设计,辅助控制语句,第四章 C程序流程设计C语句概述程序的三种基本结构选择型,1,4.1,C语句概述,C语句:以“;”作分隔符,编译后产生机器指令.,C语句分类,表达式语句:表达式加分号构成。,空语句:;,程序控制语句(9种):,if()else,switch,for(),while(),dowhile(),continue,break,goto,return,分支,循环,辅助控制,如 total=total+limit;,a=3;,func();,printf(“Hello,world!n”);,4.1 C语句概述C语句:以“;”作分隔符,编译后产生机器,2,:用 括起来的一组语句,一般形式:,数据说明部分;,执行语句部分;,说明:,“”后不加分号,语法上和单一语句相同,复合语句可嵌套,复合语句,:用 括起来,3,结构化程序设计,基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto),结构化程序:由三种基本结构反复嵌套构成的程序叫,优点:结构清晰,易读,提高程序设计质量和效率,三种基本结构,顺序结构,A,B,A,B,流程图,N-S图,4.2,程序的三种基本结构,结构化程序设计ABAB流程图N-S图4.2 程序的三种基本结,4,P,A,B,真,假,P,B,A,真,假,k,A1,A2,Ai,An,k=k2,k=k1,k=kn,k=ki,.,.,二分支选择结构,多分支选择结构,选择结构,PAB真假PBA真假kA1A2AiAnk=k2k=k1k=k,5,当型循环结构,直到型循环结构,P,A,假,真,当P为真,A,A,P,真,假,A,直到P为真,注:A,B,A1.An可以是一个简单语句,也可以是一个基本结构,循环结构,当型循环结构直到型循环结构PA假真当P为真AAP真假A直到P,6,if语句,(条件选择语句),if语句的三种形式,形式一:,格式:,if(expression),statement,执行过程:,expr,statement,非0,=0,例:if(xy),printf(“%d”,x);,expr,statement1,statement2,非0,=0,形式二,:,格式,:,if(expression),statement1,else,statement2,执行过程:,例:if(xy)max=x;,else max=y;,4.3,选择型程序设计,exprstatement非0=0例:if(xy)exp,7,三:,格式:,if(expr1)statement1,else if(expr2)statement2,else if(expr3)statement3,.,else statementn ,expr1,statemnt1,非0,=0,expr2,expr3,statemntn,statemnt3,statemnt2,非0,非0,=0,=0,执行过程:,例:if(salary1000)index=0.4;,else if(salary800)index=0.3;,else if(salary600)index=0.2;,else if(salary400)index=0.1;,else index=0;,选择型程序设计形式,三:if(expr1)stat,8,如:if(a=b,if(3)printf(“OK”);,if(a)printf(“%d”,a);,if后面的表达式类型任意,语句可以是复合语句,if(x),if(x!=0),if(!x),if(x=0),例 考虑下面程序的输出结果:,#include,main(),int x,y;,scanf(“%d,%d”,if(xy),x=y;y=x;,else,x+;y+;,printf(“%d,%dn”,x,y);,Compile Error!,说明:,如:if(a=b&x=y)printf(“a=,9,:,一般形式:,if(expr1),if(expr2)statement1,else statement2,else,if(expr3)statement3,else statement4,内嵌if,内嵌if,if(expr1),if(expr2),statement1,else,statement2,内嵌if,if(expr1),if(expr2),statement1,else,statement3,内嵌if,if(expr1),statement1,else,if(expr3),statement3,else,statement4,内嵌if,if语句嵌套,:if(expr1)内嵌if内嵌ifif(expr1)内,10,/*ch4_4.c*/,#include,main(),int x,y;,printf(Enter integer x,y:);,scanf(%d,%d,if(x!=y),if(xy)printf(XYn);,else printf(XYn);,else,printf(X=Yn);,运行:Enter integer x,y:12,23,XY,Enter integer x,y:12,12,X=Y,例 输入两数并判断其大小关系,/*ch4_4.c*/运行:Enter integer,11,缺省 时,else总是和它上面离它最近的未配对的if配对,if(),if(),if(),else.,else.,else.,if else 配对原则:,缺省 时,else总是和它上面离它最近的未配对的if配对,12,例:if(a=b),if(b=c),printf(“a=b=c”);,else,printf(“a!=b”);,修改:if(a=b),if(b=c),printf(“a=b=c”);,else,printf(“a!=b”);,实现if else 正确配对方法:加,实现if else 正确配对方法,例:if(a=b)修改:if(a=b)实现if,13,一般形式:,switch(表达式),case E1:,语句组 1;,break;,case E2:,语句组 2;,break;,.,case En:,语句组 n;,break;,default:,语句组;,break;,执行过程,:,switch,表达式,语句组1,语句组2,语句组n,语句组,.,E 1,E 2,En,default,case,switch语句,(,开关分支语句,),switch(表达式)执行过程:switch表达式语句组1,14,:,E1,E2,En是,常量表达式,且值必须互不相同,语句标号作用,必须用,break,跳出,case,后可包含多个可执行语句,且不必加,switch可嵌套,多个,case,可共用一组执行语句,如:,case A:,case B:,case C:,printf(“score60n”);,break;,.,说明:,:如:说明:,15,例 switch(score),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),例 switch(score)运行结果:score为5,16,/*ch4_5.c*/,#include,main(),int c;,printf(Enter m or n or h or other:);,c=getchar();,switch(c),case m:printf(nGood morning!n);break;,case n:printf(nGood night!n);break;,case h:printf(nHello!n);break;,default:printf(n?n);break;,例子(2)根据输入字母输出字符串,/*ch4_5.c*/例子(2)根据输入字母输出字符串,17,概述,C语言可实现循环的语句:,用goto 和 if 构成循环,while 语句,do while 语句,for 语句,goto语句及用goto构成循环,goto语句一般格式:,goto,语句标号,;,.,标号:语句,;,4.4,循环型程序设计,goto 语句标号;4.4 循环,18,功能:无条件转移语句,说明:,不能用整数作标号,只能出现在goto所在函数内,且唯一,只能加在可执行语句前面,限制使用goto语句,4.4,循环型程序设计(1),功能:无条件转移语句4.4 循环型程序设计(1),19,/*ch5_1.c*/,#include,main(),int i,sum=0;,i=1;,loop:,if(i=100),sum+=i;,i+;,goto loop,;,printf(%d,sum);,sum=0+1,sum=1+2=3,sum=3+3=6,sum=6+4,sum=4950+100=5050,循环初值,循环终值,循环变量增值,循环条件,循环体,例 用if 和goto语句构成循环,/*ch5_1.c*/sum=0+1循环初值循环终值循环变量,20,一般形式,:,while(表达式),循环体语句;,执行流程,:,expr,循环体,假(0),真(非0),while,while,语句,while(表达式)执行流程:expr循环体假(0)真(非,21,一般形式,:,while(表达式),循环体语句;,执行流程,:,expr,循环体,假(0),真(非0),while,while,语句形式和执行流程,while(表达式)执行流程:expr循环体假(0)真(非,22,特点:先判断表达式,后执行循环体,说明:,循环体有可能一次也不执行,循环体可为任意类型语句,下列情况,退出while循环,条件表达式不成立(为零),循环体内遇break,return,goto,无限循环:while(1),循环体;,While语句特点和说明,特点:先判断表达式,后执行循环体While语句特点和说明,23,用while循环求,/*ch5_2.c*/,#include,main(),int i,sum=0;,i=1;,while(i=100),sum=sum+i;,i+;,printf(%d,sum);,循环初值,循环终值,循环变量增值,循环条件,循环体,例子,用while循环求/*ch5_2.c*/循环初值循环终值循,24,/*ch5_21.c*/,#include,main(),int i=1;,while(i=10),printf(%d*%d=%dn,i,i,i*i);,i+;,运行结果:,1*1=1,2*2=4,3*3=9,4*4=16,5*5=25,6*6=36,7*7=49,8*8=64,9*9=81,10*10=100,例 显示110的平方,/*ch5_21.c*/运行结果:例 显示110的平方,25,一般形式:,do,循环体语句;,while(表达式);,执行流程,:,do,循环体,expr,假(0),真(非0),while,dowhile,语句,do 执行流程:do循环体expr假(0)真(非0)whil,26,特点:先执行循环体,后判断表达式,说明:,至少执行一次循环体,dowhile可转化成while结构,expr,循环体,假(0),真(非0),循环体,While循环,dowhile,语句特点和说明,特点:先执行循环体,后判断表达式expr循环体假(0)真(非,27,一般形式:,for(,expr1,;,expr2,;,expr3,),循环体语句;,执行流程
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!