C# 运算符与程序结构

 运算符

 

1. 算术运算符: ++   --

   

2. 比较运算符:

 

  >   <   ==   !=   >=   <=

 

  0) 比较运算符的运算结果:是bool类型的结果        (true | false)

     true:表示的结果是真的,成立的

     false:表示的结果是假的,不成立的

     一般,定义一个 布尔类型的变量来接收比较

     结果。

     如:

     int a = 10 ;

     int b = 20 ;

     //先计算出20==20的结果

     //结果赋值给 result2变量

     bool result2 =  20 == 20 ;  //true  True

    

     bool  result1 =  a > b ; //false  False

    

 

 

 

  1) >=  表示:大于或者等于(满足一个即可)

     <=  表示:小于或者等于(满足一个即可)

  2)==  属于比较运算符

         两个数的值是否是相等的,如果相等,

         证明确实是相等,否则 ,不是相等的

  3)!=  比较两个数不相等,如果不相等,

         结果是真的,如果两个数,结果是假的。 

   

  4)== 使用场景:

   1. 判断一个数是否偶数(奇数):

      这个数和2取余,如果余数为0,证明是偶数  

       x % 2 == 0

   2. 判断是否是奇数: x % 2 != 0
   3. 判断一个数 n 是否是另外一个数 m 的倍数

      即:n % m == 0

      如: 一个数是否是8的倍数 8   16  24  40 

          n % 8 == 0

   4. 判断一个数 n 是否能被 18 整除 

          n % 18 == 0

 

  练习:

  从键盘输入一个数,判断这个数是否大于10,

  是否大于等于10

  是否是偶数。

 

  //1.准备一个数

  //2.判断

  //3.结果

 

 3. 赋值运算符

----------------------------------------------

 

    赋值运算,一个数字

    常用赋值运算符:

    = : 将等号右侧的内容赋值给等号左侧

   

    +=

    -=

    *=

    /=

    %=

 

   复合运算符

 如:

   int  i =  1 ; //定义变量i,值为1

 

   //完整形式: i =  i + 10

   //先计算 i+10 的结果,再将赋值给变量i

   // i 的值就变成了11

 

   i += 10 ;  //11

 

   练习:

   定义一个变量,变量名为 i ,值为10

   然后计算

   1)  i += 10 ;  的结果

   2)   i -= 10 ;  的结果

   3)   i *= 10 ;  的结果  

   4)   i /= 10 ;  的结果  

   5)   i %= 10 ;  的结果  

  

   强调:+=  -=  *=  /=等赋值运算符执行完之后,

         它们所操作的变量的值会改变.

  

  -----------------------------------------

  4. 逻辑运算符 (重要)

    

   1)布尔值: true  | false

    

   2)常用的逻辑运算符:

   

    && : 逻辑与 “并且”    

    || : 逻辑或  “或”

    ! : 逻辑非 “取反”

 

   3) 逻辑运算符用下载连接多个比较表达式

       运算结果一般是放在一个bool类型的变量中

   4) 逻辑运算符中的逻辑与和逻辑或存在

       一种短路运算

 

   5) 关于短路运算:

 

   逻辑与连接多个式子时,会从左往右依次执行

   每一个式子,在这过程中,只要有一个为假,

   后面的其它式子根本不会执行,整个式子:false

   只有所有式子都被执行,且都为真时,

   整个式子才为真。

  

   逻辑或连接多个式子时,也是依次执行每一个

   式子,在这过程中,只要有一个为真,

   后面的式子不会再执行,整个式将返回:true

   也就是说,面其它的式子即使全部为假,

   整个式子依然还是真的。

 

    如:

    int  i = 1;

    int  j = 2;

   

   // bool b1 =  i + j >= 3  ||  ++j == 2  ;

 

  //  bool b2 =  i + j >= 3  &&  j++ == 2 ;

 

  中午练习:

 

  1.详见:“逻辑运算符练习”.jpg

  2.键盘输入一个数,判断这个数是否是

    16的倍数。

 

   

  练习:

  闰年判断。

 

  366天

  365天

 

  1. 如果年份能被400整除,闰年

 

  2. 如果年份能被4整除,但是同时不能被100整除,闰年

            

             条件1

 

        ||

            

             条件2 ( && )

-------------------------------------------------

下午

