当前位置: 首页 > news >正文

C#编程基础:运算符与结构详解

目录

一.关系运算符

常见关系运算符

二.逻辑运算符

常见逻辑运算符

1. 逻辑与(&& 或 and)

2. 逻辑或(|| 或 or)

3. 逻辑非(! 或 not)

运算符优先级

三.if语句

1.c#程序的三大结构

1.顺序结构

2.选择结构

(1)if语句的第一种表达方式

(2)if语句的第二种表达方式(也可认为是条件运算符)

3.循环结构

四.Switch语句

1.语法规范

2.break关键字

3.注意事项

一.关系运算符

在编程中,关系运算符用于比较两个值之间的关系,并返回一个布尔值true 或 false)。它们常用于条件判断(如 if 语句)或循环控制(如 while 循环)中。以下是常见的关系运算符及其示例:

常见关系运算符

运算符名称描述示例(假设 a=5b=3
==等于判断两个值是否相等a == b → false
!=不等于判断两个值是否不相等a != b → true
>大于判断左侧值是否大于右侧a > b → true
<小于判断左侧值是否小于右侧a < b → false
>=大于等于判断左侧值是否≥右侧a >= b → true
<=小于等于判断左侧值是否≤右侧a <= b → false

二.逻辑运算符

在编程中,逻辑运算符用于组合或修改布尔表达式,返回一个布尔值(true 或 false)。它们常用于条件判断(如 if 语句)或循环控制中,帮助构建更复杂的逻辑判断。以下是常见的逻辑运算符及其示例:

常见逻辑运算符

1. 逻辑与(&& 或 and
  • 作用:当且仅当两个操作数都为 true 时,结果为 true
  • 示例(假设 a=trueb=false):
    bool result = a && b; // false
    
  • 短路特性:如果左侧表达式为 false,右侧表达式不会执行(提高效率)。
  • 普通的&运算,无论第一个条件是真是假,都会继续判断第二个条件
2. 逻辑或(|| 或 or
  • 作用:只要两个操作数中有一个为 true,结果为 true
  • 示例(假设 a=trueb=false):
    bool result = a || b; // true
    
  • 短路特性:如果左侧表达式为 true,右侧表达式不会执行。
3. 逻辑非(! 或 not
  • 作用:反转操作数的布尔值(取反)。
  • 示例(假设 a=true):
    bool result = !a; // false
    

运算符优先级

逻辑运算符的优先级通常为:! > && > ||。例如:

bool result = !a && b || c; 
// 等价于:((!a) && b) || c

建议使用括号明确分组,避免歧义。

三.if语句

1.c#程序的三大结构

1.顺序结构

顺序结构是程序最基本的结构,代码会按照书写顺序,从上到下依次执行。 

using System;class Program
{static void Main(){Console.WriteLine("第一步");Console.WriteLine("第二步");Console.WriteLine("第三步");}
}

在这个示例中,程序会依次输出 “第一步”“第二步”“第三步”。

2.选择结构

选择结构能让程序依据条件来决定执行哪一段代码。常见的选择结构包括 if-else 语句和 switch 语句。 

(1)if语句的第一种表达方式

if(条件表达式)

{

        语句1;

}

当表达式为真时候,执行大括号中的所有语句(语句1),否则,跳过大括号中的所有语句,继续执行大括号后面的语句 

(2)if语句的第二种表达方式(也可认为是条件运算符)

if(条件表达式)

{

        语句1;

}

else

{

        语句2;

}

当表达式为真的时候,执行语句1,否则执行语句2 

(3)if语句的第三种形式(级联型)

if(条件表达式1)

{

        语句1;

}

eise if(条件表达式2)

{

        语句2;

}

else

{

        语句3;

}

如果条件表达式1 为真的时候,执行语句1,如果条件语句1为假,条件二为真的时候,执行语句2

如果条件语句1和条件语句2都为假的时候执行语句3

using System;class Program
{static void Main(){int score = 85;if (score >= 90){Console.WriteLine("优秀");}else if (score >= 80){Console.WriteLine("良好");}else if (score >= 60){Console.WriteLine("及格");}else{Console.WriteLine("不及格");}}
}

此示例会根据分数输出对应的等级评价。

3.循环结构

循环结构可使程序重复执行某段代码,直到满足特定条件。C# 中有多种循环结构,如 for 循环、while 循环、do-while 循环等。 

using System;class Program
{static void Main(){// for 循环示例for (int i = 1; i <= 5; i++){Console.WriteLine("For 循环迭代: " + i);}// while 循环示例int j = 1;while (j <= 5){Console.WriteLine("While 循环迭代: " + j);j++;}// do-while 循环示例int k = 1;do{Console.WriteLine("Do-While 循环迭代: " + k);k++;} while (k <= 5);}
}

四.Switch语句

1.语法规范

switch(变量)

{

        case 值1:{语句1;break;}

        case 值2:{语句2;break;}

        default:{语句n + 1;break;}

}

执行过程:

根据表达式的值,去大括号中查找与该值相匹配的分支

如果匹配成功,就立刻执行分支后对应的语句,直到遇到break关键字,就跳出Switch继续往下执行

如果没有匹配的结果,就执行default后面的语句,直到遇到break关键字,结束Switch语句 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace homework
{internal class Program{static void Main(string[] args){Console.WriteLine("请输入一个1-4之间的数字");//读取数字int num = int.Parse(Console.ReadLine());switch (num){case 1:Console.WriteLine("春");break;case 2:Console.WriteLine("夏");break;case 3:Console.WriteLine("秋");break;case 4:Console.WriteLine("冬");break;default:Console.WriteLine("输入错误");break;}Console.WriteLine("程序结束");}}
}

2.break关键字

用在某个case,然后执行witch以外的语句

3.注意事项

整个default语句都可以舍掉,default语句只能有一个

case后边的标签只能是常量或者常量表达式,不能使用变量作为case的标签

case后面只要有操作,最后一定要break

多个case可以运行一个语句块

http://www.lryc.cn/news/600314.html

相关文章:

  • iOS 26,双版本更新来了
  • TCP/IP 网络编程面试题及解答
  • Flutter开发 BUG 记录 (持续更新)
  • VTK交互——ClientData
  • 【CTF-Web】dirsearch寻找download.php进行?path=flag.txt任意文件下载
  • C#与C++交互开发系列(二十四):WinForms 应用中嵌入C++ 原生窗体
  • Caffeine 缓存库的常用功能使用介绍
  • 【GaussDB】构建一个GaussDB的Docker镜像
  • 【CTF-WEB-SQL】SQL注入基本流程-错误注入(sql-labs的Less5)(updatexml)
  • 【GaussDB】如何从GaussDB发布包中提取出内核二进制文件
  • 【每天一个知识点】GAN(生成对抗网络,Generative Adversarial Network)
  • C++核心编程学习--对象特性--友元
  • ICMPv4报文类型详解表
  • GRE及MGRE应用综合实验
  • Spring AI 项目实战(二十):基于Spring Boot + AI + DeepSeek的智能环境监测与分析平台(附完整源码)
  • SpringMVC——请求
  • 常见代码八股
  • 0基础法考随手笔记 03(刑诉05 刑事证据与证明+06 强制措施)
  • Kafka MQ 消费者应用场景
  • 【web应用】基于Vue3和Spring Boot的课程管理前后端数据交互过程
  • DAY31 整数矩阵及其运算
  • 【C++】位运算符
  • 解锁反向海淘独立站:国内电商平台 API 接口全解析
  • LeetCode 1074:元素和为目标值的子矩阵数量
  • OGG同步Oracle到Kafka不停库,全量加增量
  • 【愚公系列】《MIoT.VC》003-构建基本仿真工作站(组件的属性、行为、视频展示)
  • Javaweb————什么是超文本传输协议?
  • HiggsAudio-V2: 融合语言与声音的下一代音频大模型
  • 详解力扣高频SQL50题之550. 游戏玩法分析 IV【中等】
  • 原理篇..