分支结构结构设计

前面学过算数运算符及算术表达式。在程序设计中,还会用到关系运算符和逻辑运算符。

  1. 关系运算符
    在数学中用>、≥、<、≤、=、≠来表示数值及算术表达式之间的关系。c++中同样也有关系运算符包括>、>= 、<、<=、==、!=。由关系运算符连接起来的表达式,称为关系表达式。表达式结果是一个逻辑值“真”或“假”,通常用0或者1表示,表示关系是否成立。
    注意:
    1.等于与赋值的区别
    ”表示关系运算“等于”,例如a5,表示判断变量a与5是否相等,结果为一个逻辑值,a的值保持不变。
    “=”表示“赋值”操作,例如a=5,表示将常量5赋值给变量a。
    2.实型数据(浮点数)的关系运算
    3.运算符的优先级
    先算术运算符(*、/、%、+、-)然后关系运算符(<、>、<=、>=、==、!=)
    最后赋值运算符(=)

  2. 逻辑运算符
    c++提供了&&(逻辑与)、||(逻辑或)和!(逻辑非)三种逻辑运算符,其中&&和||是双目运算符,而!是单目运算符。由逻辑运算符连接起来的表达式,称为逻辑表达式,其运算结果也是一个逻辑值“真”或“假”
    逻辑预算符也遵循优先级分支结构结构设计
    整数型数据也可参与逻辑运算
    逻辑表达式是“短路计算”:
    在逻辑表达式的计算过程中,一旦能够确定整个表达式的值,就会立刻停止计算。

  3. if语句
    在c++中,分支结构可以用if语句或者switch语句实现
    if语句有两种格式,第一种格式为:
    if(表达式)
    语句1;
    else
    语句2;
    表示如果“表达式”的值为真,那么执行语句1否则执行语句2。
    第二种格式为:
    if(表达式)
    语句;
    表示如果表达式的值为真,那么执行“语句”;否则,什么也不做。
    例子:风华公司“南京一日游”的收费标准为:5人以内(含5人)按散客标准,每人300元;超过5人,按团体标准,每人280元。请根据输入的人数,输出其旅游费用。 #include
    using namespace std;
    int main(){
    int n;
    cin >>n;
    if(n<=5)
    cout<<n 300<< endl;
    else
    cout<<n
    280<< endl;
    return 0;
    }
    用花括号括起来的语句称为“复合语句”

  4. if语句的嵌套
    分支结构的“嵌套”一般用来解决三种及以上的分支情况。
    (1)分支结构可以嵌套很多层
    (2)if与else的配对关系
    程序中的else子句总是与离它最近的前面的一个if子句配对。
    (3)编程要形成良好的代码风格
    采取“缩进”对齐格式

  5. 条件表达式
    条件表达式格式:
    <表达式1>?<表达式2>:<表达式3>
    运算规则:首先计算表达式1的值,若表达式1的值为真,则只计算表达式2,并将其结果作为整个表达式的值;否则,只计算表达式3,并将其结果作为整个表达式的值。分支结构结构设计

  6. switch语句
    分支情况太多,如果用if语句嵌套实现,层数太多,容易出错。为此,c++提供了一种多分支语句-switch
    格式:
    switch(表达式){
    case常量表达式1:语句组1;break;

使用switch语句时注意:
(1)switch后面的表达,取值只能是整型、字符型、布尔型或枚举型。case后面的常量表达式,其值类型与switch后面表达式的类型一致。
(2)任意两个case后的表达式值必须各不相同,否则将引起歧义。
(3)语句组可以是一条语句,也可以是一个复合语句。
(4)多个case语句可以共用一组程序。
分支结构结构设计
7. 分支结构应用举例
随机函数可调用rand() 在调用之前要先设置“随机种子”,通常可以用srand(time(0))
来实现。函数rand()和srand()需要包含“cstdlib”头文件,函数time()需要包含“ctime”头文件。
一般来说产生a~b之间的随机整数可以表示为a+rand()%(b-a+1)。
总结: 现在已到第三单元,从懵懂无知到懂一点的菜鸟,基础程序基本了解 慢慢接触到稍微复杂的程序,这门课不仅仅只是教我如何写程序 更重要的是教会我如果简单的去解决一个问题 if语句让我们如何思路清晰的循序渐进的去解决一个问题,这门课还是有点吃力 应该是内容了解不够深入具体吧 在以后的学习会继续加油努力。