5.三元运算符(条件运算符)

 

  基本语法:

 

  条件 ? 结果处1  : 结果处2   ; 

 

 1) 整个条件运算符返回时,返回值类型应该如何

     确定 ?是float ? double? string? bool?

 

     返回值要么是第1处结果,要么第2处结果,

     所以返回值是什么类型是根据

     第1处内容的类型和第2处内容的类型

  2)三元运算符,其实是 if 语句的一种简化形式

     表述的含义是:如果满足条件,执行一种操作;

     如果不满足条件,执行另外一种操作。

  

 

  练习:

     闰年判断

     使用条件运算符

     如果是闰年,返回 "闰年" 两个字,

     如果不是闰年,返回 "平年" 两个字。

 

     核心内容:

 

      bool result =

           ( year % 400 == 0 )

                         ||

           ( year % 4 == 0 && year % 100 != 0 );

    

     string r =  result ? "闰年" :"平年"  ;

 

 

   练习:

   键盘输入一个数,如果这个数是奇数,

   返回这个数加上100 的结果

   如果这个数不是奇数,返回这个数减去100的结果。

  

   要求:使用三元运算符来完成。

   奇数的判断条件:和2取余数不等于0

 

 

 

  位运算符 : 二进制

  

 

  总结:

  算术运算符:

      ++  --  ==  +  -  *  /   % 

     

  1.++或--:

    放在变量的前面时,要先进行+1,然后再

    执行其它运算;

    int i = 1 ;

    Console.WriteLine( ++i );

   

    放在变量的后面时,要进行其它的运行,然后再

    为变量加1.

    int i = 1 ;

    Console.WriteLine( i++ );

 

    ++或--放在已经赋值变量的前面或后面

 

   2. == 与  =  区别?

    1) == 是比较运算符,是布尔值

        用来比较两个的值是否是相等的

        相等返回true,否则返回false

    2) =  是基础的赋值运算符,

      

       int   number =  10  ;

       将等号右侧的10赋值给等号左侧的变量 number

   

  3.  % 与 ==

    判断奇偶性,整除,是倍数...

   

      m % n == 0 : 整除,m是n的倍数

 

   4. == 与 !=

 

   5. 短路运算  &&  ||

  

   6. 三元运算符

       

      其实是分支if结构简单化

     

--------------------------------------------------

  数据类型

  变量

  运算符

  表达式

 

  程序结构:

  顺序结构
  分支结构
  循环结构

 

1.分支结构

  

  1. if
  2. switch

  -----------------------------------------------

 if 分支结构

  

  1.形式一: if 语句

  

   1)基本语法:

  

   if ( 条件 )

   {

       代码块 ; //1条,多条,0条

   }

   .....

 

   2)执行流程:

   如果条件成立,就执行大括号中的代码块;

   条件不成立,不执行代码块的内容,执行的是

   结尾大括号下面的其它语句 。

 

  

   练习:

   定义一个数字,判断这个数是否是奇数

   是奇数打印“是奇数”,否则"不是奇数"

   要求:if 语句来完成。

  

   提示:奇数的判断:和2取余数不等于0

-------------------------------------------------

 

 2. 形式二:if...else 语句

 

    1) 基本语法:

 

    if ( 条件 )

    {

        代码块1 ; //多条,1条,0条

    }

    else

    {

        代码块2 ;

    }

   

  2)如果条件成立,会 执行if代码块的内容;

  执行完if代码块内容,else的内容一定不会执行;

  如果条件不成立,会执行else代码块的内容,

  而if的就不再执行。

 

  所以:if..else 表示的是互斥关系,

  执行if的内容,一定不会再执行else的内容

 

  3)条件 ? 第1处结果  : 第2处结果 ;

 

  4)如果if或else的代码块中只有一条语句时,

     这对大括号是可以省略的.

     但是省略的前提是:只有一语句时可以省略

     但是不推荐省略。

 

 

  练习:

  改写奇数的判断。

  创建 IfElseDemo1.cs

  判断一个数是否是奇数,是“是奇数”,

  否则打印“不是奇数”

  要求:使用if..else语句实现。

 

 

  补充内容:

 

