了解完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;

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);

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

C#系列四《C#运算符与表达式》相关推荐

  1. 鸡啄米:C++编程入门系列之五(运算符和表达式)

    转载自: http://www.jizhuomi.com/software/32.html 上一讲鸡啄米给大家讲了一些数据类型,这一讲主要讲解编程入门知识-运算符和表达式.运算符,顾名思义,就是用于计 ...

  2. Swift傻傻分不清楚系列(四)基本运算符 o_O!???

    本页包含内容: 术语 赋值运算符 算术运算符 组合赋值运算符 比较运算符 三目运算符 空合运算符 区间运算符 逻辑运算符 运算符是检查.改变.合并值的特殊符号或短语.例如,加号(+)将两个数相加(如  ...

  3. c语言中除法除以1000与1e3,北京航空航天大学C语言b第二讲(第三、四章)数据类型、运算符与表达式和最简单的C程序设计.ppt...

    <北京航空航天大学C语言b第二讲(第三.四章)数据类型.运算符与表达式和最简单的C程序设计.ppt>由会员分享,可在线阅读,更多相关<北京航空航天大学C语言b第二讲(第三.四章)数据 ...

  4. C语言系列:2、数据类型、运算符和表达式

    C语言系列:2.数据类型.运算符和表达式 文章目录 C语言系列:2.数据类型.运算符和表达式 1. 前言 2. 变量名 3. 数据类型和长度 3.1 基本数据类型 3.2 short和long限定符 ...

  5. IOT嵌入式物联网----运算符,表达式和语句

    系列文章目录 零 ---- 千里之行,始于足下 壹 ---- 嵌入式C语言编程 一.运算符.表达式和语句的概念         运算符是一种告诉编译器执行特定的数学或逻辑操作 的符号, C 语言内置了 ...

  6. sed修炼系列(四):sed中的疑难杂症

    sed系列文章: sed修炼系列(一):花拳绣腿之入门篇 sed修炼系列(二):武功心法(info sed翻译+注解) sed修炼系列(三):sed高级应用之实现窗口滑动技术 sed修炼系列(四):s ...

  7. 基本概念之运算符与表达式

    ♥注:未经博主同意,不得转载. 判断下面四个表达式是否正确,若正确,写出经过表达式运算后a的值. int a=4 ; ① a+={a++}; ② a+={++a}; ③ {a++}+=a; ④ {++ ...

  8. 黑马程序员C语言基础(第五天)运算符与表达式、程序流程结构、数组和字符串、函数

    https://www.bilibili.com/video/BV15W411K7k6?p=93&spm_id_from=pageDriver 黑马程序员C语言基础(第五天)运算符与表达式.程 ...

  9. C语言再学习 -- 运算符与表达式

    分三部分来讲 一.左值与右值 参看:左值与右值 首先我们需要理解左值和右值的定义: 左值指的是如果一个表达式可以引用到某一个对象,并且这个对象是一块内存空间且可以被检查和存储,那么这个表达式就可以做为 ...

  10. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】...

    什么是EL表达式? 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象! EL表达式主要用来读取数据,进行内容的 ...

最新文章

  1. doc python 颜色_Python wordcloud.ImageColorGenerator方法代码示例
  2. 第十九章 9标签类Label
  3. 无线持续攻击(wireless duration attack)
  4. 当 Flutter 遇见 Web,会有怎样的秘密?
  5. android实现自动抢红包,Android手机辅助功能实现自动抢微信红包功能
  6. WinSock API网络编程——TCP/IP协议详解
  7. PNG,GIF,JPG的区别及如何选
  8. python + pyqt5 UI和信号槽分离方法
  9. ☆【CodeForces - 764C】Timofey and a tree (思维题,树的性质)
  10. 解决jfinal-ext CsvRender 中文乱码
  11. TensorFlow基本使用方法
  12. __str__和__repr__
  13. linux db2v9.7卸载,db2 卸载和安装
  14. php 导出图片到excel,从PHP导出图片excel的方法
  15. 英语语法详解:名词修饰名词
  16. 管理学-“三个和尚”
  17. 该网页无法正常运作 目前无法处理此请求。 HTTP ERROR 500
  18. 24岁博士毕业、47岁当选院士的他,正式担任上海交通大学校长!
  19. 阿昌教你使用谷歌guava工具包---集合包
  20. [机器学习][1]--PLA算法

热门文章

  1. [转载]在instagram上面如何利用电脑来上传图片
  2. nth-of-type和nth-child
  3. GDI+ 学习记录(23): 输出文本
  4. 从 CentOS 5.5 中精简出属于自己的专属Linux(二)
  5. win7 优化后的问题
  6. Windows 2003 网络负载均衡的详细配置文档
  7. 在Linux中查看正在运行哪些process,杀掉一批名字相同的process
  8. Ubuntu安装teamviewer
  9. 企业平均每年遭遇9起有针对性攻击
  10. github创建maven项目过程