C++数据结构笔记总结

4 数据结构

4.1 选择结构

顺序结构:程序按照顺序执行,不发生跳转

选择结构:依据条件是否满足,有选择地执行相应功能

循环结构:依据条件是否满足,循环多次执行某段代码

4.1.1 if语句

作用:执行满足条件的语句

if语句的三种形式:

单行格式if语句

多行格式if语句

多条件的if语句

1.单行格式if语句:if(条件){条件满足执行的语句}

开始-----判断条件---{true=执行语句}-----结束

{false--------------}-----结束

示例:

int main (){
​
    //选择结构-单行if语句
​
    //输入一个分数,如果分数大于600,视为考上一本大学,并在屏幕上打印
​
    int score = 0;
​
    cout <<"请输入一个分数:" << endl;
​
    cin  >>score;
​
    cout <<"您输入的分数为:"<<endl;
​
    //if 语句
​
    //注意事项,在if判断语句后面,不要加分号
​
    if(score  >600 )
​
    {
​
    cout <<"我考上一本大学了!!!"<<endl;
​
    }
​
    system("pause ");
​
    return 0;
​
}

2.多行格式if语句:if(条件){条件满足执行的语句}

else{条件不满足的语句}

开始------判断条件---{true----执行语句1}---结束

{false----执行语句2}----结束

示例:

int main(){
​
    int score = 0;
​
    cout  <<"请输入考试分数:"<<endl;
​
    cin >>score ;
​
    if (score >600 )
​
    {
​
    cout <<"我考上了一本大学"<<endl;
​
    }
​
    else 
​
    {
​
    cout <<"我没有考上一本大学"<<endl;
​
    }
​
    system("pause");
​
    return 0;
​
}

3.多条件的if语句:if(条件){满足执行的语句}

else if(条件2){条件2满足执行的语句}

。。。

else{都不满足执行的语句}

示例:

//选择语句  多条件if语句
​
//输入一个考试分数,如果大于600分,视为考上一本大学,在屏幕输出
​
//大于500,视为考上二本大学,屏幕输出
​
//大于400,视为考上三本大学,屏幕输出
​
//小于等于400分,视为为考上本科,屏幕上输出
​
​
    //1.用户输入分数
​
    int  score = 0;
​
    cout <<"请输入一个分数:"<<endl;
​
    cin >>score ; 
​
    //2.提示用户输入的分数
​
    cout <<"您输入的分数为:"<<score <<endl;
​
    //3.判断
​
    //如果大于600,考上一本
​
    if (score >600)
​
    {
​
    cout <<"恭喜您考上了一本大学"<<endl;
​
    }
​
    //如果大于500,考上二本
​
    else  if(score>500)//第二个条件
​
    {
​
    cout <<"恭喜进考上了二本大学"<<endl;
​
    }
​
    //如果大于400,考上三本
​
    else if (score >400 )//第三个条件
​
    {
​
    cout <<"恭喜进考上了三本大学"<<endl;
​
    }
​
    //前三个都没满足,未考上本科
​
    else
​
    {
​
    cout <<"未考上本科大学,请再接再厉"<<endl;
​
}
​
​

嵌套if语句:在语句中,可以嵌套使用if语句,达到更精准的条件判断

案例要求:

提示用户输入一个考试分数,根据分数做如下要求

分数如果大于600 分视为考上一本,大于500分考上二本,大于400分考上三本,其余视为未考上本科;

在一本分数中,如果大于700分,考入北大,考入清华,大于600考入人大

if(score >600)
​
cout <<"考上一本"<<endl;
​
    if( score >700)
​
    {
​
    cout <<"您能考入北京大学"<<endl;
​
    }
​
    else if (score > 650)
​
    {
​
    cout <<"您能考入清华大学"<<endl;
​
    }
​
    else
​
    {
​
    cout <<"您能考入人民大学"<<endl;
​
}
4.1.2 三目运算符

作用:通过三目运算符实现简单的判断

语法表达式1?表达式2:表达式3

解释:

如果表达式1的值为真,执行表达式2,并返回表达式2的结果

如果表达式1的值为假,执行表达式3,并返回表达式3的结果

示例:

//创建三个变量 a  b  c
​
//将a和b作比较,将变量大的值赋值给变量c
​
int a = 10;
​
int b = 20;
​
int c = 0;
​
c  =  (a>b?a:b);//打括号表示先运算括号里的算式
​
cout <<"c ="<<c<<endl;
​
//在c++中三目运算符返回的是变量,可以继续赋值
​
(a < b? a : b) = 100;
​
cout <<"a = "<<a<<endl;
​
cout <<"b = "<<b<<endl;

4.1.3 switch语句

作用:满足循环条件,执行循环语句

语法while(循环条件){循环语句}

解释:只要循环条件的结果为真,就执行循环语句

执行多条件分支语句

示例:(语法)

