OS笔记:第三篇 C语言中的运算符与if分支结构

来源:互联网 发布:eai是什么软件 编辑:程序博客网 时间:2024/05/16 19:45

第一节 运算符

一、比较运算符与比较表达式

1. 比较运算符:是用来比较两个数据的大小的。

     >  >= <  <=  ==  !=

2. 比较表达式

    由比较运算符连接起来的式子,就叫做比较表达式.

3. 比较表达式的结果的类型

1). 比较表达式实际上描述的是一个条件:这个条件就只有两种结果,要么这个条件成立,要么这个条件不成立。

     2). 比较表达式的结果有两个,要么是成立的(真的),要么就是不成立(假的)

      做比较的结果只有真或者假

   3). C语言中,使用1int类型的 0或者1 来表示1个条件的是否成立         0 代表不成立 也就是说这个比较表达式的描述的条件是假的.

      1  代表成立 也就是说这个比较表达式的描述的条件是真的.

      因此,比较表达式的结果的类型是int类型的,在使用的时候应该用一个int类型的变量来保存比较表达式的结果。

        如果比较表达式描述的条件是真的,则结果为1.

        如果比较表达式描述的条件是假的,则结果为0

 4. 简单介绍比较运算符

   1). 比较运算符的作用:用来判断两个数据之间的大小关系。

    > 符号:如果左边的数据大于右边的数据,就表示条件成立,此时表达式的结果就为1,否则就为0

    >=符号:如果左边的数据大于或者等于右边的数据,就表示条件成立,那么表达式的结果就为1,否则就为0

   < 符号:如果左边的数据小于右边的数据,就表示条件成立,那么表达式的结果就为1,否则就为0

   <=符号:用来判断左边的数据是否小于或者等于右边的数据,比较的是左右两边的数据之间的大小关系。

    ==符号:用来判断左边的数据是否等于右边的数据。

   !=符号:用来判断左边的数据是否不等于右边的数据。

   比较表达式的结果的类型是int类型的.0代表不成立,1代表成立。

 5. 常见的一些比较表达式的写法:

   判断一个数是不是另外一个数的倍数。

   原理:求余数。如果余数为0,那么就是倍数,否则就不是。

   (a % b) == 0;

   如果成立,就说明ab的倍数。例如:

         #include <stdio.h>

         int amin()

         {

               int i = 5;//定义整型变量赋值为5

//i2后的值与0比较,相等就将1赋给num,否则将0赋给num

               int num = (i%2) == 0;

               printf(num = %d,num);

}

   比较运算符的两边可以都为一个表达式,比较的是两个表达式的结果。

 6. 运算符的优先级

   不同的运算符他们的优先级是不一样的,C语言中的运算符的优先级一共分为15级,先计算优先级比较高的,再计算优先级比较低的。

二、逻辑运算符与逻辑表达式

    1逻辑运算符:

        &&  ||  !

        作用:用来指定多个条件之间的关系,最主要的关系两种:并且或者

    2、逻辑表达式

        由逻辑运算符连接起来的式子,就叫做逻辑表达式。

        作用:用来判断多个条件在使用这个逻辑运算符的情况下是否成立。

        因为逻辑表达式是用来描述多个条件的,所以结果仍然是int类型的。0代表不成立,1代表成立。

   3、逻辑运算符:&&读作:逻辑与、并且。

       逻辑运算符是用来描述多个条件是否成立的,所以逻辑运算符一般情况下两边都是1个条件表达式。

       只有&&两边的条件都成立的情况下,整个逻辑表达式才成立.。只要有1边不成立那么整个逻辑表达式的结果就不成立。

       0 && 0   0

       1 && 0   0

       0 && 1   0

       1 && 1   1

       并且:表示的意思是只有两边都成立整个逻辑表达式的结果才成立,只要有1边不成立,则整个逻辑表达式的结果就不成立。

       计算机在计算逻辑与表达式的的结果的时候,先计算左边的条件表达式,再计算右边的条件表达式。如果左边的条件表达式计算出来是不成立的,那么这个时候就可以确定        整个逻辑表达式的结果为不成立,不会再去计算右边的条件表达式了。

    4、逻辑运算符:||读作逻辑或、或者

        它是用来指定多个条件之间的关系是或者的关系,只要有1个条件成立那么就成立。只有所有的条件都不满足的时候才补成立。

           0 || 0 0

           1|| 0  1

           0|| 1  1

           1|| 1  1

       注意:如果左边的条件表达式的结果是成立的,那么这个时候就可以确定整个逻辑表达式都是成立的.这个时候右边的表达式是不会去执行的了。

    5、逻辑运算符: ! 取反

        C语言中的真假性:0代表假,非0代表真。

        取反的意思就是如果这个数据表示真,那么取反以后就变为假(0),如果这个数据表示假(0),那么取反以后就变真(1)

        6、优先级

             !优先级最高,然后是&&,最后是 ||

          #include <stdio.h>

          int main(int argc, const char * argv[])

         {

//   请用户输入一个年份,写下判断输入的年份是否为闰年的表达式.然后将结果(0或者1)打印出来.

//   符合以下两个条件之一则为闰年

//    ->年份能够被400整除.

//    ->年份能够被4整除但是不能被100整除.

                           int year = 0;

                           printf("请输入年份:");

                           scanf("%d",&year);

                    //(年份能够被400整除)  || (年份能够被4整除但是不能被100整除)

                           int res = year % 400 == 0   || (year%4==0  && year%100 !=0);

                          printf("%d",res);

  return0;

    }

 

