程序结构:
part 1 选择结构:
1.if语句-三只小猪称体重 2.三目运算符 3.switch语句
part 2 循环结构:
1.while语句-猜数字 2.do while语句-水仙花数 3.for循环-敲桌子 4.嵌套循环-乘法口诀表
part 3 跳转语句:
1.break 2.continue 3.goto
🐵🐵🐵---------------------------------分割线-----------------------------------🐵🐵🐵
part 1 选择结构:
1.if语句
格式:if(条件1){执行;} //符合条件1执行
else if(条件2){执行;}//不符合条件1且符合条件2执行
else{执行;}//都不符合执行
举例
#include<iostream>
using namespace std;
int main(){
int score;
cin>>score;
if(score>600){if(score>700){cout<<"恭喜你考入北京大学";}
else if(score>650){cout<<"恭喜你考入清华大学";};
else{cout<<"恭喜你考入中国人民大学";}}
else if(score>500){cout<<"恭喜你考入一本";}
else{cout<<"恭喜你考入大学";}}
应用----三只小猪称体重
有三只小猪🐷ABC,请输入他们各自的体重,并输出最大的体重。
if:
#include<iostream>
using namespace std;
int main(){
int a,b,c,max;
cin>>a>>b>>c;
if(a>b){max=a;}
else{max=b;}
if(c>max){max=c;}
cout<<max;
}
2.三目运算符
格式:判断?为真时返回此变量:为假时返回此变量;
举例:三只小猪称体重
#include<iostream>
using namespace std;
int main(){
int a,b,c,max;
cin>>a>>b>>c;
max=a>b?a:b;
max=c>max?c:max;
cout<<max;
}
3.switch语句
格式:switch(变量){case 条件:输出;
......
default 条件:输出;}
优点:结构清晰,效率高
缺点:不适用于范围,仅使用于数字或字符
注意:1.每个case的最后要加break;
2.case条件和输出分两行
#include<iostream>
using namespace std;
int main(){
int score;
cout<<"请为这部电影评分"<<endl;
cin>>score;
switch(score){
case 10:
cout<<"非常好";break;
case 9:
cout<<"好";break;
case 8:
cout<<"比较好";break;
default:
cout<<"一般";break;
};
}
part 2 循环结构:
1.while 语句
格式:while(条件){执行};
#include<iostream>
using namespace std;
int main(){
int num=0;
while(num<10){cout<<num<<endl;num++;}
}
应用----猜数字
#include<iostream>
using namespace std;
int main(){
cout<<"请输入数字"<<endl;
int ans,gue;
cin>>ans;
while(1){
cout<<"请猜一个数字"<<endl;
cin>>gue;
if(gue>ans){cout<<"大了"<<endl;}
else if(gue<ans){cout<<"小了"<<endl;}
else{cout<<"猜对了"<<endl;break;}
}
}
进阶版(随机生成数字)
#include<iostream>
#include<stdlib.h>
#include<ctime>
using namespace std;
int main(){
srand((unsigned int)time(NULL));
int num=rand()%100+1;
int gue;
while(1){
cout<<"请输一个数"<<endl;
cin>>gue;
if(num>gue){cout<<"小了"<<endl;}
else if(num<gue){cout<<"大了"<<endl;}
else{cout<<"猜对了";break;}
}
}
2.do while语句
格式: do{执行}while(条件);
区别:do while先执行后判断条件,while 先判断条件后执行
#include<iostream>
using namespace std;
int main(){
int num=0;
do{cout<<num<<endl;num++;}while(num<10);
}
应用----水仙花数
水仙花🌹数是指一个三位数,它的每位数上的数字的三次幂的和等于它本身,利用do while语句找出所有三位数的水仙花数。
#include<iostream>
using namespace std;
int main(){
int num=100;
int a,b,c;
do{a=num/ 100;
b=num/ 10%10;
c=num%10;
if( a*a*a + b*b*b + c*c*c == num){cout<<num<<endl;}num++;}
while(num<1000);
}
3.for 循环
格式:for(起始点;范围;递增/递减){执行}
举例:
#include<iostream>
using namespace std;
int main(){
for(int i=0;i<10;i++){cout<<i<<endl;}
}
应用----敲桌子
从一数到100,如果个位含有7,或者十位含有7,或者是7的倍数,打印拍桌子,其他直接打印数字输出。
#include<iostream>
using namespace std;
int main(){
for(int i=0;i<100;i++){
if(i%7==0||i/10==7||i%10==7){cout<<"敲桌子"<<endl;}
else{cout<<i<<endl;}}
}
4.嵌套循环
举例:打印星图
#include<iostream>
using namespace std;
int main(){
for(int i=0;i<10;i++){for(int j=0;j<10;j++){cout<<"*";}cout<<endl;}
}
应用----乘法口诀表
#include<iostream>
using namespace std;
int main(){
for(int i=1;i<10;i++){
for(int j=1;j<=i;j++){cout<<j<<"*"<<i<<"="<<i*j<<" ";}
cout<<endl;}
}
part 3 跳转语句:
1.break
1⃣️用于switch语句跳出switch
2⃣️用于跳出最近的嵌套循环
3⃣️用于跳出当前循环
2.continue
跳出循环并回到循环初
3.goto
跳转到flag处继续运行
#include<iostream>
using namespace std;
int main(){
goto Flag;
cout<<"a";
cout<<"b";
cout<<"c";
Flag:
cout<<"d";//输出d
}