Bài giảng Tin học đại cương – Bài 2: Kiểu dữ liệu và biểu thức trong C trình bày các kiểu dữ liệu chuẩn trong C; khai báo và sử dụng biến, hằng; các lệnh vào ra dữ liệu với các biến; các lệnh vào ra khác; các phép toán trong C; biểu thức trong C; một số toán tử đặc trưng.
VIỆN CÔNG NGHỆ THÔNG TIN SCHOOL OF INFORMATION COMMUNICATION TECHNOLOGY TIN HỌC ĐẠI CƯƠNG PHẦN 2: LẬP TRÌNH BẰNG NGƠN NGỮ C BÀI 2: KIỂU DỮ LIỆU VÀ BIỂU THỨC TRONG C Ts Nguyễn Thanh Hùng BÀI KIỂU DỮ LIỆU VÀ BIỂU THỨC TRONG C 2.1 Các kiểu liệu chuẩn C 2.2 Khai báo sử dụng biến, 2.3 Các lệnh vào liệu với biến 2.4 Các lệnh vào khác 2.5 Các phép toán C 2.6 Biểu thức C 2.7 Một số toán tử đặc trưng 2.1 Các kiểu liệu chuẩn C 2.1 Các kiểu liệu chuẩn C BÀI KIỂU DỮ LIỆU VÀ BIỂU THỨC TRONG C 2.1 Các kiểu liệu chuẩn C 2.2 Khai báo sử dụng biến, 2.3 Các lệnh vào liệu với biến 2.4 Các lệnh vào khác 2.5 Các phép toán C 2.6 Biểu thức C 2.7 Một số toán tử đặc trưng 2.2.1 Khai báo sử dụng biến Một biến trước sử dụng phải khai báo Cú pháp khai báo: kiểu_dữ_liệu tên_biến; Hoặc: kiểu_dữ_liệu tên_biến1, …, tên_biếnN; Ví dụ: Khai báo biến x thuộc kiểu số nguyên byte có dấu (int), biến y, z,t thuộc kiểu thực byte (float) sau: int x; float y,z,t; Khai báo khởi tạo giá trị cho biến Cú pháp: kiểu_dữ_liệu tên_biến = giá_trị_ban_đầu; Hoặc: kiểu_dữ_liệu biến1=giá_trị1, biếnN=giá_trịN; Ví dụ: int a = 3;// sau lenh bien a se co gia tri bang float x = 5.0, y = 2.6; // sau lenh x co gia // tri 5.0, y co gia tri 2.6 2.2.2 Khai báo Cách 1: Dùng từ khóa #define: Cú pháp: # define tên_hằng giá_trị Ví dụ: #define #define #define MAX_SINH_VIEN 50 CNTT “Cong nghe thong tin” DIEM_CHUAN 23.5 2.2.2 Khai báo Cách 2: Dùng từ khóa const : Cú pháp: const kiểu_dữ_liệu tên_hằng = giá_trị; Ví dụ: const int MAX_SINH_VIEN = 50; const char CNTT[20] = “Cong nghe thong tin”; const float DIEM_CHUAN = 23.5; 10 2.2.2 Khai báo Chú ý: Giá trị phải xác định khai báo Trong chương trình, KHƠNG thể thay đổi giá trị #define thị tiền xử lý (preprocessing directive) Dễ đọc, dễ thay đổi Dễ chuyển đổi tảng phần cứng Tốc độ nhanh 11 2.6.1 Các loại biểu thức b Biểu thức logic: Là biểu thức mà giá trị giá trị logic, tức hai giá trị: Đúng (TRUE) Sai (FALSE) Giá trị nguyên khác 0: Đúng (TRUE), Giá trị 0: Sai (FALSE) Các phép tốn logic gồm có AND: VÀ logic, kí hiệu && OR: HOẶC logic, kí hiệu || NOT: PHỦ ĐỊNH, kí hiệu ! 70 2.6.1 Các loại biểu thức c Biểu thức quan hệ: Là biểu thức có sử dụng toán tử quan hệ so sánh lớn hơn, nhỏ hơn, nhau, khác nhau… Chỉ nhận giá trị giá trị Đúng (TRUE) Sai (FALSE) Biểu thức quan hệ trường hợp riêng biểu thức logic 71 2.6.1 Các loại biểu thức Ví dụ biểu thức quan hệ: 72 2.6.1 Các loại biểu thức Ví dụ biểu thức logic: 73 2.6.2 Sử dụng biểu thức Làm vế phải lệnh gán Làm toán hạng biểu thức khác Làm tham số thực lời gọi hàm Làm số cấu trúc lặp for, while, while Làm biểu thức kiểm tra cấu trúc rẽ nhánh if, switch 74 BÀI KIỂU DỮ LIỆU VÀ BIỂU THỨC TRONG C 2.1 Các kiểu liệu chuẩn C 2.2 Khai báo sử dụng biến, 2.3 Các lệnh vào liệu với biến 2.4 Các lệnh vào khác 2.5 Các phép toán C 2.6 Biểu thức C 2.7 Một số toán tử đặc trưng 75 2.7.1 Các phép toán tăng giảm đơn vị Tăng giảm đơn vị cho biến: = + 1; ++; = - 1; ; Ví dụ: int a float a ++; x ; = 5; x = 10; // tương đương với a = a + 1; // tương đương với x = x – 1; 76 2.7.1 Các phép toán tăng giảm đơn vị (tiếp) Tiền tố: Thay đổi giá trị biến trước sử dụng Hậu tố: Tính tốn giá trị biểu thức giá trị ban đầu biến, sau thay đổi giá trị biến Ví dụ: int a, b, c; a = 3; // a bang b = a++;// Dang hau to // b 3; a c = ++b;// Dang tien to // b 4, c 4; 77 2.7.2 Phép toán lấy địa biến (&) & ; Ví dụ: a kiểu liệu int (2 bytes) &a; // co gia tri la 3,300,159 hay 0032:5B3F 78 2.7.3 Phép toán chuyển đổi kiểu bắt buộc () ; Chương trình dịch tự động chuyển đổi kiểu Số nguyên int long int Số long int float… Ngược lại Số nguyên long int 50,000 số nguyên kiểu int phạm vi biểu diễn kiểu int từ (-32,768 đến 32,767) Phải ép kiểu 79 2.7.3 Phép toán chuyển đổi kiểu bắt buộc (tiếp) Ví dụ: #include #include void main() { long int li; int li = 0x123456; f = i; float f; clrscr(); 123.456; i = (int) li; printf(“\n li = %ld”,li); printf(“\n i printf(“\n f printf(“\n i getch(); = %d”,i); = %f”,f); = %d”,i); i = (int) f; } 80 2.7.3 Phép toán chuyển đổi kiểu bắt buộc (tiếp) Kết li = 1193046 i = 13398 f = 123.456001 i = 123 81 2.7.3 Phép toán chuyển đổi kiểu bắt buộc (tiếp) C hỗ trợ chuyển kiểu tự động trường hợp sau char int long int float double long double 82 2.7.4 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ị biểu thức điều kiện Giá trị biểu_thức_2 biểu_thức_1 có giá trị khác (tương ứng với giá trị logic ĐÚNG), Ngược lại: Giá trị biểu_thức_3 biểu_thức_1 có giá trị (tương ứng với giá trị logic SAI) Ví dụ: float x, y, z; // khai báo biến x = 3.8; y = 2.6; // gán giá trị cho biến x, y z = (x