第二节 分支结构

一、if语句结构

      1if语句的作用:可以让一段代码只有在满足某个条件的时候才执行,否则不执行。

     2、语法:

          if(条件表达式)

          {

              执行代码;

          }

     3、执行步骤:

        先判断条件表达式是否成立,如果成立,就执行if大括弧之中的代码,执行完毕之后,再继续往下执行。如果不成立,就跳过if中的代码往下执行。

     4、什么时候要使用if结构:

        如果有一段代码不是非要执行,而是只有在满足某个条件的时候执行,那么这个时候就可以使用if结构。

        使用:

        if(要满足的条件)

        {

          满足条件要执行的语句;

        }

        5if结构的注意点

              1). if后面的小括弧中的表达式的类型,其实任意的类型都是可以的。

                    如果表达式的结果为它就认为不成立

                    如果表达式的结果不是它就认为成立

                   虽然if后的小括弧之中可以写任意类型的表达式,但是绝大多数情况下,这里我们都是写的一个条件表达式。

              2). 分号的问题

           a.分号在C语言中代表1条语句的结束,所以在每一条语句的后面都要加一个分号来表示这条语句结束了。

           printf("我爱你!"); printf("我爱你2!");printf("我爱你3!");

                b. 大括弧.代表一个代码块的开始和结束。

           if(1)

            {

           }

               不需要加分号,就算要加分号也应该加在结束大括弧的后面。

              3). 永真和用假的问题

                   if(0) 代表永假 if(0)代表用真.

二、if结构的缺点

1.if结构的缺点:

  当条件成立的时候,执行一段代码,当条件不成立的时候就执行另外的一段代码.

  可以用if结构来实现,但是效率有点低了,因为要判断多次条件。

 2. if-else结构

    作用:当条件成立的时候执行一段代码,当这个条件不成立的时候,执行另外一段代码,并且条件只判断一次。

    语法:

           if(条件表达式)

           {

              执行代码;

           }

           else

           {

               执行代码;

           }

      执行步骤:

          先判断if后的条件表达式的结果。如果条件成立,就执行if块中的代码,执行完毕之后,跳出整个if-else结构继续往下执行。如果条件不成立的就执行else中的代码,其中             的代码执行完毕之后再继续往下执行。

      什么时候要使用if-else结构:

         如果有两段代码,一段在某个条件成立的时候执行,一段在条件不成立的时候执行,就可以使用if-else结构。     

                  if(条件表达式)

                 {

                          条件成立执行的代码;

                  }

                  else

                  {

                         条件不成立的时候的执行代码

                  }

 3. if-else的注意问题

    ifelse是一个整体,ifelse中间不能插入别的代码。

    ifelse中的代码绝对不可能同时执行,因为条件判断的结果只有两个。

    也不会都不执行,要执行并且只会执行其中的一个。


0 0