首页 > 编程语言 >C# 运算符(Operators)

C# 运算符(Operators)

时间:2023-03-07 12:58:06浏览次数:38  
标签:操作数 Console C# Operators 运算符 int WriteLine 赋值

C# 运算符(Operators)

运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。本文主要介绍C# 中的运算符(算术运算符、关系运算符、赋值运算符、逻辑运算符、位运算符)的使用,以及相关示例代码。

1、C# 运算符

运算符用于对变量和值执行操作。

在下面的示例中,我们使用 + 运算符可将两个值加在一起:

例如,

int x = 100 + 50;

尽管+运算符通常用于将两个值加在一起,例如,在上面的示例中,但是它也可以用于将变量和值或变量和另一个变量加在一起:

例如,

int sum1 = 100 + 50;        // 150 (100 + 50)
int sum2 = sum1 + 250;      // 400 (150 + 250)
int sum3 = sum2 + sum2;     // 800 (400 + 400)

C# 将运算符分为以下几组:

  • 算术运算符
  • 赋值运算符
  • 关系运算符
  • 逻辑运算符
  • 按位运算符

2、算术运算符

算术运算符用于执行常见的数学运算。算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。

 

运算符

描述

实例

+

把两个操作数相加

a + b 将得到 30

-

从第一个操作数中减去第二个操作数

a - b 将得到 -10

*

把两个操作数相乘

a * b 将得到 200

/

分子除以分母

b / a 将得到 2

%

取模运算符,整除后的余数

b % a 将得到 0

++

自增运算符,整数值增加 1

a++ 将得到 11

--

自减运算符,整数值减少 1

a-- 将得到 9

 

例如,

int a = 10;
int b = 20;
int c = 25;
int d = 25;
Console.WriteLine("a + b = " + (a + b) );
Console.WriteLine("a - b = " + (a - b) );
Console.WriteLine("a * b = " + (a * b) );
Console.WriteLine("b / a = " + (b / a) );
Console.WriteLine("b % a = " + (b % a) );
Console.WriteLine("c % a = " + (c % a) );
Console.WriteLine("a++   = " +  (a++) );
Console.WriteLine("a--   = " +  (a--) );
// d++和++d的区别 
Console.WriteLine("d++   = " +  (d++) );
Console.WriteLine("++d   = " +  (++d) );

注意:前缀自增自减法(++d,--d)是 先进行自增或者自减运算,再进行表达式运算。后缀自增自减法(a++,a--)是先进行表达式运算,再进行自增或者自减运算。

3、C# 赋值操作符

赋值运算符用于为变量赋值。

例如,在下面的示例中,我们使赋值运算符(=)将值10分配给名为x:

int x = 10;

附加分配运算符(+ =)为变量添加值:

例如:

int x = 10;
x += 5;

所有赋值运算符的列表:

 

运算符

描述

实例

=

简单的赋值运算符,

把右边操作数的值赋给左边操作数

c = a + b 将把 a + b 的值赋给 c

+=

加且赋值运算符,

把右边操作数加上左边操作数的结果赋值给左边操作数

c += a 相当于 c = c + a

-=

减且赋值运算符,

把左边操作数减去右边操作数的结果赋值给左边操作数

c -= a 相当于 c = c - a

*=

乘且赋值运算符,

把右边操作数乘以左边操作数的结果赋值给左边操作数

c *= a 相当于 c = c * a

/=

除且赋值运算符,

把左边操作数除以右边操作数的结果赋值给左边操作数

c /= a 相当于 c = c / a

%=

求模且赋值运算符,

求两个操作数的模赋值给左边操作数

c %= a 相当于 c = c % a

<<=

左移且赋值运算符

c <<= 2 等同于 c = c << 2

>>=

右移且赋值运算符

c >>= 2 等同于 c = c >> 2

&=

按位与且赋值运算符

c &= 2 等同于 c = c & 2

^=

