C++竞赛【选择结构】note

本文介绍了C++中的基本控制结构,包括顺序结构、分支结构(if、if-else、if-elseif-else)、循环结构以及switch-case语句,通过示例详细讲解了它们的语法和用法。
摘要由CSDN通过智能技术生成
Part 1 程序结构

顺序结构(一条线):

#include <iostream>
using namespace std;

int main()
{
    int a;
    cin >> a;
    cout << a << endl;
    return 0;
}

分支结构(选择结构):

        定义:根据表达式的结果来确定执行哪一条语句。

        比如,这里有一个判断正数的程序。

#include <bits/stdc++.h>
using namespace std;

int main()
{
	int num;
	cin >> num;
	
	if (num > 0)
	{
		cout << "yes";
	}
    else
    {
        cout << "no";
    }
	return 0;
}

循环结构:

        定义:重复执行一段语句。

Part 2 if语句

格式:

if (表达式)
{
        代码(一句或多句,只有一句代码可以不用{})
 }

样例代码:

#include <iostream>
using namespace std;
int main()
{
    if (3 > 2)
    {
        cout << "3 比 2 大"; 
    }
    return 0;
}

输出结果:

3 比 2 大

注意: if语句只关注表达式最终结果是True还是False,True就运行,False则不运行

{}的作用:将多条简单语句,结合成一条复合语句。

Part 3 if-else语句

格式:

if (表达式1)

{

        代码1

}

else

{

        代码2

}

样例代码:

#include <iostream>
using namespace std;
int main()
{
    if (3 > 2)
    {
        cout << "yes"; 
    }
    else
    {
        cout << "no";
    }
}

输出结果:

yes

在if-else中,不管"表达式1"是否成立,都有输出

当"表达式1"成立时,会运行"代码1";

当"表达式1"不成立时,会运行"代码2"。

Part 4 if-else if-else语句

格式:

if (表达式1)

{

        代码1

}

else if(表达式2) // 此处 "else" 和 "if" 中间的 " " 不可省略

{

        代码2

}

else

{

        代码3

}

样例代码:

#include <iostream>
using namespace std;
int main()
{
    if (1 > 2)
    {
        cout << "1 yes";
    }
    else if(1 < 2)
    {
        cout << "2 yes";
    }
    else
    {
        cout << "all no";
    }
    return 0;
}

输出结果:

2 yes

        在使用 if-else if-else 语句中,会按照顺序从上到下进行判断,如果有表达式成立,则会运行对应的代码;如果没有条件成立,则会运行else的语句。

Part 5 switch-case语句

switch (表达式)

{

        case 常量表达式1:

                语句组1;

                break;                      ---> 退出switch

        case 常量表达式2:

                语句组2;

                break;

        .......

        case 常量表达式n:

                语句组n;

                break;

        default:

                语句组n+1;

}

样例代码:

#include <iostream>
using namespace std;
int main()
{
    int n = 3;
    switch (n)
    {
        case 1:
            cout << "*" << endl;
            break;

        case 2:
            cout << "**" << endl;
            break;

        case 3:
            cout << "***" << endl;
            break;

        default:
            cout << "no" << endl;
            break;
    }
    return 0;
}

输出结果:

***

        计算表达式的值,将case后面的常量表达式值逐一与之匹配。当某一个case分支中的常量表达式值与之匹配时则执行该分支后面的语句组,然后顺序执行之后的所有语句,直到遇到break语句或switch语句的"}"为止。 

        在switch中,所有语句全部共用同一个switch的"{}"。

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值