C# cơ bản

Toán tử và lớp Math trong C#

Trong bài học này, bạn sẽ dùng các toán tử số học, gán, so sánh, logic và các hàm toán học của lớp Math trong C#.

Giới thiệu

Toán tử dùng để kết hợp các giá trị thành biểu thức. C# tuân theo các quy tắc toán học quen thuộc, nhưng có một điểm thường khiến người mới học bất ngờ: khi chia hai số nguyên, phần thập phân sẽ bị bỏ đi.

Phép chia 17 / 5 cho kết quả 3 vì cả hai toán hạng đều là int, còn 17 / 5.0 cho kết quả 3.4 vì có một toán hạng là số thực. Các toán tử gán kết hợp như += và *= cập nhật giá trị của biến ngay tại chỗ. Các phép so sánh và toán tử logic && , || luôn trả về giá trị bool, còn lớp Math cung cấp các hàm như Pow, Round và Sqrt.

Ví dụ C# chạy được

C#
Chạy code →
Program.cs
using System;

class Program
{
    static void Main()
    {
        int a = 17, b = 5;

        Console.WriteLine($"a + b = {a + b}");
        Console.WriteLine($"a - b = {a - b}");
        Console.WriteLine($"a * b = {a * b}");
        Console.WriteLine($"a / b = {a / b}");        // int / int drops the fraction
        Console.WriteLine($"a % b = {a % b}");        // remainder
        Console.WriteLine($"a / 5.0 = {a / 5.0}");    // a double operand keeps it

        int total = 10;
        total += 5;
        total *= 2;
        Console.WriteLine($"total = {total}");

        int count = 0;
        count++;
        Console.WriteLine($"count = {count}");

        // Comparison and logical operators produce bool values.
        Console.WriteLine($"a > b: {a > b}, a == 17: {a == 17}");
        Console.WriteLine($"a > 10 && b > 10: {a > 10 && b > 10}");
        Console.WriteLine($"a > 10 || b > 10: {a > 10 || b > 10}");

        // Math holds common functions.
        Console.WriteLine($"Math.Pow(2, 10) = {Math.Pow(2, 10)}");
        Console.WriteLine($"Math.Round(3.14159, 2) = {Math.Round(3.14159, 2)}");
    }
}
Kết quả khi chạy
a + b = 22
a - b = 12
a * b = 85
a / b = 3
a % b = 2
a / 5.0 = 3.4
total = 30
count = 1
a > b: True, a == 17: True
a > 10 && b > 10: False
a > 10 || b > 10: True
Math.Pow(2, 10) = 1024
Math.Round(3.14159, 2) = 3.14

Luyện tập với trình gỡ lỗi

Đặt breakpoint ở một phép gán hoặc điều kiện quan trọng, bấm Debug và xem giá trị các biến cục bộ (local variable) trước khi bước sang dòng tiếp theo.

Luyện tập với thử thách

Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.

Tất cả thử thách