Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 7: Các thành phần cơ bản và các kiểu dữ liệu của C

7.1 Danh hiệu

7.2 Các kiểu dữ liệu chuẩn của C

7.3 Hằng (constant)

7.4 Biến (variable)

7.5 Biểu thức

7.6 Các phép toán của C

7.7 Cấu trúc tổng quát của một chương trình C

Bài tập cuối chương

 

pdf141 trang | Chuyên mục: C/C++ | Chia sẻ: yen2110 | Lượt xem: 455 | Lượt tải: 0download
Tóm tắt nội dung Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 7: Các thành phần cơ bản và các kiểu dữ liệu của C, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
, trước khi gán toán hạng bên phải sẽ được 
chuyển theo kiểu của toán hạng bên trái, điều này có thể 
sẽ gây ra kết quả sai hoặc không chính xác, nếu như kiểu 
của toán hạng bên trái thấp hơn kiểu của toán hạng bên 
phải. 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.6 Toán tử gán 
Kiểu toán hạng trái 
Kiểu toán hạng phải 
Trị có thể mất sau khi gán 
signed char 
unsigned char 
Giá trị > 127, thành số âm 
char 
short int 
Mất trị từ bit 8 trở đi 
char 
int 
Mất trị từ bit 8 trở đi 
char 
long 
Mất trị từ bit 8 trở đi 
short int 
long int 
Mất 16 bit cao (một int) 
int 
float 
Mất phần thập phân và phần trị lớn hơn một 
int 
float 
double 
Độ chính xác do làm tròn 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.6 Toán tử gán 
Đối với phép gán phức, việc chuyển kiểu được thực hiện 
theo việc chuyển kiểu tự động trong khi thực hiện việc 
tính toán biểu thức và việc chuyển kiểu của phép gán đơn 
giản. 
Phép gán phức hợp này tỏ ra rất hiệu quả nhất là khi các 
toán hạng bên trái là những biến khá dài. 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.6 Toán tử gán 
Ví dụ: 
Thay vì viết: 
n = n * (x + 5) + n * (a + 8); 
ta chỉ cần viết: 
n *= x + 5 + a + 8; 
Hoặc phức tạp hơn 
a[i][j] –= b[i][j]; 
thay vì phải viết dài dòng 
a[i][j] = a[i][j] – b[i][j]; 
. 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.6 Toán tử gán 
Đối với C, nếu một biểu thức gán được kết thúc bằng một 
dấu ";" thì ta có một lệnh gán; còn nếu biểu thức gán này 
được sử dụng trong một biểu thức phức hợp khác thì biểu 
thức gán sẽ có trị là trị của biến sau khi gán. 
Ví dụ: 
int a = 4, b = 1; 
b + = (a = 2 * b) + (a *= b); 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.7 Toán tử phẩy - Biểu thức phẩy 
Cú pháp: 
biểu_thức_1, biểu_thức_kết_quả 
Với biểu_thức_1 và biểu_thức_kết_quả là hai biểu thức bất 
kỳ. 
Ví dụ: 
 m = (a = 2, t = a + 3); 
sẽ cho a = 2, t = 5 và m = t = 5 
hoặc x = (t = 1, t + 4); 
sẽ cho t = 1 và x = 5 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.8 Toán tử điều kiện - biểu thức điều kiện 
Trong ngôn ngữ C có một toán tử khá đặc biệt gọi là toán 
tử điều kiện, ký hiệu của toán tử điều kiện là hai dấu "?" 
và ":" theo cú pháp sau: 
dieu-kien ? bieu-thuc1 : bieu-thuc2 
với dieu-kien là một biểu thức bất kỳ có kết quả thuộc 
kiểu chuẩn (scalar type) 
bieu-thuc1, bieu-thuc2 là hai biểu thức bất kỳ và dĩ 
nhiên có thể là một biểu thức điều kiện khác. 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.8 Toán tử điều kiện - biểu thức điều kiện 
Ví dụ: 
Thay vì phải viết dài dòng 
 if ( i >0 ) 
 n = 1; 
 else n = 0; 
ta chỉ cần dùng biểu thức điều kiện 
 n =(i > 0) ? 1 : 0; 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.8 Toán tử điều kiện - biểu thức điều kiện 
Ví dụ: Viết chương trình nhập một ký tự, đổi ký tự đó 
sang ký tự hoa nếu đó là ký tự thường. 
#include 
#include 
main() 
 { 
 char c; 
 clrscr(); 
 printf ("Nhap mot ky tu: "); 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.8 Toán tử điều kiện - biểu thức điều kiện 
 c = getchar(); (1) 
 c =( c >= 'a' && c <= 'z' ) ? c - 32 : c; (2) 
 printf ("Ky tu da duoc doi la: "); 
 putchar (c); 
 getch(); 
 } 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.9 Toán tử sizeof 
Đây là một toán tử cho ta kích thước của một biến hoặc 
một kiểu dữ liệu nào đó. Do phạm vi sử dụng của sizeof rất 
rộng và thường được dùng để lấy kích thước các kiểu dữ 
liệu phức hợp như struct, union... Việc sử dụng toán tử này 
cho phép ta không phải quan tâm đến chiều dài cụ thể của 
các biến. 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.9 Toán tử sizeof 
Toán hạng của sizeof là một biến hoặc một kiểu dữ liệu 
bất kỳ nào đó đã định nghĩa. 
 sizeof (biến) 
 sizeof biến 
 sizeof (kiểu) 
