C#基础语法(2)

本文详细介绍了C#中的变量和常量,包括定义、使用及注意事项。接着讲解了C#的运算符,如算术、关系、逻辑、位、赋值等,以及运算符的优先级。最后提到了流程控制语句的基础,如判断语句和循环语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、变量和常量

1、变量

       变量(Variable)是 C# 编程中不可缺失的内容,使用变量可以更容易地完成程序的编

写。

       变量可以理解为存放数据的容器,并且在将值存放到变量中时还要为变量指定数据类型。

       定义变量的语法如下:

       数据类型 变量名;

       数据类型 变量名 = 初始值;

       注意:

       对于未初始化的变量,其内容无法确定,所以无法进行直接输出显示,需要设置值之后再进

       行输出。

       举例如下:

 //定义一个变量,但未设置初始值 

 int value; 

 ​

 //定义一个变量,并设置初始值为5 

 int num = 5;

2、常量

常量也是用来存储数据的容器,在定义时都需要指明数据类型。

唯一的特点是:存放的值不允许改变。

常量需要使用关键字const进行修饰。

常量一般全部使用大写。

举例如下:

 //定义一个常量 

 const int CONST_VALUE = 5; 

 ​

 CONST_VALUE = 10; //语法错误,试图修改一个常量 

【实例1】分别求圆的面积和周长,并使用常量存放 π 的值,将 π 的值定义为3.14

 class Program

 {

     static void Main(string[] args)

    {

         const double PI = 3.14;

         int r = 3; //存放半径

         Console.WriteLine("圆的周长是:" + 2 * PI * r);

         Console.WriteLine("圆的面积是:" + PI * r * r);

    }

 }

执行上面代码,效果如下图。

二、运算符

C#语言包含6种类型的运算符:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符。

1、算数运算符

算术运算符算术运算符是最常用的一类运算符,包括加法、减法、乘法、除法等。

如下表所示:

运算符

说 明

+

对两个操作数做加法运算

-

对两个操作数做减法运算

*

对两个操作数做乘法运算

/

对两个操作数做除法运算

%

对两个操作数做取余运算

这里需要强调的是:

       1)当对两个字符串类型的值使用 + 运算符,代表的是两个字符串值的连接,例如

"123"+"456" 的结果为 "23456"

       2)当使用 / 运算符时也要注意操作数的数据类型,如果两个操作数的数据类型都为整数,那么结果相当于取整运算,不包括余数;而两个操作数中如果有一个操作数的数据类型为浮点数,那么结果则是正常的除法运算。

       3)当使用 % 运算符时,如果两个操作都为整数,那么结果相当于取余数。经常使用该运算符来判断某个数是否能被其他的数整除。

举例如下:

计算一个整数的个位数字和十位数字。

 using System; 

 namespace ConsoleApp

 { 

     class Program 

    {

         static void Main(string[] args)

        { 

             //计算整数68的个位和十位的数字 

             int number = 68;

             int first = number / 10; 

             int last = number % 10;

             Console.WriteLine("{0}的十位数字是{2},个位数字是{1}", number, first, last);

        }

    }

 }

2、关系运算符

关系运算符在条件判断中经常使用的一类运算符,包括大于、小于、不等于、大于等于、小于等于等符号。

关系运算符比较的返回结果是一个bool类型的值。

如下表所示:

运算符

说 明

==

表示两边表达式运算的结果相等,注意是两个等号

!=

表示两边表达式运算的结果不相等

>

表示左边表达式的值大于右边表达式的值

<

表示左边表达式的值小于右边表达式的值

>=

表示左边表达式的值大于等于右边表达式的值

<=

表示左边表达式的值小于等于右边表达式的值

举例如下:

 using System; 

 namespace ConsoleApp

 { 

     class Program 

    { 

         static void Main(string[] args)

        { 

             //判断某一个数是否为偶数,实际上就是判断该数是否能被 2 整除,如果被 2 整除后余 数为 0,则说明该数为偶数。 

             Console.WriteLine("10是否是偶数:{0}" ,(10 % 2 == 0)); 

        } 

    }

 }

3、逻辑运算符

逻辑运算符主要包括与、或、非等,它主要用于多个布尔型表达式之间的运算。

如下表所示:

 

4、位运算

位运算,通常是指将数值型的值从十进制转换成二进制后的运算,由于是对二进制数进行运算,所以使用位运算符对操作数进行运算的速度稍快。

位运算包括与、或、 非、左移、右移等。

如下表所示:

 

5、赋值运算符

