当前位置: 首页 > 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.xdnf.cn/news/1193041.html

相关文章:

  • 【Android】相对布局应用-登录界面
  • 2025.7.26字节掀桌子了,把coze开源了!!!
  • window下MySQL安装(三)卸载mysql
  • Fast_Lio 修改激光雷达话题
  • VLAN的划分(基于华为eNSP)
  • MySQL 8.0 OCP 1Z0-908 题目解析(37)
  • 尝试几道算法题,提升python编程思维
  • Linux内核设计与实现 - 课程大纲
  • LeetCode 1074:元素和为目标值的子矩阵数量
  • 使用Spring Boot创建Web项目
  • 学习嵌入式的第三十二天-数据结构-(2025.7.24)IO多路复用
  • 开发者说|RoboTransfer:几何一致视频世界模型,突破机器人操作泛化边界
  • 1. Qt多线程开发
  • SpringMVC——建立连接
  • OpenFeign-远程调用
  • 计算机中的数据表示
  • Windows Server系统安装JDK,一直卡在“应用程序正在为首次使用作准备,请稍候”
  • Java程序员学从0学AI(六)
  • 框架式3D打印机结构设计cad【9张】三维图+设计说明书
  • openmv特征点检测
  • 如何使用Anaconda(miniconda)和Pycharm
  • Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频语义理解与智能检索进阶(365)
  • x86汇编语言入门基础(三)汇编指令篇5 串操作
  • Windows11下和Vmware中的Ubuntu22.04设置samba服务遇到的一个问题- valid users和guest设置冲突
  • 零基础学习性能测试第三章:jmeter构建性能业务场景
  • java网络请求工具类HttpUtils
  • 智慧水库管理系统中标签工厂的建立方案
  • HTTP 协议的基本格式和 fiddler 的用法
  • PHP语法高级篇(六):面向对象编程
  • 可调谐激光器原理与设计 【DFB 与 DBR 激光器剖析】