Kết quả của toán tử này là một giá trị nguyên chỉ kích 
thước (tính bằng byte hoặc char) của kiểu dữ liệu hoặc của 
biến đó. Biến hoặc kiểu này có thể là một biến hoặc một 
kiểu đơn giản hay phức hợp. 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.9 Toán tử sizeof 
Ví dụ: 
Nếu có một biến đã khai báo: 
double f; 
thì: 
sizeof (f); 
sizeof f; 
hoặc: 
sizeof (double); 
sẽ cho ta kết quảlà 8 (byte). 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.10 Độ ưu tiên của các toán tư 
Trong một biểu thức, các phép toán luôn được thực hiện 
theo một mức độ ưu tiên khác nhau, và nếu cùng một độ 
ưu tiên thì các phép toán sẽ được kết hợp với nhau theo 
một trật tự nhất định. 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.6 CÁC PHÉP TOÁN CỦA C 
7.6.10 Độ ưu tiên của các toán tư 
Độ ưu tiên Phép toán Thứ tự kết hợp 
1 () [ ] ->. Trái qua phải 
2 ! ~ ++ – + (type) * & sizeof Phải qua trái * 
3 * / % Trái qua phải 
4 + – Trái qua phải 
5 > Trái qua phải 
6 >= Trái qua phải 
7 == != Trái qua phải 
8 & Trái qua phải 
9 ^^ Trái qua phải 
10 | Trái qua phải 
11 && Trái qua phải 
12 || Trái qua phải 
13 ?: Tráái qua trái * 
14 = += –= *= /= %= >= &= |= ^= Phải qua trái * 
15 , Trái qua phải 

CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.7 CẤU TRÚC TỔNG QUÁT CỦA MỘT CHƯƠNG 
TRÌNH C 
Một chương trình C tổng quát bao hàm hai phần: phần 
khai báo đầu (header) và phần hàm (function). 
Phần khai báo đầu của một chương trình C bao gồm: 
- Các lệnh tiền xử lý: include, define ... 
- Các khai báo hằng, biến ngoài ... 
- Các prototype của các hàm được sử dụng trong chương 
trình 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.7 CẤU TRÚC TỔNG QUÁT CỦA MỘT CHƯƠNG 
TRÌNH C 
Phần hàm của một chương trình C là phần định nghĩa các 
hàm sử dụng trong chương trình, trong các hàm này phải 
có hàm main(). 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.7 CẤU TRÚC TỔNG QUÁT CỦA MỘT CHƯƠNG 
TRÌNH C 
Ví dụ: Nhập một số kiểm tra số đó chẵn hay lẻ. 
#include 
#include 
int kiem_tra (int so); 
/* ham kiem_tra nhan vao doi so 
la mot so nguyen, tra ve tri 
- 0 la so chan 
- 1 la so le 
*/ 







 








phần khai báo
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.7 CẤU TRÚC TỔNG QUÁT CỦA MỘT CHƯƠNG 
TRÌNH C 
main() 
 { 
 int n; 
 clrscr(); 
 printf ("Nhap mot so: "); 
 scanf ("%d", &n); 
 if (kiem_tra(n)) 
 printf ("So da nhap la so le \n"); 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
7.7 CẤU TRÚC TỔNG QUÁT CỦA MỘT CHƯƠNG 
TRÌNH C 
 else 
 printf ("So da nhap la so chan \n"); 
 getch(); 
 } 
int kiem_tra (int so) 
 { 
return (so % 2 == 0)? 0:1; 
 } 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
BÀI TẬP CUỐI CHƯƠNG 
1. Viết chương trình in ra màn hình trị thập phân của các 
hằng sau đây 
 067 01234 0x1al 0x89ad 
 0xfb 'h' 022 02365 
2. Nhập ba số, tìm số lớn nhất và nhỏ nhất trong ba số 
đó. 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
BÀI TẬP CUỐI CHƯƠNG 
3. Nhập bốn số, sắp xếp theo thứ tự từ lớn tới nhỏ và từ 
nhỏ tới lớn theo menu sau: 
1. Từ lớn tới nhỏ 
2. Từ nhỏ tới lớn 
3. Kết thúc 
Mời bạn chọn thao tác (1...3): 
4. Nhập ba cạnh tam giác, kiểm tra ba cạnh đó có thỏa 
điều kiện hình thành tam giác không, in kết quả kiểm tra. 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
BÀI TẬP CUỐI CHƯƠNG 
5. Nhập ba cạnh tam giác, kiểm tra ba cạnh đó có thỏa 
điều kiện hình thành tam giác không, nếu thỏa in ra kết 
quả xem tam giác đó là tam giác gì (vuông thì vuông tại 
đâu, cân thì cân tại đâu ...)? 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
BÀI TẬP CUỐI CHƯƠNG 
6. Viết chương trình nhập một ký tự và xử lý theo yêu cầu 
sau: 
- Nếu ký tự là hoa thì đổi sang thường, in kết quả đổi 
- Nếu ký tự là thường thì không làm gì cả, in kết quả 
- Nếu ký tự là ký số thì in ra màn hình câu: "Day la mot 
ky so". 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
BÀI TẬP CUỐI CHƯƠNG 
7. Dùng hàm pow () để tính bình phương và lũy thừa ba 
của một số nhập từ bàn phím. 
8. Viết chương trình đổi từ độ Fahrenheit (F) sang độ 
Celcius (C) theo công thức sau: 


F
C
32 9
5
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 
 KẾT THÚC CHƯƠNG 7 
CHƯƠNG 7 
CÁC THÀNH PHẦN CƠ BẢN VÀ CÁC KIỂU DỮ 
LIỆU CỦA C 

File đính kèm:

  • pdfbai_giang_he_thong_may_tinh_va_ngon_ngu_c_chuong_7_cac_thanh.pdf
Tài liệu liên quan