C# 基本语法学习笔记

数据类型

C# 支持以下数据类型:

  • 值类型:整型、浮点型、布尔型、字符型等。
  • 引用类型:对象类型、字符串类型、数组类型等。

整型

整型用于表示整数,包括正整数、负整数和零。C# 提供了多种整型数据类型,如下表所示:

数据类型 取值范围
sbyte -128 ~ 127
byte 0 ~ 255
short -32,768 ~ 32,767
ushort 0 ~ 65,535
int -2,147,483,648 ~ 2,147,483,647
uint 0 ~ 4,294,967,295
long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
ulong 0 ~ 18,446,744,073,709,551,615

浮点型

浮点型用于表示实数,包括正实数、负实数和零。C# 提供了两种浮点型数据类型,如下表所示:

数据类型 取值范围
float ±1.5e-45 ~ ±3.4e38,精度约为6~9位小数(推荐使用double)
double ±5.0e-324 ~ ±1.7e308,精度约为15~17位小数

布尔型

布尔型用于表示真假值,只有两个取值:true 和 false。

字符型

字符型用于表示单个字符,采用 Unicode 编码,占用 2 个字节。可以使用单引号将字符括起来,如 'A' 或 '汉'。

对象类型

对象类型是一种引用类型,可以表示任意类型的值。对象类型的变量存储的是对象的引用(即内存地址),需要使用 new 关键字来创建对象。

字符串类型

字符串类型是一种引用类型,用于表示一串字符。字符串用双引号括起来,如 "hello"。

数组类型

数组类型用于表示相同数据类型的若干个值。C# 支持一维、多维数组和不定长数组。

控制语句

控制语句用于控制程序的执行流程,包括分支语句和循环语句。

分支语句

分支语句用于根据条件选择不同的执行路径,包括 if 语句、switch 语句等。

if 语句

if 语句用于判断一个条件是否成立,如果成立就执行指定的语句,否则执行其他语句。语法如下:

csharpCopy Code
if (condition) { statement1; } else { statement2; }

switch 语句

switch 语句用于根据一个表达式的值选择不同的执行路径,可以替代多个 if 语句。语法如下:

csharpCopy Code
switch(expression) { case value1: statement1; break; case value2: statement2; break; default: statement3; break; }

循环语句

循环语句用于重复执行某个语句块,包括 for 循环、while 循环、do-while 循环等。

for 循环

for 循环用于指定循环次数,每次循环中都会自动更新迭代变量。语法如下:

csharpCopy Code
for (initialization; condition; update) { statement; }

while 循环

while 循环用于指定循环条件,只要条件成立就重复执行语句块。语法如下:

csharpCopy Code
while (condition) { statement; }

do-while 循环

do-while 循环类似于 while 循环,但是会先执行一次语句块,然后再检查循环条件。语法如下:

csharpCopy Code
do { statement; } while (condition);

函数

函数是一段封装好的代码,可以重复利用。C# 中的函数由函数名、参数列表和函数体组成,可以有返回值也可以没有返回值。

函数调用

使用函数时需要先进行函数调用,即指定函数名和参数列表。如果函数有返回值,则需要使用变量来接收返回值。

csharpCopy Code
// 调用无参无返回值的函数 FunctionName(); // 调用有参无返回值的函数 FunctionName(argument1, argument2); // 调用有参有返回值的函数 returnType result = FunctionName(argument1, argument2);

函数定义

函数定义包括函数名、参数列表和函数体,语法如下:

csharpCopy Code
returnType FunctionName(parameterList) { statement; }

其中 returnType 表示返回值类型,FunctionName 表示函数名,parameterList 表示参数列表,statement 表示函数体中的语句块。

实例

下面举一个例子,演示如何使用 C# 实现一个计算器程序,实现加、减、乘、除四个基本运算。

csharpCopy Code
using System; class Calculator { static void Main(string[] args) { Console.WriteLine("请输入第一个数:"); double num1 = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("请选择运算符(+、-、*、/):"); string op = Console.ReadLine(); Console.WriteLine("请输入第二个数:"); double num2 = Convert.ToDouble(Console.ReadLine()); double result = 0; switch (op) { case "+": result = num1 + num2; break; case "-": result = num1 - num2; break; case "*": result = num1 * num2; break; case "/": result = num1 / num2; break; default: Console.WriteLine("无效运算符!"); return; } Console.WriteLine("计算结果为:" + result); } }

以上代码首先提示用户输入两个数和一个运算符,然后根据运算符执行对应的运算,最后输出结果。