Các nguyên tắc đặt tên định danh Tên biến phải bắt đầu bằng một ký tự alphabet Theo sau ký tự đầu có thể là các ký tự chữ, số … Nên tránh đặt tên biến trùng tên các từ khoá Tên biến nên [r]
(1)Biến và Kiểu Dữ Liệu Chương (2) Mục Tiêu Hiểu biến (variables) Phân biệt biến và (constants) Liệt kê các kiểu liệu khác và sử dụng chúng chương trình C Hiểu và sử dụng các toán tử số học Lập trình C/Chương 2/ of 22 (3) Biến Bộ nhớ Dữ liệu 15 15 Dữ liệu nhớ Mỗi vị trí nhớ là Biến cho phép cung cấp tên có ý nghĩa cho vị trí nhớ Lập trình C/Chương 2/ of 22 (4) Ví dụ BEGIN DISPlAY ‘Enter numbers’ INPUT A, B C=A+B DISPLAY C END • A, B và C là các biến đoạn mã giả trên • Tên biến giúp chúng ta truy cập vào nhớ mà không cần dùng địa chúng • Hệ điều hành đảm nhiệm việc cấp nhớ còn trống cho biến này • Ðể tham chiếu đến giá trị cụ thể nhớ, chúng ta cần dùng tên biến Lập trình C/Chương 2/ of 22 (5) Khai báo • <kiểu liệu> <tên biến> [=<giá trị 1>] •Ví dụ: int a = 3; int b; int a=3, b=4; char c = ‘A’; Lập trình C/Chương 2/ of 22 (6) Hằng Một (constant) là giá trị không thay đổi thời gian tồn nó Định nghĩa hằng: sử dụng từ khóa const const <kiểu liệu> <tên hằng> = <giá trị> Lập trình C/Chương 2/ of 22 (7) Hằng Các ví dụ const int a= 5; số nguyên const float x = 5.3; số thực const char c = ‘1’; ký tự Hằng hệ 16 bắt đầu 0x Ví dụ: 0xa5 = 10*16 + =165 Hằng hệ bắt đầu Ví dụ: 0345 = 3*64+4*16+5=229 Lập trình C/Chương 2/ of 22 (8) Định danh Tên các biến (variables), các hàm (functions), các nhãn (labels) và các đối tượng khác người dùng định nghĩa gọi là định danh Ví dụ các định danh đúng arena s_count marks40 class_one Ví dụ các định danh sai 1sttest Không hợp lệ ! oh!god start end Các định danh có thể có chiều dài nào theo quy ước, số ký tự biến nhận diện trình biên dịch thì thay đổi theo trình biên dịch Các định danh C có phân biệt chữ hoa và chữ thường Lập trình C/Chương 2/ of 22 (9) Các nguyên tắc đặt tên định danh Tên biến phải bắt đầu ký tự alphabet Theo sau ký tự đầu có thể là các ký tự chữ, số … Nên tránh đặt tên biến trùng tên các từ khoá Tên biến nên mô tả ý nghĩa nó Tránh dùng các ký tự gây lầm lẫn Nên áp dụng các quy ước đặt tên biến chuẩn lập trình Lập trình C/Chương 2/ of 22 (10) Định danh Lập trình C/Chương 2/ 10 of 22 (11) Từ khóa Từ khóa: Tất các ngôn ngữ dành số từ định cho mục đích riêng Những từ này có ý nghĩa đặc biệt ngữ cảnh ngôn ngữ cụ thể Sẽ không có xung đột từ khóa và tên biến khác Ví dụ từ integer cho tên biến thì hoàn toàn hợp lệ mà từ khóa là int Lập trình C/Chương 2/ 11 of 22 (12) Từ khóa Lập trình C/Chương 2/ 12 of 22 (13) Kiểu liệu Các kiểu liệu khác lưu trữ biến là: Số (Numbers) • • • • Số nguyên Ví dụ : 10 hay 178993455 Số thực Ví dụ, 15.22 hay 15463452.25 Số dương Số âm Tên Ví dụ : John Giá trị luận lý : Ví dụ : Y hay N Lập trình C/Chương 2/ 13 of 22 (14) Kiểu liệu (tt.) Kiểu liệu mô tả loại liệu lưu biến Tên biến đặt sau kiểu liệu Ví dụ : tên biến “varName” đứng sau kiểu liệu “int” kiểu liệu tên biến int varName Lập trình C/Chương 2/ 14 of 22 (15) Kiểu liệu Kiểu liệu int float double char void Lập trình C/Chương 2/ 15 of 22 (16) Kiểu số nguyên (int) Lưu trữ liệu số int num; Không thể lưu trữ kiểu liệu nào khác “Alan” “abc” Chiếm 16 bits (2 bytes) nhớ Biểu diễn các số nguyên phạm vi -32768 tới 32767 Ví dụ : 12322, 0, -232 Lập trình C/Chương 2/ 16 of 22 (17) Kiểu số thực (float) Lưu trữ liệu số chứa phần thập phân float num; Có độ chính xác tới số Chiếm 32 bits (4 bytes) nhớ 3.4E-38 đến 3.4E+38 (10 mũ dương 38) Ví dụ : 23.05, 56.5, 32 Lập trình C/Chương 2/ 17 of 22 (18) Kiểu số thực (double) Lưu trữ liệu số chứa phần thập phân double num; Có độ chính xác tới 10 số Chiếm 64 bits (8 bytes) nhớ 1.7E-308 đến 1.7E+308 Ví dụ : 23.05, 56.5, 32 Lập trình C/Chương 2/ 18 of 22 (19) Kiểu ký tự (char ) Lưu trữ ký tự đơn char gender; gender='M'; Chiếm bits (1 byte) nhớ Ví dụ: ‘a’, ‘m’, ‘$’ ‘%’ , ‘1’, ’5’ Lập trình C/Chương 2/ 19 of 22 (20) Kiểu void Không lưu liệu gì Báo cho trình biên dịch không có giá trị trả Lập trình C/Chương 2/ 20 of 22 (21) Những kiểu liệu dẫn xuất Bộ bổ từ (Modifiers) kiểu liệu Kiểu liệu unsigned int short int Kiểu liệu dẫn xuất unsigned int (chỉ là số dương) short int (chiếm ít nhớ int) Long int /longdouble long int/double (chiếm nhiều nhớ int/double) Lập trình C/Chương 2/ 21 of 22 (22) Các kiểu liệu signed và unsigned Kiểu unsigned rõ biến có thể nhận giá trị dương unsigned int varNum; varNum=23123; varNum cấp phát bytes Bổ từ unsigned có thể dùng với kiểu liệu int và float Kiểu unsigned int hỗ trợ liệu phạm vi từ đến 65535 Lập trình C/Chương 2/ 22 of 22 (23) Những kiểu liệu long (dài) và short (ngắn) short int chiếm giữ bits (1 byte) Cho phép số có phạm vi từ -128 tới 127 long int chiếm giữ 32 bits (4 bytes) -2,147,483,648 và 2,147,483,647 long double chiếm 128 bits (16 bytes) Lập trình C/Chương 2/ 23 of 22 (24) Kiểu liệu & phạm vi giá trị Kiểu Dung lượng tính bit Phạm vi char -128 tới 127 Unsigned char tới 255 signed char -128 tới 127 int 16 -32,768 tới 32,767 unsigned int 16 tới 65,535 signed int 16 Giống kiểu int short int 16 Giống kiểu int unsigned short int 16 tới 65, 535 Lập trình C/Chương 2/ 24 of 22 (25) Kiểu liệu & phạm vi giá trị (tt.) Kiểu Dung lượng tính bit Phạm vi signed short int 16 Giống kiểu short int long int 32 -2,147,483,648 tới 2,147,483,647 signed long int 32 tới 4,294,967,295 unsigned long int 32 Giống kiểu long int float 32 số thập phân double 64 10 số thập phân long double 128 10 số thập phân Lập trình C/Chương 2/ 25 of 22 (26) Ví dụ cách khai báo biến main () { char abc; int xyz; float length; double area; long liteyrs; short arm; } /*abc of type character */ /*xyz of type integer */ /*length of type float */ /*area of type double */ /*liteyrs of type long int */ /*arm of type short integer*/ Lập trình C/Chương 2/ 26 of 22 (27) Các toán tử số học (Arithmetic Operators) Toán tử ngôi ++ Chức Toán tử ngôi Chức Lấy đối số + Cộng Tăng Giảm - Trừ Nhân Lấy phần dư Chia Lấy số mũ * % / ^ Lập trình C/Chương 2/ 27 of 22 (28)