C程序设计讲义
循环结构程序设计(2次课)
教学目的:
1.领会程序设计中构成循环的方法 2.掌握while语句的用法
教学重点:
熟练使用while语句实现循环
教学难点:
掌握用循环实现程序
授课形式:
理论 多媒体
教学条件:
教学内容:
复习:学习过了顺序,选择语句
提出问题:但如何处理1+2+3…+100等等重复的问题呢? 新课:循环结构程序设计 while语句(当型循环)
一般形式:while(表达式) 语句; 或:
while(表达式) {
语句序列;
}
执行时,先判断表达式。若表达式为非0值,执行循环体语句,然后再判断表达式,知道表达式为0(假)时结束循环。 例(书5-1)
k
k1100#include int s=0,k=1; while(k<=100) { s=s+k; k++; } 第 1 页 共 7 页 C程序设计讲义 四川职业技术学院邓绯 printf(\"%d\} 例(书5-2)从键盘上输入一个整数n,求n! #include 注意:在累乘求积时,累乘单元必须先置1 (1)while语句先计算表达式值,根据表达式的值决定是否执行循环体中的语句。表达式 的值一开始就为“假”,那么循环体一次也不执行。 (2)当循环体为多个语句组成,必须用{}括起来,形成复合语句。 (3)在循环体中应有使循环趋于结束的语句,以避免“死循环”的发生。 (4)累乘单元初值为1,累加求和单元初值为0 例(书5-3了解):从键盘上出入20个学生的成绩,求平均分。 例(书5-4经典程序):输入两个正整数m,n,求其最大公约数和最小公倍数。 #include \"stdio.h\" void main() { int beichu,chu,yu,beichu2,chu2; printf(\"please input two number:\\n\"); scanf(\"%d%d\beichu2=beichu;chu2=chu; yu=beichu%chu; while(yu!=0) { } 第 2 页 共 7 页 beichu=chu;chu=yu;yu=beichu%chu; C程序设计讲义 四川职业技术学院邓绯 } 例(书5-5了解):输入一批非零数,以0为结束符,输出其中的最小值。 #include \"stdio.h\" void main() { } 例(书5-16经典程序):输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 #include char ch; int ywzm=0,kg=0,sz=0,qt=0; while((ch=getchar())!='\\n') { if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z') ywzm++; else if(ch==' ') kg++; else if(ch>='0'&&ch<='9') sz++; else qt++; 第 3 页 共 7 页 printf(\"zui da gong yue is:%d\\n\ printf(\"zui xiao gong bei is:%d\\n\ int min,x; scanf(\"%d\min=x; while(x!=0) { } printf(\"%d\ if(min>x)min=x; scanf(\"%d\ C程序设计讲义 四川职业技术学院邓绯 } printf(\"英文字母有%d个,空格有%d个,数字=%d个,其他字符=%d个 \\n\} 例(思路和技巧,经典程序):输入一个正整数,将其分解,然后倒序重新组成一个新数,并输出。例如输入一个数13579,则输出的新数位97531。 #include long a,newa=0,t; scanf(\"%ld\while(a>0) { } printf(\"%ld\ t=a%10; newa=newa*10+t; a=a/10; 四川职业技术学院计算机科学系实验(实训)报告 课程 学生姓名 C程序设计 实验名称 教师 邓绯 班级 while语句的使用 任务 (教师) 1. 用while语句编写程序:实现1+2+3+4+5….+100 2. (重点背)请写出求两个数的最大公约数和最小公倍数。(参考例题) 3. (重点背)用while语句编写程序:输入一行字符,统计空格,小写字母,大写字母,数字,其他字符有多少个?(参考例题) 4. (重点背)输入一个正整数,将其分解,然后倒序重新组成一个新数,并输出。例如输入一个数13579,则输出的新数位97531。 附加:用while语句实现s=1+1/2! +1/3!+1/4!+1/5!+….+1/n! (作为家庭作业) (1)#include 学生 报告 C程序设计讲义 四川职业技术学院邓绯 } while(k<=100) { s=s+k; k++; } printf(\"%d\ (2)main() { int a,b,c,a1,c1; scanf(\"%d%d\ c=a%b;a1=a;b1=b; while(c!=0) { a=b; b=c; c=a%b; } Printf(\"最大公约数是%d\\n最小公倍数是%d\\n\} (3)main() { char ch; int kongge=0,xiaoxie=0,daxie=0,shuzi=0,qita=0; while((ch=getchar())!='\\n') { if(ch==' ') kongge++; else if(ch>='a'&&ch<='z') xiaoxie++; else if(ch>='A'&&ch<='Z') daxie++; 第 5 页 共 7 页 C程序设计讲义 四川职业技术学院邓绯 } else if(ch>='0'&&ch<='9') shuzi++; else qita++; } printf(\"%d %d %d %d\\n\ (4)main() { long x,newx=0,t; scanf(\"%ld\ while(x>0) { t=x%10; newx=newx*10+t; x=x/10; } printf(\"%ld\\n\} 学生 体会 教师 评语 成绩 第 6 页 共 7 页 C程序设计讲义 四川职业技术学院邓绯 第 7 页 共 7 页 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务