C#系统学习第四章——运算符

第一章 ASP.net C#基本语法(B篇 程序结构、运算符、运算优先级) 第一章 ASP.net C#基本语法(B篇 程序结构、运算符、运算优先级)在上一部分中我们做了一个简单的ASP.net的程序,但是简单中真的简约吗?VS2010的模板提供了那些东西呢?单位现在需要计算很多的数字。如何实现呢?豆豆做了一个计算公式。做的是“惊天地泣鬼神”啊!可是结果!算出来一个怪胎!这不郁闷着呢!本章目标:了解程序模板的结构,能够使用运算符,详细剖析和熟练掌握运算的优先级 阅读详情

前言:

        在 C# 编程的世界里,运算符就像是赋予代码 “生命活力” 的魔法棒,它们看似简单,却承载着各种复杂的运算逻辑,从基础的算术运算到精巧的位运算,每一种运算符都在程序的运行过程中发挥着不可或缺的作用。无论是处理数据、判断条件,还是实现复杂的算法,运算符都是我们必须熟练掌握的基础工具。今天,就让我们深入剖析 C# 中各类运算符的特性与使用技巧,揭开它们高效运算背后的神秘面纱。

4.1 算数运算符

注意:

        (1)两个整数相除,小数部分会被自动舍去。

        (2)多种类型运算,返回结果是数据类型大的。


4.2 自增、自减运算符

自增运算符:++

自减运算符:--

他们都是 单目运算符

前置运算:例如:++a,--a。其运算结果是自身修改后的值,再参与其他运算。

后置运算:例如:a++,a--。其运算结果是自身未修改的值。

注意:自增自减运算符只能作用于变量。


4.3 赋值运算符

        主要作用是用来为变量等赋值,是双目运算符。

1. 简单赋值运算符

        用 = 表示,功能是将右操作数所含的值赋值给左操作数。

2.复合赋值运算符


4.4 关系运算符(比较运算符)

        关系运算符是双目运算符,用于变量之间和其他类型的对象之间的比较,然后返回一个代表运算结果的布尔值。


4.5 逻辑运算符

        逻辑运算符是对真和假这两种布尔值进行运算,运算后的结果仍然是一个布尔值。

注意:除了 ! 是单目运算符,其他都是双目运算符。

注意:&和&&,|和||

使用&会判断两个表达式;而“&&”则是针对布尔类型的数据进行判断,当第一个表达式为false时,则不去判断第二个表达式直接输出结果,从而减少计算机判断的次数。通常将这种在逻辑表达式中从左端的表达式的值可推断出整个表达式的值的表达式成为 短路,&&为短路运算符。||同上。

4.6 位运算符

        位运算符的操作数类型是整数类型,可以是有符号的,也可以是无符号的。在实际使用时,需要先将要执行运算的数据转换为二进制,然后才能进行计算。

双目运算符:位与,位或,位疑惑运算符

单目运算符:取反

注意:整数类型数据在内存中以二进制的形式存在,左边最高位是符号位:1代表负数,负数用补码表示;0代表正数。

1.位与运算符 &

        运算法则:如果两个整数类型数据a,b对应为都是1,结果为1,否则为0.如果两个操作数的精度不同,则结果的精度与精度高的操作数相同,

2. 位或运算符  |

        运算法则:如果两个操作数对应为都是0,则结果位是0;否则为1。

3.位异或运算符 ^

        运算法则:当两个操作数的二进制表示相同(同时为0或同时为1)时,结果为0,否则为1.

4.取反运算 ~

        运算法则:将操作数对应二进制的1修改为0,0修改为1.


4.7 移位运算符

        左移运算符<<:用于将一个二进制操作数向左移动指定的位数,左边(高位段)溢出的位被丢弃,右边(低位段)的空位用0补充。左移运算符相当于乘以2的n次幂。

        右移运算符>>:用于将一个二进制操作数向右移动指定的位数。右边(低位段)溢出的位被丢弃;而在填充左边(高位段)的空位时,如果最高位是0(正数),左侧填入0;如果最高位1(负数),左侧填入1.右移运算相当于除以2的n次幂。

