给小伙伴们预告一下:《斗破CPP》第贰章与第叁章将会分成上下两部分分享给大家,(上)偏向于讲述语句,(下)偏向于讲解各式各样的运算符。
目录
if语句
if语句(其一)
if语句(其二)
嵌套if语句
破!----if语句的语法
方案1
方案2
switch语句
switch的妙用
标签
break语句
default标签
if语句与switch语句的交流
未完待续
文章图片
if语句
if语句(其一) 我们先来个开胃小菜引出if语句:
//chap0201#include using namespace std;
int main()
{
int n;
cout << "整数值:";
cin >> n;
if (n > 0)
cout << "这个值为正。\n";
}
上述代码中出现的用来判断n是否大于0的语句,是if语句。其语法如下所示:
if(条件)语句 |
该程序的条件是n>0。如果左操作数的值大于右操作数,则>运算符返回真,否则返回假。
true和flase是bool型的常量值,成为布尔字面量。
chap0201流程图如下:
文章图片
如果输入的n的值小于等于0,则不执行这条语句,在画面上不显示任何内容。
if语句(其二) 我们来优化一下chap0201代码:
//chap0202#include using namespace std;
int main()
{
int n;
cout << "整数值:";
cin >> n;
if (n > 0)
cout << "这个值为正。\n";
else
cout << "这个值为0或负。\n";
}
这次的if语句的语法如下所示:
if(条件)语句 else 语句 |
文章图片
这种形式的if语句会执行两条语句中的一个,而不会两者都执行或两者都不执行。
初学者在写if语句的时候可能会犯以下两个错误:
if a < b cout << "a小于b。";
//条件缺少括号
if (c > d) else b = 3;
//else前缺少语句
文章图片
嵌套if语句 嵌套的意思是:在已有的表格、图像或图层中再加进去一个或多个表格、图像或图层。或两个物体有装配关系时,将一个物体嵌入另一物体。
故嵌套if语句的意思是在一个if语句中嵌套另一个if语句。(不是只能嵌套一个if语句,只要条件够多,想嵌套多少个就嵌套多少个)
接下来我们再来看一个结构与上不同的嵌套if语句:
//chap0203#include using namespace std;
int main()
{
int n;
cout << "整数值:";
cin >> n;
if (n > 0)
if (n % 2 == 0)
cout << "这个值为偶数。\n";
else
cout << "这个值为奇数。\n";
else
cout << "输入了非正值。\n";
}
如果读入的整数值为正,则显示它是偶数还是奇数;如果为负,则显示相应的信息。
文章图片
破!----if语句的语法 请小伙伴们来思考下面这段代码中的语句1和语句2:
if (x == 1)
if(y == 1)
语句1;
else
语句2;
遇到这样的问题我们思考过后会有两种答案:
方案1
语句1 | 当x为1且y也为1时 |
语句2 | 当x不为1时 |
方案2
语句1 | 当x为1且y也为1时 |
语句2 | 当x为1且y不为1时 |
if(x == 1)
if(y == 1)
语句1;
else
语句2;
文章图片
switch语句 switch的妙用
//chap0204#include using namespace std;
int main()
{
int n;
cout << "请输入整数:";
cin >> n;
switch (n) {
case 0 : cout << "A";
cout << "B";
break;
case 2 : cout << "C";
case 5 : cout << "D";
break;
case 6 :
case 7 : cout << "E";
break;
default: cout << "F";
break;
}
cout << "\n";
}
标签
如果条件n的值为5,则程序流会直接跳转至“case 5:”处:
文章图片
像case 5:这样表示程序要跳转到的地方的标记称为标签。
5和:之间可以不键入空格,但请切记,case和5之间必须要有空格。
break语句
当chap0204中的程序流遇到break语句,即
break;//break语句:跳出switch语句
时,将结束switch语句的执行。break是”打破“ ”跳出“ 的意思。在执行break语句后,程序流将打破包围它的switch语句并跳出。
因此,在通过break语句跳出后,程序将执行switch语句之后的语句。
default标签
标签default:当用于程序流分支的条件的求职结果与哪一个case都不匹配时,程序流将跳转至该default标签处。我们来看看它的流程图:
文章图片
可以看出,在没有break语句的地方,程序流将”滑落“至下一条语句。
如果改变switch语句内标签的出现顺序,则程序的运行结果也会改变。在使用switch语句,小伙伴们务必要考虑标签顺序哦!
文章图片
if语句与switch语句的交流 看过上面部分的小伙伴都知道,if语句和switch语句都可以实现程序流的分支结构,两者统称为选择语句。对于使用if语句或switch语句均可实现的分支结构,使用switch语句实现更容易阅读,我们来看看下图:
文章图片
上面这两段代码是等价的。可在连续的if语句中,用于程序流分支的比较对象并非必须是一个表达式。对于最后的判断语句,人们可能会将其误读为if(p == 4),或者怀疑其是if(p == 4)的误写。从这一点来看,switch语句便于通览全局,也可以减少阅读者的疑惑。所以综上所述:相比使用if语句,使用switch语句来实现基于一个表达式的程序流分支会更好!
文章图片
【易懂|《斗破CPP》 第贰章(上) ---- 初识分支句】
未完待续 很感激阅读到这里的你,《斗破CPP》的精彩并不止于这些,学有余力的小伙伴可以看看下面这些博客,都是有着极多的技巧与干货?!
《斗破CPP》 第壹章 ---- 初窥CPP :https://blog.csdn.net/qq_64263760/article/details/124053651
C语言小游戏(一)----猜数游戏:
https://blog.csdn.net/qq_64263760/article/details/122880908
如果觉得本篇博客对正在学习编程的你有帮助的话,请给施律.多一点的支持与关注!未来的一段时间里施律.将和小伙伴们一起斗破CPP,希望下次的我能为大家奉上更好的博客内容,也希望下次的博客有你!
推荐阅读
- C++|读者写者问题(一个读者一个写者)
- 新手|《斗破CPP》 第壹章 ---- 初窥CPP
- 易懂|完全二叉树的权值(2019年蓝桥杯真题)
- 易懂|送给好朋友的圣诞树+带名字的爱心 圣诞特别版
- 易懂|C语言小游戏(一)----猜数游戏
- 易懂|动态内存分配浅论
- 笔记|C语言扫雷简化版(b站鹏哥)
- 图像处理|opencv(光流估计 L-K)
- qt|qt 之 QSystemTrayIcon(托盘程序整个例子)