按位异或且赋值运算符

c ^= 2 等同于 c = c ^ 2

|=

按位或且赋值运算符

c |= 2 等同于 c = c | 2

 

例如,

int a = 10;
int b = 20;
int c = 0;
c = a + b;
Console.WriteLine("c = a + b = " + c );
c += a ;
Console.WriteLine("c += a = " + c );
c -= a ;
Console.WriteLine("c -= a = " + c );
c *= a ;
Console.WriteLine("c *= a = " + c );
a = 10;
c = 15;
c /= a ;
Console.WriteLine("c /= a = " + c );
a = 10;
c = 15;
c %= a ;
Console.WriteLine("c %= a = " + c );
c <<= 2 ;
Console.WriteLine("c <<= 2 = " + c );
c >>= 2 ;
Console.WriteLine("c >>= 2 = " + c );
c >>= 2 ;
Console.WriteLine("c >>= 2 = " + c );
c &= a ;
Console.WriteLine("c &= a = " + c );
c ^= a ;
Console.WriteLine("c ^= a = " + c );
c |= a ;
Console.WriteLine("c |= a = " + c );

4、C# 关系运算符

关系运算符用于比较两个值:

 

运算符

描述

实例

==

检查两个操作数的值是否相等,如果相等则条件为真。

(a == b) 不为真。

!=

检查两个操作数的值是否相等,如果不相等则条件为真。

(a != b) 为真。

检查左操作数的值是否大于右操作数的值,如果是则条件为真。

(a > b) 不为真。

检查左操作数的值是否小于右操作数的值,如果是则条件为真。

(a < b) 为真。

>=

检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。

(a >= b) 不为真。

<=

检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。

(a <= b) 为真。

 

例如,

int a = 10;
int b = 20;
Console.WriteLine("a == b = " + (a == b) );
Console.WriteLine("a != b = " + (a != b) );
Console.WriteLine("a > b = " + (a > b) );
Console.WriteLine("a < b = " + (a < b) );
Console.WriteLine("b >= a = " + (b >= a) );
Console.WriteLine("b <= a = " + (b <= a) );

5、C# 逻辑运算符

逻辑运算符用于确定变量或值之间的逻辑:

 

运算符

描述

实例

&&

称为逻辑与运算符。如果两个操作数都非零,则条件为真。

(a && b) 为假。

||

称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。

(a || b) 为真。

!

称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。

!(a && b) 为真。

 

例如,

bool a = true;
bool b = false;
Console.WriteLine("a && b = " + (a&&b));
Console.WriteLine("a || b = " + (a||b) );
Console.WriteLine("!(a && b) = " + !(a && b));

短路逻辑运算符

当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。

int a = 4;//定义一个变量;
bool b = (a<3)&&(a++<10);
Console.WriteLine("b = "+b);
Console.WriteLine("a = "+a);

6、C# 位运算符

C# 定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。

 

p

q

p & q

p | q

p ^ q

0

0

0

0

0

0

1

0

1

1

1

1

1

1

0

1

0

0

1

1

 

位运算符作用在所有的位上,并且按位运算。例如,a = 30b = 19;它们的二进制格式表示将如下:

a = 0011 0000
b = 0001 1001
-----------------
a&b = 0001 0000
a | b = 0011 1001
a ^ b = 0010 1001
~a= 1100 1111

 

运算符

描述

实例

&

如果同时存在于两个操作数中,

二进制 and 运算符复制一位到结果中。

(a & b) 将得到 12,即为 0000 1100

|

如果存在于任一操作数中,

二进制 or 运算符复制一位到结果中。

(a | b) 将得到 61,即为 0011 1101

^

如果存在于其中一个操作数

中但不同时存在于两个操作数中,

二进制异或运算符复制一位到结果中。

(a ^ b) 将得到 49,即为 0011 0001

~

按位取反运算符是一元运算符,

具有"翻转"位效果,即0变成1,

