内容正文:
程序控制结构
程序的基本控制结构有顺序结构、选择结构和循环结构3种。本章将介绍实现这3种结构的基本程序控制语句,包括用于实现分支结构的if语句和switch语句,用于实现循环结构的for语句、while语句、do-while语句以及break、continue等各种转向语句。
3.1 顺序控制语句
Add your text in here
Click to add Text
计算圆的周长和面积
案例引入
从键盘输入a、b和c,求解一元二次方程ax2+bx+c=0根。要求a、b和c满足b2-4ac≥0。
3.1 顺序控制语句
源代码展示
#include "stdafx.h"
#include <iostream.h>
#include <cmath>
int main(int argc, char* argv[])
{
double a,b,c,x1,x2,delta;
cout<<"输入a、b和c的值:"<<endl;
cin>>a>>b>>c;
delta=b*b-4*a*c;
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl;
return 0;
}
3.1 顺序控制语句
运行结果
程序分析
上述程序中使用了数学函数sqrt(),所以需要包含头文件cmath。当然也可以使用早期的头文件math.h,但提倡使用新式的头文件cmath。
知识讲解
在顺序结构的程序中语句是顺序执行的,这种结构的程序最简单。但是在很多情况下,程序并不是按照语句出现的顺序执行的。本案例的程序并不够完善,应该对条件b2-4ac≥0进行判断,如果满足该条件,则执行计算一元二次方程根的语句,否则不应该执行。
3.2 选择控制语句
Add your text in here
Click to add Text
将3个数从小到大排序
案例引入
从键盘输入3个整数,使用if语句,将它们从小到大排序并输出。
3.2.1 if语句
3.2.1 if语句
#include "stdafx.h"
#include <iostream.h>
int main(int argc, char* argv[])
{
int a,b,c,temp;
cout<<"请输入3个整数:"<<endl;
cin>>a>>b>>c;
if(a>b)
{
temp=a; //交换a和b
a=b;
b=temp;
}
if(a>c)
{
temp=a; //交换a和c
a=c;
c=temp;
}
if(b>c)
{
temp=b; //交换b和c
b=c;
c=temp;
}
cout<<"这3个数从小到大为:"<<a<<" "<<b<<" "<<c<<endl;
return 0;
}
源代码展示
3.2.1 if语句
运行结果
程序分析
上述程序使用了if形式的选择语句,在对3个数进行两两比较时,如果前者大于后者,将它们进行交换,将小的数交换到前面。进行3次比较后,这3个数就按照从小到大顺序排好序了。
知识讲解
if(表达式)
语句1;
简单if语句流程图
知识讲解
if(表达式)
语句1;
else
语句2;
if…else语句流程图
知识讲解
if(表达式1)
语句1;
else if(表达式2)
语句2;
…
else if(表达式k)
语句k;
else
语句n;
if…else if语句流程图
3.2.2 嵌套if语句
Add your text in here
Click to add Text
计算票价优惠率
案例引入
某旅行社根据旅游淡季、旺季及是否是团体进行订票,使用嵌套if语句确定旅游票价的折扣率。具体规定如下:人数在20人以上的属于团体,20人以下的是散客;每年的4~5月、7~8月和10月为旅游旺季,其余月份为旅游淡季;旅游旺季,团体票优惠5℅,散客不优惠;旅游淡季,团体票优惠30℅,散客优惠20℅。
3.2.2 嵌套if语句
#include "stdafx.h"
#include <iostream.h>
int main(int argc, char* argv[])
{
int month,num;
double discount=1; //优惠率
cout<<"请输入购票月份和订票张数:"<<endl;
cin>>month>>num;