如何断点调试?

      如果想查看程序的具体执行流程(或每一步的执行

      结果,就可以断点调试来实现)

 

  step1. 在某一行的左侧(行号左侧)添加一个断点

         鼠标单击,出现红色的点证明添加成功

 

  step2. 调试 菜单 ---- 开始调试

 

  step3. 按 F11 会逐行执行

 

 

 3. if 形式三:

   

   1)

     if (  条件1  )

     {

         代码块1 ;

 

     }else  if( 条件2 )

     {

         代码块2 ;

 

     }else  if ( 条件3 )

     {

         代码块3 ;

     }

      ......

 

     else

     {

          代码块n;

     }

 

  2) if...else if...else 表示对同一内容

     进行的多重判断。

  3)先判断是否满足条件1,如果满足,执行条件1所对应

     代码块,执行完后,不会再执行其它的else if

     如果条件1不成立 ,继续往下查看是否满足条件2,       如果条件2满足,执行条件2对应的代码块,不满足

     继续判断其它.......

     一般最后会加一个else,表示所有的条件都不满足时

     才执行else 。

 

   练习:

   定义一个人的年龄,根据年龄,判断所属年龄段:

   

   幼年:0-6

   少年:7-16

   青年:17-27

   中年:28-60

   老年:60-150

 

   不合法数字()

 

 ------------------------------------------------

 

 4. if 嵌套

    基本语法:

   

    if ( 条件1 )

    {       

        if ( 条件2 )

        {

           

        }

    }

 

   如果明天是周末,就去玩;否则就去上班;

 

   如果是周末并且天气晴朗,就去室外玩;

   如果是周末但是天气不晴朗,就去室内玩。

  

   if ( 明天是周末  )

   {    //就去玩

 

        if( 天气晴朗 )

        {

            室外玩

        }

        else //是周末但天气不晴朗

        {

            室内玩

        }

   }

   else  //不是周末

   {

        //就去上班

   }

  

  

  

  总结:

  if

  if..else

  if..else if..else

 

 

 

 

 

 

 

 

 

 

  

 

 

 

 

 

 

 

 

 

   同一条件多重判断

  

   分数

   邮费 

 

   星座

  

day03作业   周四

---------------------------------------------------------------

 1.自由设计编码题

 

   学习了分支语句,请考虑一下:我们生活中哪些情景,现象,

   可以使用if语句来实现.

   1) if...else 结构的举出一到两种案例. (尽量做)

 

      如:如果每月工资达到2万,就有钱去谈女朋友了

         如果月薪达不到2万,就得努力工作了

 

   2) if...else if ....else if ..else 形式的请举出一到两种案例

      如: 星座性别分析器     

      

   3) if嵌套形式的请举出一到两种案例 (选做)

      如果明天是周末,就去玩

      否则就去上班;

      如果明天是周末,而且天气晴朗,就去室外玩;

      如果明天是周末,但是天气不晴朗,就在室内玩

 

   然后,针对以上您列举的生活案例,能否写出具体的实现代码.

   不限内容,不限类型,不限形式.请主动编写代码实现.

 

 

 2.写出下列程序的运行结果

  1)

  int a = 1, b = 10;

  int c1 = a++;

  int c2 = ++b;

  Console.WriteLine(

      "a=" + a + ", b=" + b +

      ", c1=" + c1 + ", c2=" + c2 );

 

  2)

  int i = 100, j = 200;

  bool b1 = (i > j) && (i++ > 100);

  Console.WriteLine(b1);

  Console.WriteLine(i);

 

  3) 

   int num1 =  10 ;

   int num2 =  ++num1 ;

   Console.WriteLine( num1 );

   Console.WriteLine( num2 );

 

   int num3 = num1+=100  ;

   Console.WriteLine( num1 );

   Console.WriteLine( num3 );

 

   int num4 = num1+=num2 ;

   Console.WriteLine( num1 );

   Console.WriteLine( num4 );

 

  4)

  class DemoTest2

  {

      static  void  Main( string[] args )

      {

           int x = 5;

           int y = 5;

           int z = 5;

           x++;

           Console.WriteLine(x);

           Console.Write(y++);

           Console.WriteLine(++z);

      }

  }

 

3.编程题.

 

    通过控制台接收两个整数,

    使用不同的方法找出两个数中的最大值。

    提示:可使用条件运算符 或 Math.Max()

          或 if..else语句

 

posted @ 2019-09-10 19:36  Winward_King  阅读(392)  评论(0编辑  收藏  举报