Kiểu dữ liệu và biểu thức trong C là nội dung của bài 2 thuộc bộ Bài giảng Tin học đại cương Phần 2 do Nguyễn Thành Kiên biên soạn. Ở bài này các bạn sẽ được tìm hiểu về các kiểu dữ liệu chuẩn trong C; biểu thức trong C.
TIN HỌC ĐẠI CƯƠNG Bài 2. KIỂU DỮ LIỆU VÀ BIỂU THỨC TRONG C Nguyễn Thành Kiên Bộ mơn Kỹ thuật máy tính Khoa Cơng nghệ thơng tin – ĐHBK HN Bài 2. KIỂU DỮ LIỆU VÀ BIỂU THỨC TRONG C 2.1. Các kiểu dữ liệu chuẩn trong C 2.2. Biểu thức trong C Bài 2. KIỂU DỮ LIỆU VÀ BIỂU THỨC TRONG C 2.1. Các kiểu dữ liệu chuẩn trong C 2.2. Biểu thức trong C 2.1. Các kiểu dữ liệu chuẩn 2.1.1. Khai báo và sử dụng biến, hằng 2.1.2. Các lệnh vào ra dữ liệu với các biến (printf, scanf) 2.1.3. Các lệnh nhập xuất khác 2.1 Các kiểu liệu chuẩn Kiểu dữ liệu Ý nghĩa Kích thước Miền biểu diễn unsigned char Kí tự 1 byte 0 255 char Kí tự 1 byte 128 127 unsigned int Số ngun khơng dấu 2 bytes 0 65,535 short int Số ngun có dấu 2 bytes 32,768 32,767 int Số ngun có dấu 2 bytes 32,768 32,767 unsigned long Số ngun khơng dấu 4 bytes 0 4,294,967,295 long Số ngun có dấu 4 bytes 2,147,483,648 2,147,483,647 float Số thực dấu phẩy động, độ chính xác đơn 4 bytes double Số thực dấu phẩy động độ 8 bytes chính xác kép 1.7E308 1.7E+308 long double Số thực dấu phẩy động 3.4E4932 1.1E+4932 10 bytes 3.4E38 3.4E+38 2.1.1. Khai báo và sử dụng biến, hằng Khai báo và sử dụng biến Khai báo và sử dụng hằng Khai báo và sử dụng biến Một biến trước khi sử dụng phải được khai báo. Cú pháp khai báo: kiểu_dữ_liệu tên_biến; Ví dụ: float x; // biến kiểu thực double z; // biến kiểu thực unsigned int i; // biến kiểu ngun Nếu các biến thuộc cùng kiểu dữ liệu thì có thể khai báo trên cùng một dịng: kiểu_dữ_liệu danh_sách_tên_biến; Ví dụ: float x, y; Khai báo và sử dụng biến Có thể được khởi tạo giá trị đầu cho biến trong dịng khai báo với cú pháp: kiểu_dữ_liệu tên_biến = giá_trị_đầu; Ví dụ: int a = 3; // sau lenh bien a se co gia tri bang float x = 5.0, y = 2.6; // sau lenh x=5.0, y=2.6 Sau khi khai báo, biến có thể nhận giá trị thuộc kiểu dữ liệu đã khai báo Khai báo và sử dụng hằng Có 2 cách để khai báo hằng trong C Dùng chỉ thị #define Khai báo với từ khóa const. Khai báo và sử dụng hằng Dùng chỉ thị #define Cú pháp khai báo: #define tên_hằng giá_trị Chương trình dịch khi gặp tên_hằng trong chương trình sẽ tự động thay thế bằng giá_trị. Kiểu dữ liệu của hằng tự động được chương trình dịch xác định dựa theo nội dung của giá_trị. VD: #define MAX_SINH_VIEN 50 #define DIEM_CHUAN 23.5 #define CNTT “Cong nghe thong tin” // kiểu số nguyên // kiểu số thực // kiểu string 10 2.2.6 Thứ tự ưu tiên phép tốn • Khái niệm thứ tự ưu tiên: – Thứ tự ưu tiên phép toán dùng để xác định trật tự kết hợp toán hạng với toán tử tính tốn giá trị biểu thức Mứ c Các tốn tử () [] -> ++ (hậu tố) hậu tố ! ~ ++ (tiền tố) (tiền tố) * & sizeof * / + - > >= != 43 += -= 2.2.6. Thứ tự ưu tiên các phép tốn Ngun tắc xác định trật tự thực hiện các phép tốn Biểu thức con trong ngoặc được tính tốn trước các phép tốn khác Phép tốn một ngơi đứng bên trái tốn hạng được kết hợp với tốn hạng đi liền nó Nếu tốn hạng đứng cạnh hai tốn tử thì có 2 khả năng là Nếu hai tốn tử có độ ưu tiên khác nhau thì tốn tử nào có độ ưu tiên cao hơn sẽ kết hợp với tốn hạng Nếu hai tốn tử cùng độ ưu tiên thì dựa vào trật tự kết hợp của các tốn tử để xác định tốn tử được kết hợp với tốn hạng 44 2.2.7. Một số tốn tử đặc trưng của C Các phép toán tăng giảm một đơn vị Phép toán lấy địa chỉ biến (&) Phép toán chuyển đổi kiểu bắt buộc Biểu thức điều kiện Lệnh dãy 45 Các phép toán tăng giảm một đơn vị Các phép tốn tăng giảm một đơn vị a++; // a=a + 1; a; // a = a – 1; Ví dụ: int a = float x a++; // x ; // 5; = 10; a = a+1 ; x = x – 1; 46 Các phép tốn tăng giảm một đơn vị Các phép tốn tăng giảm một đơn vị có hai dạng: a++; // a = a + 1; Dang hau to a ; // a = a – 1; Dang hau to ++ a; // a = a + 1; Dang tien to a; // a = a – 1; Dang tien to Trong dạng tiền tố, ta thay đổi giá trị của biến trước khi sử dụng biến đó để tính tốn giá trị của biểu thức. Trong dạng hậu tố, ta tính tốn giá trị của biểu thức bằng giá trị ban đầu của biến, sau đó mới thay đổi giá trị của biến. 47 Các phép tốn tăng giảm một đơn vị Ví dụ int a, b, c; a = 3; // a b = a++; // dạng hậu tố // b=3; a=4 c = ++b; // dạng tiền tố // b=4, c=4; 48 Phép tốn lấy địa chỉ biến (&) Một biến thực chất là một vùng nhớ được đặt tên (là tên của biến) trên bộ nhớ của máy tính. Mọi ơ nhớ trên bộ nhớ máy tính đều được đánh địa chỉ. Do đó mọi biến đều có địa chỉ. Cú pháp: & ; a 3,300,157 D6 3,300,158 07 3,300,159 3,300,160 Ví dụ b=&a; // b=3,300,159 hay 0032:5B3F 49 Phép toán chuyển đổi kiểu bắt buộc Chuyển đổi kiểu là chuyển kiểu dữ liệu của một biến từ kiểu dữ liệu này sang kiểu dữ liệu khác. Cú pháp của lệnh chuyển kiểu dữ liệu là như sau: () ; 50 Phép tốn chuyển đổi kiểu bắt buộc Ví dụ: #include #include void main() { long li; int i; float f; clrscr(); li = 0x123456; f = 123.456; i = (int) li; printf(“\n li = printf(“\n i = i = (int) f; printf(“\n f = printf(“\n i = getch(); } %ld”,li); %d”,i); %f”,f); %d”,i); 51 Biểu thức điều kiện Cú pháp: biểu_thức_1 ? biểu_thức_2 : biểu_thức_3 Giá trị của biểu thức điều kiện sẽ là: Giá trị của biểu_thức_2 nếu biểu_thức_1 != 0 (tương ứng với giá trị logic ĐÚNG), Giá trị của biểu_thức_3 nếu biểu_thức_1 == 0 (tương ứng với giá trị logic SAI) 52 Biểu thức điều kiện Ví dụ: float x, y, z; x = 3.8; y = 2.6; z = (x ( d –7))?(c + 1) : (b++); 56 57 ... cái hoa thì hiển thị ra màn hình chữ cái thường tương ứng 26 Bài? ?tập BT2: 27 Bài? ?2. KIỂU DỮ LIỆU VÀ BIỂU THỨC TRONG C 2. 1. Các kiểu dữ liệu chuẩn trong C 2. 2. Biểu thức trong C 28 2. 2. Biểu thức trong C 2. 2.1. Các phép toán (toán tử)... 2. 2.1. Các phép toán (toán tử) 2. 2 .2. Phép toán số? ?học 2. 2.3. Phép toán quan hệ 2. 2.4. Các phép toán logic 2. 2.5. Phép toán gán 2. 2.6. Thứ tự ưu tiên các phép toán 2. 2.7. Một số toán tử đặc trưng của C 29 Các loại biểu thức trong C... liệu ta chỉ cần thêm dấu trừ vào ngay sau dấu %. printf("\n %-3 d %-1 5s %-4 .2f %-3 c", 1, "nguyen van a", 8.5, ''g''); printf("\n %-3 d %-1 5s %-4 .2f %-3 c", 2, "tran van b", 6.75, ''k''); 20 Hàm scanf() Nhập ký tự từ bàn phím