注意:
        (1)双目运算符

        (2)右操作数不可以是负数,并且要小于左操作数

        (3)由于运算符的运算速度很快,因此在程序中遇到表达式乘以或者除以2的n次幂的情况是,一般采用移位运算符来代替。


4.8 条件运算符

        条件运算符用 ?: 表示。是C#中唯一三目运算符。

表达式为: <表达式1>? <表达式2>: <表达式3>

条件运算符的结合性是从右向左运算。

4.9运算符优先级和结合性

优先级从高到低:

(1)自增,自减运算符

(2)算数运算符

(3)移位运算符

(4)关系运算符

(5)逻辑运算符

(6)条件运算符

(7)赋值运算符

结尾

        学习 C# 运算符的过程,就像解锁一个个编程世界的 “技能包”,每掌握一种运算符,都能让我们在编写代码时拥有更多的思路和更灵活的解决方案。这些运算符的知识不仅是我们编程能力的基石,更是我们迈向更复杂、更高级编程领域的 “敲门砖”。希望通过本文的分享,能帮助大家更好地理解和运用 C# 运算符。也期待大家在实际编程中不断实践、探索,挖掘运算符更多的应用场景,创造出更高效、更精彩的代码! 

C#学习笔记——运算符重载、接口篇 Unity3D数字孪生开发笔记(八)一、运算符重载1、可重载和不可重载运算符2、转换运算符二、接口1、is 和 as 运算符2、重载接口方法3、显示接口实现三、小结 一、运算符重载 重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的。 与其他函数一样,重载运算符有返回类型和参数列表。 语法: public  ~ static  ~ 返回值类型 ~ operator  ~ 一元运算符&nbs 阅读详情

相关推荐

C# 的算数运算符,关系运算符,逻辑运算符,位运算符,赋值运算符,其他运算符(学习心得 8)

内置数学/逻辑运算符分类: 算数运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 文章目录一、算数运算符二、关系运算符三、逻辑运算符四、位运算符五、赋值运算符六、其他运算符七、运算符优先级 一、算数运算符 C# 中支持的算数运算符列表: 运算符 描述 实例(A=1,B=2) + 把两个操作数相加 A + B 将得到 3 - 从第一个操作数中减去第二个操作数 A - B 将得到 -1 * 把两个操作数相乘 A * B 将得到 2 / 分子除以分母 B / A 将

AItrust的博客 856

单目运算符详解

单目操作符也就是只有一个操作数的操作符,在运算时优先级也是比较高的,下面就一起来看看单目运算符的具体用法吧!

m0_68190153的博客 4745

C# 运算符都在这里了!!!

C# 运算符都在这里了!!! ​ ——码农小峯 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C# 有丰富的内置运算符,分类如下: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 本教程将逐一讲解算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符及其他运算符。 1.1算术运算符: ——码农小峯 下表显示了 C# 支...

王大师企业官方博客 600

C#中运算符重载

理解:简写代码如下。

m0_48667560的博客 380

VS2010深入学习C#运算符教程-从入门到精通

C#(读作“C Sharp”)是一种由微软公司开发的现代、类型安全的面向对象编程语言。它是.NET框架的一部分,广泛应用于Windows平台的桌面应用、Web应用、Web服务和游戏开发等领域。C#语言以其强大、简洁和类型安全的特性,在开发社区中享有极高的声誉。Visual Studio 2010是C#开发的主流集成开发环境(IDE)。它提供了丰富的工具,如代码编辑器、调试器、图形界面设计器等,极大地提高了开发效率。

weixin_32925455的博客 898

新手也能玩转!用Panosim+MATLAB/Simulink搭建你的第一个智能驾驶仿真场景(保姆级图文)

本文为新手提供了使用Panosim和MATLAB/Simulink搭建智能驾驶仿真场景的详细教程。从环境准备、基础场景创建到仿真模型构建,一步步指导用户完成第一个智能驾驶仿真项目,帮助零基础用户快速上手并体验智能驾驶仿真的乐趣。

weixin_29090089的博客 179

C#之运算符与表达式

