注意:C++的复合语句需要添加{}
一、顺序结构
计算面积,先要输入半径,再计算面积
#include<iostream>
#include<iomanip>
using namespace std;
#define Pi 3.1415926 //定义符号常量Pi
int main()
{
double r,area;//定义半径和面积
cin>>r;//输入半径
area=Pi*r*r;//计算面积
cout<<"area="<<area<<endl;//输出面积值
return 0;
}
二、判断结构
if(条件) 语句1; else 语句2;满足条件执行语句1,不满足执行语句2
以下判断结构用于判断是否为三角形,如果是则计算三角形周长,否则输出错误
if后只能接单个语句,如果存在多条语句,则需要采用复合语句形式。
if else 可以进行多重嵌套,嵌套时,需要注意else一般与最近的if搭配使用。
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double a,b,c;//定义半径和面积
cin>>a>>b>>c;//输入半径
if (a+b>c&&a+c>b&&b+c>a)//判断是否是三角形,是则计算周长,否输出错误
{double t;
t=a+b+c;
cout<<t<<endl;
}//注意,if后只能接一个语句,如果if后有多个语句,则需要采用复合语句形式,用大括号括起来
else cout<<"error"<<endl;
return 0;
}
三、选择结构
switch(表达式)
//如果表达式为2,则从case2开始逐一执行语句2......语句n,默认语句,全部执行完再退出;从上述规律可以看出,只执行case 表达式及其以后的语句,注意,表达式需要是整型或枚举类型,不能包含变量
{
case 1:语句1
case 2:语句2
......
case n:语句n;break;//如果加了一句break,则运行到语句n后,会退出switch
default :默认语句序列
}
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int grade;
cin >> grade;//输入成绩等级
switch (grade)
{
case 'A':cout << "85~100\n"; break;//等级为A,则输出85~100
case 'B':cout << "70~84\n"; break;//等级为B对应成绩
case 'C':cout << "60~69\n"; break;//等级为C对应成绩
case 'D':cout << "<60\n"; break;//等级为D对应成绩
default: cout << "error\n"; break;
}
return 0;
}
switch语句同样可以嵌套使用。
四、循环结构
while(条件){
循环语句
}//先判断条件,再执行循环
do{
循环语句
}while(条件);//先执行循环,再判断条件,注意最后的分号不能省略
for(初始化参数;条件;循环变量变化){
循环语句
}//同样,先执行参数初始化——判断循环条件——满足条件,则执行循环语句,循环变量变化;否则不满足条件跳出循环。
一般而言,如果是计数型循环,计数型循环指可以确定需要循环的次数,循环数间存在硬顶的关系,累加或累减,则采用for循环。
如果是条件性循环,条件型循环指的是事先不知道要循环多少次,循环控制由相关条件决定,则选用while或者do while循环体。
#inclue <iostream>
using namespace std;
int main()
{
int s, n, t;
for(s=0,t=1,n=1;n<=10;n++)
t=t*n;//用于得到阶乘
s=s+t;//用于计算1!+2!+...+10!
cout<<s<<endl;
return 0;
}