C++ day2流程结构
一、选择结构
根据条件执行指定代码
1.1 单行if
- 格式:if(条件){满足条件后要执行的语句}
(条件)后不加分号
1.2 多行if
- 格式:if(条件){满足条件后要执行的语句} else{不满足条件要执行的语句}
1.3 多条件if
- 格式:
if(条件1) {
满足条件一后要执行的语句
}
else if(条件2){
满足条件二要执行的语句
}
//。。。
else
{
条件都不满足需执行的语句
}
1.4 嵌套if
- if语句中嵌套使用if语句
1.5 switch语句
- 执行多条件分支语句
- switch和if区别:switch(表达式)不可以是区间,只能是整型或者字符型;switch执行效率高结构清晰;
- 没有break会一直往下执行
switch(表达式)
{
case 表达式执行结果1:执行语句;break;
case 表达式执行结果2:执行语句;break;
...
default :执行语句;break;
}
1.6 示例
#include<iostream>
using namespace std;
int main()
{
cout<< "-------判断体重---------" <<endl;
float numa=0;
float numb=0;
float numc=0;
cout <<"请输入A的体重"<<endl;
cin >>numa;
cout <<"请输入B的体重"<<endl;
cin >>numb;
cout <<"请输入V的体重"<<endl;
cin >>numc;
if(numa>numb) //A比B重
{
if(numa > numc)
{
cout <<"A最重"<<endl;
}
else
{
cout <<"C最重"<<endl;
}
}
else{ //B比A重
if(numb > numc)
{
cout <<"B最重"<<endl;
}
else
{
cout <<"C最重"<<endl;
}
}
system("pause");
}
1.7 三目运算符
- 作用:实现简单的判断
- 语法: 表达式1 ?表达式2:表达式3 // 若1为真,执行表达式2并返回结果;若1为假,执行表达式3并返回结果
int a=10;
int b=11;
int c=0;
c=(a>b ? a:b);
a>b ? a:b=100 //三目运算符返回的是变量可以继续赋值
a>b ? a:b=100;
cout<< a <<endl;
cout<< b <<endl;
cout<< c <<endl;
二、循环结构
根据条件循环多次执行指定代码
2.1 while 语句
- 语法:while(条件语句){ 条件为真,会着一直循环执行的代码 } 条件为假退出;
2.1.1 示例猜数字
srand((unsigned int)time(NULL));
int numa =rand()%100+1;
int numb=0;
while(1)
{
cout<<"您猜的数字大小是(1-100之间)"<<endl;
cin>>numb;
if(numb < numa){
cout<<"您猜小了"<<endl;
}
else if (numb > numa)
{
cout<<"您猜大了"<<endl;
}
else{
cout<<"恭喜猜中"<<endl;
break;
}
}
2.2 do while语句
- 语法:do{循环语句} while(循环条件);
- 和while的区别:
do while会先进行一次循环再判断条件
;
2.2.1 示例水仙花数
int numa=100;
do
{
int num1=numa/100%10;
int num2=numa/10%10;
int num3=numa%10;
if(num1*num1*num1+num2*num2*num2+num3*num3*num3==numa)
{
cout<<"水仙花数:"<<numa<<endl;
}
numa++;
} while (numa<=999);
2.3 for 循环
- 语法:for(起始表达式;条件表达式;末尾循环体){循环语句}
2.3.1 示例
-敲桌子
for(int i=1;i<=100;i++)
{
if(i%10==7||i%7==0||i/10%10==7)
{
cout<<"敲桌子"<<endl;
}else
{
cout<<i<<endl;
}
}
2.4 嵌套循环
- 循环中嵌套循环
三、 跳转语句
3.1 break语句
- 用于跳出选择结构或者循环结构
- 循环语句中用于跳出当前循环语句
- 嵌套循环中用于跳出最近的循环语句
- 跳出switch
3.2 continue语句
- 在循环语句中跳过余下没有执行的语句,执行下一次循环
3.3 goto语句
- 无条件跳转