资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第4章 控制语句控制语句,语句块和空语句分支语句循环语句转向语句内容提要控制结构、语句块和空语句1.控制结构:用来控制程序中语句的执行顺序;控制结构有条件无条件循环语句选择语句break语句continue语句return语句goto语句if语句switch语句for语句while语句do_while语句顺序结构2.语句块:若干语句的合成;l格式:l语句Si可能是说明语句、表达式语句、控制语句、也可能是一个语句块。 语句块(续)l语句块的用途:1 函数体2 循环体3 if语句的分支3.空语句:什么都不做;l格式:;l例: for( ; ; ) If选择语句1 if 语句lif()lif()l lelsel 嵌套的If语句lif()l lelse if () l lelse if () lelse 2 条件运算符( ? : )例:cout=60?”passed”:”failed”);while循环语句while() /此表达式为循环的条件 /此语句为循环体#includeusing namespace std; void main() int i, sum,n; sum=0; i=1; /*循环变量赋初值*/ cinn; while (i=n) /*循环条件*/ sum=sum+i; i=i+1; /*循环变量增值/ cout1+2+3+.+n=“sumendl; /*sum的作用-累加器*/自增自减运算符l前置+、-l后置+、-#includeusing namespace std;void main() int c=5; coutcendl; coutc+endl; coutcendl; coutendl; c=5; coutcendl; cout+cendl; coutcendl; 第5章 控制语句II计数器控制循环的要素l循环变量l循环变量设初值l循环条件l循环变量增值#includeusingnamespacestd;voidmain()intcounter=1;while(counter=10)coutcounter;counter+;coutendl;for循环语句1. for语句for(;) #includeusingstd:cout;usingstd:endl;intmain()for(intcounter=1;counter=10;counter+)coutcounter;coutendl;return0; 3. do-while语句ldol lwhile();l语句S为循环体l表达式E是循环的条件#include using std:cout;using std:endl;int main() int counter = 1; do cout counter ; counter+; while ( counter = 10 ); cout endl; return 0;switch语句switch() case : case : case : default:voidmain()intx,y;charop;coutx;coutendly;coutendlop;switch(op)case+:coutendlx+y=x+y;break;case-:coutendlx-y=x-y;break;case*:coutendlx*y=x*y;break;case/:coutendlx/y=x/y;break;case%:coutendlx%y=x%y;break;default:coutendlWrong!;break,continuelbreak:在while,for,do while或switch中,使程序退出这些语句lcontinue:在while,for,do while或switch中,使程序跳过循环体内剩下的语句,继续进行循环体的下一次迭代l例:P160 图5.13和5.14循环语句(上机练习)l一个有10名学生的班级进行了一次测验,测验的成绩(0100中的一个整数)现在都已经打印出来。请计算并打印该班学生的总成绩及班级的平均成绩,统计其中及格和不及格人数l要求:使用两种方法:l1 使用计数器控制循环l2 如果人数未知,使用标志(-1)控制循环补充:C+输入输出流(1) 流操纵算子 setprecision():浮点数设置精度 setw():设置域宽; setiosflags():设置io格式状态标志(2) 格式状态标志: ios:showpoint, ios:fixed等#include#includevoid main() int x=1234; coutsetw(10)xendl;coutsetw(11)xendl; getchar();#include#includevoidmain()doublei=1.0;coutsetprecision(2)iendl;coutsetprecision(2)setiosflags(ios:showpoint)iendl;coutsetprecision(2)setiosflags(ios:fixed)i;例(多重循环): 百鸡问题. 已知每只小鸡0.5元, 每只公鸡2元, 每只母鸡3元.现在要用100元钱, 正好买100只鸡. 请问有那几种买法.编程序求解.#includevoidmain()inti,j,k;for(i=0;i=100;i+)for(j=0;j=100;j+)for(k=0;k=100;k+)if(i+j+k=100)&(3*i+2*j+0.5*k=100)coutijkendl;getchar();补充题:有5只猴子在海边发现一堆桃子,决定第二天来平分.第二天清晨,第一只猴子最早来到,它左分右分分不开,就朝海里扔了一只,恰好可以分成5份,它拿上自己的一份走了.第2,3,4,5只猴子也遇到同样的问题,采用了同样的方法,都是扔掉一只后,恰好可以分成5份.问这堆桃子至少有多少只.voidmain()inti,m,x=1,y;while(1)x+;y=x;m=(y-1)%5;if(m!=0)continue;for(i=1;i=5;i+)y=4*(y-1)/5;m=(y-1)%5;if(m!=0)break;if(i=6)coutthenumberofappleis:xendl;break;getchar();return0;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号