Bài giảng Hệ thống máy tính và ngôn ngữ lập 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. Bài giảng cung cấp cho học viên những kiến thức về danh hiệu; các kiểu dữ liệu chuẩn của C; hằng (constant); biến (variable); biểu thức; các phép toán của C; 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;... Mời các bạn cùng tham khảo!
1 Các nội dung: Danh hiệu Các kiểu liệu chuẩn C Hằng (constant) Biến (variable) Biểu thức Các phép toán C Cấu trúc tổng quát chương trình C Bài tập cuối chương © TS Nguyễn Phúc Khải DANH HIỆU Danh hiệu tên hằng, biến, hàm ký hiệu quy định đặc trưng cho thao tác Danh hiệu có hai loại: ký hiệu danh hiệu © TS Nguyễn Phúc Khải DANH HIỆU Ký hiệu (symbol) dấu C quy định để biểu diễn cho thao tác Nếu dùng dấu để biểu diễn cho thao tác ta có ký hiệu đơn (single symbol) Ví dụ: +, -, *, /, %, =, >, < Nếu dùng hai dấu trở lên biểu diễn cho thao tác ta có ký hiệu kép (compound symbol) Ví dụ: ==, >=, 127, thành số âm char short int Mất trị từ bit trở char int Mất trị từ bit trở char long Mất trị từ bit trở short int long int Mất 16 bit cao (một int) int float Mất phần thập phân phần trị lớn int float double Độ xác làm trịn © TS Nguyễn Phúc Khải 86 CÁC PHÉP TOÁN CỦA C Đối với phép gán phức, việc chuyển kiểu thực theo việc chuyển kiểu tự động thực việc tính tốn biểu thức việc chuyển kiểu phép gán đơn giản Phép gán phức hợp hiệu toán hạng bên trái biến dài © TS Nguyễn Phúc Khải 87 CÁC PHÉP TỐN CỦA C Ví dụ: Thay viết: n = n * (x + 5) + n * (a + 8); ta cần viết: n *= x + + a + 8; Hoặc phức tạp a[i][j] –= b[i][j]; thay phải viết dài dịng a[i][j] = a[i][j] – b[i][j]; © TS Nguyễn Phúc Khải 88 CÁC PHÉP TOÁN CỦA C Nếu biểu thức gán kết thúc dấu ";" ta có lệnh gán, cịn biểu thức gán sử dụng biểu thức phức hợp khác biểu thức gán có trị trị biến sau gán Ví dụ: int a = 4, b = 3; b + = (a = * b) + (a *= b); © TS Nguyễn Phúc Khải 89 CÁC PHÉP TOÁN CỦA C 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 biểu_thức_kết_quả hai biểu thức Ví dụ: m = (a = 2, t = a + 3); cho a = 2, t = m = t = Hoặc x = (t = 1, t + 4); cho t = x = © TS Nguyễn Phúc Khải 90 CÁC PHÉP TỐN CỦA C Tốn tử điều kiện - biểu thức điều kiện Trong ngơn ngữ C có toán tử đặc biệt gọi toán tử điều kiện, ký hiệu toán tử điều kiện hai dấu "?" ":" theo cú pháp sau: dieu-kien ? bieu-thuc1 : bieu-thuc2 với dieu-kien biểu thức có kết thuộc kiểu chuẩn (scalar type) bieu-thuc1, bieu-thuc2 hai biểu thức dĩ nhiên biểu thức điều kiện khác © TS Nguyễn Phúc Khải 91 CÁC PHÉP TỐN CỦA C Ví dụ: Thay phải viết dài dòng if ( i >0 ) n = 1; else n = 0; ta cần dùng biểu thức điều kiện n =(i > 0) ? : 0; © TS Nguyễn Phúc Khải 92 CÁC PHÉP TỐN CỦA C Toán tử sizeof Đây tốn tử cho ta kích thước biến kiểu liệu Do phạm vi sử dụng sizeof rộng thường dùng để lấy kích thước kiểu liệu phức hợp struct, union Việc sử dụng toán tử cho phép ta quan tâm đến chiều dài cụ thể biến © TS Nguyễn Phúc Khải 93 CÁC PHÉP TỐN CỦA C Tốn hạng sizeof biến kiểu liệu định nghĩa sizeof (biến) sizeof biến sizeof (kiểu) Kết toán tử giá trị nguyên kích thước (tính byte char) kiểu liệu biến Biến kiểu biến kiểu đơn giản hay phức hợp © TS Nguyễn Phúc Khải 94 Độ ưu tiên 10 11 12 13 14 15 Phép toán () [ ] -> ! ~ ++ – + (type) * & sizeof */% +– > < >= == != & ^ | && || ?: = += –= *= /= %= = &= |= ^= , © TS Nguyễn Phúc Khải Thứ tự kết hợp Trái qua phải Phải qua trái * Trái qua phải Trái qua phải Trái qua phải Trái qua phải Trái qua phải Trái qua phải Trái qua phải Trái qua phải Trái qua phải Trái qua phải Trái qua phải* Phải qua trái * Trái qua phải 95 CẤU TRÚC TỔNG QUÁT Một chương trình C tổng quát gồm hai phần: phần khai báo đầu (header) phần hàm (function) Phần khai báo đầu bao gồm: Các lệnh tiền xử lý: include, define Các khai báo hằng, biến Các prototype hàm sử dụng chương trình Phần hàm phần định nghĩa hàm sử dụng chương trình, hàm phải có © TS Nguyễn Phúc Khải 96 hàm main() CẤU TRÚC TỔNG QUÁT Ví dụ: Nhập 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 - la so chan - la so le */ © TS Nguyễn Phúc Khải 97 CẤU TRÚC TỔNG QUÁT main() { int n; clrscr(); printf ("Nhap mot so: "); scanf ("%d", &n); if (kiem_tra(n)) printf ("So da nhap la so le \n"); else printf ("So da nhap la so chan \n"); © TS Nguyễn Phúc Khải 98 CẤU TRÚC TỔNG QUÁT getch(); } int kiem_tra (int so) { return (so % == 0)? 0:1; } © TS Nguyễn Phúc Khải 99 © TS Nguyễn Phúc Khải 100 ... x? ?c định kiểu không dấu short x? ?c định kiểu ngắn kiểu long x? ?c định kiểu dài kiểu © TS Nguyễn Ph? ?c Khải 22 C? ?C KIỂU DỮ LIỆU C? ??A C © TS Nguyễn Ph? ?c Khải 23 C? ?C KIỂU DỮ LIỆU C? ??A C Chú ý nhớ máy. . .C? ?c nội dung: Danh hiệu C? ?c kiểu liệu chuẩn C Hằng (constant) Biến (variable) Biểu th? ?c C? ?c phép toán C Cấu tr? ?c tổng quát chương trình C Bài tập cuối chương © TS Nguyễn Ph? ?c. .. Mỗi dịch C có quy định kh? ?c tầm trị kiểu char, dịch TURBO C VERSION 2.0 kiểu char kiểu c? ? dấu © TS Nguyễn Ph? ?c Khải 14 C? ?C KIỂU DỮ LIỆU C? ??A C Ví dụ: Biến kiểu char lưu trị ký tự #include