【生姜】——啥是分支
说白了,帮我们处理各种各样情况的机制,就是分支程序设计。说了等于白说。
分支程序设计必须具备两个功能:一是如何区分各种情况,二是如何根据不同的情况来执行不同的语句。前者用关系表达式和逻辑表达式来实现,后者用两个控制语句来实现。
c++提供三种选择结构:if选择结构,if—else选择结构和switch选择结构。
分支——if
格式1:
if(条件表达式)
语句1;
功能:如果条件表达式的值为真,那么语句1执行;反之则不执行(忽略),程序将按顺序从整个选择结构之后的下一条语句继续执行。
格式2:
if(条件表达式)
{
语句1;
语句2;
}
若条件成立时,要执行的操作由多个句子组成,我们必须把这些句子用一对花括号括起来,我们称这种形式为语句块或复合语句。
练习题——if语句
【选择结构】奇偶数判断
Description
给定一个整数,判断该数是奇数还是偶数。
Input
输入仅一行,一个大于零的正整数n。
Output
输出仅一行,如果n是奇数,输出odd;如果n是偶数,输出even。
Sample Input
5
参考代码:
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
if(n%2==1)cout<<"odd"<<endl;
if(n%2==0)cout<<"even"<<endl;
return 0;
}
三目运算符
c++有一个常用来代替if语句的操作符,这个操作符被称为三目运算符(?:),它是c++中唯一一个需要3个操作数的操作符。该操作符的通用格式如下:
b?a:c
如果b为ture,则整个表达式的值为a,否则,整个表达式的值为c。
与if语句相比,三目运算符更简洁,但第一次使用时不那么容易理解。
当代码变得更复杂时,使用if语句更加清晰。
switch语句
应用条件语句可以很方便地使程序实现分支,但是出现分支比较多的时候,虽然可以用嵌套的if语句来解决,但是程序结构会显得很复杂,甚至凌乱。为了实现多情况选择,c++提供了一种switch开关语句。
语句格式:
switch(表达式)
{
case 常量表达式1;
语句序列1;
break;
case 常量表达式2;
语句序列2;
break;
…
case 常量表达式n;
语句序列n;
default:
语句序列n+1;
}
switch语句执行过程分为以下3步描述:
(1)计算出switch后面圆括号内表达式的值,假定为M。若它不是整形,系统会自动舍去其小数部分,只取其整数部分作为结果值。
(2)依此计算出每个case后常量表达式的值,假定它们为M1,M2…,同样,若它们的值不是整型,则自动转换为整型。
(3)让M依次同M1,M2…进行比较,一旦遇到M与某个值相等,就从对应标号的语句开始执行;在碰不到相等的情况下,若存在default子句,则就执行其冒号后面的语句序列,否则就不执行任何操作。
分支结构就为大家讲到这里,你的轻轻一赞是我下一次写作的动力!
注:部分概念来自各类资料,如有侵权请立即联系本人,我会在第一时间内删除侵权内容!