黑马程序员基基基基础知识——结构(bilibili p24-p41)

程序结构: 
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
}

      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值