Sile bài giảng về C Căn Bản và Xuất nhập của giảng viên trường đại học kinh tếBài tập thực hành C căn bản và Xuẩ nhậpCách đặt tên biến và hằngCách đặt các câu lệnhcâu lệnh toán học và câu lệnh luân lýToán tử luân lýToán tử so sánhTiền và Hậu tăng giảm
Trang 1CƠ SỞ LẬP TRÌNH
C# căn bản và
[3] Email giảng viên
Trang 3Những gì bên trong 1 chương trình
static void Main(string[] args)
Trang 4Biến là gì?
Một biến được dùng để lưu trữ “dữ
liệu” “data.”
Trang 5Những kiểu dữ liệu cơ bản
Trang 6Khai báo biến
Trang 7Khai báo nhiều biến
int width, length, height;
double mean, sd, max, min;
bool isokay, isright, check;
Trang 8Ví dụ : Khai báo biến
int num_Student; char gender = ‘m’;
Trang 9Ví dụ: Khai báo đa biến
Khai báo những biến
Giá trị khởi tạo3 : 5.0
Giá trị khởi tạo4 :
nothing
Giá trị khởi tạo5 : 9.8
double u=5.0, t, a=9.8;
Trang 10Khai báo hằng
Cú pháp:
const <data type> <name> = <value>;
Ví dụ:
const int radius = 15;
const double area=1.5;
const bool is_done=true;
const string movie=”StarWarIII”;
const char my_initial=‘m’;
Trang 11Khai báo đa hằng
const int radius = 15, height = 5;
const double area=1.5, width=3.2, length = 4.1;
Trang 12Chú ý khi khai báo biến và hằng
class <Tên lớp>
{
static public void Main( )
{
} }
Khai báo biến trong đây !!
Không khai báo biến ở đây !!!!
Khai báo biến ở đây sẽ có ý nghĩa khác !!!!
Trang 13Chú ý khi khai báo biến và hằng
static public void Main(String[ ] s) { int i= 0;
……… // i int k = 2;
……… // i và k
if ( ….) ………….{
int i = 1;
………… // i và k int j = 2;
……… // i và k, j
Trang 14Chú ý
float floatPI = 3.141592653589793238f;
double doublePI = 3.141592653589793238;
Console.WriteLine("Float PI is: {0}", floatPI);
Console.WriteLine("Double PI is: {0}", doublePI);
Trang 15Chú ý
double a = 1.0f;
double b = 0.33f;
double sum = 1.33f;
bool equal = (a+b == sum); // False!!!
Console.WriteLine("a+b={0} sum={1} equal={2}", a+b, sum, equal);
Trang 16Tên biến và hằng
int new; // new is a keyword
int 2Pac; // Cannot begin with a digit
int New = 2; // Here N is capital
int _2Pac; // This identifiers begins with _
string поздрав = "Hello"; // Unicode symbols used
// The following is more appropriate:
string greeting = "Hello";
int n = 100; // Undescriptive
int numberOfClients = 100; // Descriptive
// Overdescriptive identifier:
int numberOfPrivateClientOfTheFirm = 100;
Trang 17Integer Literals
or uint type, e.g 12345678U
ulong type, e.g 9876543L
Trang 18Integer Literals – Example
// The following variables are
// initialized with the same value:
int numberInHex = -0x10;
int numberInDec = -16;
// The following causes an error,
because 234u is of type uint
int unsignedInt = 234u;
// The following causes an error,
because 234L is of type long
int longInt = 234L;
Trang 19Real Literals
decimal
Trang 20Real Literals – Example
value (using also the exponential
format):
// The following causes an error
// because 12.5 is double by default
float realNumber = 12.5;
// The following is the correct
// way of assigning the value:
float realNumber = 12.5f;
// This is the same value in exponential format: realNumber = 1.25e+7f;
Trang 21Escaping Sequences
new line symbol)
\uXXXX for denoting any other Unicode symbol
Trang 22Character Literals – Example
char symbol = 'a'; // An ordinary symbol
symbol = '\u006F'; // Unicode symbol code in a
// hexadecimal format (letter 'o') symbol = '\u8449'; // 葉 (Leaf in Traditional Chinese) symbol = '\''; // Assigning the single quote symbol
symbol = '\\'; // Assigning the backslash symbol
symbol = '\n'; // Assigning new line symbol
symbol = '\t'; // Assigning TAB symbol
symbol = "a"; // Incorrect: use single quotes
Trang 23String Literals
the value: "<value>"
used escaping sequences: @"<value>"
literals
string s = "I am a sting literal";
Trang 24String Literals – Example
In quoted strings \" is used instead of ""!
// Here is a string literal using escape sequences
string quotation = "\"Hello, Jude\", he said.";
string path = "C:\\WINNT\\Darts\\Darts.exe";
// Here is an example of the usage of @
quotation = @"""Hello, Jimmy!"", she answered.";
path = @"C:\WINNT\Darts\Darts.exe";
string str = @"some
text";
Trang 25Câu hỏi và bài tập thực hành
1 Chọn kiểu phù hợp nhất cho những giá trị
sau: 52130, -115, 4825932, 97, -10000
2 Những giá trị nào sau đây có thể gán cho
kiểu float và double: 34.567839023,
12.345, 8923.1234857, 3456.091
3 Viết chương trình để so sánh 2 số thực
chính xác đến 0.000001 Examples:
(5.3 ; 6.01) false; (5.00000001 ;
5.00000003) true
4 Khai báo 1 biến kiểu string và gán giá trị
bên dưới cho nó:
Trang 26Câu hỏi và bài tập thực hành
1 Trường đại học Kinh Tế muốn giữ những
thông tin của nhân viên gồm các thông
tin sau: Họ, tên, tuổi, giới tính (Nam va
Nữ), số CMND Hãy khai báo các biến và các dữ liệu cần thiết
2 Khai báo hai biến số nguyên và gán
chúng với 5 và 10 và sau khi trao đổi có
giá trị của chúng
3 Viết chương trình in ra một tam giác cân
của 9 ký hiệu bản quyền © Sử dụng
Windows Character Map để tìm mã
Unicode của ký hiệu © Lưu ý: các biểu
tượng © có thể được hiển thị không chính xác
Trang 28Câu lệnh toán học
Toán tử
+ - * /
% (mod: lấy phần dư)
Integer toán tử Integer Integer
Integer/Real toán tử Real/Integer
Trang 29Answer
Trang 30Toán tử luận lý
and return boolean result
Trang 31Toán tử luận lý
Console.WriteLine(b || true); // True
Console.WriteLine(b && true); // False
Console.WriteLine(a || true); // True
Console.WriteLine(a && true); // True
Console.WriteLine(!a); // False
Console.WriteLine((5>7) ^ (a==b)); // False
Trang 32Toán tử so sánh
Trang 33Tiền và hậu tăng giảm
Toán tử Ý nghĩa Ví dụ
++x Tiền tăng int a = 5;
Trang 34Tiền và hậu tăng giảm
Trang 35Độ ưu tiên của các toán tử
Độ ưu tiên Toán tử
nhau sẽ đi từ trái qua
Trang 38Phép toán rút gọn
Các phép toán rút gọn !!!!
Thay vì a = a + b ; thì viết a += b;
Thay vì a = a - b ; thì viết a -= b;
Thay vì a = a * b ; thì viết a *= b;
Thay vì a = a / b ; thì viết a /= b;
Thay vì a = a % b ; thì viết a %= b;
Nếu không quen thuộc thì hạn chế sử dụng!!!
Trang 39Ví dụ
Console WriteLine ( sum );
Console WriteLine ( prod );
Console WriteLine ( y );
int y = 4, a = 5;
3 7.5 -4
Monitor
Trang 40Lớp toán học
Method/
Constant Value returned Example Call Result
PI Value of π Math.PI 3.1415927
Max(x,y) Larger of the two Math.Max(1,2) 2
Abs(x) Absolute value of x Math.Abs(-1.3) 1.3
Sqrt(x) Square-root of x Math.Sqrt(4.0) 2.0
Round(x) Nearest integer to x Math.Round(0.8) 1
Log(x) Natural log of x = ln x Math.Log(10) 2.302585
Floor(x) Greatest integer smaller than or equal to x Math.Floor(4.9) 4
Ceiling(x) Smallest integer greater than or equal to x Math.Ceiling(4.1) 5
Cos(x) Cosine of x radians Math.Cos(Math.PI) -1
Trang 41Ví dụ
Console WriteLine ( Math.Round(3.499) );
Console WriteLine ( Math.Floor(3.499) );
Console WriteLine ( Math.Ceiling(3.499) );
3
3
4
Monitor
Trang 42Math.Abs(Math.Log(4))
5
3
Trang 43Câu hỏi và bài tập thực hành
hay chẳn
chia hết 5 và 7 không
Trang 44Câu lệnh
class Hello {
static void Main () {
Console.WriteLine("Hello World!"); Console.ReadLine();
}
}
Câu lệnh#1
Câu lệnh#2
Trang 45Những loại câu lệnh
Những loại câu lệnh
Câu lệnh
Trang 46Câu lệnh gán
Để gán giá trị đến biến
Dùng equal sign (=)
Trang 47Câu lệnh nhập
Câu lệnh nhập
Trang 48Console.ReadLine()
Console.ReadLine()
Dùng để đọc giá trị nhập (String) từ người dùng
Chuyển đổi string thành những
kiểu dữ liệu khác
int Parse() Chuyển string sang integer
double Parse() Chuyển string sang
Trang 50Console.Read()
của ký tự đầu tiên
Trang 51Câu lệnh xuất
Câu lệnh xuất
Trang 52Câu lệnh xuất
Cách dùng cơ bản:
Cách dùng với format
Console.WriteLine(”Size {0}x{1}”, width, height);
double salary=12000;
Console.WriteLine("My salary is {0:f2}.", salary); Console.WriteLine("Hello");
Console.WriteLine(area);
Trang 53Định dạng String
index
Bắt đầu từ 0 và đại diện cho vị trí của biến
alignment
• Số dương – canh phải
• Số âm – canh trái
Trang 55Cách dùng cơ bản
Trang 56Sử dụng nâng cao
Trang 5757
Sử dụng nâng cao
Trang 58Symbol Meaning Example Output
int a = 10;
Sử dụng nâng cao
Trang 59Sử dụng nâng cao
Trang 60Những ký tự đặt biệt
\uxxxx Unicode escape
sequence for character with hex value xxxx
Console.WriteLine(“\“C:\\mydocument\””);
Trang 61Unicode Characters
เกม
0e01 0e21 0e40
Console.Write(“\u0e40\u0e01\u0e21”);
เกม
Trang 62Chuyển đổi dữ liệu
Những kiểu chuyển đổi
• Chuyển từ 1 kiểu dữ liệu nhỏ sang 1 dạng lớn hơn
• Ví dụ; int double
• Chuyển từ 1 kiểu dữ liệu lớn sang 1 dạng nhỏ hơn
• Ví dụ: double int
Thông tin có thể bị mất
Trang 63Gán chuyển đổi
Giá trị của anIntVar sẽ chuyển sang kiểu Float tự động
Giá của của aFloatVar/anIntVar được chuyển sang (kiểu dữ liệu lớn
Chuyển đổi dữ liệu
Trang 64Cả 2 kiểu chuyển đổi mở rộng và thu hẹp có thể thực hiện ép kiểu được
ngoặc và đặt trước nó
Ép kiểu
Ví dụ
byte b, int i, long l
i = (int)b; l = (long)b + (long)i;
Trang 65double int
100%
OK, những có thể
OK, những có thể có những giá trị không dự đoán được
Ép kiểu
Trang 66d = 1
c = d
Trang 67 i = int.Parse (st);
c = char.Parse(st);
string int
c = 1
Trang 68Xử lý lỗi khi Parse
errors when parsing a number
Two options: use try-catch block or
Trang 69Điều khiển màn hình
Trang 70Điều khiển màn hình
Trang 71Điều khiển màn hình
• Console.Clear ( );
• Console.Beep ( );
• Console.Beep (tần số, thời gian-ms) ;
• Console.SetCursorPosition (cột, hàng);
• Console.SetWindowSize( rộng, cao );
Trang 72Điều khiển màn hình
Console.Title = “Xin chao cac ban !”;
Trang 73Test I
Output : Tên bạn là is <Tên bạn>
Trang 75
Câu hỏi và bài tập thực hành
1 Viết chương trình nhập vào tên,năm sinh
1 người bất kỳ Sau đó in lên màn hình
các kết quả sau:tên,năm sinh,tuổi hiện tại và tuổi ỏ năm 2000 của họ
2 Viết chương trình kiểm tra 1 có thể chia
hết 5 và 7 không
3 Nhập vào 1 số x bất kỳ Sau đó cho biết
kết quả của đa thức Y = 3x2 + 4y - 7
4 Viết chương trình nhập các dữ liệu cần
thiết để in ra kết quả của đa thức
Trang 76Câu hỏi và bài tập thực hành
4 Viết chương trình nhập họ tên,chỉ số điện kế
tháng trước,chỉ số điện kế tháng này của 1
khách thuê điện kế Sau đó in lên màn hình hoá đơn tiền điện có dạng sau:
- Hoá đơn tiền điện
Khách hàng : < họ tên >
Chỉ số cũ : < chỉ số cũ >
Chỉ số mới : < chỉ số mới>
Tiêu thụ : < chỉ số mới - chỉ số cũ >
Tiền điện : < tiêu thụ * 452.45 >
Yêu cầu tiết kiệm điện -
5 Viết chương trình nhập 2 hệ số a và b của
phương trình ax+b = 0
6 Nhập vào bán kính hình tròn,in ra diện tích
và chu vi hình tròn tương ứng
Trang 77Câu hỏi và bài tập thực hành
7 Viết chương trình tính tiền lãi tiết kiệm với
các dữ liệu cần thiết sau: tiền gởi,lãi suất (phần trăm),thời gian gởi (tháng) Cho
biết sau thời gian này, người gởi sẽ lãnh bao nhiêu giả sử lãi không nhập vốn
8 Viết chương trình cho phát ra một bản
nhạc mà bạn thích
Trang 78CƠ SỞ LẬP TRÌNH
Trang 79Bài tập về nhà
1 Tìm thêm thông tin trực tuyến về ASCII và viết một
chương trình in toàn bộ bảng mã ASCII của các ký tự trên bàn phím
2 Tương tự bài 4 của phần thực hành ở trên nhưng có
tính thêm các khoản sau :
- tiền thuê điện kế 12426 đ/tháng
- tiền phụ thu 10% tiền điện Tự thiết kế mẫu hoá đơn theo ý học viên
3 Nâng cấp bài 5 với việc thiết kế màn hình nhập và
xuất dữ liệu
4 Phân tích và viết chương trình tính diện tích hình vành
khăn
Trang 80Cảm ơn
http://telerikacademy.com