c#基础03(运算符)

发布于:2025-05-23 ⋅ 阅读:(13) ⋅ 点赞:(0)

C#运算符

运算符

C#运算符分类:

  • 算数运算符
  • 关系运算符
  • 逻辑运算符
  • 复合赋值运算符
  • 位运算符
  • 其他运算符

运算符优先级(由高到低)

类别 运算符 结合性
后缀 () [] -> . ++ - - 从左到右
一元 + - ! ~ ++ - - (type)* & sizeof 从右到左
乘除 * / % 从左到右
加减 + - 从左到右
移位 << >> 从左到右
关系 < <= > >= 从左到右
相等 == != 从左到右
位与 AND & 从左到右
位异或 XOR ^ 从左到右
位或 OR | 从左到右
逻辑与 AND && 从左到右

算数运算符

算数运算符分为一元运算符和二元运算符

  • 一元:++、–

  • 二元:*、/、%、+、-,=

=赋值运算符

+加运算符

-运算符

*乘运算符

/除法运算符

%求余运算符

++自增运算符

–自减运算符

关系运算符

运算 描述 实例
== 检查两个操作数的值是否相等,如果相等则条件为真。 (A == B) 不为真。
!= 检查两个操作数的值是否相等,如果不相等则条件为真。 (A != B) 为真。
> 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (A > B) 不为真。
< 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 (A < B) 为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 (A >= B) 不为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为 (A <= B) 为真。

逻辑运算符

A为布尔值true,B为布尔值false

运算符 描述 实例
&& 称为逻辑与运算符。如果两个操作数都非零,则条件为真。 (A && B) 为假。
|| 称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 (A || B) 为真。
! 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑为否 !(A && B) 为真

示例:

using System;

namespace OperatorsApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            bool a = true;
            bool b = true;

            if (a && b)
            {
                Console.WriteLine("Line 1 - 条件为真");
            }
            if (a || b)
            {
                Console.WriteLine("Line 2 - 条件为真");
            }
            /* 改变 a 和 b 的值 */
            a = false;
            b = true;
            if (a && b)
            {
                Console.WriteLine("Line 3 - 条件为真");
            }
            else
            {
                Console.WriteLine("Line 3 - 条件不为真");
            }
            if (!(a && b))
            {
                Console.WriteLine("Line 4 - 条件为真");
            }
            Console.ReadLine();
        }
    }
}

结果:

Line 1 - 条件为真
Line 2 - 条件为真
Line 3 - 条件不为真
Line 4 - 条件为真

十进制与二进制相互转换

除二取余法

十进制数除2得商取余法:对十进制进行除法运算十进制除以2可以得到一个商和余数;再用得到的商除以2又得到一个商和余数以此内推,直达最后一次除以2,商为0或1停止

二进制转十进制

方法:要从右到左用二进制的每个数去乘以2的相应次方(次方从0开始),再将其每个数进行相加。

位运算符

A的值为60,B的值为13

运算符 描述 实例
& (位与)有0即为0 (A & B) 将得到 12,即为 0000 1100
| (位或)有1即为1 (A | B)将得到61,即为0011 1101
^ (位异或)全0 或 全1 才为0 (A ^ B) 将得到 49,即为 0011 0001
~ (位取反)按位取反运算符是一元运算符,具有"翻转"位效果,即0变成1,1变成0,包括符号位。 (~A ) 将得到 -61,即为 11000011,一个有符号二进制数的补码形式。
<< 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 A << 2 将得到 240,即为 11110000
>> 二进制右移运算符。左操作数的值向右移动右操 A >> 2 将得到 15,即为 0000 1111

Console类控制台

表示控制台应用程序的标准输入流、输出流和错误流。此类不能被继承。

常用属性

Title标题

示例:

Console.Title = "星期二";
Console.WriteLine("Hello World!");
c ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d17c7ab732474856b2d5a2d3bd127763.png) ForegroundColor **字体颜色**

设置控制台字体颜色

示例:

Console.BackgroundColor=ConsoleColor.DarkCyan;
Console.ForegroundColor=ConsoleColor.DarkGreen;
Console.Write("你好!");
c ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/65537bebfc904f09bb935d562ee67149.png) BackgroundColor **背景色**

设置控制台的背景颜色

示例:

    static void Main(string[] args)
    {
        Console.BackgroundColor = ConsoleColor.DarkCyan;
        Console.Title = "星期二";
        Console.WriteLine("Hello World!");
        
        Console.ForegroundColor = ConsoleColor.DarkGreen;
        Console.Write("你好!");
        
        Console.Write("ok!\n");
        Console.WriteLine("\a今天是星期二你应该去上班");
        int year =  Console.Read();
        if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
        {
            Console.WriteLine("今年是闰年");
        }
        else
        {
            Console.WriteLine("今年不是闰年");
        }
        

    }
}
c ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7b7475b2bf484f57994fa6c6228498d5.png) ### 常用方法
方法 描述
Write 向控制台输出内容后不换行
WriteLine 向控制台输出内容后换行
Read 从控制台上读取一个字符
ReadLine 从控制台上读取一行字符

转义字符

作用

消除紧随其后的字符的原有含义,不同于字符原有的意义,用一些普通字符的组合来代替一些特殊字符,由于其组合改变了原来字符表示的含义,故称“转义”字符。

  • \n换行
  • \r回车
  • \t制表符
  • \f换页符
  • \b退格
  • \a响铃

网站公告

今日签到

点亮在社区的每一天
去签到