1变成0,包括符号位。

(~a ) 将得到 -61,即为 1100 0011,

一个有符号二进制数的补码形式。

<< 

二进制左移运算符。

左操作数的值向左移动右操作数指定的位数。

a << 2 将得到 240,即为 1111 0000

>> 

二进制右移运算符。

左操作数的值向右移动右操作数指定的位数。

a >> 2 将得到 15,即为 0000 1111

 

例如,

int a = 60; /* 60 = 0011 1100 */ 
int b = 13; /* 13 = 0000 1101 */
int c = 0;
c = a & b;       /* 12 = 0000 1100 */
Console.WriteLine("a & b = " + c );
c = a | b;       /* 61 = 0011 1101 */
Console.WriteLine("a | b = " + c );
c = a ^ b;       /* 49 = 0011 0001 */
Console.WriteLine("a ^ b = " + c );
c = ~a;          /*-61 = 1100 0011 */
Console.WriteLine("~a = " + c );
c = a << 2;     /* 240 = 1111 0000 */
Console.WriteLine("a << 2 = " + c );
c = a >> 2;     /* 15 = 1111 */
Console.WriteLine("a >> 2  = " + c );

标签:操作数,Console,C#,Operators,运算符,int,WriteLine,赋值
From: https://www.cnblogs.com/GaoUpUp/p/17187664.html

相关文章

  • 自己用的Code::Blocks IDE设置记录(不时更新)
    Code::Blocks2023.01全中文汉化-优化版,下载地址见小龙Dev-C++作者的这篇blog:https://blog.csdn.net/yandex/article/details/128970278 中文乱码:  编辑器......
  • 无锡哲讯浅谈半导体测试企业测试硬件TCC系统
    半导体产品,又被称为集成电路或者IC,英文名是SemiconductorDevice。在半导体测试中常用DUT(DeviceUnderTest)来表示需要检测的IC单元。半导体测试的主要目的,是利用测试设......
  • C# 字符串(String)的使用
    C#字符串(String)的使用本文主要介绍C#中字符串(String)的基础使用操作和相关方法使用(为变量分配字符串、字符串长度、字符串方法、、字符串连接、字符串格式化......
  • 06、C++指针常量与常量指针
    constint*a;//指向常量int的指针int*consta;//指向int的常量指针,指针是常量voidf1(int*consta){//指针是常量std::cout<<*a<<std::endl;}voidf......
  • C# 布尔值(Boolean)
    C#布尔值(Boolean)C#中布尔值(Booleans)表示以下两个值之一:true或false。本文主要介绍布尔值(Boolean)的使用,bool与Boolean的区别,以及相关的示例代码。 1......
  • Use CMake notes
    WhayneedtheCMake?如果只是构建一个只有一个main.cpp的小型项目,那么确实不需要CMake,直接GCC、G++编译,或者写个build.sh脚本即可,不需要把简单的问题搞复杂化。$g++......
  • 07、clion中文乱码
    1、将全局编码和项目编码一级文件编码改为【UTF-8】2、按住快捷键:【Ctrl+Alt+Shift+/】,显示一下对话框3、取消勾选:【run.processes.with.pty】......
  • 08、VsCode配置gcc
    1.1下载gcchttps://github.com/niXman/mingw-builds-binaries/releases1.2配置环境变量bin目录略1.3vscode安装c/c++插件调试运行会生成c_cpp_properties.json和ta......
  • C# 获取用户输入和输出信息
    C#获取用户输入和输出信息本文主要介绍C#中使用Console类获取用户输入和输出信息的方法,以及相关示例代码。 1、Console类C# Console 类主要用于控制台......
  • C# 条件语句(If else)
    C#条件语句(Ifelse)C#if条件语句是通过一条或多条语句的执行结果(true或者false)来决定执行的代码块。本文主要介绍一下C#中条件语句(Ifelse)的使用。 ......