C++学习笔记(5):程序流程结构

C/C++最基本的程序结构:顺序结构、选择结构、循环结构。

  • 顺序结构:按照顺序执行代码,不发生跳转。
  • 选择结构:根据是否满足条件,选择性地去执行代码。
  • 循环结构:根据是否满足条件,循环执行某段代码。

1.选择结构

1.1 if语句

if语句有以下几种形式:

  • 单行格式if语句
  • 多行格式if语句
  • 多条件if语句
  • 嵌套if语句

1.1.1 单行格式if语句

在这里插入图片描述

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

示例

#include <iostream>
using namespace std;

int main()
{
	int num = 0;
	cout << "请输入一个数字:" << endl;
	cin >> num;
	if (num > 10)  //判断条件是否满足
	{
		cout << "该数大于10" << endl;
	}

	system("pause");
	return 0;
}

运行结果

请输入一个数字:
89
该数大于10

1.1.2 多行格式if语句

if(条件)
{
  满足条件执行的语句;
}
else
{
  不满足条件时执行的语句;
}

在这里插入图片描述
示例

#include <iostream>
using namespace std;

int main()
{
	int num = 0;
	cout << "请输入一个数字:" << endl;
	cin >> num;
	if (num > 10)  //条件满足
	{
		cout << "该数大于10" << endl;
	}
	else    //条件不满足
	{
		cout << "该数小于或等于10" << endl;
	}

	system("pause");
	return 0;
}

运行结果

请输入一个数字:
10
该数小于或等于10

1.1.3 多条件if语句

if(条件1)
{
  满足条件1所执行的语句;
}
else if(条件2)
{
  满足条件2所执行的语句;
}
……
else
{
  以上条件都不满足时所执行的语句;
}

在这里插入图片描述
示例

#include <iostream>
using namespace std;

int main()
{
	int num = 0;
	cout << "请输入一个数字:" << endl;
	cin >> num;
	if (num > 10 && num <= 50)  //判断条件是否满足
	{
		cout << "该数大于10,小于或等于50" << endl;
	}
	else if(num > 50 && num <= 100)
	{
		cout << "该数大于50,小于或等于100" << endl;
	}
	else if (num > 100)
	{
		cout << "该数大于100" << endl;
	}
	else
	{
		cout << "该数小于或等于10" << endl;
	}

	system("pause");
	return 0;
}

运行结果

请输入一个数字:
88
该数大于50,小于或等于100

1.1.4 嵌套if语句

//嵌套if语句就是在if语句中再使用if语句
if(条件1)
{
  if(满足条件1的前提下,又满足条件2)
  {
    条件2;
    ……
  }
  ……
}
……

示例

#include <iostream>
using namespace std;

int main()
{
	//大于等于60分:及格;
	//60-70:D;
	//70-80:C;
	//80-90:B;
	//90-100:A
	int score = 0;
	cout << "请输入分数:" << endl;
	cin >> score;
	if (score >= 60)  //判断条件是否满足
	{
		if (score < 90) //60<=score<90
		{
			if (score < 80)  //60<=score<80
			{
				if (score < 70)  //60<=score<70
				{
					cout << "D" << endl;
				}
				else  //70<=score<80
					cout << "C" << endl;
			}
			else  //80<=score<90
				cout << "B" << endl;
		}
		else  //大于等于90分
			cout << "A" << endl;
	}
	else
	{
		cout << "不及格" << endl;
	}

	system("pause");
	return 0;
}
请输入分数:
79
C

1.2 三目运算符

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

若表达式1为真,则执行表达式2,否则执行表达式3。

注:在C++中三目运算符返回的是变量的话可以继续赋值

示例

#include <iostream>
using namespace std;

int main()
{
	//创建三个变量a,b,c
	//将a、b中较大的那个赋值给c
	int a = 0;
	int b = 0;
	int c = 0;

	cout << "请输入a的值:" << endl;
	cin >> a;
	cout << "请输入b的值:" << endl;
	cin >> b;
	
	c = a > b ? a : b;
	cout << "c=" << c << endl;

	//在C++中三目运算符返回的是变量的话可以继续赋值
	a > b ? a : b = 100;
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;

	system("pause");
	return 0;
}

运行结果

请输入a的值:
8
请输入b的值:
9
c=9
a=8
b=100

1.3 switch语句

//作用:执行多条件分支语句。
switch(表达式)
{
	case 结果1: 执行语句;break;  //利用break关键字退出当前循环
	case 结果2: 执行语句;break;
	……
	default: 执行语句;break;
}

注:用switch判断时,只能是整型或者字符型,不可以是一个区间。

示例

#include <iostream>
using namespace std;

int main()
{
	//给电影进行评分
	//1-2 烂片
	//3 一般
	//4 非常好
	//5 经典
	int score = 0;
	cout << "请给电影打分:" << endl;
	cin >> score;
	
	switch (score)
	{
		case 1:cout << "您认为此电影是烂片" << endl; break;
		case 2:cout << "您认为此电影是烂片" << endl; break;
		case 3:cout << "您认为此电影一般" << endl; break;
		case 4:cout << "您认为此电影非常好" << endl; break;
		case 5:cout << "您认为此电影是经典" << endl; break;
		default:cout << "不在分数范围,请重新输入分数" << endl; break;
	}
	
	system("pause");
	return 0;
}
请给电影打分:
4
您认为此电影非常好

2.循环结构

2.1 while循环语句

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

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

注:避免死循环
在这里插入图片描述
示例

#include <iostream>
using namespace std;

int main()
{
	//打印数字0-9
	int num = 0;
	while (num < 10)
	{
		cout << num << endl;
		num++;
	}

	system("pause");
	return 0;
}

运行结果

0
1
2
3
4
5
6
7
8
9

2.2 do…while循环语句

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

do…while与while的区别:do…while会先执行一次循环语句,再判断循环条件
在这里插入图片描述

#include <iostream>
using namespace std;

int main()
{
	//打印数字0-9
	int num = 0;
	do 
	{
		cout << num << endl;
		num++;
	} while (num < 10);

	system("pause");
	return 0;
}

2.3 for循环语句

//for循环语法:
for(初始化表达式;循环条件表达式;循环后操作表达式)
{
    循环语句;
}

示例

#include <iostream>
using namespace std;

int main()
{
	//打印数字0-9
	for (int num = 0; num < 10; num++)
	{
		cout << num << endl;
	}


	system("pause");
	return 0;
}

2.4 嵌套循环

作用:在循环体中再嵌套一次循环,解决一些实际问题
示例

#include <iostream>
using namespace std;

int main()
{
	//打印10*10的星图矩阵
	for (int i = 0; i < 10; i++)  //外层循环
	{
		for (int j = 0; j < 10; j++)  //内层循环
		{
			cout << "* ";
		}
		cout << endl; //换行
	}

	system("pause");
	return 0;
}

运行结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值