程序设计基础
登录
< 返回教程列表

1.1 数据类型

1.1 变量与数据类型

知识介绍

C# 是强类型语言,变量在声明时必须指定类型。

值类型(栈上分配):

类型 说明 示例
int 32位整数 int age = 18;
float 32位浮点数 float height = 1.75f;
double 64位浮点数 double pi = 3.14159;
bool 布尔值 bool isPass = true;
char 单个字符 char grade = 'A';
decimal 高精度小数(财务) decimal money = 99.9m;
byte 8位无符号整数 byte b = 255;

引用类型(堆上分配):

类型 说明 示例
string 字符串 string name = "张三";
object 所有类型基类 object obj = 123;
数组 同类型集合 int[] nums = {1, 2, 3};

类型转换:

// 隐式转换(小范围 → 大范围,自动)
int i = 10;
double d = i;        // 10.0

// 显式转换(大范围 → 小范围,需强转)
double dd = 3.14;
int ii = (int)dd;    // 3(截断小数)

// Convert 类
string s = "123";
int num = Convert.ToInt32(s);  // 123

// Parse
int n = int.Parse("456");      // 456

例题

例题1: 交换两个整型变量的值(不使用第三方变量)

int a = 5, b = 10;
Console.WriteLine($"交换前:a={a}, b={b}");
// 方法:加减交换
a = a + b;  // a=15, b=10
b = a - b;  // a=15, b=5
a = a - b;  // a=10, b=5
Console.WriteLine($"交换后:a={a}, b={b}");

例题2: 摄氏度转华氏度,公式:F = C × 9/5 + 32

Console.Write("请输入摄氏度:");
double celsius = double.Parse(Console.ReadLine());
double fahrenheit = celsius * 9 / 5 + 32;
Console.WriteLine($"{celsius}℃ = {fahrenheit:F2}℉");
// 输入:25,输出:25℃ = 77.00℉

练习题

  1. 声明一个 string 类型变量存储你的姓名,一个 int 变量存储年龄,一个 float 变量存储身高(米),然后格式化输出如:"我叫XXX,今年XX岁,身高XX米"。

  2. 用户输入一个华氏温度,转换为摄氏度并输出。(公式:C = (F - 32) × 5/9)

  3. 用户输入一个3位整数,输出其百位、十位、个位数字之和。例如:输入 365,输出 3+6+5=14。

  4. 尝试将 string 类型的 "12.5" 分别转换为 int、double、decimal,看看哪些可以成功,失败的用 TryParse 实现安全转换。