写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我 上一篇:【C++养成计划】运算符&运算符优先级(Day4) 首先我们思考一下什么需要判断语句?想想在现实生活中,我们会根据不同的情形,经过判断后再去执行不同的操作。那么当我们用C++去解决一个问题的时候,也会遇到这种情况。举一个数学中很简单的例子,有一个分段函数: 由此,我们就对if…else判断语句有了一个简单的了解。那么下面,我们来了解在实际编程中一些必要的技能吧! 说起嵌套,让我想到最形象的一个例子是:俄罗斯套娃(它是一种木制娃娃玩具,当你打开外面的娃娃,会发现里面套着一个更小的娃娃,再打开里面的娃娃,里面还有更小更小的娃娃…) 多分支if语句和if…else语句相似。只不过多分支语句对条件分的更细,所以它会有三个或者3个以上的分支,以下面的分段函数为例: 在有些问题中,虽然需要进行多次判断选择,但是每一次都是判断同一表达式的值,这样就没有必要在每一个嵌套的if语句中都计算一遍表达式的值,为此C++中提供了switch语句专门来解决这类问题。switch语句的语法形式如下: switch语句的执行顺序是:首先计算switch语句中表达式的值,然后在case语句中寻找值相等的常量表达式,并以此为入口执行相应的语句。如果没有找到相等的常量表达式,则从default开始执行。 下面举一个例子,指出输入的数字(1-7之间)对应星期几: 这里我从键盘输入2,程序输出结果如下: C++提供了一个有趣且功能强大的运算符——条件运算符,它相当于紧凑的if-else结构。条件运算符也叫三目运算符,因此它使用三个操作数。 等效于如下if…else语句: 想了解更多有关运算符的知识,可以戳戳这里:【C++养成计划】运算符&运算符优先级(Day4) while循环的语法形式: 执行顺序是:先判断表达式的值,若为真true,则继续执行循环体语句。 运行结果如下: do … while的语法形式: 执行顺序是:先执行循环体语句,后判断循环条件表达式的值。表达式为true时,继续执行循环体;否则结束循环。 运行结果如下: for语句的使用最为灵活,既可以用于循环次数确定的情况,可可以用于循环次数未知情况。其语法形式如下: for语句的执行流程是:首先执行初始语句,再判断表达式1(循环控制条件);如果为真,则执行一次循环体,否则退出循环。每执行一次循环体后,要先计算表达式2的值,再判断表达式1,从而决定要不要继续执行循环体。 运行结果如下: goto 语法的形式如下: 这里需要说明的是:由于goto语句不具有结构性,它的频繁使用会使得程序变得混乱,因此不建议使用它!
热爱AI、热爱、热爱开源
! 这博客是我对学习的一点总结与记录。如果您也对 深度学习、机器视觉、算法、Python、C++
感兴趣,可以关注我的动态,我们一起学习,一起进步~
我的博客地址为:【AI 菌】的博客
昨天,我们学习了C++常用的运算符以及运算符的优先级顺序,从而能够灵活地处理和变换各种数据了。今天我们主要来学习控制程序流程的两大方法:判断和循环。
文章目录
1. 判断
(1) if … else 语句
y={10(x>0)(x≤0)
这是一个典型需要判断语句的例子。当我们想去求y时,得首先判断x>0是否为真。当条件为真时,我们令y=1;否则,令y=0。那么用if … else语句实现如下:if(x>0) y=1; //如果x大于0 else y=0; //如果x小于或等于0
1.最基本的if...else结构 if(判断条件) 执行1; else 执行2; 2.当要执行多条语句时,需要用{}将多条语句包含视为一个语句块。 (注意:初学者很容易犯的一个错是,没有加{},这样编译器会默认只执行1) if(判断条件) { 执行1; 执行2; } else 执行3; 3.可以不加else。这种情况下,判断条件为真,则执行1和2,否则直接跳出判断语句 if(判断条件) { 执行1; 执行2; } 4.很重要也是很容易被忽略的一点:判断条件只要不为0(即false),就视为真true
(2) 嵌套 if 语句
if语句也是可以嵌套的,在外面的if语句里面,可以嵌套一个if语句。当然,里面的if语句也可以再嵌套。理论上,可以无穷嵌套下去。下面我们以嵌套一次为例:if(判断条件1) { 执行1; if(判断条件2) 执行2; else 执行3; } else 执行4;
(3) 多分支 if 语句
y=⎩⎪⎨⎪⎧10−1(x>0)(x=0)(x<0)
我们用C++对它实现如下:if(x>0) y=1; else if (x==0) //注意这个地方要用==,而不是赋值符号= y=0; else y=-1;
(4) switch-case条件处理
switch(表达式) { case 常量表达式1:语句1;break; case 常量表达式2:语句2;break; ... case 常量表达式n:语句n;break; default:语句n+1;break; }
使用switch语句需要注意的问题:
#include<iostream> using namespace std; int main() { enum DaysOfWeek //枚举常量 { Monday=1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }; int day=0; cout<<"请输入今天星期几(1-7):"; cin>>day; switch(day) { case Monday: cout<<"Today is Monday!"; break; case Tuesday: cout<<"Today is Tuesday!"; break; case Wednesday: cout<<"Today is Wednesday!"; break; case Thursday: cout<<"Today is Thursday!"; break; case Friday: cout<<"Today is Friday!"; break; case Saturday: cout<<"Today is Saturday!"; break; case Sunday: cout<<"Today is Sunday!"; break; default: cout<<"输入错误,请输入1-7之间的整数"; break; } return 0; }
程序中定义DaysOfWeek用到了枚举常量,对其还不太了解的同学,可以参见我前面的博客:【C++养成计划】深入浅出——变量作用域(Day3)(5) 使用运算符?: 条件处理
下面举一个简单的例子,用运算符?:来获得两个数的较大者:int Max = (num1>num2)? num1:num2; //判断表达式num1>num2。如果为真,将num1传给Max,否则将num2传给Max
int Max=0; if(num1>num2) Max=num1; else Max=num2;
2. 循环
(1) while循环
while(表达式) { 循环体; }
下面举一个简单的例子,求自然数1至100的和。#include<iostream> using namespace std; int main() { int i=1,sum=0; while(i<=100) { sum+=i; i++; } cout<<"sum="<<sum<<endl; return 0; }
(2) do … while 循环
do{ 循环体; }while(表达式);
同样,如果要求自然数1至100的和,也可以使用do … while结构,如下所示:#include<iostream> using namespace std; int main() { int i=1,sum=0; do{ sum+=i; i++; }while(i<=100); cout<<"sum="<<sum<<endl; return 0; }
(3) for 循环
for(初始语句;表达式1;表达式2) { 循环体; }
下面举一个简单的例子,我们用for()还是来实现求自然数1至100的和。#include<iostream> using namespace std; int main() { int sum=0; for(int i=1;i<=100;i++) { sum+=i; } cout<<"sum="<<sum<<endl; return 0; }
使用for()语句需要注意以下几点:
for(;;) //相当于while(true)语句,表示将无终止地执行循环体(死循环)
for(int i=0,j=10; i<=j; i++,j--) k=i+j;
(4) continue和break的用法
(5) 不成熟的goto
JumpToPoint: 循环体; goto JumpToPoint; //转跳回JumpToPoint处,重新执行循环体
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算