《二级C语言培训》PPT课件.ppt

上传人:tia****nde 文档编号:11500385 上传时间:2020-04-26 格式:PPT 页数:60 大小:1,023.50KB
返回 下载 相关 举报
《二级C语言培训》PPT课件.ppt_第1页
第1页 / 共60页
《二级C语言培训》PPT课件.ppt_第2页
第2页 / 共60页
《二级C语言培训》PPT课件.ppt_第3页
第3页 / 共60页
点击查看更多>>
资源描述
第4章选择结构,4.1关系运算和逻辑运算4.2if语句和用if语句构成的选择结构4.3条件表达式构成的选择结构4.4switch语句以及用switch语句和break语句构成的选择结构4.5语句标号和goto语句,关系运算符(共6种)用于比较两个数据的大小,被比较的数据可以是数值型,也可以是字符型等。,4.1关系运算和逻辑运算,(大于)=(大于等于)=(等于)优先级相同(低)!=(不等于)优先级别:低于算术运算符,但高于赋值运算符。结合方向:自左而右。,关系表达式及关系表达式的值用关系运算符连接的两个表达式称为关系表达式。如:3=3+53+2ba+bb+c(a=3)(b=5)ab)(bb其值为?c=ab其值为?,1,1,例2:3=3+53+25b=ba*bb,说明(1)区别:=条件运算符=赋值运算符(2)字符数据的比较按其ASCII码进行。dE(3)一般不用“=”来判定二个实数是否相等。若变量a,b为实型,判定a,b相等可用:fabs(a-b)eps其中eps是用户给定的一个充分小的数。,如:a=1234.5679;b=1234.5679fabs(a-b)z)?x+2:x-2,3,x+5,结果:6,switch(表达式)case常量表达式1:语句1case常量表达式2:语句2case常量表达式n:语句ndefault:语句n+1/*可选*/,4.4switch语句以及用switch语句和break语句构成的选择结构,switch(表达式)case常量表达式1:语句1case常量表达式2:语句2case常量表达式n:语句ndefault:语句n+1/*可选*/,4.4switch语句以及用switch语句和break语句构成的选择结构,4.4.2switch语句执行过程,执行过程:1.计算switch后表达式的值,若该值等于某个case后常量表达式的值,则转向该case后的执行语句,并顺序执行其它case后的语句;2.若表达式的值不等于任何case后面的常量表达式的值,则转向default后面的语句去执行。如没有default部分,则转向switch的后续语句。,switch(表达式)case常量表达式1:语句1case常量表达式2:语句2case常量表达式n:语句ndefault:语句n+1/*可选*/,例:根据从键盘输入的学生成绩,输出对应的等级。,main()floatscore;intn;printf(inputscore:);scanf(%f,4.4.3在switch语句体中使用break语句,例子:根据从键盘输入的学生成绩,输出对应的等级。,main()floatscore;intn;printf(inputscore:);scanf(%f,#includemain()floatscore;printf(inputscore:);scanf(%f,n为整型表达式,例根据考试成绩的等级打印出百分制分数段。P99,程序演示,main()chargrade;printf(inputAE:);scanf(%c,n为字符型表达式,程序演示,switch语句允许嵌套。switch()switch(),补充:,看成一条语句,结果:a=2,b=1,一般形式:goto标号;功能:将执行流程转到以该标号为前缀的语句去执行。,C语言允许在任何语句前添加标号,以作为goto语句的转向目标。标号:语句;其中:标号的命名规则与变量完全相同。,4.5语句标号和goto语句,例以计算1+2+3+100的值。,用if-goto构成循环,main()inti=1,sum=0;loop:if(i=3fi=fi-1+fi-2,月份123456,数量112358,程序演示,注意和课本比较,for(表达式1;表达式2;表达式3)循环体语句,注意“表达式1”仅在循环开始前,执行一次。,5.3for语句和用for语句构成的循环结构,for语句最简单、最易理解的形式,for(循环变量赋初值;循环条件;循环变量增值)循环体语句,例5.5:求1+2+3+4+100,main()inti,sum=0;for(i=1;i=100;i+)sum=sum+i;printf(“sum=%d”,sum);,printf(“i=%d”,i);,说明for语句中的三个表达式都可以省略,但其中的分号一定要保留。表达式1和表达式3既可以是一个简单表达式或逗号表达式。,main()inti,sum;for(i=1,sum=0;i=100;sum+=i,i+);printf(“sum=%d”,sum);,空语句,例5.6编写程序,计算半径为0.5mm、1.0mm、1.5mm、2.0mm、2.5mm时的圆的面积。,一个循环内包含另一个完整的循环结构,称为循环嵌套。,5.4循环结构的嵌套,(1)内层循环必须完全包含在外层循环中,不得交叉。,dofor(;;)while(e);,for(;;)while(e),(2)内、外层循环不能使用相同的循环变量。,for(i=0;)for(i=0;)错误,并列情况下允许for(i=0;)for(i=0;),例5.7两打印输出以下菱形图案,#includeconio.hmain()inti,j,k;clrscr();for(i=1;i=4;i+)for(j=1;j=(4-i);j+)printf();for(k=1;k=(2*i-1);k+)printf(*);printf(n);,*,for(i=1;i=3;i+)for(j=1;j=i;j+)printf();for(k=1;k=7-2*i;k+)printf(*);printf(n);,【算法】判断m是否素数,可以让m除以2到m-1之间的每一个数,如果m能被2到m-1之间的某个数整除,则说明m不是素数,否则,m一定是素数。,补充:从键盘输入一个大于2的整数m,判断m是不是素数(只能被1和它本身整除的数是素数)。,开始,输入数m,m=2,k,2i,i=k+1,m是素数,Y,m不是素数,N,结束,N,Y,Y,N,i+1i,N,程序演示,【算法】判断m是否素数,可以让m除以2到m-1之间的每一个数,如果m能被2到m-1之间的某个数整除,则说明m不是素数,否则,m一定是素数。,#includemath.hmain()intk,m,i;printf(“Enternumber:n”);scanf(“%d”,elseprintf(%disaprimenumbern,m);,补充:从键盘输入一个大于2的整数m,判断m是不是素数(只能被1和它本身整除的数是素数)。,算法:,开始,m=100)break;,注break语句跳出的不是if语句,而是跳出包含此if语句的循环体或switch语句。,5.5break语句与continue语句在循环中的作用,例5.9计算s=1+2+3+i,直到累加到s大于5000为止,并给出s和i的值。,程序演示,#include“stdio.h”main()inti,s;s=0;for(i=1;i+)s=s+i;if(s5000)break;printf(“s=%d,i=%dn”,s,i);,程序运行结果:,s=5050,i=100,说明在switch或循环语句嵌套使用的情况下,break只能终止它所在switch或循环语句,而不能直接跳出(或终止)多层循环,如:,break;,for()for()if()break;,continue一般形式:continue;功能:终止当前这一轮循环,即跳过循环体中位于coutinue后面的语句,而立即进行下一次是否执行循环的判定。,while()if()continue;,for(;)if()continue;,例5.10写出下面程序运行结果:,#include“stdio.h”main()intk=0,s=0,i;for(i=1;i5)printf(“*i=%d,s=%d,k=%dn”,i,s,k);continue;k=k+s;printf(“i=%d,s=%d,k=%dn”,i,s,k);,程序演示,5.6程序举例,例5.11从输入的若干个大于零的正整数中选出最大值,用-1结束输入。,#include“stdio.h”main()intx,max;printf(“Enter1toend:n”);doprintf(“Enterx:”);scanf(“%d”,当输入以下数据时:,24-61812-9451242-1,输出结果:max=45,例5.12用迭代法求某数a的平方根。已知求平方根的迭代公式为:x1=1/2*(x0+a/x0),迭代不断用新的值取代变量的旧值,或由旧值递推出变量的新值的过程。迭代与下列因素有关:初值;(如:x0=a/2且a0)迭代公式;(如:x1=(x0+a/x0)/2)迭代条件:(如:fabs(x0-x1)1e-6),源程序#include“stdio.h”#include“math.h”main()floata,x0,x1;printf(“ninputa:”);scanf(“%f”,程序演示,上机习题四(P49)编程题习题五(P66)编程题,要求:1.课后复习,读懂例题。2.上机前,将程序写在作业本上。3.上机时,调试各程序,并修改。要注明是否通过调试,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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