4循环结构程序设计 请大家及时到我的个人主页 http://cs.cqupt.educn/xiejb下载资料自学 某学生的心得:虽然在编程过程中很繁琐,但还是有顺序 可循,我现在算是总结出来了,先写流程图,再写程序, 在调试的过程中要先注意一些细节问题。例如分号是否缺 少, break后要加分号,同时判断是否有少或者有多,我现 在就是小心的看程序,积累经验和知识
4 循环结构程序设计 •请大家及时到我的个人主页 http://cs.cqupt.edu.cn/xiejb下载资料自学 •某学生的心得:虽然在编程过程中很繁琐,但还是有顺序 可循,我现在算是总结出来了,先写流程图,再写程序, 在调试的过程中要先注意一些细节问题。例如分号是否缺 少,break后要加分号,同时判断是否有少或者有多,我现 在就是小心的看程序,积累经验和知识
例1:读程序,蓝色字体的语义? Include void main(/程序功能:小写字母转换成大写字母* char lower, upper; printf("please input an lowercase: ) scant(%c”,& : lower); getchar(; while(l(lower>=a&&lowerupper: %cIn",lower, upper);
2 例1:读程序,蓝色字体的语义? #include void main() /*程序功能:小写字母转换成大写字母*/ { char lower,upper; printf(“please input an lowercase:”); scanf(“%c”, &lower); getchar(); while( !(lower>='a'&&lower<='z') ) { printf("the character you input is not a lowercase,please re-input:\n"); lower=getchar(); } upper=lower-32; printf(“lower:%c→upper:%c\n", lower,upper); } /* 输入数据的合法性检查*/
涉及的语法知识 循环结构 While语句的格式 }/语义:当条件p满足的时候,执行A*/ C语言提供了三个处理循环结构的语句: for while m do-while
3 涉及的语法知识 ▪ 循环结构 ▪ While语句的格式 while( P ) { A }/*语义:当条件p满足的时候,执行A*/ ▪ C语言提供了三个处理循环结构的语句: ▪ for ▪ while ▪ do-while
例2 100 计算∑i=1+2++100 循环三要素: ■粗略算法: 初值 循环体 输入n 循环条件 计算过程 分析:从1开始加,每次加加完A加1,共加100次 F=1, sum=sum=sum+i, i=i i<=100]) 从哪开始?哪些语句循环100次呢?什么时候结束呢? n输出结果p
4 例2 ▪ =1+2+…+100 ▪ 粗略算法: ▪ 输入n ▪ 计算过程 ▪ 输出结果p = 100 i 1 计算 i ▪分析:从1开始加,每次加i,加完后i加1 ,共加100次 ▪即i=1,sum=0, sum=sum+i, i=i+!, i<=100? ▪从哪开始?哪些语句循环100次呢?什么时候结束呢? 循环三要素: •初值 •循环体 •循环条件
算法 i≤100 假 真 i≤100 sum=sum+i 1=1+1 sum=sum+i 1+1 (a)
5 算法
方法一程序 # include< stdio . h》 no maIn 循环 〔inti,1sum=0 fo〔<100;+)先判断后执行,循环100次/ sⅶzh=sum+i;:/作x如 循环控制变量起 到控制循环次数 的作用。 printf("1+. +100=%d\n",su. ++(自加1运算符) -(自减1运算符)
6 方法一程序 #include main() { int i, sum = 0; for (i=1; i<=100; i++)/*先判断后执行,循环100次*/ { sum = sum + i; /*作累加运算*/ } printf(" 1+…+100= %d\n", sum); } 循环 循环控制变量i起 到控制循环次数 的作用。 ++(自加1运算符) --(自减1运算符)
方法二程序 include maino I int i=1, sum=0; while(i a100先判断后执行,循环n次* tw/m作累加运算M 累加次数计数器加1*/ pRintf(" 1++100 = %d\n", sum)
7 方法二程序 #include main() { int i = 1, sum=0; while (i <= 100) /*先判断后执行,循环n次*/ { sum = sum+i; /*作累加运算*/ i++; /*累加次数计数器加1*/ } printf(" 1+…+100 = %d\n", sum); }
方法三程序 Include maino int/i=1, sum=0: do suin sum+i 作累加运算* i++2 累加次数计数器加1* whlx=100:/^先执行后判断,循环n次* printf("1++100= %d\n",n, p)
8 方法三程序 #include main() { int i = 1, sum=0; do { sum = sum+i; /*作累加运算*/ i++; /*累加次数计数器加1*/ }while (i <= 100); /*先执行后判断,循环n次*/ printf("1+…+100 = %d\n", n, p); }
涉及的语法知识 循环语句1: while while(表达式) 循环体语句
9 涉及的语法知识 -循环语句1:while while (表达式) { 循环体语句 } A F T P
涉及的语法知识 循环语句2:do- while 循环体语句 whle(表达式);
10 涉及的语法知识 -循环语句2:do-while do { 循环体语句 }while (表达式); A P T