四、C#—变量,表达式,运算符(2)
🌻🌻 目录
- 一、表达式
- 1.1 什么是表达式
- 1.2 表达式的基本组成
- 二、运算符
- 2.1 算术运算符
- 2.1.1 使用 / 运算符时的注意事项
- 2.1.2 使用%运算符时的注意事项
- 2.2 赋值运算符
- 2.2.1 简单赋值运算符
- 2.2.2 复合赋值运算符
- 2.3 关系运算符
- 2.4 逻辑运算符
- 2.4.1 逻辑运算符的使用场合
- 2.4.2 逻辑运算符的规则
- 2.4.3 && 与 & 、|| 与 | 的区别
- 2.4.4 逻辑运算符的使用
- 2.5 位运算符
- 2.5.1 位运算符示例
- 2.5.2 移位运算符
- 2.6 其它特殊运算符
- 2.6.1 条件运算符
- 2.6.1.1 条件运算符的基本使用
- 2.6.1.2 条件运算符的嵌套使用
- 2.6.2 逗号运算符
- 2.6.3 is 运算符
- 2.7 运算符的优先级与结合性
- 2.7.1 运算符的优先级
- 2.7.2 运算符的结合性
- 2.7.3 () 的特殊使用
- 2.7.4 运算符优先级问题
一、表达式

1.1 什么是表达式

1.2 表达式的基本组成

二、运算符
2.1 算术运算符


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace demo
{class Program{static void Main(string[] args){int C = 89;int cShap = 90;int sql = 60;Console.WriteLine("cShap课和sql课的分数之差为"+(cShap-sql));Console.WriteLine("三门课的平均分"+((C+cShap+sql)/3));Console.ReadLine();}}
}
2.1.1 使用 / 运算符时的注意事项


2.1.2 使用%运算符时的注意事项


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace demo
{class Program{static void Main(string[] args){double i = -6.5;int j = -2;double a = i % j;Console.WriteLine(a);Console.ReadLine();}}
}
2.2 赋值运算符

2.2.1 简单赋值运算符
简单赋值运算符示例


2.2.2 复合赋值运算符


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp1
{class Program{static void Main(string[] args){int age = 25;Console.WriteLine("小明今年的年龄是" + age);Console.WriteLine("小明再过5年的年龄是" + (age += 5));Console.ReadLine();}}
}
复合赋值运算符的优势

复合赋值运算符的劣势



2.3 关系运算符

示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp3
{class Program{static void Main(string[] args){int num1 = 4, num2 = 7, num3 = 7;Console.WriteLine("num1等于num2:" + (num1 == num2));Console.WriteLine("num1不等于num2:" + (num1!= num2));Console.WriteLine("num1大于num2:" + (num1 > num2));Console.WriteLine("num1小于num2:" + (num1 < num2));Console.WriteLine("num1大于等于num2:" + (num1>= num2));Console.WriteLine("num1小于等于num2:" + (num1 <= num2));Console.ReadLine();}}
}
如何同时使用多个关系运算符


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp3
{class Program{static void Main(string[] args){int num1 = 4, num2 = 7, num3 = 7;Console.WriteLine("num1等于num2:" + (num1 == num2));Console.WriteLine("num1大于num2大于num3:"+(num1 > num2 && num2 > num3));Console.ReadLine();}}
}
2.4 逻辑运算符
2.4.1 逻辑运算符的使用场合

逻辑运算符

2.4.2 逻辑运算符的规则

2.4.3 && 与 & 、|| 与 | 的区别
&&当第一个为真时,会判断第二是否为真,当第一个为假时,不会判断第二个是否再为真假;
&当第一个为真时,会判断第二个为真,当第一个为假时,也会判断第二个是否为真假。
||当第一个为真时,会判断第二是否为真,当第一个为假时,不会判断第二个是否再为真假;
|当第一个为真时,会判断第二个为真,当第一个为假时,也会判断第二个是否为真假。

