Bài giảng Ngôn ngữ lập trình C và C+ - Bài 2: Kiểu, toán tử và biểu thức - Đỗ Đăng Khoa
Quy ước về đặt tên trong C/C++
Áp dụng đặt tên cho hàm, biến, hằng, cấu trúc hay lớp:
- Là dẫy ký liên tiếp bao gồm chữ cái và số và phải bắt đầu
bằng chữ cái hoặc gạch dưới ‘_’.
- Không bao gồm các ký tự đặc biệt như toán tử: +,-,*,/
- Không trùng với từ khóa
- Phân biệt chữ hoa, chữ thườn
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Ngôn ngữ lập trình C và C+ - Bài 2: Kiểu, toán tử và biểu thức - Đỗ Đăng Khoa", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Ngôn ngữ lập trình C và C+ - Bài 2: Kiểu, toán tử và biểu thức - Đỗ Đăng Khoa
4/21/2015 1 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Ngôn ngữ lập trình C và C++ Bài 2: Kiểu, toán tử và biểu thức TS. Đỗ Đăng Khoa Bộ môn Cơ học Ứng dụng Viện Cơ Khí 4/21/2015 2 Quy ước về đặt tên trong C/C++ Áp dụng đặt tên cho hàm, biến, hằng, cấu trúc hay lớp: - Là dẫy ký liên tiếp bao gồm chữ cái và số và phải bắt đầu bằng chữ cái hoặc gạch dưới ‘_’. - Không bao gồm các ký tự đặc biệt như toán tử: +,-,*,/ - Không trùng với từ khóa TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Phân biệt chữ hoa, chữ thường 4/21/2015 3 Từ khóa Một số từ nhất định được dành cho mục đích riêng Có ý nghĩa đặc biệt trong ngữ cảnh của một ngôn ngữ cụ thể Sẽ không có xung đột nếu từ khóa và tên biến khác nhau Ví dụ: từ integer cho tên biến thì hoàn toàn hợp lệ ngay cả TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI khi mà từ khóa là int 4/21/2015 4 Kiểu dữ liệu Tên kiểu: là một từ dành riêng để chỉ định kiểu của dữ liệu. Số byte trong bộ nhớ: để lưu trữ một đơn vị dữ liệu thuộc kiểu này, phụ thuộc vào các trình biên dịch và hệ thống máy khác nhau. TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Miền giá trị của kiểu: Cho biết một đơn vị dữ liệu thuộc kiểu này sẽ có thể lấy giá trị trong miền nào (giá trị nhỏ nhất và lớn nhất là bao nhiêu), phụ thuộc vào số byte mà hệ thống máy qui định cho từng kiểu. 4/21/2015 5 Kiểu dữ liệu cơ bản Kiểu dữ liệu cơ bản TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI voidchardoublefloat int 4/21/2015 6 Kiểu dữ liệu cơ bản Kiểu số nguyên (int) • Lưu trữ dữ liệu số • int num; • Chiếm 16 bits (2 bytes) bộ nhớ • Biểu diễn các số nguyên trong phạm vi -32768 tới 32767 Kiểu số thực (float) • Lưu trữ dữ liệu số chứa phần thập phân TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI • float num; • Chiếm 32 bits (4 bytes) bộ nhớ • Ví dụ : 23.05, 56.5, 32 4/21/2015 7 Kiểu dữ liệu cơ bản Kiểu số thực (double) • Lưu trữ dữ liệu số chứa phần thập phân • double num; • Chiếm 64 bits (8 bytes) bộ nhớ • Ví dụ : 23.05, 56.5, 32 Kiểu ký tự (char) TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI • Lưu trữ một ký tự đơn • char c; • Chiếm 8 bits (1 byte) bộ nhớ • Ví dụ: ‘a’, ‘m’, ‘$’ ‘%’ , ‘1’, ’5’ Kiểu void: không lưu bất cứ dữ liệu gì, báo cho trình biên dịch không có giá trị trả về 4/21/2015 8 Những kiểu dữ liệu dẫn xuất Kiểu dữ liệu dẫn xuất Kiểu dữ liệu cơ bản Bộ bổ từ (Modifiers) kiểu dữ liệu int unsigned int (chỉ là số dương) unsigned TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI intshort short int (chiếm ít bộ nhớ hơn int) int/double Long int /longdouble (chiếm nhiều bộ nhớ hơn int/double) long 4/21/2015 9 Kiểu dữ liệu Bảng kiểu dữ liệu có sẵn Loại Kiểu dữ liệu Kích thước bộ nhớ (bit) Kí tự char 8 wchar_t 16 (Unicode) Số nguyên short 16 int 16 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI long int 32 __intn n = 8, 16, 32, 64 hoặc 128 long 32 long long 64 (tương đương __int64) Số thực float 32 double 64 long double 64 4/21/2015 10 Kiểu dữ liệu TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 4/21/2015 11 Kiểu kí tự Một kí tự là một kí hiệu trong bảng mã ASCII (American Standard Code for Information Interchange – Mã chuẩn trao đổi thông tin Hoa Kỳ) Biểu diễn một kí tự dùng mã của ký tự Cho kí tự ‘A’ tương đương cho kí tự 65 (mã ASCII của ‘A’) TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Biến kiểu kí tự có thể nhận giá trị theo 2 cách: c = ‘A’ hoặc c = 65 Bảng mã ASCII chuẩn có 128 kí tự. Bảng ASCII mở rộng (bảng mã ANSI) có 255 kí tự để bổ sung các phép toán, chữ có dấu, và các kí tự trang trí. 4/21/2015 12 Kiểu kí tự Ví dụ: char c, d ; // c, d ñược phép gán giá trị từ -128 ñến 127 unsigned e,f ; // e ñược phép gán giá trị từ 0 ñến 255 c = 65 ; d = 179 ; // d có giá trị ngoài miền cho phép e = 179; f = 330 ; // f có giá trị ngoài miền cho phép cout << c << int(c);// in ra chữ cái 'A' và giá trị số 65 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI cout << d << int(d) ; // in ra là kí tự '|' và giá trị số - 77 cout << e << int(e) ; // in ra là kí tự '|' và giá trị số 179 cout << f << int(f); // in ra là kí tự 'J' và giá trị số 74 4/21/2015 13 Bảng mã ANSI Bộ mã ANSI không chứa đủ các kí tự thể hiện ngôn ngữ của nhiều quốc gia tạo ra nhiều bộ mã ANSI cho mỗi ngôn ngữ. Các bộ mã mẫu thuẫn do dùng cùng một số để chỉ định hai kí tự khác nhau, hoặc con số khác nhau để thể hiện cùng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI một kí tự. Máy tính cần hỗ trợ nhiều bộ mã. Dữ liệu có thể bị sai lạc khi được chuyển qua các bộ mã hoặc máy tính khác nhau. 4/21/2015 14 Bảng mã Unicode Bộ mã chuẩn quốc tế được thiết kế dùng làm bộ mã duy nhất cho tất cả các ngôn ngữ, kể cả những ngôn ngữ sử dụng ký tự tượng hình phức tạp như Trung Quốc, Thái Lan. Cung cấp một con số duy nhất Cho mỗi ký tự TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Cho mọi hệ máy tính Cho mọi chương trình Cho mọi ngôn ngữ Chiếm 1.114.112 mã chữ, đã gán hơn 96000 mã chữ. 128 kí tự đầu tiên theo ASCII. 4/21/2015 15 Bảng mã Unicode Không gian mã Unicode được chia thành 17 mặt phẳng, mỗi mặt phẳng có 65536 mã. Mặt phẳng đầu tiên [plane 0] (mặt phẳng đa ngôn ngữ căn bản - Basic Multilingual Plane) chứa các kí hiệu cho hầu hết các ngôn ngữ hiện đại, và một lượng lớn các kí tự đặc TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI biệt. Đa số được dùng để mã hóa các ngôn ngữ Hán-Nhật- Hàn-Việt. Mặt phẳng một [plane 1] (mặt phẳng đa ngôn ngữ bổ sung - Supplementary Multilingual Plane) dùng cho các chữ viết cổ như của Ai Cập 4/21/2015 16 Bảng mã Unicode Mặt phẳng hai [plane 2] dùng cho 40000 chữ Trung Quốc, đa số ký hiệu cổ. Mặt phẳng 14 hiện chứa một số các ký tự thẻ ngôn ngữ không được khuyến khích và một số ký hiệu lựa chọn biến thể TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Mặt phẳng 15 và mặt phẳng 16 được mở cho các sử dụng cá nhân. 4/21/2015 17 Hằng – Khai báo và sử dụng Hằng là một giá trị cố định nào đó. Hằng nguyên o Mặc định theo hệ 10, thêm 0 trước là hệ 8, thêm 0x trước là hệ 16. Ví dụ: 31 (hệ 10), 037 (hệ 8), 0x1f hay 0x1F (hệ 16) o Bổ sung hậu tố TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI • l(L): long • u(U): unsigned ul(lu): unsigned long Ví dụ: 75 // int 75u // unsigned int 75l // long 75ul // unsigned long 75lu // unsigned long 4/21/2015 18 Hằng – Khai báo và sử dụng Vị trí dấu phảy phụ thuộc vào n TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 4/21/2015 19 Hằng – Khai báo và sử dụng Hằng kí tự o Kí tự có mặt chữ thể hiện đặt mặt chữ giữa hai dấu nháy đơn, ‘ ‘. Ví dụ: ‘A’, ‘3’, ‘ ‘ (dấu cách) o Sử dụng giá trị trong bảng mã (thuận tiện cho các kí tự không có mặt chữ) TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Ví dụ: 65 (A), 51 (3), 32 (dấu cách) 27 (Esc), 13 (Enter) o Sử dụng giá trị dạng hệ 8 hoặc hệ 16 0kkk hoặc ‘\kkk’ hệ 8, tối đa 3 chữ số 0xkk hoặc ‘\xkk’ hệ 16, tối đa 2 chữ số Ví dụ: 65, 0101, 0x41 hoặc 'A' , '\101' , '\x41' 4/21/2015 20 Hằng – Khai báo và sử dụng Một số hằng kí tự thông dụng Kí tự Mô tả \n Kí tự xuống dòng \r Xuống dòng (Enter) \t tab TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI \f Kéo trang \a Chuông (loa kêu bíp) \' Nháy đơn (') \" Nháy kép (") \? Dấu chấm hỏi (?) \\ Dấu \ 4/21/2015 21 Hằng – Khai báo và sử dụng Hằng xâu kí tự o Dẫy kí tự bất kì nằm giữa hai dấu nháy kép, “ ”. Ví dụ: “Hello, world”, “A”, “” (xâu rỗng) o Chiều dài xâu = số kí tự giữa hai dấu nháy kép o Phân biệt kí tự ‘A’ và xâu “A”. Cùng biểu diễn chữ A nhưng được bố trí bộ nhớ khác nhau. TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Kí tự ‘A’ chiếm 1 byte Xâu “A” chiếm 2 byte. Một byte được dùng cho kí tự kết thúc xâu ‘\0’. 4/21/2015 22 Hằng – Khai báo và sử dụng Khai báo hằng o Sử dụng tiền xử lý #define #define TÊN_HẰNG giá_trị Ví dụ: #define MAX 100 #define NEWLINE ‘\n’ TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI #define PI 3.14156 o Sử dụng từ khóa const const kiểu_dữ_liệu tên_hằng = giá_trị; Ví dụ: const char NEWLINE = ‘\n’; const double PI = 3.14156; 4/21/2015 23 Biến – Khai báo và sử dụng Bộ nhớ TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Dữ liệu Mỗi vị trí trong bộ nhớ là duy nhất Biến cho phép cung cấp một tên có ý nghĩa cho mỗi vị trí nhớ 15 Dữ liệu trong bộ nhớ 15 4/21/2015 24 Biến – Khai báo và sử dụng Biến là các tên gọi để lưu giá trị. Giá trị được lưu có thể giá trị ban đầu, trung gian hoặc kết quả cuối cùng. Giá trị được lưu vào một ô nhớ trong bộ nhớ, kích thước ô nhớ (byte) tùy thuộc vào kiểu dữ liệu của biến. TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Tên biến giúp chúng ta truy cập vào bộ nhớ mà không cần dùng địa chỉ của chúng Được khai báo trước khi sử dụng Trong C, các biến phải được khai báo ngay từ đầu chương trình hay đầu của hàm. Trong C++, có thể khai báo bất kỳ chỗ nào trước khi sử dụng 4/21/2015 25 Biến – Khai báo và sử dụng Khai báo • Kiểu tên_biến; • Kiểu tên_biến_1, tên_biến_2, tên_biến_3; int i; float f1, f2; Các biến khai báo kiểu này sẽ có giá trị 0 (ô nhớ chưa sử TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI dụng), giá trị nào đó nếu ô nhớ đã được sử dụng trước đó. - Khai báo có khởi tạo giá trị • Kiểu tên_biến = gt; // gt: hằng, biến hoặc biểu thức. • Kiểu tên_biến(gt); // C++ int i = 5, j = 10, k = j, f = 5*i; double d(10.5); 4/21/2015 26 Biến – Khai báo và sử dụng Gán giá trị cho biến • Sử dụng toán tử gán, =. tên_biến = gt; // gt: hằng, biến hoặc biểu thức • Gán nhiều biến cùng một giá trị biến_1 = biến_2 = biến_3 = biến_4 = gt; i = j = k = 5; TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI • Gán trong một biểu thức m = j*(k=5); Tương đương với hai câu lệnh: k = 5; và m = j*k; 4/21/2015 27 Biến - Phạm vi biến int y = 38; void main( ){ int z=47; while(z<400) { int a = 90; Phạm vi biến a Phạm vi biến z Phạm vi biến y TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI z += a++; z++; } y = 2 * z; } 4/21/2015 28 Phép toán Toán hạng Các thành phần tên tham gia trong phép toán Toán tử Các kí hiệu phép toán Phép toán 1 ngôi Phép toán có một toán hạng Toán Tử 2 * y + 5 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Ví dụ: -a (lấy giá trị âm của a), &b (lấy địa chỉ của b) Phép toán 2 ngôi • Phép toán trừ 2 ngôi: a – b • Phép toán lấy hội các bit 2 số nguyên: a & b - Phép toán 3 ngôi: a ? b : c Toán hạng 4/21/2015 29 Bốn Kiểu Toán Tử Số học (Arithmetic) Luận Lý (Logical) TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Quan hệ (Relational) Nhị phân (Bitwise) 4/21/2015 30 Các phép toán số học: +, -, *, /, % Các phép toán + (cộng), - (trừ), * (nhân) có ý nghĩa như trong số học thông thông thường Phép toán / (chia) dựa theo kiểu của toán hạng Hai toán hạng số nguyên kết quả lấy phần nguyên Một trong hai toán hạng thực kết quả là số thực Ví dụ: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 5/2 = 2 5.0/2 = 5/2.0 = 5.0/2.0 = 2.5 Phép toán % (lấy phần dư) trả lại phần dư của phép toán chia, /, hai toán hạng số nguyên 5%2 = 1 2%5 = 2 4/21/2015 31 Phép toán tăng và giảm: ++, -- Phép toán ++, --, thực hiện tăng hoặc giảm 1 đơn vị i++ và ++i tương đương i = i + 1 Sự khác nhau i++ và ++I khi nằm trong câu lệnh, biểu thức i++: tăng i sau khi biểu thức tính toán xong ++i: tăng i, sau đó i mới tham gia vào biểu thức tính toán Ví dụ: j = 5 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Phép toán Tương đương Kết quả i = j++; i = j; j = j + 1; i = 5, j = 6 i = ++j; j = j + 1; i = j; i = 6, j = 6 i = j++ + 7; i = j + 7; j = j + 1; i = 12, j = 6 i = ++j + 7; j = j + 1; i = j + 7; i = 13, j = 6 4/21/2015 32 Toán tử quan hệ và luận lý (lôgic) Đây là các phép toán trả lại giá trị đúng (#0) và sai (=0) Ðược dùng để so sánh: biểu thức với biểu thức, biến với biến, biểu thức với biến, biến với hằng hoặc biểu thức với hằng Toán tử quan hệ Toán tử Ý nghĩa TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI > Lớn hơn >= Lớn hơn hoặc bằng < Nhỏ hơn <= Nhỏ hơn hoặc bằng == Bằng != Không bằng 4/21/2015 33 Phép toán quan hệ và logic Phép toán quan hệ (ưu tiên sau phép toán số học) , >= ==, != (ưu tiên sau 4 phép toán trên) Phép toán logic && (và), || (hoặc) để kết hợp các điều kiện ! (phủ định) TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI a b a && b a || b !a 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 1 4/21/2015 34 Phép toán thao tác nhị phân (bitwise) Cho phép thao tác các bit riêng biệt của một biến 6 toán tử thao tác bit Toán tử Kí hiệu Cách viết Mô tả Dịch trái << x << y Các bit trong x dịch trái y bit Dịch phải >> x >> y Các bit trong x dịch phải y bit TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NOT (Bù) ~ ~x Lấy phần bù của các bit trong x AND (Hội) & x & y Từng bit trong x AND từng bit trong y OR (Tuyển k loại trừ) | x | y Từng bit trong x OR từng bit trong y XOR (Tuyển có loại trừ) ^ x ^ y Từng bit trong x XOR từng bit trong y 4/21/2015 35 Phép toán thao tác nhị phân (bitwise) Ví dụ: bit a bit b a & b (a AND b) a | b (a OR b) a ^ b (a XOR b) ~a 0 0 0 0 0 1 0 1 0 1 1 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 1 0 0 1 1 0 1 1 1 1 0 11001110 & 10011000 = 10001000 11001110 | 10011000 = 11011110 11001110 ^ 10011000 = 01010110 4/21/2015 36 Phép toán thao tác nhị phân (bitwise) Ví dụ: dịch bit 23 > 1 23/2 = 11 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI 4/21/2015 37 Toán tử gán và biểu thức Phép gán dạng x = x@a; được viết dưới dạng x @= a, trong đó @ là các phép toán số học, toán tử bit... x = x + 2; x += 2; x = x - 2; x -= 2; x = x * 2; x *= 2; TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI x = x / 2; x /= 2; x = x * (10 + c); x *= 10 + c; 4/21/2015 38 Biểu thức điều kiện, ? Viết dưới dạng biểu thức 3 ngôi: e1 ? e2 : e3; e1: biểu thức logic e2, e3: biểu thức bất kỳ Phép toán thực hiện biểu thức e2 nếu điều kiện e1 đúng và thực hiện biểu thức e3 nếu ngược lại. TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI + Số lớn nhất của 2 số a > b ? a : b; max = (a > b ? a : b); + Số lớn nhất của 3 số max = (a > b ? (a > c ? a : c) : (b > c ? b : c)) 4/21/2015 39 Độ ưu tiên của toán tử Đề cập đến thứ tự thực thi các toán tử trong C/C++ Độ ưu tiên của các toán tử này được thay đổi bởi các dấu ngoặc đơn trong biểu thức () Loại toán tử Toán tử Tính kết hợp Một ngôi - ++ -- Phải đến trái TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Hai ngôi ^ Trái đến phải Hai ngôi * / % Trái đến phải Hai ngôi + - Trái đến phải Hai ngôi = Phải đến trái 4/21/2015 40 Biểu thức Biểu thức là sự mô tả quan hệ giữa các toán hạng (hằng, biến, hàm), phép toán và cặp dấu () theo một quy tắc nhất định Giá trị của biểu thức được tính toán dựa theo thứ tự ưu tiên của các phép toán: TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI i. Các biểu thức trong cặp dấu ngoặc () ii. Các phép toán 1 ngôi (++, --, &, * ¡) iii. Các phép toán số học iv. Các phép toán quan hệ, logic v. Các phép gán 4/21/2015 41 Chuyển đổi kiểu Khi tính toán một biểu thức, phần lớn các phép toán đều yêu cầu các toán hạng phải cùng kiểu. Trường hợp khác kiểu, chương trình sẽ tự động chuyển kiểu. Chuyển đổi kiểu tự động TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Kiểu dữ liệu thấp hơn sẽ được nâng thành kiểu cao hơn cho phù hợp với phép toán char ↔ int → long int → float → double 4/21/2015 42 Chuyển đổi kiểu Ép kiểu Khi chuyển kiểu tự động có thể không thực hiện được (thực nguyên) hoặc có thể mất dữ liệu (cao hơn thấp hơn). Ví dụ: int i; float f = 3; TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI i = f + 2; // f+2=5.0 nhưng không gán được cho i Ép kiểu để chuyển về kiểu mong muốn Cú pháp: (tên_kiểu)biểu_thức tên_kiểu(biểu_thức) i = (int)(f + 2); hoặc i = int(f + 2); 4/21/2015 43 Thư viện các hàm toán học Các hàm số học abs(x), labs(x), fabs(x) : trả lại giá trị tuyệt đối của một số nguyên, số nguyên dài và số thực. pow(x, y) : hàm mũ, trả lại giá trị x lũy thừa y (xy). exp(x) : hàm mũ, trả lại giá trị e mũ x (ex). log(x), log10(x) : trả lại lôgarit cơ số e và lôgarit thập phân của TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI x (lnx, logx) . sqrt(x) : trả lại căn bậc 2 của x. atof(s_number) : trả lại số thực ứng với số viết dưới dạng xâu kí tự s_number. Các hàm lượng giác sin(x), cos(x), tan(x) : trả lại các giá trị sinx, cosx, tgx.
File đính kèm:
- bai_giang_ngon_ngu_lap_trinh_c_va_c_bai_2_kieu_toan_tu_va_bi.pdf