switch(表达式)
​
{
​
    case 结果1:执行语句;break ;
​
    case 结果2:执行语句;break;
​
    。。。
​
    default:执行语句;break;
​
}
int main(){
​
//请给电影评分
​
//10~9 经典
​
//8~7   非常好
​
//6~5   一般
​
//5分以下  烂片
​
int score = 0;
​
cout <<"请给电影打分"<<endl;
​
cin >>score :
​
switch(score )
​
{
​
case 10;
​
case 9;
​
cout <<"经典"<<endl;
​
break;
​
} 
​
case 8;
​
cout <<"非常好"<<endl;
​
break;
​
case 7;
​
case 6
​
cout <<"一般"<<endl;
​
break;
​
default:
​
cout <<"烂片"<<endl;
​
break;
​
}

if和switch区别?

switch 缺点,判断时候只能是整型或字符型,不可以是一个区间

switch优点,结构清晰,执行效率高

注意1:switch语句中表达式类型只能整型或字符型

注意2:case里如果没有break,那么程序会一直向下执行

总结:与if语句比,对于多条件判断时,switch的结构清晰,执行效率高,缺点是switch不可以判断区间

4.2 循环语句

4.2.1 while循环语句

作用:满足循环条件,执行循环语句

语法:while(循环条件){循环语句}

解释:只要循环条件的结果为真,就执行循环语句

示例:

int main(){
​
    int num = 0;
​
    while (num < 10)
​
    {
​
    cout <<"num = "<<num<<endl;
​
    num++;
​
    }
​
    system("pause");
​
    return 0;
​
}

注意:在执行循环语句时候,程序必须提供跳出循环的出口,否则出现死循环

4.2.2 do...while 循环语句

作用:满足循环条件,执行循环语句

语法:do{循环语句}while{循环条件};

注意:与while的区别在于do ...while 会先执行一次循环语句,在判断循环条件

//do...while 语句在频幕中输出0到9这十个数
​
int num = 0;
​
do 
​
{
​
cout <<num <<endl;
​
num++;
​
}while (num <10);
​
4.2.3 for循环语句

作用:满足循环条件,执行循环语句

语法:for(其晒表达式;条件表达式;末尾表达式) {循环语句;}

示例:

//for循环  从数字0 打印到 数字9
​
int  i = 0;
​
    for (int i = 0;i < 10;i++)
​
    {
​
        if (i >= 10)
​
        {
​
        break;
​
        }
​
    cout <<i <<endl;
​
    i++;
​
}

注意:for循环中的表达式,要用分号进行分隔

总结:while, do...while ,for 都是开发中常用的循环语句,for循环结构比较清晰,比较常用

4.2.4 嵌套循环

作用:在循环中在镶嵌一层循环,解决一些实际问题

例如:使用镶嵌循环实现星图

//外层循环执行一次,内层循环执行一周
​
for (int i = 0;i < 10; i++)
​
{
​
    //内层循环
​
    for (int j = 0;j<10; j++)
​
    {
​
    cout <<"*";
​
    }
​
    cout <<endl;
​
}

4.3 跳转语句

4.3.1 break语句

作用:用于跳出选择结构或者循环结构

break使用时机:

出现在switch条件语句中,作用是终止case并跳出switch

出现在循环语句中,作用是跳出当前循环语句

出现在嵌套语句中,跳出最近的内层循环语句

示例1:

int  main(){
//1.在switch 语句中使用break
    cout <<"请选择您要挑战副本的难度:"<<endl;
    cout <<"1.普通"<<endl;
    cout <<"2.中等"<<endl;
    cout <<"3.困难"<<endl;
    int select = 0;//创建选择结果的变量
    cin >>select;//等待用户输入
switch(select)
{
    case 1:
    cout <<"您选择的是普通难度"<<endl;
    break;
    case 2:
    cout <<"您选择的是中等难度"<<endl;
    break;
    case 3:
    cout <<"您选择的是困难难度"<<endl;
    break;
    default:
    break;
}
}
4.3.2 continue语句

作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环

示例:

int  main(){
    for (int i = 0;i <100;i++)
    {
          //如果是奇数输出,偶数不输出
          if (i % 2 == 0)// 0  2  4  6  8  10
    {
        continue;
    }
      cout <<i<<endl;
    }
    system("pause");
    return 0;
}

注意:continue并没有使整个循环终止,而break会跳出循环

4.3.3 goto语句

作用:可以无条件跳转语句

语法:goto 标记;

解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置

示例:

int main (){
    cout <<"1"<<endl;
    goto FLAG;//一般用flAG
    cout <<"2"<<endl;
    cout <<"3"<<endl;
    cout <<"4"<<endl;
   FLAG;
    cout <<"5"<<endl;
    system("pause");
    return 0;
}

注意:在程序中不建议使用goto语句,以免造成程序流程混乱。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值