1. 单行if语句
if (条件) {执行语句}
#include
using namespace std;
int main() {
// 单行if语句
// 1、输入考试分数
int score = 0;
cout << "请输入考试分数: " << endl;
cin >> score;
// 2、提示输入的分数
cout << "输入的分数为: " << score << endl;
// 3、判断
if (score >= 600)
{
cout << "恭喜你考上了985大学!" << endl;
}
system("pause");
return 0;
}
2. 多行if语句
if (条件) {执行语句1}
else {执行语句2}
#include
using namespace std;
int main() {
// 多行if语句
// 1、输入考试分数
int score = 0;
cout << "请输入考试分数: " << endl;
cin >> score;
// 2、提示输入的分数
cout << "输入的分数为: " << score << endl;
// 3、判断
if (score >= 600)
{
cout << "恭喜你考上了985大学!" << endl;
}
else
{
cout << "希望你再接再厉!" << endl;
}
system("pause");
return 0;
}
3. 多条件if语句
if (条件1) {执行语句1}
else if (条件2) {执行语句2}
else if (条件3) {执行语句3}
else {执行语句4}
#include
using namespace std;
int main() {
// 多条件if语句
// 如果考试分数大于等于600分,恭喜你考上985大学!屏幕上输出;
// 如果考试分数大于等于550分,恭喜你考上211大学!屏幕上输出;
// 如果考试分数大于等于500分,恭喜你考上一本大学!屏幕上输出;
// 如果考试分数大于等于400分,恭喜你考上二本大学!屏幕上输出;
// 如果考试分数小于400分,很遗憾你未能考上本科大学,希望你再接再厉!屏幕上输出。
// 1、输入考试分数
int score = 0;
cout << "请输入考试分数: " << endl;
cin >> score;
// 2、提示输入的分数
cout << "输入的分数为: " << score << endl;
// 3、判断
if (score >= 600)
{
cout << "恭喜你考上了985大学!" << endl;
}
else if (score >= 550)
{
cout << "恭喜你考上211大学!" << endl;
}
else if (score >= 500)
{
cout << "恭喜你考上一本大学!" << endl;
}
else if (score >= 400)
{
cout << "恭喜你考上二本大学!" << endl;
}
else
{
cout << "很遗憾你未能考上本科大学,希望你再接再厉!" << endl;
}
system("pause");
return 0;
}
4. 嵌套if语句
if (条件1)
{
执行语句1;
if (条件2) {执行语句2}
else if (条件3) {执行语句3}
else {执行语句4}
}
else if (条件4) {执行语句5}
else if (条件5) {执行语句6}
else {执行语句7}
流程图与多条件if语句流程图类似
#include
using namespace std;
int main() {
// 嵌套if语句
/*
案例:
if score > 600 考入一本大学;
if score > 700 能考入清华北大;
if score > 650 能考入浙大上交复旦;
if score > 600 能考入厦大中南;
if score > 500 考入二本大学;
if score > 400 考入三本大学;
其他情况下,很遗憾未能考上本科大学!
*/
// 1、输入考试分数
int score = 0;
cout << "请输入考试分数: " << endl;
cin >> score;
// 2、提示输入的分数
cout << "输入的分数为: " << score << endl;
// 3、判断
if (score >= 600)
{
cout << "恭喜你考上了重本大学!" << endl;
if (score >= 700)
{
cout << "可以选择清华北大" << endl;
}
else if (score >= 650)
{
cout << "可以选择浙大上交复旦" << endl;
}
else
{
cout << "可以选择厦大中南" << endl;
}
}
else if (score >= 500)
{
cout << "恭喜你考上一本大学!" << endl;
}
else if (score >= 400)
{
cout << "恭喜你考上二本大学!" << endl;
}
else
{
cout << "很遗憾你未能考上本科大学,希望你再接再厉!" << endl;
}
system("pause");
return 0;
}
switch(表达式)
{
case 结果1 : 执行语句;
break;
case 结果2 : 执行语句;
break;
…
case 结果n : 执行语句;
break;
default : 执行语句;
break;
}
#include
using namespace std;
/*
case中如果没有break,语句将会一直往下执行。
if与switch的区别:
switch语句中表达式类型只能是整型和字符型,不可以是一个区间;但是其结构清晰,执行效率比较高。
*/
int main() {
// 1、提示请输入电影评分
cout << "请输入电影评分:" << endl;
// 2、提示输入的数据大小
int score = 0;
cin >> score;
cout << "您的电影评分为:" << score << endl;
// 3、switch语句判断
switch (score)
{
case 10:
case 9:
cout << "您对本电影的评价为经典之作!" << endl;
break;
case 8:
case 7:
cout << "您对本电影的评价为非常棒!" << endl;
break;
case 6:
case 5:
cout << "您对本电影的评价为一般!" << endl;
break;
default:
cout << "您对本电影的评价为非常差!" << endl;
break;
}
system("pause");
return 0;
}
1、case中如果没有break,语句将会一直往下执行。
2、if与switch的区别:
switch语句中表达式类型只能是整型和字符型,不可以是一个区间;但是其结构清晰,执行效率比较高。
1. 三目运算符
通过三目运算符可以实现简单的判断。
表达式1(a > b) ? 表达式2(a) :表达式3(b)
返回的是一个变量
if a > b为真 则返回a;
if a > b为假 则返回b;
#include
using namespace std;
int main() {
// 1、输入数据
int a = 0;
int b = 0;
int c = 0;
cin >> a;
cin >> b;
// 2、提示输入的数据大小
cout << "a = " << a << endl;
cout << "b = " << b << endl;
// 3、判断
c = a > b ? a : b;
(a > b ? a : b)= 520;
// 4、输出结果
cout << "进行判断后a = " << a << endl;
cout << "进行判断后b = " << b << endl;
cout << "进行判断后c = " << c << endl;
system("pause");
return 0;
}
2. 求三个数中的最大值
A、B、C三个数比较大小(三个数互不相等时),求其中的最大值
—>if A>B
----------->if A>C,则A最大
----------->else,则C最大
—>else
----------->if B>C,则B最大
----------->else,则C最大
#include
using namespace std;
int main() {
// 1、输入数据
int num1 = 0;
int num2 = 0;
int num3 = 0;
cin >> num1;
cin >> num2;
cin >> num3;
// 2、提示输入的数据大小
cout << "num1 = " << num1 << endl;
cout << "num2 = " << num2 << endl;
cout << "num3 = " << num3 << endl;
// 3、判断
if (num1 > num2)
{
if (num1 > num3)
cout << "最大的数为num1 = " << num1 << endl;
else
cout << "最大的数为num3 = " << num3 << endl;
}
else
if (num2 > num3)
cout << "最大的数为num2 = " << num2 << endl;
else
cout << "最大的数为num3 = " << num3 << endl;
system("pause");
return 0;
}
1. while语句
满足循环条件,执行循环语句
while (表达式)
{循环语句}
#include
using namespace std;
int main() {
int num = 0;
while (num < 10)
{
cout << num << endl;
num++;
}
system("pause");
return 0;
}
注意:在执行循环语句的时候,必须设置跳出循环的出口,否则会出现死循环。
2. do while语句
do {循环语句}
while (循环条件)
#include
using namespace std;
int main() {
int num = 0;
do
{
cout << num << endl;
num++;
} while (num < 10);
system("pause");
return 0;
}
while与do while的区别:
while是先判断条件如果条件满足则执行语句;
do while是先执行一次语句再进行判断条件是否满足,若满足继续执行语句。
3. for语句
for(起始表达式(0);条件表达式(1);末尾循环(3))
{循环语句(2);}
在使用for循环语句时,程序执行的顺序如编号0-3所示
for循环结构比较清晰,比较常用
#include
using namespace std;
int main() {
for (int i = 0; i < 10; i++)
{
cout << i << endl;
}
system("pause");
return 0;
}
4. 循环嵌套
通过循环语句在屏幕上输出:
* * * * * * * * * *
* * * * * * * * * *
* * * * * * * * * *
* * * * * * * * * *
* * * * * * * * * *
* * * * * * * * * *
* * * * * * * * * *
* * * * * * * * * *
* * * * * * * * * *
* * * * * * * * * *
#include
using namespace std;
int main() {
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
cout << "* ";
}
cout << endl;
}
system("pause");
return 0;
}
1. 猜数字while
基本功能:
随机生成一个1~100之间的数字,用户去猜测这个数字是多少,猜测不对时会对玩家进行提醒:猜测过大!猜测过小!恭喜你猜对了!猜错了会继续让你猜测,猜对了游戏则会退出!
附加功能:
玩家猜测的机会不是无限的,仅仅只有6次机会,如果6次也还未猜对,也会退出游戏,并提醒玩家,很遗憾,您未能通关!
#include
using namespace std;
#include //ctime为系统时间头文件
int main() {
//添加一个随机数的种子,作用利用当前系统时间生成随机数,防止每次随机数都一样
srand((unsigned int)time(NULL));
//1、生成一个随机数
int rand_number = rand() % 100 + 1;
//cout << "随机生成的数为:" << rand_number << endl;
int num = 0; //输入变量
int number = 1; //计数变量
while (1)
{
if (number <= 6)
{
//2、用户输入猜测数字
cin >> num;
cout << "您猜的数字为:" << num << endl;
number++;
//3、进行判断
if (num > rand_number)
{
cout << "您猜的数字过大!" << endl;
}
else if (num < rand_number)
{
cout << "您猜的数字过小!" << endl;
}
else
{
cout << "恭喜你猜对了!游戏结束!" << endl;
break; //在循环中,可以利用break这个关键字退出当前循环
}
}
else
{
cout << "您猜的次数已达6次还未猜对,很遗憾,未能通关!望再接再厉!" << endl;
break;
}
}
system("pause");
return 0;
}
2. 水仙花数do while
水仙花数:
一个三位数,如果(个位)^3 + (十位)^3 + (百位)^3 = 三位数本身,这个三位数则为一个水仙花数。请在屏幕中输出所有的水仙花数。
#include
using namespace std;
int main() {
//1、首先获取所有的三位数
int num = 100;
do
{
//2、找到所有的水仙花数
int a = 0;
int b = 0;
int c = 0;
a = num % 10; //获取个位---对10取模即可
b = num / 10 % 10; //获取十位---先除10再对10取模即可
c = num / 100; //获取百位---除100即可
if (a * a * a + b * b * b + c * c * c == num)
{
//3、将所有的水仙花数输出
cout << num << endl;
}
num++;
} while (num < 1000);
system("pause");
return 0;
}
其中:
x / 100 = 百位数
x / 10 % 10 = 十位数
x % 10 = 个位数
3. 敲桌子for
参加聚会时,玩敲桌子游戏,从1开始数数,最大数到100结束,如果数到的数中有7或者是7的倍数时,就要敲一下桌子,不能说出来,否则将会受到惩罚。
#include
using namespace std;
int main() {
for (int i = 1; i < 101; i++)
{
if (i % 7 == 0 || i % 10 == 7 || i / 10 == 7)
{
cout << "敲桌子!i = " << i << endl;
}
else
{
cout << i << endl;
}
}
system("pause");
return 0;
}
4. 实现乘法口诀表的打印循环嵌套案例
—>打印所有的行数和列数
—>打印范围(列数<=行数)
—>打印列数 * 行数 = 计算结果
#include
using namespace std;
int main() {
for (int i = 1; i < 10; i++) //行数
{
//cout << i << endl;
for (int j = 1; j <= i; j++) //列数
{
cout << j << "*" << i << "=" << j * i << " ";
}
cout << endl;
}
system("pause");
return 0;
}
1. break语句
用于跳出选择结构或循环结构
1、出现在switch条件语句中,作用是终止case跳出switch语句
2、出现在循环语句中,作用是跳出当前的循环语句
3、出现在嵌套循环语句中,作用是跳出最近的内层循环语句
1、break出现在switch语句中
#include
using namespace std;
int main() {
//1、出现在switch语句中
int select = 0;
cout << "请从以下几种出行方案中选择一种" << endl;
cout << "1:乘飞机出行" << endl;
cout << "2:乘高铁出行" << endl;
cout << "3:乘汽车出行" << endl;
cin >> select;
switch (select)
{
case 1:
cout << "您选择的出行方式为:乘飞机出行" << endl;
break;
case 2:
cout << "您选择的出行方式为:乘高铁出行" << endl;
break;
case 3:
cout << "您选择的出行方式为:乘汽车出行" << endl;
break;
default:
cout << "您选择的选项已经超出了选项范围!" << endl;
break;
}
system("pause");
return 0;
}
2、break出现在switch语句中
#include
using namespace std;
int main() {
//2、出现在循环语句中
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break;
}
cout << i << endl;
}
system("pause");
return 0;
}
3、break出现在嵌套循环语句中
#include
using namespace std;
int main() {
//3、出现在循环嵌套语句中
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (j == 5)
{
break;
}
cout << "* ";
}
cout << endl;
}
system("pause");
return 0;
}
2. goto语句
若标记的名称存在,执行到goto语句时,会跳转到标记的位置
goto语句不提倡在代码中频繁使用
#include
using namespace std;
int main() {
cout << "111xxx" << endl;
cout << "222xxx" << endl;
goto FLAG;
cout << "333xxx" << endl;
FLAG:
cout << "444xxx" << endl;
cout << "555xxx" << endl;
system("pause");
return 0;
}
3. continue语句
在循环语句中,跳出本次循环中余下尚未执行的语句,进入下一次循环
#include
using namespace std;
int main() {
for (int i = 0; i <= 10; i++)
{
if (i % 2 == 0) //若能被2整除,则不输出,即不输出偶数
{
continue;
}
cout << i << endl;
}
system("pause");
return 0;
}