为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

C语言循环

2013-07-29 44页 ppt 252KB 63阅读

用户头像

is_665147

暂无简介

举报
C语言循环null循环结构循环结构 -----while语句 -----do…while语句 -----for语句复习复习循环结构的特点是什么? 循环:有规律的重复 循环体:被重复执行的部分 循环条件:循环的执行满足一定的条件 相同操作,反复执行 while语句的一般格式 while语句的一般格式 判断循环条件,为真时执行while语句中的循环体,然后继续判断循环条件,如此循环;为假时退出循环(即当循环条件成立时,反复执行循环体)。 【举例分析】 【举例分析】 1+...
C语言循环
null循环结构循环结构 -----while语句 -----do…while语句 -----for语句复习复习循环结构的特点是什么? 循环:有规律的重复 循环体:被重复执行的部分 循环条件:循环的执行满足一定的条件 相同操作,反复执行 while语句的一般格式 while语句的一般格式 判断循环条件,为真时执行while语句中的循环体,然后继续判断循环条件,如此循环;为假时退出循环(即当循环条件成立时,反复执行循环体)。 【举例分析】 【举例分析】 1+2+3+4+5 #include main() { int s = 0, i = 1; while (i <= 5) { s = s + i; i++; } printf("%d", s); } 巩固练习 巩固练习 1*2*3*4*5 求x n #include main() { int m = 1, x, n, i = 1; scanf("%d, %d", &x, &n); if (x=0) printf(“error!”); elsewhile (i <= n) { m = m * x; i++; } printf("%d", m); } while语句的特点: 先判断,后执行 #include main() { int n1, n2, m; scanf("%d, %d", &n1, &n2); if (n1 > n2) m = n1; else m = n2; while (m%n1 != 0 || m%n2 != 0) m++; printf("最小公倍数为%d", m); }【例1】求2个数的最小公倍数【例2】求两个正整数的最大公约数 【例2】求两个正整数的最大公约数 #include main() { int n1, n2, r,x; scanf("%d, %d", &n1, &n2); if (n1
示结束输入。 2)题目中统计字母、数字、其它字符个数,所以需要定义三个计数器,并初始化清0。 3)字母是指26个英文字母及其大写;数字是指0~9共10个数;除此之外都叫做其它字符。 4)由于每种情况都可以方便地使用关系表达式表示,所以选用if语句【举例分析】【举例分析】#include main() { char c; int n1 = 0, n2 = 0, n3 = 0; while ((c = getchar()) != '\n') { if ((c>='a' && c<='z') || (c>='A' && c<='Z')) n1++; else if (c>='0' && c<='9') n2++; else n3++; } printf("含字母%d个,数字%d个,其它字符%d个", n1, n2, n3); }作业作业编写程序,求1+3+5+…+99 读入一行字符,求其中元音字母个数 (a e i o u)小结 小结 本课主要讲述了通过while语句实现循环结构程序,需要了解循环的特点和规律,灵活运用。 do…while语句 do…while语句 复习 while语句的一般格式,执行过程,特点分别是什么? 格式为: 循环变量初始化 ① while(循环条件)② { 循环语句 ③ 循环体 循环变量的改变 ④ } 特点是:先判断,后执行 do…while语句的一般格式 do…while语句的一般格式 循环变量初始化 ① do { 循环语句 ③ 循环体 循环变量的改变 ④ } while(循环条件);②执行过程 先执行一次循环体,再判断循环条件,为真则返回继续执行循环;为假则退出循环 举例举例【举例分析】1+2+3+4+5 可以直接改写为do…while语句 do…while语句的特点:先执行,后判断练习练习【巩固练习】1+3+5+7+…+99 #include main() { int i = 1, s = 0; do { s = s + i; i = i + 2; } while (i <= 99); printf(“%d”, s); }【举例分析】写出下列程序的运行结果,分析while和do…while语句的不同。【举例分析】写出下列程序的运行结果,分析while和do…while语句的不同。1) #include main() { int a = 1, b = 2; while(a < 0) { a++; b++; } printf("a = %d, b = %d", a, b); } 运行结果: a = 1, b = 2 分析得出:当循环条件为假时,while语句不执行循环体,do…while语句执行一次循环体。2) #include main() { int a = 1, b = 2; do{ a++; b++; }while(a < 0); printf("a = %d, b = %d", a, b); } 运行结果: a = 2, b = 3【例1】计算正整数n各位上数字之积【例1】计算正整数n各位上数字之积#include main() { int n, m = 1; scanf("%d", &n); do { m = m * (n % 10); n = n / 10; } while (n); printf("%d", m); }【巩固练习】求两个正整数的最大公约数 【巩固练习】求两个正整数的最大公约数 #include main() { int n1, n2, r; scanf("%d, %d", &n1, &n2); do{ r = n1 % n2; n1 = n2; n2 = r; }while (r != 0); printf("最大公约数为%d", n1); }小结 小结 本课主要讲述了通过do…while语句实现循环结构程序设计,进一步了解循环的特点和规律,灵活运用。作业布置作业布置求满足1+1/2+1/3+…+1/a >limit的最小a值, limit值由键盘输入。for语句for语句复习: 我们已经学习了两种循环结构程序设计的,采用while语句和do…while语句。首先我们回顾一下,while语句的一般格式,执行过程,特点分别是什么? for语句for语句for语句的一般格式 执行过程 循环变量初始化只执行一次。判断循环条件,为真则继续执行循环语句和循环变量的改变,之后继续判断循环条件;为假则退出循环。 for(循环变量初始化 ① ;循环条件 ② ;循环变量的改变 ④) 循环语句 ③【举例分析】1+2+3+4+5【举例分析】1+2+3+4+5用while语句写作 #include main() { int s = 0, i = 1; while (i <= 5) { s = s + i; i++; } printf("%d", s); }直接改写为for语句 #include main() { int s = 0, i; for(i = 1; i <= 5; i++) s = s + i; printf("%d", s); }可以看出,使用for语句使程序看起来更加简单明了。说明 说明 以上题为例,关于for语句需要注意的是: 1.表达式1可省略,此时应在for语句之前给循环变量赋初值 int s = 0, i = 1; for(; i <= 5; i++) s = s + i; 说明说明2.如果表达式2省略,则不判断循环条件,循环无终止地进行,因为表达式2始终为真。此时,应有语句结束循环。 int s = 0, i ; for(i = 1; ; i++) { if (i > 5) break; s = s + i; }说明说明3.表达式3也可省略,但应保证循环能正常结束 int s = 0, i; for(i = 1; i <= 5; ) { s = s + i; i++; }说明说明4.循环体可省略,所需操作写在表达式3之中 int s = 0, i; for(i = 1; i <= 5; s = s + i, i++) ; 5.其它变量的初始化也可以写在表达式1中 int s , i; for(s = 0, i = 1; i <= 5; i++) s = s + i;练习练习【巩固练习】求1900~2000年间所有闰年 #include main() { int year; for (year = 1900; year <= 2000; year++) if ((year%4 == 0 && year%100 != 0) || (year%400 == 0)) printf("%d\t", year); }举例分析举例分析【举例分析】输出菲波那契数列的前20项(菲波那契数列是指数列的前两项为1,以后每一项为前两项之和) #include main() { int i1 = 1, i2 = 1, i3, i; printf("%d\t%d\t", i1, i2); for(i = 1; i <= 18; i++) { i3 = i1 + i2; printf("%d\t", i3); i1 = i2; i2 = i3; } }举例分析举例分析【举例分析】1!+2!+3!+4!+5! 分析:本题是包含阶乘及累加和两方面的知识。典型的循环嵌套,外层作加法,内层作乘法。 5! = 1*2*3*4*5 写作 for ( int m = 1, j = 1; j <= 5; j++) m = m * j; n! = 1*2*3*...*n 写作 for ( int m = 1, j = 1; j <= n; j++) m = m * j;举例分析举例分析#include main() { int s = 0, m, i, j; for (i = 1; i <= 5; i++) { m = 1; for(j = 1; j <= i; j++) m = m * j; s = s + m; } printf("结果为%d", s); }练习练习【巩固练习】1+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+4+5) 【提高练习】输出如图所示九九乘法表练习练习#include main() { int i, j; printf(" 1 2 3 4 5 6 7 8 9\n"); for (i = 1; i <= 9; i++) { printf("%4d", i); for (j = 1; j <= 9; j++) printf("%4d", i * j); printf("\n"); } }小结 小结 本课主要讲述了通过for语句实现循环结构程序设计,注意for语句的语法格式和实现过程,掌握双重循环的运用。作业布置 作业布置 打印出所有的水仙花数。 求2~n之间所有的素数 break, continue语句 break, continue语句一.break语句的作用: 1)break语句可以使跳出switch语句,继续执行switch语句下面的语句 2)从循环体内跳出循环体 一般形式: break; 二.continue语句的作用: 终止本次循环,即忽略continue后面的语句,进行下一次循环判定。 一般形式: continue;写出程序的运行结果 写出程序的运行结果 1) #include main() { int i = 1, sum = 0; while (i < 10) { sum = sum + i; i++; if (sum > 20) break; } printf("sum=%d, i=%d", sum, i); } 运行结果: sum=21, i=72) #include main() { int i = 1, sum = 0; for (; i <= 10; i++) { if (sum > 20) continue; sum = sum + i ; } printf("sum=%d, i=%d", sum, i); } 运行结果: Sum=21, i=11break语句和continue语句的区别:break语句和continue语句的区别:break语句和continue语句的区别:continue语句只中止本次循环,而不是结束整个循环的执行;break语句结束整个循环过程,跳出该循环。【巩固练习】写出程序的功能【巩固练习】写出程序的功能#include main() { int n; for (n=1; n<=100;n++) { if ( n%3 == 0) continue; printf("%4d", n); } } 功能:输出1到100之间不能被3整除的数 #include main() { int n; for (n = 1; n <= 100; n++) { if (n%3 == 0) break; printf("%d\t", n); } } 功能:输出1到100之间第一个能被3整除的数之前的数【巩固练习】写出程序运行结果【巩固练习】写出程序运行结果【巩固练习】写出程序运行结果 #include #include main() { int a, b; 运行结果:8 for (a = 1,b = 1; a <= 100; a++) { if (b >= 20) break; if (b % 3 == 1) { b += 3; continue; } b -= 5; } printf("%d", a); } 【举例分析】判断某整数是否素数 【举例分析】判断某整数是否素数 #include #include main() { int n, i, flag = 1; scanf("%d",&n); for (i = 2; i <= n-1; i++) if (n % i == 0) {flag = 0; break;} if (flag == 1) printf("%d是素数", n); else printf("%d不是素数", n); }循环结构总结循环结构总结循环语句的选择 循环条件的设计 循环体的设计循环语句的选择循环语句的选择while、do-while语句用于条件循环,for语句用于计数循环; while、 for语句先判断,后循环, do-while语句先循环,后判断; 循环算法的设计循环算法的设计穷举法: 迭代法:
/
本文档为【C语言循环】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索