Bài giảng C - hằng biến phép toán và phép gán
LẬP TRÌNH C++ §3 Hằng, biến, phép tốn số học phép gán I Các kiểu liệu C Kiểu số nguyên Kiểu số nguyên kiểu liệu dùng để lưu giá trị nguyên hay gọi kiểu đếm Kiểu số nguyên C chia thành kiểu liệu con, kiểu có miền giá trị khác Kiểu số nguyên byte (8 bits) Kiểu số nguyên byte gồm có kiểu sau: STT Kiểu liệu Miền giá trị (Domain) unsigned char Từ đến 255 char Từ -128 đến 127 Kiểu unsigned char: lưu số nguyên dương từ đến 255 => Để khai báo biến kiểu ký tự ta khai báo biến kiểu unsigned char Mỗi số miền giá trị kiểu unsigned char tương ứng với ký tự bảng mã ASCII Kiểu char: lưu số nguyên từ -128 đến 127 Kiểu char sử dụng bit trái để làm bit dấu Kiểu số nguyên bytes (16 bits) Kiểu số nguyên bytes gồm có kiểu sau: STT Kiểu liệu Miền giá trị (Domain) enum Từ -32,768 đến 32,767 unsigned int Từ đến 65,535 short int Từ -32,768 đến 32,767 int Từ -32,768 đến 32,767 Kiểu enum, short int, int : Lưu số nguyên từ -32768 đến 32767 Sử dụng bit bên trái để làm bit dấu => Nếu gán giá trị >32767 cho biến có kiểu giá trị biến số âm Kiểu unsigned int: Kiểu unsigned int lưu số nguyên dương từ đến 65535 Kiểu số nguyên byte (32 bits) Kiểu số nguyên bytes hay gọi số nguyên dài (long) gồm có kiểu sau: STT Kiểu liệu Miền giá trị (Domain) unsigned long Từ đến 4,294,967,295 long Từ -2,147,483,648 đến 2,147,483,647 Kiểu long : Lưu số nguyên từ -2147483658 đến 2147483647 Sử dụng bit bên trái để làm bit dấu => Nếu gán giá trị >2147483647 cho biến có kiểu long giá trị biến số âm Kiểu unsigned long: Kiểu unsigned long lưu số nguyên dương từ đến 4294967295 Kiểu số thực Kiểu số thực dùng để lưu số thực hay số có dấu chấm thập phân gồm có kiểu sau: STTKiểu liệu Kích thước Miền giá trị (Domain) float bytes Từ 3.4 * 10-38 đến 3.4 * 1038 double bytes Từ 1.7*10-308 đến 1.7*10308 long double 10 bytes Từ 3.4*0-4932 đến 1.1*104932 Mỗi kiểu số thực có miền giá trị độ xác (số số lẻ) khác Tùy vào nhu cầu sử dụng mà ta khai báo biến thuộc kiểu Ngồi ta cịn có kiểu liệu void, kiểu mang ý nghĩa kiểu rỗng không chứa giá trị II Tên (danh biểu) Tên hay gọi danh biểu (identifier) dùng để đặt cho chương trình, hằng, kiểu, biến, chương trình Tên có hai loại tên chuẩn tên người lập trình đặt Tên chuẩn tên C đặt sẵn tên kiểu: int, char, float,…; tên hàm: sin, cos Tên người lập trình tự đặt để dùng chương trình Sử dụng chữ cái, chữ số dấu gạch (_) để đặt tên, phải tuân thủ quy tắc: Bắt đầu chữ dấu gạch Không có khoảng trống tên Khơng trùng với từ khóa Độ dài tối đa tên khơng giới hạn, nhiên có 31 ký tự có ý nghĩa Khơng cấm việc đặt tên trùng với tên chuẩn ý nghĩa tên chuẩn khơng cịn giá trị Ví dụ: tên người lập trình đặt: Chieu_dai, Chieu_Rong, Chu_Vi, Dien_Tich Tên không hợp lệ: Do Dai, 12A2,… III Khai báo số Hằng (Constant) Là đại lượng không đổi suốt trình thực thi chương trình Hằng chuỗi ký tự, ký tự, số xác định Chúng biểu diễn hay định dạng (Format) với nhiều dạng thức khác Để khai báo số ta dùng cú pháp sau : const kiểu_dữ_liệu TEN_HANG=giá_tri; Ví dụ : const double PI=3.1415; Thông thường tên số thường viết chữ in hoa IV Khai báo biến số Biến đại lượng người lập trình định nghĩa đặt tên thông qua việc khai báo biến Biến dùng để chứa liệu trình thực chương trình giá trị biến bị thay đổi q trình Cách đặt tên biến giống cách đặt tên nói phần Mỗi biến thuộc kiểu liệu xác định có giá trị thuộc kiểu Cú pháp khai báo biến: Danh_sách_các_tên_biến; Danh_sách_các_tên_biến cách dấu phẩy; Ví dụ: int a, b, c; /*Ba biến a, b,c có kiểu int*/ long int chu_vi; /*Biến chu_vi có kiểu long*/ float nua_chu_vi; /*Biến nua_chu_vi có kiểu float*/ double dien_tich; /*Biến dien_tich có kiểu double*/ Lưu ý: Để kết thúc lệnh phải có dấu chấm phẩy (;) cuối lệnh Vị trí khai báo biến C Trong ngơn ngữ lập trình C, ta phải khai báo biến vị trí Nếu khai báo (đặt biến) khơng vị trí dẫn đến sai sót ngồi ý muốn mà người lập trình khơng lường trước (hiệu ứng lề) Chúng ta có cách đặt vị trí biến sau: a) Khai báo biến ngoài: Các biến đặt bên tất hàm có tác dụng hay ảnh hưởng đến tồn chương trình (cịn gọi biến tồn cục) Ví dụ: int i; /*Bien ben ngoai */ float pi; /*Bien ben ngoai*/ int main() {…} b) Khai báo biến trong: Các biến đặt bên hàm, chương trình hay khối lệnh Các biến có tác dụng hay ảnh hưởng đến hàm, chương trình hay khối lệnh chứa Khi khai báo biến, phải đặt biến đầu khối lệnh, trước lệnh gán, … V Biểu thức phép toán số học Biểu thức Biểu thức kết hợp toán tử (operator) toán hạng (operand) theo trật tự định Mỗi tốn hạng hằng, biến biểu thức khác Trong trường hợp, biểu thức có nhiều tốn tử, ta dùng cặp dấu ngoặc đơn () để định toán tử thực trước Ví dụ: Biểu thức nghiệm phương trình bậc hai: (-b + sqrt(Delta))/(2*a) Trong hằng; a, b, Delta biến Các toán tử số học Trong ngơn ngữ C, tốn tử +, -, *, / làm việc tương tự chúng làm việc ngơn ngữ khác Ta áp dụng chúng cho đa số kiểu liệu có sẵn cho phép C Khi ta áp dụng phép / cho số nguyên hay ký tự, phần dư bị cắt bỏ Chẳng hạn, 5/2 phép chia nguyên.10 VI Phép gán int n=100; float x, y, z; x=10.25; y=x*x; z=sqrt(y); //sử dụng thư viện x=y=z=12.4*4.2; Bài tập : Đọc vào cạnh góc vng, tính cạnh huyền Đọc vào góc theo độ, đổi góc radian Đọc vào góc theo radian, đổi góc độ Đọc vào cạnh a hình vng Tính diện tích đường chéo hình vng 11 ... Danh_sách _c? ?c_ tên _biến; Danh_sách _c? ?c_ tên _biến c? ?ch dấu phẩy; Ví dụ: int a, b, c; /*Ba biến a, b ,c có kiểu int*/ long int chu_vi; / *Biến chu_vi c? ? kiểu long*/ float nua_chu_vi; / *Biến nua_chu_vi c? ?... x=y=z=12.4*4.2; Bài tập : Đ? ?c vào c? ??nh g? ?c vng, tính c? ??nh huyền Đ? ?c vào g? ?c theo độ, đổi g? ?c radian Đ? ?c vào g? ?c theo radian, đổi g? ?c độ Đ? ?c vào c? ??nh a hình vng Tính diện tích đường chéo hình vng... làm vi? ?c ngôn ngữ kh? ?c Ta áp dụng chúng cho đa số kiểu liệu c? ? sẵn cho phép C Khi ta áp dụng phép / cho số nguyên hay ký tự, phần dư bị c? ??t bỏ Chẳng hạn, 5/2 phép chia nguyên.10 VI Phép gán int