赋值运算符中最常见的是等号,除了等号以外还有很多赋值运算符,它们通常都是与其他运算符连用起到简化操作的作用。

如下表所示:

运算符

说 明

=

x=y,等号右边的值给等号左边的变量,即把变量 y 的值赋给变量 x

+=

x+=y,等同于 x=x+y

-=

x-=y,等同于 x=x-y

*=

x=y,等同于 x=xy

/=

x/=y,等同于 x=x/y

%=

x%=y,等同于 x=x%y,表示求 x 除以 y 的余数

++

x++ 或 ++x,等同于 x=x+1

--

x-- 或 --x,等同于 x=x-1

6、特殊运算符

特殊运算符包含自增运算符,自减运算符和条件运算符。

如下表所示:

运算符

说 明

++

x++ 或 ++x,等同于 x=x+1

--

x-- 或 --x,等同于 x=x-1

?:

布尔表达式 ? 表达式 1: 表达式 2

7、运算符优先级

在表达式中使用多个运算符进行计算时,运算符的运算是有先后顺序的,所以定义了运算符之间的优先级,来判断哪些操作优先计算。

运算符优先级如下表所示:

优先级由高到低依次往下。

 

结合性是指具有相同优先级的多个运算符同时存在时,系统执行计算时的方向。

举例如下:

 using System; 

 namespace ConsoleApp

 { 

     class Program 

    {

         static void Main(string[] args) 

        { 

             int num = 10; 

             int nextNum = 20; 

             int newNum; 

             //具有相同优先级的多个运算符同时存在,计算的结合性决定了计算的方向

             newNum = num = nextNum;

             Console.WriteLine("newNum:{0}\nnum{1}\nnextNum{2}", newNum, num, nextNu m); 

        } 

    } 

 }

三、流程控制语句

1 判断语句

判断语句中包含if语句、switch...case语句以及三目运算符。

 //if语句 

 if(/*判断条件*/)

 { 

     //代码块 

 } 

 //if else 语句

 if(/*判断条件*/)

 { 

     //代码块1

 }else 

 {

     //代码块2 

 } 

 //嵌套if语句 

 if(/*判断条件1*/) 

 { 

     if(/*判断条件2*/) 

    { 

         //代码块 

    } 

 }

 //switch 

 switch(/*表达式*/) 

 { 

     case /*取值1*/break;

     case /*取值2*/break; 

    ... 

     case /*取值n*/break; 

     default:break; 

 } 

 //三目运算符 表达式1?表达式2:表达式3 

 int a = 5; 

 int b = (a > 3) ? a++:‐‐a //b = ?

注意:

a. switch中的表达式是一个常量表达式,必须是一个整型或枚举类型,且值不可以相同。

b.使用三目运算符时尽可能的使用括号和空格,使得表达式看起来清晰明了。

2、循环语句

 //while循环 

 while(/*表达式*/) 

 { 

  //循环体 

 } 

 //do while循环 

 do{ 

  //循环体 

 }while(/*表达式*/) 

 //for循环 

 //int i = 0 循环初始表达式 

 //i < 10 循环逻辑表达式,循环结束的条件 

 //i++ 循环后置表达式,在每次循环结束后执行 

 for(int i = 0 ; i < 10 ; i ++) 

 { 

  //循环体 

 } 

 //循环的变体 

 for(;;;) 

 { 

  //这是一个死循环 

 } 

 //后置表达式放置在循环体中 

 for(int i = 0;i <10;)

 { 

  i++; 

 } 

 //初始化放置在循环外部 

 int i = 0; 

 for(;i<10;i++) 

 { 

  //循环体

 }

 //循环结束条件放置在循环体 

 for(int i = 0;;i++) 

 { 

  if(i < 10) 

  { 

  break; 

  } 

 } 

3、循环控制语句

 // 1 . continue 继续指令

 for(int i = 0; i < 10; i++)

 {

     if(i >= 5)

    {

         continue;

    } 

     printf("%d",i); 

 } 

 // 2 .break; 退出指令

 for(int i = 0;;i++) 

 { 

  if(i < 10) 

  { 

  break;

  }

 }

 // 3 .goto 直接跳转指令

 int i = 0;

 while(1)

 { 

     printf("%d",i++); 

     if( i > 5) 

    { 

         //退出循环,跳转到end代码块 

         goto end; 

    }

 }

 //标签定义(标签之后的语句都会被执行)

 end:

   printf("End");

goto语句的优缺点:

  1. 最方便且效率最高
  2. 使程序层次不清,且不易阅读,难以维护
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值