预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共69页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章程序控制结构主要内容【例3.1】输入的三条边a,b,c,求三角形面积area=s(s-a)(s-b)(s-c),其中s=(a+b+c)/2源程序清单:#include<iostream>usingnamespacestd;#include<cmath>voidmain(){floats,a,b,c,area;cin>>a>>b>>c;s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));cout<<"area="<<area<<endl;}3.2选择结构程序设计3.2.1if语句的3种形式【例3.2】输入一个学生成绩,如果及格则输出“good!”,否则什么也不做。【例3.3】将两个整数a,b中的大数存入a中,小数存入b中。voidmain(){inta,b,temp;cin>>a>>b;if(a<b){temp=a;a=b;b=temp;}cout<<"a="<<a<<","<<"b="<<b<<endl;}2.双分支选择结构【例3.4】输入一个英文字符,是字母则输出“YES!”,否则输出“NO!”。程序清单:#include<iostream>usingnamespacestd;voidmain(){charc;cin>>c;if(c>=’a’&&c<=’z’||c>=’A’&&c<=’Z’)cout<<"YES!"<<endl;elsecout<<"NO!"endl;}程序流程多于两个分支称为多分支多分支程序结构使用嵌套的if-else语句实现。只在else分支嵌套【例3.5】求如下所示分段函数的y值。程序清单:x=0程序清单:C语言不限制嵌套层数voidmain(){ints1;chars2;cin>>s1;if(s1<60)s2=’E’;elseif(s1<70)s2=’D’;elseif(s1<80)s2=’C’;elseif(s1<90)s2=’B’;elses2=’A’;cout<<s2<<endl;}嵌套注意的一点是if和else的配对关系3.2.2条件运算符?:【例3.6】输入一个英文字母,判断是否为英文大写字母,若是大写字母直接输出,否则转换成大写字母输出。#include<iostream>usingnamespacestd;voidmain(){charch;cin>>ch;ch=(ch>=’A’&&ch<=’Z’)?ch:(ch-32);cout<<ch<<endl;}3.2.3switch语句实现多分支选择结构3.2.3switch语句实现多分支选择结构【例3.7】输入i,根据i的值输出信息。break是C语言的一种语句,其功能是中断正在执行的语句。如果省略了break语句,则执行完某个语句组后,将继续执行其后边的语句组。【例3.8】case子句的入口表达式是字符常量的程序举例。【例3.9】将百分制成绩分段。voidmain(){ints;cin>>s;switch(s/10){case0:case1:case2:case3:case4:case5:cout<<"E."<<endl;break;case6:cout<<"D."<<endl;break;case7:cout<<"C."<<endl;break;case8:cout<<"B."<<endl;break;case9:default:cout<<"A."<<endl;}}3.3循环结构程序设计构成循环的三要素【例3.10】设有变量i=0,1,2,3,4,要求输出i的5个值,每个数字间隔4个字符位下一行输出:“Weareoutoftheloop.”。程序清单:注意:【例3.11】求sum=1+2+3+……+100。将上例改成求任意10个实数的代数和,则可以将循环体改为:3.3.2直到循环程序结构【例3.12】用do-while循环语句改写1+2+…100【例3.13】while和do-while循环的比较。3.3.3次数循环程序结构for(表达式1;表达式2;表达式3)语句;【例3.14】将1+2+3+…+100改用for语句书写。for循环的多种表现形式:3.3.4循环嵌套与多重循环程序结构【例3.15】设计循环嵌套结构,计算百钱买百鸡问题。公鸡5元1只,母鸡3元1只,鸡雏1元3只,100元钱买100只鸡,有多少种买法?#include<iostream>usingnamespacestd;voidmain(){intx,y,z;//公鸡,母鸡,小鸡for(x=1;x<=20;x++)//公鸡分别是1,2,…20只{for(y=1;y<=33;y++)//母鸡分别是1,2,…33只{z=100-x-y;//小鸡个数if((x*5+y*3+(100-x-y)/3)==100&&z%3==0)cou