Professional Documents
Culture Documents
TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC TP. HỒ CHÍ MINH
HO CHI MINH CITY UNIVERSITY OF FOREIGN LANGUAGES - INFORMATION TECHNOLOGY
Bài 2
Chương trình C# đầu tiên với
cấu trúc Tuần tự
Biên soạn: ThS. Huỳnh Thành Lộc (locht@huflit.edu.vn)
NỘI DUNG
Nhập môn
lập trình
Kỹ thuật
lập trình
C# Common
Machine
source Intermediate
code
code Language
C# Compiler JIT in CLR
EXE DLL
.NET
https://dotnet.microsoft.com/en-us/learn/dotnet/what-is-dotnet
.NET
§ Năm 2002, Microsoft phát hành phiên bản đầu tiên với
tên gọi .NET Framework chỉ hỗ trợ trên các hệ điều
hành Windows.
§ Năm 2016, Microsoft phát hành thêm .NET core (mã nguồn
mở) cho phép phát triển ứng dụng trên các hệ điều hành
khác (Linux, MacOS,…)
§ Năm 2020, Microsoft gộp chung thành 1 phiên bản duy nhất
với tên gọi .NET 5
.NET
.NET
10
.NET
11
IDE
Integrated
Development
Environment
12
IDE
13
VISUAL STUDIO
https://visualstudio.microsoft.com
§ Máy tính Windows: cài đặt Visual Studio bản Community (miễn phí)
Tính đến tháng 9/2023, phiên bản mới nhất là Visual Studio 2022
14
15
16
Solution name:
Tên giải pháp
17
18
Solution name
Project name
Source files
19
20
§ Hello World
using System;
namespace MyFirstCSharpProject
Để chạy chương trình:
{ § Cách 1: Ctrl + F5
class Program § Cách 2: Chọn menu Debug à
Start Without Debugging
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
21
22
23
24
25
§ Cấu trúc tuần tự: Từng bước của thuật toán được
thực hiện một cách tuần tự từ bước đầu tiên cho đến
bước cuối cùng.
§ Ví dụ: Viết chương trình yêu cầu người dùng nhập vào
Họ và Tên (name), sau đó in ra màn hình (cửa sổ
Console) dòng chữ:
Hello name!
26
namespace Greeter
{
class Program
{
static void Main(string[] args)
{
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine("Hello " + name);
}
}
} In ra màn hình dòng chữ:
Enter your name:
27
namespace Greeter
{
class Program
{
static void Main(string[] args)
{
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine("Hello " + name);
}
}
Khai báo sử dụng một nơi trong bộ nhớ máy tính
} để lưu trữ dữ liệu (gọi là Biến - Variable):
§ Tên biến (name variable): name
§ Kiểu dữ liệu (data type): string – biến này
dùng để lưu một chuỗi ký tự
Bài 2: Cấu trúc Tuần tự
28
28
namespace Greeter
{
class Program
{
static void Main(string[] args)
{
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine("Hello " + name);
}
}
} Thực hiện đọc một dòng dữ liệu do người
dùng nhập vào từ bàn phím, kết thúc việc
nhập bằng phím Enter
29
namespace Greeter
{
class Program
{
static void Main(string[] args)
{
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine("Hello " + name);
}
}
} Lưu trữ giá trị vừa đọc được vào biến
name à thực hiện phép gán (assignment)
giá trị cho biến
30
namespace Greeter
{
class Program
{
static void Main(string[] args)
{
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine("Hello " + name);
}
}
} In ra màn hình dòng chữ “Hello ” và theo
sau là giá trị được lưu trong biến name
Sau khi in xong xuống dòng
31
BIẾN TRONG C#
§ Biến là tên gọi chỉ một nơi trong bộ nhớ, dùng để lưu
trữ dữ liệu của chương trình
§ Trước khi sử dụng 1 biến phải thực hiện khai báo biến
(variable declaration)
32
BIẾN TRONG C#
§ Quy định đặt tên biến trong C# (bắt buộc phải tuân
theo):
• Bắt đầu phải là một chữ cái (a-z, A-Z) hoặc underscore ( _ )
• Tiếp theo có thể là chữ cái, số hoặc underscore
33
BIẾN TRONG C#
§ Quy ước đặt tên biến (không bắt buộc phải tuân theo):
• Rule 1. Tên biến nên mô tả được ý nghĩ của giá trị mà bạn sẽ
lưu vào nó
• Rule 2. Không viết tắt những từ không phổ biến
34
35
https://www.c-sharpcorner.com/blogs/data-types-in-c-sharp
Bài 2: Cấu trúc Tuần tự
36
36
PHÉP GÁN =
variable = value;
37
PHÉP GÁN =
§ Khi thực thi chương trình, tại từng thời điểm, biến có
một giá trị cụ thể
static void Main(string[] args)
{
int a = 5;
int b;
b = 2;
b = a;
a = -3;
38
x-- --x
int x = 3; int x = 3;
Console.WriteLine(x); // output: 3 Console.WriteLine(x); // output: 3
Console.WriteLine(x--); // output: 3 Console.WriteLine(--x); // output: 2
Console.WriteLine(x); // output: 2 Console.WriteLine(x); // output: 2
39
int x = 3;
int y = - x;
int z = - y;
Console.WriteLine(x); // output: 3
Console.WriteLine(y); // output: -3
Console.WriteLine(z); // output: 3
40
41
string a = “Hello”;
string b = “my friends”;
string c = a + “ “ + b; // output: “Hello my friends”
42
43
44
45
int a = 2147483647;
long b = a;
double c = a;
46
double a = 1234.7;
int b = (int) a;
Console.WriteLine(b); // output: 1234
47
48
Hàm Ý Nghĩa
Math.Abs(x) |𝑥|
Math.Max(x, y) Giá trị lớn nhất trong 2 số x, y
Math.Min(x, y) Giá trị nhỏ nhất trong 2 số x, y
Math.Pow(x, y) 𝑥!
Math.Sqrt(x) 𝑥
49
NHẬP DỮ LIỆU
50
NHẬP DỮ LIỆU
Nhập 3.14 ⏎
numberDouble: 3.14
int numberInt2 = Convert.ToInt32(Console.ReadLine());
}
Nhập 3.14 ⏎
Lỗi: “Input string was not in a correct format”
Lưu ý: Dòng dữ liệu nhập vào phải có giá trị phù hợp với kiểu dữ liệu được chuyển
Bài 2: Cấu trúc Tuần tự
51
51
NHẬP DỮ LIỆU
Nhập 3.14 ⏎
numberDouble: 3.14
52
XUẤT DỮ LIỆU
53
XUẤT DỮ LIỆU
Console.WriteLine("Example 2: ");
Console.WriteLine("Your score: " + score);
Console.WriteLine("Max point is: " + max + " pts");
}
54
XUẤT DỮ LIỆU
§ Console.WriteLine(String, Object[])
• String: một chuỗi ký tự có trộn lẫn với các indexed
placeholder (vị trí được đánh số thứ tự)à composite format
string
• Object[]: dãy các giá trị/biến (item) tương ứng với các indexed
placeholder
55
XUẤT DỮ LIỆU
}
Prime numbers less than 10: 2, 3, 5, 7
Bài 2: Cấu trúc Tuần tự
56
56
XUẤT DỮ LIỆU
57
XUẤT DỮ LIỆU
58
XUẤT DỮ LIỆU
59
XUẤT DỮ LIỆU
60
XUẤT DỮ LIỆU
61
XUẤT DỮ LIỆU
(*) https://docs.microsoft.com/en-us/dotnet/standard/base-types/character-escapes-in-regular-expressions
62
XUẤT DỮ LIỆU
63
GHI CHÚ
64
GHI CHÚ
/*
Nội dung ghi chú 1
Nội dung ghi chú 2
Nội dung ghi chú 3
*/
65
GHI CHÚ
§ Ví dụ
66
GHI CHÚ
67
BÀI TẬP
INPUT OUTPUT
a = 8.53 Before swapping:
b=4 a = 8.53, b = 4
After swapping:
a = 4, b = 8.53
68
BÀI TẬP
INPUT OUTPUT
r = 3 P = 18.85
A = 28.27
69
BÀI TẬP
INPUT OUTPUT
Attendant mark = 8.5 Average mark: 8.5
mark = 7.5
Final exam = 9.0
70
BÀI TẬP
INPUT OUTPUT
Working hours = 7.5 Your Salary: 112.5
Unit price = 15
71
BÀI TẬP
INPUT OUTPUT
Amount of money: 266 100 : 2
50 : 1
20 : 0
10 : 1
5 : 1
2 : 0
1 : 1
72
BÀI TẬP
INPUT OUTPUT
Input time (s): 566 00 : 09 : 26
73
TỔNG KẾT
74