上次作业参考答案

上传人:ning****hua 文档编号:243079635 上传时间:2024-09-15 格式:PPT 页数:31 大小:336KB
返回 下载 相关 举报
上次作业参考答案_第1页
第1页 / 共31页
上次作业参考答案_第2页
第2页 / 共31页
上次作业参考答案_第3页
第3页 / 共31页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,上次作业参考答案,/5.3,#include,main(),int,a=3,b=4,c=5;,printf,(“,输出结果是:,n” );,printf(a+b,c&b,=c,的逻辑表达式的值是,%,dn,(a+b,c&b,=c);,printf(a|b+c&b-c,的逻辑表达式的值是,%,dn,(a|b+c&b-c,);,printf(!(a,b)&!c|1,的逻辑表达式的值是,%,dn,(!(a,b),printf(!(x,=,a)&(y,=b)&0,的逻辑表达式的值是,%,dn,(!(x,=,a)&(y,=b),printf(!(a+b)+c-1&b+c/2,的逻辑表达式的值是,%dn,(!(a+b)+c-1,1,/5.4,#include,main(),int,a,b,c,t,max,;,printf,(,请输入,3,个整数:,n);,scanf(%d,%d,%d,&a,&b,&c,);,t=(a,b)?a:b,;,max=(t,c)?t:c,;,printf(3,个整数的最大数是,%,dn,max,);,/5.4,另解,#include,void main(),int,a,b,c,;,scanf(%d,%d,%d,&a,&b,&c,);,if(a,=,b&a,=c),printf(%d,a,);,if(b,=,a&b,=c),printf(%d,b,);,if(c,=,a&c,=b),printf(%d,c,);,/5.5,#include,main(),int,x,y,;,printf,(,请输入,x,:,n);,scanf(%d,&x,);,if(x,1),y=x;,else if (x10),y=2*x-1;,else,y=3*x-11;,printf(“y,=%,dn,y,);,#include,/5.4,另解,void main(),int,a,b,c,t,;,scanf(%d,%d,%d,&a,&b,&c,);,if(a,=b),t=a;,else t=b;,if(t,=c),printf(%d,t,);,else,printf(%d,c,);,2,/5.9,#include,main(),int,t,a,b,c,d,;,printf,(,请输入,4,个整数:,n);,scanf(%d,%d,%d,%d,&a,&b,&c,&d,);,printf(a,=%,d,b,=%,d,c,=%,d,d,=%,dn,a,b,c,d,);,if(a,b),t=,a;a,=,b;b,=t;,if(a,c),t=,a;a,=,c;c,=t;,if(a,d),/a,依次和,b,、,c,、,d,比较,t=,a;a,=,d;d,=t;,if(b,c),t=,b;b,=,c;c,=t;,if(b,d),/b,和,c,、,d,比较,t=,b;b,=,d;d,=t;,if(c,d),t=,c;c,=,d;d,=t;,/c,和,d,比较,printf,(,排序结果是:,n);,printf(%d,%d,%d,%dn,a,b,c,d,);,3,/5.7,#include,void main(),int,i,a,b,c,d,e,;,printf,(,请输入一个正整数,n);,scanf(%d,&i,);,if(i,=10000&i=99999),printf,(,这是一个五位数;,n);,a=i/10000;,b=(i-a*10000)/1000;,c=(i-a*10000-b*1000)/100;,d=(i-a*10000-b*1000-c*100)/10;,e=i-a*10000-b*1000-c*100-d*10;,printf,(,其数位分别是:,%,d,%d,%d,%d,%dn,a,b,c,d,e,);,printf,(,其逆序数位分别是:,%,d,%d,%d,%d,%dn,e,d,c,b,a,);,/,其它几个同上处理,还可以按如下方法求解:,e=i%10;,d=i/10%10;,c=i/100%10;,/c=i/10/10%10;,b=i/1000%10;,/b=i/10/10/10%10,a=i/10000,4,上讲回顾,关系运算符、关系表达式;,逻辑运算符、逻辑表达式;,条件运算符的使用;,条件判断语句,if,等的使用;,多分支选择语句的使用;,选择结构程序设计;,5,本讲要点,掌握,3,种常见的,C,循环语句;,了解、掌握循环结构程序设计的,3,要素;,掌握循环结构语句执行的顺序;,掌握简单的循环结构程序设计;,6,循环结构程序设计,main(),7,例,1,:从键盘输入三角形的三条边长,求三角形的面积。,/*,第,3,讲源程序*,/,#include,#include,main(),int,a,b,c,;,/*,三个变量,用来表示三条边长*,/,float,s,area,;,/*area,变量用来表示面积*,/,scanf(%d,%d,%d,&a,&b,&c,);,/*,输入三条边长的值*,/,s=(a+b+c)/2.0;,area=,sqrt(s,*(s-a)*(,s-b,)*(,s-c,);,/*,海伦公式求面积*,/,printf(The,resule,is area=%.2fn,area);,/*,第,4,讲源程序*,/,#include,#include,main(),int,a,b,c,;,/*,三个变量,用来表示三条 边长*,/,float,s,area,;,/*area,变量用来表示面积*,/,scanf(%d,%d,%d,&a,&b,&c,);,/*,输入三条边长的值*,/,if,(,a+b,c&a+c,b&b+c,a,),s=(a+b+c)/2.0;,area=,sqrt(s,*(s-a)*(,s-b,)*(,s-c,);,/*,海伦公式求面积*,/,printf(The,resule,is area=%.2fn,area);,else,printf,(,你输入的数据无效,n);,8,分析,3,讲中的源程序只考虑了最理想的情况,没有对是否能够构成三角形作出判断,,4,讲中作了补充,那么,4,讲中的例程是否还有不足?,4,讲中对于输入的三边,如果不能构成三角形,则程序直接输出“输入无效,”,后而结束。通常,我们希望程序能够这样:如果用户输入的数据无效,给出提示,可以反复输入,直到输入有效的数据。,9,改进后的源程序,#include,#include,main(),int,a,b,c,;,/*,三个变量,用来表示三条边长*,/,float,s,area,;,/*area,变量用来表示面积*,/,scanf(%d,%d,%d,&a,&b,&c,);,/*,输入三条边长的值*,/,while(a+b,=,c|a+c,=,b|b+c,=a),/,当不能构成三角形的时候,printf,(,你输入的数据无效,请重新输入,n);,scanf(%d,%d,%d,&a,&b,&c,);,s=(a+b+c)/2.0;,area=,sqrt(s,*(s-a)*(,s-b,)*(,s-c,);,/*,海伦公式求面积*,/,printf(The,resule,is area=%.2fn,area);,循环条件,循环体,10,循环结构三要素,循环变量赋初值,循环的起始,从哪里开始。,循环条件,满足什么条件时才执行循环;也即告知循环终止的条件。,循环体,要被反复执行的对象,11,While,循环语句,三种基本循环语句,while(,表达式,),循环体语句,执行过程:当表达式为非,0,值时,执行,while,语句中的内嵌语句。其特点是,:,先判断表达式,后执行语句。,e.g. i=0;,while(i,5),printf,(“*”);,i+;,表达式可以是关系表达式、逻辑表达式等,初值,循环条件,循环体,12,dowhile,循环语句,do,循环体语句,while(,表达式,),;,执行过程:先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非零,(“,真”,),时,返回重新执行循环体语句,如此反复,直到表达式的值等于,0,为止,此时循环结束。,e.g. i=0;,do ,printf,(“*”);,i+;,while(i,5);,表达式可以是关系表达式、逻辑表达式等,13,例:,while,和,dowhile,的比较,#include,main( ),int,sum=0,i;,scanf(“%d”,&i,);,while(i,=10),sum+=i;,i+;,printf(“sum,=%,dn”,sum,);,#include,main( ),int,sum=0,i;,scanf(“%d”,&i,);,do,sum+=i;,i+;,while(i,=10);,printf(“sum,=%,dn”,sum,);,14,分析,当第一次输入的,i,的值小于,10,时,两个程序的结果相同;,当第一次输入的,i,的值大于,10,时,结果不同;,结论:当,while,后面表达式的值第一次为真时,两种循环的结果相同,否则,循环的结果不同,15,for,循环语句,for,(,表达式,1,;表达式,2,;表达式,3),循环,语句,1,2,3,4,一般情况下,表达式,1,是循环变量赋初值;表达式,2,是循环条件;表达式,3,是循环变量增值;,例如:,for(i,=0;i10;i+),a+=1;,16,执行,for,循环之后的语句,表达式,2,?,执行,语句,成立,不成立,执行表达式,3,执行表达式,1,for,流程图,for,循环改写成,while,循环形式,表达式,1,while(,表达式,2),语句;,表达式,3,;,17,例,2,:,编程计算,分析:,假如用,sum,变量来保存和,其初值为,0,,那么变量,i,从,1,开始,先将其累加到,sum,变量中,然后,i,自身加,1,,再累加到,sum,中,,直到,i=100,为止,整个过程持续,100,次;,计算过程如下:,0,+1+2+3+100,18,算法流程,sum=0,;,i=1;,sum=,sum+i,;,i=i+1;/*i+;*/,i=100,结束,循环初值,循环体,循环条件,19,/*while,实现*,/,#include,main(),int,i=1,sum=0,;,while(,i,=100,),sum=,sum+i,;,i+;,printf,(,累加和是,%,dn,sum,);,/*dowhile,实现*,/,#include,main(),int,i=1,sum=0,;,do,sum=,sum+i,;,i+;,while(,i,=100,);,printf,(,累加和是,%,dn,sum,);,20,/*for,循环实现,*,/,#include,main(),int,i,sum,=0;,for(,i,=1;i=100;i+,),sum+=i;,printf,(,累加和是,%,dn,sum,);,21,几种循环的比较,在,while,循环和,dowhile,循环中,只在,while,后面的括号中指定循环条件,因此为了使循环能正常地结束,循环体中应包含使循环趋于结束的语句;如,i+,,,i=i+1,等等;,for,循环表达式,3,中包含使循环趋于结束的操作;,While,和,dowhile,循环,循环变量初始化应在,while,和,dowhile,语句之前,而,for,循环可在表达式,1,中实现循环变量的初始化;,for,循环功能强大、灵活,不仅可以用于循环次数已知的情况,也可以用户循环次数不知而知道循环结束的情况;,22,例,3,课堂练习:编程求,n,!,其中,n,从键盘输入,计算过程如下:,1,*1*2*3*n,分析:,假如用,sq,变量来保存阶乘,其初值为,1,,那么变量,i,从,1,开始,先将其累乘到,sq,变量中,然后,i,自身加,1,,再累乘到,sq,中,,直到,i=100,为止,整个过程持续,n,次;,23,#include,main(),int,n,i,=1,sq=1;,printf(please,input the value of,n:n,);,scanf(%d,&n,);,while(i,=n),sq*=i;,i+;,printf(the,factorial of %d is %,dn,n,sq,);,24,#include,main(),int,n,i,sq,=1;,printf(please,input the value of,n:n,);,scanf(%d,&n,);,for(i,=1;i=,n;i,+),sq*=i;,printf(the,factorial of %d is %,dn,n,sq,);,#include,main(),int,n,i,=1,sq=1;,printf(please,input the value of,n:n,);,scanf(%d,&n,);,for( ;i=,n;i,+),sq*=i;,printf(the,factorial of %d is %,dn,n,sq,);,for,循环使用灵活,关于,for,循环的其他情况说明,请具体参考课本,P118,的内容;,25,例,4,:编程打印半径为,110,的圆的面积。,分析,循环开始:,循环结束:,循环体:,半径,r=1,;,半径,r=10,;,求面积;,26,/*while,循环实现*,/,#include,#define PI 3.14,main(),int,r=1;,float s;,while(r,=10), s=PI*r*r;,printf(“%.2f”,s);,r+;,/*for,循环实现,*,/,#include,#define PI 3.14,main(),for(r,=1;r=10;r+), s=PI*r*r;,printf(“%.2f”,s);,27,例,5.,增加条件,只输出面积不超过,100,的圆的面积,/*,例,4,原程序,*,/,#include,#define PI 3.14,main(),for(r,=1;r=10;r+), s=PI*r*r;,printf(“%.2f”,s);,/*,例,5,参考程序,for,循环实现,*,/,#include,#define PI 3.14,main(),for(r,=1;r=10;r+), s=PI*r*r;,If(s,=100),printf(“%.2f”,s);,28,/*for,循环实现,*,/,#include,#define PI 3.14,main(),for(r,=1;r=10;r+), s=PI*r*r;,If(s,=100) printf(“%.2f”,s);,/*for,循环实现,加入,break*/,#include,#define PI 3.14,main(),for(r,=1;r=10;r+), s=PI*r*r;,If(s,=100),printf(“%.2f”,s);,else,break,;,结束循环,提前跳出循环;,右边程序效率高于左边,为什么?,29,例,6.,读程序,说出程序的功能,#,inlude,void main(),int,n;,for(n,=100;n=200;n+),if(n%3=0),continue;,else,printf(“%d,”,n);,程序功能:输出,100200,之间不能被,3,整除的数;,continue,与,break,continue,结束本次循环,break,结束整个循环,参考教材,P122,30,作业,1.,编程计算半径为,115,的圆的面积,仅输出面积超过,50,的圆的面积;,2.,编写程序输出,1100,之间所有不能被,7,整除的数;,3.,编写程序输出,100,以内整数中,13,倍数的最大值。,课本,P129,6.1,、,6.2,、,6.6,以上,6,题任选,4,题,建议都做,;,31,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


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

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


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