1. if结构
1.1单行if语句
if(条件表达式) //后面千万不要写分号。不然后面的“执行语句”就废了
{
执行的语句
}
#include<iostream>
using namespace std;
int main()
{
//选择结构 单行if语句
//实现:用户输入分数,如果分数大于600,视为考上一本大学,在屏幕上输出
//1.用户输入分数
int score = 0;
cout << "请输入一个分数:" << endl;
cin >> score;
//2.打印用户输入的分数
cout << "您输入的分数:" << score << endl;
//3.判断是否大于600.如果大于,那么输出
if (score > 600)
{
cout << "恭喜您考上了一本大学" << endl;
} //输入599,就不打出来"恭喜您考上了一本大学"
system("pause");
return 0;
}
1.2 多行if语句
#include<iostream>
using namespace std;
int main()
{
//多行if语句
//案例:输入考试分数,如果分数大于600,视为考上一本
// 没考上一本大写,打印“没考上一本大学”
//1.输入考试分数
int score = 0;
cout << "请输入一个分数:" << endl;
cin >> score;
//2.提示用户输入的分数
cout << "您输入的分数:" << score << endl;
//3.判断 大于600,打印考上一本,否则打印没考上一本
if (score > 600)
{
cout << "恭喜您考上了一本大学" << endl;
}
else
{
cout << "您未考上一本大学" << endl;
}
system("pause");
return 0;
}
1.3 多条件if语句
#include<iostream>
using namespace std;
int main()
{
//多条件if语句
//输入一个分数
//大于600分,考上一本大学
//大于500分,考上二本大学
//大于400分,考上三本
//小于等于400分,为考上本科
//1.输入考试分数
int score = 0;
cout << "请输入一个分数:" << endl;
cin >> score;
//2.提示用户输入的分数
cout << "您输入的分数:" << score << endl;
//3.判断
if (score > 600) //大于600,打印考上一本,否则打印没考上一本
{
cout << "恭喜您考上了一本大学" << endl;
}
else if(score > 500) //大于500,打印考上二本
{
cout << "恭喜您考上了二本大学" << endl;
}
else if (score > 400) //大于400,打印考上三本
{
cout << "恭喜您考上了三本大学" << endl;
}
else //收尾,前面都不满足就执行它对应的语句
{
cout << "很遗憾,没考上本科,再接再厉!" << endl;
}
system("pause");
return 0;
}
1.4嵌套if语句
禁止套娃,if的嵌套本质上就是if的某一个条件中,在这个条件下再细分条件并对应其执行语句。
#include<iostream>
using namespace std;
int main()
{
//多条件if语句
//输入一个分数
//大于600分,考上一本大学
//大于700,考上清华
//大于650,考上北航
//大于600,考上农大
//大于500分,考上二本大学
//大于400分,考上三本
//小于等于400分,为考上本科
//1.输入考试分数
int score = 0;
cout << "请输入一个分数:" << endl;
cin >> score;
//2.提示用户输入的分数
cout << "您输入的分数:" << score << endl;
//3.判断
if (score > 600) //大于600,打印考上一本,否则打印没考上一本
{
cout << "恭喜您考上了一本大学" << endl;
if (score > 700)
{
cout << "您能考上清华大学!!!" << endl;
}
else if (score > 650)
{
cout << "您能考上北航!!!" << endl;
}
else
{
cout << "您能考上农大!!!" << endl;
}
}
else if (score > 500) //大于500,打印考上二本
{
cout << "恭喜您考上了二本大学" << endl;
}
else if (score > 400) //大于400,打印考上三本
{
cout << "恭喜您考上了三本大学" << endl;
}
else //收尾,前面都不满足就执行它对应的语句
{
cout << "很遗憾,没考上本科,再接再厉!" << endl;
}
system("pause");
return 0;
}
1.5三只小猪称体重——if语句案例
输入三只小猪ABC的体重,判断那只最重。
思路:
#include<iostream>
using namespace std;
int main()
{
//三只小猪称体重
//1.创建三只小猪的体重变量
int num1 = 0;
int num2 = 0;
int num3 = 0;
//2.输入三只小猪的重量
cout << "输入第一只小猪的重量:" << endl;
cin >> num1;
cout << "输入第二只小猪的重量:" << endl;
cin >> num2;
cout << "输入第三只小猪的重量:" << endl;
cin >> num3;
cout << "小猪A的体重为:" << num1 << endl;
cout << "小猪B的体重为:" << num2 << endl;
cout << "小猪C的体重为:" << num3 << endl;
//3.判断哪只最重
//先判断A和B重量
if (num1 > num2)
{
if (num1 > num3)
{
cout << "小猪A最重" << endl;
}
else
{
cout << "小猪C最重" << endl;
}
}
else
{
if (num2 > num3)
{
cout << "小猪B最重" << endl;
}
else
{
cout << "小猪C最重" << endl;
}
}
system("pause");
return 0;
}
2. 三目运算符
条件运算符强大而独特,它提供了一种表达简单 if-else 语句的简写方法。该运算符由问号(?)和冒号(:)组成,其格式如下:
表达式 ? 表达式 : 表达式 ;
#include<iostream>
using namespace std;
int main()
{
//三目运算符
//创建三个变量 a b c
//将a和b作比较,将变量中大的值赋值给c
int a = 10;
int b = 16;
int c = 0;
c = (a > b ? a : b);
cout << "c = " << c << endl;
//C++中三目运算符返回的是变量,可以继续赋值
(a > b ? a : b) = 100; //判断a和b的大小,然后将100赋值给返回的变量
cout << "a = " << a << endl;
cout << "b = " << b << endl;
system("pause");
return 0;
}
3.switch语句
四个关键字:switch 、 case 、 break 、 default
switch 语句必须遵循下面的规则:
- switch 语句中的 expression 必须是一个整型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举类型。
- 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
- case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
- 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
- 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
- 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
- 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。
#include<iostream>
using namespace std;
int main()
{
//switch语句
//给电影进行打分
// 10 经典
// 8/ 9 非常好
// 7 - 5 一般
// 5一下 烂片
//1.提示用户进行打分
cout << "请给电影打分:" ;
//2.用户打分
int score = 0;
cin >> score;
cout << "你打的分数为" << score << endl;
//3.提示结果
switch (score) //缺点:只能放一个整数或者字符,不能放区间
//优点:结构清晰,执行效率高
{
case 10: cout << "你认为是经典电影!" << endl; break;
case 9: cout << "你认为电影非常好!" << endl; break;
case 8: cout << "你认为电影非常好!" << endl; break;
case 7: cout << "你认为电影一般!" << endl; break;
case 6: cout << "你认为电影一般!" << endl; break;
case 5: cout << "你认为电影一般!" << endl; break;
default: cout << "你认为电影是烂片" <<endl;
}
system("pause");
return 0;
}