2.4.4 逻辑运算符的使用



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp4
{class Program{static void Main(string[] args){Console.WriteLine("请输入用户名:");String name = Console.ReadLine();Console.WriteLine("请输入密码:");String pwd = Console.ReadLine();if ("mr" == name && "mrsoft" == pwd) {Console.WriteLine("登录成功");}else{Console.WriteLine("登录失败");}Console.ReadLine();}}
}
2.5 位运算符

2.5.1 位运算符示例



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp5
{class Program{static void Main(string[] args){Console.WriteLine("请输入密码:");int pwd = Convert.ToInt32(Console.ReadLine());Console.WriteLine("请输入密钥:");int key = Convert.ToInt32(Console.ReadLine());int pwdkey = pwd ^ key;Console.WriteLine("加密的密码为:"+pwdkey);Console.ReadLine();}}
}
2.5.2 移位运算符
移位运算符之左移位运算

移位运算符之左移位运算


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp5
{class Program{static void Main(string[] args){int a = 368;Console.WriteLine("左移运算2位为:" + (a << 2));Console.WriteLine("右移运算2位为:"+(a >> 2));Console.ReadLine();}}
}
2.6 其它特殊运算符
2.6.1 条件运算符
2.6.1.1 条件运算符的基本使用


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp5
{class Program{static void Main(string[] args){int a = 368;string result = a > 300 ? "是真的" : "假的";Console.WriteLine(result);Console.ReadLine();}}
}
2.6.1.2 条件运算符的嵌套使用

使用条件运算符的注意事项

2.6.2 逗号运算符

2.6.3 is 运算符


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp5
{class Program{static void Main(string[] args){int a = 368;bool result = a is object;Console.WriteLine(result);Console.ReadLine();}}
}
2.7 运算符的优先级与结合性
2.7.1 运算符的优先级

2.7.2 运算符的结合性

2.7.3 () 的特殊使用


示例

2.7.4 运算符优先级问题

