C#系列四《C#运算符与表达式》

     了解完C#数据类型与变量之后,我们还会遇到变量之间的运算,如计算两个数的和等等运算。那么C#中都有那些常用的运算符呢(本篇只介绍基本常用运算符,其他运算符在后续知识点中用到时会介绍)?那么。。。往下看吧!

      一.  算数运算符

            1.基本算数运算符

            说到算数运算符,我们首先就应该可以想到我们数学中一些常用的运算符例如:加 减 乘 除 求余!

            那么在C# 这些运算符都是如何表示的呢?            

运算符名称

C#运算符号

加法

+

减法

-

乘法

*

除法

/

求余

%

            知道C#基本运算符的表示之后我们该如何去使用呢?那么我们来看段代码来看下什么是表达式。

 1      int  a  =   10 // 定义一个整形变量a 值为10
 2      int  b  =   20 // 定义一个整形变量b 值为20
 3     
 4      // 定义一个变量c 值为变量 a+b
 5      int  c  =  a  +  b;  // 一组运算符所表述的代码段简称运算符
 6    
 7      // 定义一个变量c1 值为变量 a1-b1
 8     int  c1  =  a  -  b;
 9    
10     // 定义一个变量c2 值为变量 a2*b2
11     int  c2  =  a  *  b;
12   
13      // 定义一个变量c3 值为变量 a3/b3
14     int  c3  =  a  /  b;
15   
16     // 定义一个变量c4 值为变量 a4%b4
17     int  c4  =  a  %  b;
18 
19     Console.WriteLine( " a + b = {0} " ,c); 
20     Console.WriteLine( " a - b = {0} " , c1);
21     Console.WriteLine( " a * b = {0} " , c2);
22     Console.WriteLine( " a / b = {0} " , c3);
23     Console.WriteLine( " a % b = {0} " , c4);

 

             上段代码我们主要阐述了两个知识点,一个是基本运算符加法的使用以及什么是表达式。那么我们来分析一下。

             我们来看第五行代码来看C#中运用基本算数运算符非常简单,跟我们数学上计算加法一样,首先看(a + b)等同于(10 + 20)计算完成后将计算结果赋给等号左边的变量,这样就完成了一个基本的算数加法运算,那么进行一个加法运算的代码描述的代码组合,我们就可以看做是C#中的表达式。

             分析完一个那么后面的大家一定都可以推出来了吧?那么我们来看看运行的结果吧

           

            结果是否在你的预料之中呢?

            2.自增运算符与自减运算符

               了解完基本运算符之后我们在来看一种很有用的运算符:自增运算付与自减运算符!

运算符名称

C#运算符号

自增加

++

自增减

--

             那么自增符号与自减运算符是什么意思呢? 废话不多说,看代码:

1               int  a  =   1 ;
2              a ++ //  a = a + 1
3               int  b  =  a;
4              a -- //  a = a - 1
5               int  c  =  a;
6 
7              Console.WriteLine( " a++ : {0} " , b);
8              Console.WriteLine( " a-- : {0} " , c);

           好的那么我们在分析一下:

          首先来看第二行a++;自增符号++等于本身加1, 那么a = 1 ,执行a++后(a 自身加1),a自身的值为2

          那么在来看第四行a--;自荐符号--等于本身减1,那么a此时已经等于2,执行a--后(a自身减1),a自身的值为1

          分析完之后还是让结果来验证答案吧!

         

      二.  赋值运算符

            看完基本的算数运算符我们在来看一下什么是赋值运算符,其实在上边的例子中我们已经使用了赋值运算符,那什么是赋值运算符,对了就是为变量赋值的符号,也就是我们上边例子中的等号

          那么赋值运算符就只有等号一个吗?答案错,C#还为我们提供了一些方便我们简化表达式的复制运算符,如下表:

运算符名称

C#运算符号

等号赋值

=

加等号赋值

+=

减等号赋值

-=

乘等号赋值

*=

求余等号赋值

%=

              那么这些等号都代表什么意思呢?其实很简答,来看一段代码跟上边例子坐下比较我们会发现,这些赋值运算符就是帮我们简化了表达式而已。

1              int  a  =   10 ;
2              a  =  a  +   10 // 将a 的值赋予 a(10) + 10 
3               // 运算完成后a = 20
4              Console.WriteLine( "  a=a+10; a={0} " ,a);
5 
6              a  =   10 // 在将a还原回10
7              a  +=   10 // 等同于 a = a + 10; 将a 的值赋予 a(10) + 10 
8               // 运算完成后a还是等于 20
9              Console.WriteLine( "  a+= 10; a={0} " , a);

            还是来分析一下:

            1到4行大家一定都可以看明白,那么直接看地7行,你想对了,其实 a+=10 等同与 a=a+10 只是这个运算符简化了表达式。 那么还是用事实来证明吧。

 

      .  运算符优先级以及括号的运用

       说完运算符与表达我们来看看运算符之间的优先级,什么是优先级?  其实优先级就是当我们表达式中出现多个运算符时,应该先执行哪个运算符,就好比数学中的先乘除后加减,那么C#中也不例外也是先乘除后加减。关于更多的优先级我不打算在这里介绍,因为我们完全可以使用括号来提示表达式的优先级()。对运算符优先级感兴趣可以参考C#相关书籍。那么还是用一个例子来描述下C#中加减乘除的优先级吧!

 

1             int  a  =   10   *   2   -   10   /   2   +   3 ; // 那么根据先乘除后加减的原则我们得到的结果应该是 18
2              Console.WriteLine( " 10 * 2 - 10 / 2 + 3 结果为:{0} " , a);

     那么还是来分析一下,根据先乘除后加减的法则我们来看:

     首先计算10 * 2  结果是20

     在计算 10 / 2 结果是5

     那么这个时候 表达式编程 20 - 5 + 3 ,这里要注意 加和减属于同一级别运算符所以哪个在前面先运算

     这个时候执行 20 - 5 结果是 15

     在执行 15 + 3 结果为18 继续用事实来证明我的分析。

    

     那么好,这个时候我要是想让10 * 3 在让2 + 3 在去让10除怎么办? 不知道?代码告诉你:     

1  int  a  =   10   *   3   -   10   /  ( 2   +   3 ); // 这个时候()中的运算符优先级最高所以先执行括号中的表达式
2              Console.WriteLine( " 10 * 3 - 10 / (2 + 3) 结果为:{0} " , a);

      继续来分析一下,根据括号优先级最高的法则我们来看:

      首先执行(2 + 3) 结果是 5

      在执行 10 * 3  结果为 30

      此时表达式为 30 - 10 / 5 除号优先级高 先运算除法 表达式为 30 - 2

      那么结果为28  看真相吧!

       提示:了解运算符优先级也很重要,不过有了括号大部分情况下我们可以自己控制优先级,所以灵活合理的运用括号可以省去运算符优先级带来的复杂性。

       好吧,今天就介绍到这里,下一篇我会介绍 C#《程序的分支》。

转载于:https://www.cnblogs.com/doubleliang/archive/2011/06/14/2081062.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值