一、算数与关系运算符 1.二元运算符 操作数 运算符(+.-.*./.%) 操作数 2.一元运算符(单目运算符) 增1运算符:++ 减1运算符:-- 如果int a,b; a=8 b=++a 先a=a+1 后b=a 结果 a=9,b=9 b=a++ 先b=a,后a=a+1 结果b=8,a=9 3、关系运算符 操作数 关系运算符 操作数 关系表达式的计算结果=逻辑值(真或假),在C#语言中国,false表示假,true表示真 >大于 >=大于或等于 !=不等于 <小于

weixin_49251429的博客 766

把对讲门铃(控制底楼铁门)接入米家服务器

今天讲个跟SDR或者无人机无关的东西,技术含量不高,但是方便了我的生活。 现在家门有智能锁,汽车也可以远程解锁发动,NFC门禁也可以用某些手机复制,唯独楼下的铁门,必须用老式对讲门铃控制。 也就是说其它钥匙都可以不带,就剩这个钥匙还必须随身携带。 另外有时候人不在家,不能开楼下铁门,快递员也没法把东西送上楼。 ......

老邵的开源世界 6549

C#基础知识—运算符

1表达式是指由操作数和运算符组成的用于完成某种运算功能的语句 2.运算符按功能分为:赋值运算符、算数运算符、关系运算符和逻辑运算符,按操作个数分为:单目运算符,双目运算符和三目运算符。 单目运算符:只能连接一个操作数 如:++、-- 双目运算符:可以连接两个操作数:+、-、*、/ 等。 赋值运算符:“+”,“-”,“*”,“/” 关系运算符:>、=、 其中:“==”为相等关系,“!=”

lkdjfeifndsg的博客 465

手推反向传播+numpy实现

反向传播的重要性不必多说,手推也是必备基础,大厂面试要求用numpy实现一下BP也是经常的事。下面以一个简单的两层网络为例(简单到连bias都没有的那种),真·手推反向传播+numpy实现。 说明: input:输入 net_h:隐层 S(x):sigmoid简写 SD(x):sigmoid导数的简写 out_h:隐层经过sigmoid激活的输出 net_o:输出层 out_o:经过经过sigmoid激活的输出层,也就是最后的输出 target(简写t1、t2):Ground...

xian0710830114的专栏 1238

俄罗斯方块 C++控制台版

一、创建方块 wstring tetromino[7]; tetromino[0].append(L"..X...X...X...X."); // Tetronimos 4x4 tetromino[1].append(L"..X..XX...X....."); tetromino[2].append(L".....XX..XX....."); tetromino[3].append(L"..X..XX..X......"); tetromino...

一只大鸽子的博客 1622

【C#基础】C# 运算符总结

编程语言 C# 运算符的总结介绍。

好学若饥,谦卑若愚。 7912

YOLOv9分割训练自己数据和推理训练好模型,并教你使用Labelme工具标注数据(附YOLOv9分割模型结构图),全网最详细教程

YOLOv9 通过研究数据传输时的信息丢失问题,提出了可编程梯度信息(PGI)和通用高效层聚合网络(GELAN)架构,提高了参数利用率和模型性能。与 SOTA 方法相比,GELAN 仅使用传统卷积算子即可实现更好的参数利用率。PGI 适用于从轻型到大型的各种模型,使从头开始训练的模型能够获得更好的结果。YOLOv9 被评价为新的 SOTA 实时目标检测器。接下来本文手把手教你训练自己分割数据集和推理训练好的分割模型。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1491

【C#学习教程】运算符

大家在学习C#的过程中,运算符也是我们学习路上非常重要的存在,比如说运算的“+、-、*、/”,又比如逻辑判断的“|、&”等等,这些都组成了我们C#语言的运算符。

光酱的代码成长之路 916

Linux(31)Rockchip RK3568 Ubuntu22.04上部署 Docker: 问题与解决方案

本博客在总结这些问题及其解决方案,为遇到类似问题的兄弟提供参考,如果我后续有碰到其他Docker 问题也会在此更新补充。

我其实什么都不会 1645

基于DFT的滤波系列:加窗滤波的 Matlab 实现

