运算符就是完成操作的一系列符号,它主要包括算术运算符、赋值运算符、关系运算符、逻辑运算符、条件运算、位操作运算符和字符串运算符。

表达式就是运算符和操作数的组合,如a*b+1-c。表达式主要包括算术表达式、赋值表达式、条件表达式以及布尔表达式等。

算术运算符与表达式

C#提供的运算符有五种:“+”加法运算符、“-”减法运算符、“*”乘法运算符、“/”除法运算符、“%”模运算符。算术运算符的优先级按照先乘除后加减的顺序进行运算。

赋值运算符与表达式

赋值就是给一个变量赋予一个新的值。在C#中赋值运算符有:=、+=、-=、*、/=、%=、&=、|=、>>=、<<=、^=。C#中允许变量进行连续赋值,如a=b=c。赋值运算符的结合性为自右至左结合,所以a=b=c等价于a=(b=c)。

关系运算符与表达式

关系运算符实际上是一种“判断”符号,其结果为“真(true)”或“假(false)”,所以关系表达式总是以布尔值为返回值。

逻辑运算符与表达式

C#包括三种逻辑运算符:“与(&&)”,“或(||)”,“非(!)”。其中,“!”运算符为单目运算符,也就是说它只有一个操作数。它们的操作数为布尔值或布尔值的表达式,操作结果为布尔值“true”或“false”。

位运算符

位运算符可以分为移位运算符和逻辑位运算符。计算机中的任何信息都是以二进制形式存储的,位操作符就是对数据按照二进制进行运算的操作符。C#中的操作符包括“>>”、“<<”、“^”、“&”、“|”、“~”。

自增与自减运算符

自增、自减运算符为单目运算符,且结合性为“自右至左”,它们的作用是使变量值增1或减1。如:

- -i,++i(在使用i之前,先使i的值减(加)1)

i- -,i++(在使用i之后,先使i的值减(加)1)

其它运算符

条件运算符

条件运算符可以给基于条件的变量赋值,它要求有三个操作对象,称为三目匀速符。语法:变量名=(条件)?值1:值2。条件运算符的结合性为“自右至左”,它的执行顺序为,如果条件为真,那么条件表达式取值为a,否则取值为b。

逗号运算符

逗号表达式一般形式为:表达式1,表达式2

逗号表达式的执行顺序为:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。例如,表达式“1+2,3+4”,该逗号表达式的值为7。

C#程序设计基础——运算符与表达式的更多相关文章

  1. Java程序设计基础笔记 • 【第3章 运算符与表达式】

    全部章节   >>>> 本章目录 3.1 运算符(一) 3.1.1 赋值运算符 3.1.2 算数运算符 3.1.3 复合运算符 3.1.4 实践练习(一) 3.1.5 实践练习 ...

  2. day03运算符、表达式、自增自减、三目运算符、程序结构、用户输入

    复习 1.java的输出语句 1)System.out.println(); 2)System.out.print(); 2.注释 1)单行注释 // 2)多行注释 /* .... */ 3.变量 1 ...

  3. C语言---程序的一般形式、数据类型、常量变量、运算符、表达式、格式化输入输出

    1. 程序的一般形式 (1)注释 ① 分类:单行注释( // ): 注释一行.多行注释( /**/ ): 在这个区间内,都属于多行注释,可以换行. ② 作用:提示代码的作用,提示思路   不写注释的后 ...

  4. Linux C 程序 字符串运算符-表达式(TWO)

    1.字符串常量 双引号"" :eg:"china"   ,字符串在存储的时候会以一个\0为结束标志.2.符号常量  ,给常量取一个名字. #include< ...

  5. Oracle数据库之PL/SQL程序设计基础

    PL/SQL程序设计基础 一.PL/SQL块结构 前边我们已经介绍了PL/SQL块的结构,再来回顾一下: DECLARE /* * 声明部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ ...

  6. C语言程序设计基础知识点概括

    C语言程序设计基础知识点概括 C语言程序设计基础知识点1.函数是C语言的基本构成单位.main函数是C语言程序的唯一入口.2.C语言程序开发过程. 编译过程:将以.c或.cpp结尾的源程序文件经过编译 ...

  7. Java程序设计基础作业目录(作业笔记)

    持续更新中............. Java程序设计基础笔记 • [目录] 我的大学笔记>>> 第1章 初识Java>>> 1.1.4 学生成绩等级流程图练习 1 ...

  8. Java程序设计基础笔记 • 【目录】

    持续更新中- 我的大学笔记>>> 章节 内容 实践练习 Java程序设计基础作业目录(作业笔记) 第1章 Java程序设计基础笔记 • [第1章 初识Java] 第2章 Java程序 ...

  9. [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

    [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...

随机推荐

  1. [RxJS] Utility operator: do

    We just saw map which is a transformation operator. There are a couple of categories of operators, s ...

  2. QStandardItemModel角色控制及QTreeView加入不同的右键菜单

    1.概述 QTreeView最长用的一个功能就是作为导航栏,像vs里的项目结构树,word的文档结构图,资源管理器的文档结构,等等都是利用树形结构组织的,在前面已经讲述了Qt中使用标准化项目模型QSt ...

  3. spring mvc DispatcherServlet详解之三---request通过ModelAndView中获取View实例的过程

    整个spring mvc的架构如下图所示: 上篇文件讲解了DispatcherServlet第二步:通过request从Controller获取ModelAndView.现在来讲解第三步:reques ...

  4. j2ee安全介绍--转

    一.简介 现在越来越多的企业应用构建在j2ee平台上,这得益于j2ee为企业应用的开发提供了良好的框架和服务的支持.j2ee为企业应用提供了多方面的服务(Security.Transaction.Na ...

  5. 从高德 SDK 学习 Android 动态加载资源

    前不久跑去折腾高德 SDK 中的 HUD 功能,相信用过该功能的用户都知道 HUD 界面上的导航转向图标是动态变化的.从高德官方导航 API 文档中 AMapNaviGuide 类的描述可知,导航转向 ...

  6. codevs 3119 高精度练习之大整数开根 (各种高精+压位)

    /* codevs 3119 高精度练习之大整数开根 (各种高精+压位) 二分答案 然后高精判重 打了一个多小时..... 最后还超时了...压位就好了 测试点#1.in 结果:AC 内存使用量: 2 ...

  7. JS实现一键复制功能

    var copyClick = function (d) { var Url2 = $(d).parent().parent().find("#copy_value"); Url2 ...

  8. 如何消除inline-block产生的元素间空隙

    前端初学者可能都会碰到这个问题:有时候排版需要,会把一些块状元素的display属性设置为inline-block,如 <!-- HTML代码 --> <div class=&quo ...

  9. Openblas编译Android NDK库的步骤

    1.配置Android NDK编译工具.以下下载地址,直接放到浏览器中下载,不需要VPNlinux 32 bithttp://dl.google.com/android/ndk/android-ndk ...

  10. ORACLE多表关联UPDATE 语句

    转载至:http://blog.itpub.net/29378313/viewspace-1064069/ 为了方便起见,建立了以下简单模型,和构造了部分测试数据:在某个业务受理子系统BSS中, SQ ...