相关文章:
四、C#—变量,表达式,运算符(2)
🌻🌻 目录 一、表达式1.1 什么是表达式1.2 表达式的基本组成 二、运算符2.1 算术运算符2.1.1 使用 / 运算符时的注意事项2.1.2 使用%运算符时的注意事项 2.2 赋值运算符2.2.1 简单赋值运算符2.2.2 复合赋值运算符 2.3 关系运算符2.4 逻辑运算符2.4.1 逻辑…...
【WSN】基于蚁群算法的WSN路由协议(最短路径)消耗节点能量研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
JVM的内存分配及垃圾回收
内存分配 在了解Java的内存管理前,需要知道JVM中的内存分配。 栈 存储局部变量。在方法的定义中或在方法中声明的变量为局部变量;栈内存中的数据在该方法结束(返回或抛出异常或方法体运行到最后)时自动释放栈中存放的数据结构为…...
Python实现查询一个文件中的pdf文件中的关键字
要求,查询一个文件中的pdf文件中的关键字,输出关键字所在PDF文件的文件名及对应的页数。 import os import PyPDF2def search_pdf_files(folder_path, keywords):# 初始化结果字典,以关键字为键,值为包含关键字的页面和文件名列表…...
【计算机网络笔记一】网络体系结构
IP和路由器概念 两台主机如何通信呢? 首先,主机的每个网卡都有一个全球唯一地址,MAC 地址,如 00:10:5A:70:33:61 查看 MAC 地址: windows: ipconfig / alllinux:ifconfig 或者 ip addr 同一个网络的多…...
硕士应聘大专老师
招聘信息 当地人社局、学校(官方) 公众号(推荐): 辅导员招聘 厦门人才就业信息平台 高校人才网V 公告出完没多久就要考试面试,提前联系当地院校,问是否招人。 校招南方某些学校会直接去招老师。…...
Gram矩阵
Gram矩阵如何计算 Gram 矩阵是由一组向量的内积构成的矩阵。如果你有一组向量 v 1 , v 2 , … , v n v_1, v_2, \ldots, v_n v1,v2,…,vn,Gram 矩阵 G G G 的元素 G i j G_{ij} Gij 就是向量 v i v_i vi 和向量 v j v_j vj 的内积。数学上&#x…...
【数据结构】七大排序算法详解
目录 ♫什么是排序 ♪排序的概念 ♪排序的稳定性 ♪排序的分类 ♪常见的排序算法 ♫直接插入排序 ♪基本思想 ♪算法实现 ♪算法稳定性 ♪时间复杂度 ♪空间复杂度 ♫希尔排序 ♪基本思想 ♪算法实现 ♪算法稳定性 ♪时间复杂度 ♪空间复杂度 ♫直接选择排序 ♪基本思想 ♪算法…...
OpenCV之VideoCapture
VideoCaptrue类对视频进行读取操作以及调用摄像头。 头文件: #include <opencv2/video.hpp> 主要函数如下: 构造函数 C: VideoCapture::VideoCapture(); C: VideoCapture::VideoCapture(const string& filename); C: VideoCapture::Video…...
ESP32微控制器与open62541库: 详细指南实现OPC UA通信协议_C语言实例
1. 引言 在现代工业自动化和物联网应用中,通信协议起着至关重要的作用。OPC UA(开放平台通信统一架构)是一个开放的、跨平台的通信协议,被广泛应用于工业4.0和物联网项目中。本文将详细介绍如何在ESP32微控制器上使用C语言和open…...
怎样快速打开github.com
访问这个网站很慢是因为有DNS污染,被一些别有用心的人搞了鬼了, 可以使用火狐浏览器开启火狐浏览器的远程dns解析就可以了.我试了一下好像单独这个办法不一定有用,要结合修改hosts文件方法,双重保障 好像就可以了...
【C#】.Net基础语法二
目录 一、字符串(String) 【1.1】字符串创建和使用 【1.2】字符串其他方法 【1.3】字符串格式化的扩展方法 【1.4】字符串空值和空对象比较 【1.5】字符串中的转移字符 【1.6】大写的String和小写的string 【1.7】StringBuilder类的重要性 二、数组(Array) 【2.1】声…...
C++之this指针总结(二百二十)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...
C++——如何正确的使用STL中的vector?
什么是vector? 在STL(标准模板库)中,vector是一种动态数组容器,可根据需要自动增长或缩小。它可以存储任意类型的元素,并且支持快速的随机访问。 vector是表示可变大小数组的序列容器vector采用的是连续的…...
【C语言】模拟实现内存函数
本篇文章目录 相关文章1. 模拟 memcpy 内存拷贝2. 模拟 memmove 内存移动 相关文章 【C语言】数据在内存中是以什么顺序存储的?【C语言】整数在内存中如何存储?又是如何进行计算使用的?【C语言】利用void*进行泛型编程【C语言】4.指针类型部…...
Jenkins学习笔记3
gitgithubjenkins: 架构图: 说明:jenkins知道github有更新了,就pull进行构建build,编译、自动化测试。然后部署到应用服务器。 maven java的项目构建工具。 在开发者电脑上创建空密码密钥对。 [rootgit-developer ~…...
基于单片机火灾报警器仿真设计
一、系统方案 1、本设计采用51单片机作为主控器。 2、DS18B20采集温度值送到液晶1602显示。 3、MQ2采集烟雾值,送到液晶1602显示。 4、按键设置温度报警值,大于报警值,声光报警。 二、硬件设计 原理图如下: 三、单片机软件设计…...
阿里测开面试大全(一)附答案完整版
万字长文,建议收藏 1 什么是POM,为什么要使用它? POM是Page Object Model的简称,它是一种设计思想,而不是框架。大概的意思是,把一个一个页面,当做一个对象,页面的元素和元素之间操…...
STL-常用容器
string容器 string构造函数 string本质:类 string和char*区别: char* 是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。 特点: string类内部封装了很多成员方法 …...
【owt】关闭microk8s 等无关服务
打算部署下owt,发现之前跑了microk8s ,一直运行:操作指令 // 1. 启动 microk8s.start// 2. 关闭 microk8s.stop// 3. kubectl 操作 // --- 查看 cluster microk8s.kubectl cluster-info// --- 查看 nodes microk8s.kubectl get nodes// --- 查看 pods microk8s.kubectl get …...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...