在实际应用中,你可以尝试不同类型的窗函数(如汉宁窗、汉明窗等)以及不同的滤波参数来获得所需的滤波效果。此外,还可以进一步了解 DFT 和窗函数的原理,以及其他数字信号处理技术的应用。加窗滤波是一种常用的数字信号处理技术,它通过在频域上应用窗函数来改善信号的频谱特性。我们通过定义输入信号、应用窗函数、进行 DFT 和逆 DFT,实现了滤波过程,并通过绘图进行了可视化。在频域上进行加窗滤波的关键是将窗函数应用于 DFT 的结果。首先,我们需要定义一个输入信号,这里我们使用一个简单的正弦波作为示例。

m0_47037246的博客 462

C#学习(三)运算符

C#中支持的运算符有算术运算符,赋值运算符,关系运算符等。本节内容将详细介绍。

cuteey的博客 1294

【Bug已解决】Codex App returns 401 Missing bearer/basic authentication after login on multiple Windows la

原始报错:Codex App returns 401 Missing bearer/basic authentication after login on multiple Windows laptops场景:用户在 Windows 笔记本上登录应用成功了,但随后每个业务请求都返回 401,提示"Missing bearer/basic authentication"。登录态像是"假的"——明明登了,请求却没带任何认证信息。多台 Windows 设备都能复现。

一键难忘的博客 592

C#学习—集合与运算符

需要定义你的代码将存在于哪个命名空间中。

qq_63873127的博客 1000

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【C#基础】运算符

运算符用于执行程序代码运算,会针对一个以上操作数进行运算。是程序中的一个重要组成部分,目前为止,任何一门语言都会有其运算符。我们在学习C#之前,已经接触过VB了。VB中的运算符,大家现在是不是忘得差不多了呢?接下来这篇博客将比较一下VB和C#中运算符的异同点。 一、算数运算符

柠檬树 2779

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

C#学习之路-运算符

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。

小石潭记丶 624

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

C#学习之向量运算符重载

//未重载运算符+=,但编译通过;C#不允许重载运算符‘=’,但如果重载‘+’运算符,编译器会自动使用‘+’运算符的重载来执行‘+=’运算符的操作; //‘-=’、‘*=’、‘&=’和‘/=’等所有赋值运算都遵循此规则; 1、若重载了‘==’运算符,也必须重载‘!=’;否则会产生编译器错误 运算符重载示例(注意:左右运算符): 1 using ...

aaouc84448的专栏 598

读《C#入门经典》第四章

        c#也算是半路出家了,基础不是很好,这几天重新学习了一下《C#入门经典》,算是打基础啦。前三章已经看完了,今天开始看第四章。§1   C#简介§2    编写C#程序§3    变量和表达式§4    流程控制分支,循环§4.1    布尔逻辑布尔比较 关系运算符=, !=, , =bool isLessThan10;isLessThan10 = m

树欲静而风不止 1902

【C#语言】运算符重载

运算符重载作为 C# 中一项强大的功能,为我们的编程带来了诸多便利。它允许我们为自定义类型定义运算符的行为,使得自定义类型能够以更直观、自然的方式参与各种运算。通过运算符重载,我们可以显著提高代码的可读性,让代码的表达方式更加贴近数学和日常逻辑,降低理解成本;同时,它也增强了代码的一致性,使自定义类型的操作与内置类型保持相似的风格,提升了代码的整体质量。在实现运算符重载时,我们需要遵循特定的语法规则,包括使用public和static修饰符,以及正确定义返回类型和参数列表等。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1499

【C#】C#中的运算符和类

一.运算符 1.赋值运算符 2.算数运算符 3.关系运算符 4.逻辑运算符 5.位运算符 6.三元运算符 7.空合并运算符 8.其他运算符 二.类 1.普通类 2.静态类 3.抽象类 4.密封类 5.部分类 6.泛型类 7.嵌套类 8.记录类 9.接口

冰茶的博客 1203

C#中的各种运算符

6、= (赋值)、 += (加赋值)、-= (减赋值)、 *= (乘赋值)、 /= (除赋值)、 %= (取余赋值)、 &= (按位与赋值)、 |= (按位或赋值)、^= (按位异或赋值)、= (右移赋值)。-----------------------------------------第3篇结束-------------------------------------------*3、(大于)、=(大于等于)、==(相等)、!

weixin_41571357的博客 1123
上一篇: C#系统学习第三章——数据类型
下一篇: C#系统学习第五章——条件语句
Unity黑马王子
博客等级 码龄4年 1846粉丝 181原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值