Tài liệu 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...
43 trang |
Chia sẻ: putihuynh11 | Lượt xem: 526 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu 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 bạn click vào nút DOWNLOAD ở trên
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, tố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ư tố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ì hồn tồ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 tố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ị ngồi miền cho phép
e = 179; f = 330 ; // f cĩ giá trị ngồ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 tố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 tốn
Tốn hạng
Các thành phần tên tham gia trong phép tốn
Tốn tử
Các kí hiệu phép tốn
Phép tốn 1 ngơi
Phép tốn cĩ một tốn hạng
Tố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 tốn 2 ngơi
• Phép tốn trừ 2 ngơi: a – b
• Phép tốn lấy hội các bit 2 số nguyên: a & b
- Phép tốn 3 ngơi: a ? b : c
Tốn hạng
4/21/2015
29
Bốn Kiểu Tố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 tốn số học: +, -, *, /, %
Các phép tốn + (cộng), - (trừ), * (nhân) cĩ ý nghĩa như
trong số học thơng thơng thường
Phép tốn / (chia) dựa theo kiểu của tốn hạng
Hai tốn hạng số nguyên kết quả lấy phần nguyên
Một trong hai tố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 tốn % (lấy phần dư) trả lại phần dư của phép tốn
chia, /, hai tốn hạng số nguyên
5%2 = 1
2%5 = 2
4/21/2015
31
Phép tốn tăng và giảm: ++, --
Phép tố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 tốn xong
++i: tăng i, sau đĩ i mới tham gia vào biểu thức tính tốn
Ví dụ: j = 5
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
Phép tố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
Tốn tử quan hệ và luận lý (lơgic)
Đây là các phép tố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
Tốn tử quan hệ
Tố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 tốn quan hệ và logic
Phép tốn quan hệ (ưu tiên sau phép tốn số học)
, >=
==, != (ưu tiên sau 4 phép tốn trên)
Phép tố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 tố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 tốn tử thao tác bit
Tố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 tố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 tố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
Tố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 tốn số học, tố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 tố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 tốn tử
Đề cập đến thứ tự thực thi các tốn tử trong C/C++
Độ ưu tiên của các tốn tử này được thay đổi bởi các dấu
ngoặc đơn trong biểu thức ()
Loại tốn tử Tố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 tốn hạng (hằng,
biến, hàm), phép tố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 tốn dựa theo thứ tự ưu tiên
của các phép tố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 tốn 1 ngơi (++, --, &, * ¡)
iii. Các phép tốn số học
iv. Các phép tốn quan hệ, logic
v. Các phép gán
4/21/2015
41
Chuyển đổi kiểu
Khi tính tốn một biểu thức, phần
lớn các phép tốn đều yêu cầu các
tố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 tố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 tố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.
Các file đính kèm theo tài liệu này:
- ngon_ngu_lap_trinh_c_va_c_bai_2_kieu_toan_tu_va_bieu_thuc_0194_1993518.pdf