码迷,mamicode.com
首页 > 编程语言 > 详细

c++语言学习(6)--分支结构 (2)

时间:2020-12-30 11:15:10      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:--   round   amp   运算符   很多   str   c++语言学习   oat   语文   

1、复合语句(程序块)

例子1:

输入两个整数,计算并显示较大的值和较小的值。

#include"stdio.h"

int main()
{
    int n1,n2,max,min;
    
    puts("请输入两个整数:");
    printf("整数1:"); scanf("%d",&n1);
    printf("整数2:"); scanf("%d",&n2);

    if(n1>n2)
    {
        max=n1;
        min=n2;
    }
    else
    {
        max=n2;
        min=n1;
    }

    printf("较大的数是 %d\n",max);
    printf("较小的数是%d\n",min);

    return 0;
}

{  }中间的语句是在  n1>n2的时候同时一起执行的

这不再像之前单一的语句

如果我们的语句没有加 {  },那么会有不一样的意思,把其中的一部分拿出来更改如下:

if (n1>n2)
    max=n1;
    min=n2;

这样,无论n1>n2是否满足, 成立。  min都是为n2

可以做一个测试来验证。

这种用 { }括起来的 多条语句 就叫做复合语句,也称为语句块。

加和不加 {  },在上面的情况下是由完全不同的意思。

如果回到上一节的例子中去,if语句的执行的语句部分只有单条语句的情况下,也可以改成如下的情况,意思是不变的:

//省略其他部分程序

if(n1>n2)
{
    max=n1;
}else
{
    max=n2;
}

这个就是单条的语句的程序 ,从这里我们得到什么启发呢?

单条可以加括号,多条也可以加括号,实际上,多条语句即复合语句就可以理解为一条语句——他是在那个条件之下做的一系列的事情,用多句话来表示。

我们在生活中也 可以由很多类似的例子来印证这种理解。

 

2、逻辑运算符

例子:输入一个整数月份,判断他是在哪个季节。

我们都知道  春季是在(3,4,5)月

     夏季是在(6,7,8)月

      秋季是在(9,10,11)月

      冬季是在(12,1,2)月

      其他月份的值不存在。

根据以上,程序代码如下:

#include"stdio.h"

int main()
{
    int month;
    
    printf("请输入月份:");
    scanf("%d",&month);

    if(month >=3 && month<=5)
        printf("%d 月是春季\n",month);
    else if(month >=6 && month<=8)
            printf("%d 月是夏季\n",month);
         else if(month >=9 && month<=11)
                 printf("%d 月是秋季\n",month);
              else if(month==1 || month==2 || month=12)
                      printf("%d 月是冬季\n",month);
                   else
                      printf("%d 月不存在\n",month);

    return 0;
}

 

这里所使用的是 &&  和 ||  成为逻辑运算符

&& 成为“与 ”  ,也就是并且的意思,这个相当于语文理解中的 “只有   ………………才…………”。这就是必须要的条件

|| 成为“或”,就是或者的意思,所以这个相当于  语文中的“只要 ………………就…………”。这个就是非必要条件。

转换成程序当中的专业表达就是如下:

(当表达式成立的时候,返回的是1  而不成立的时候返回的是0)

a && b

利用上述的分析,表达如下:

只有 a 和 b 同时为 1的时侯,才为 1(确切的说应该是非0,简化期间如此表达)

也可以 说:只有 a 为1  并且  b为1 ;  才能使得上面的表达式为1;

a b a && b
1 1 1
1 0 0
0 1 0
0 0 0

 

 

 

 

 

 

a ||  b转换成表达如下:

只要 a 为1 或者 b 为1, 就可以得到表达式子的值为1

a b a || b
1 1 1
1 0 1
0 1 1
0 0 0

 

c++语言学习(6)--分支结构 (2)

标签:--   round   amp   运算符   很多   str   c++语言学习   oat   语文   

原文地址:https://www.cnblogs.com/xujieqiang/p/14188051.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!