Bài giảng Lập trình cơ bản với C - Chương 2: Biến và kiểu dữ liệu
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình cơ bản với C - Chương 2: Biến và kiểu dữ liệu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_lap_trinh_co_ban_voi_c_chuong_2_bien_va_kieu_du_li.ppt
Nội dung text: Bài giảng Lập trình cơ bản với C - Chương 2: Biến và kiểu dữ liệu
- Biến và Kiểu Dữ Liệu Chương 2
- Mục Tiêu § Hiểu được biến (variables) § Phân biệt biến và hằng (constants) § Liệt kê các kiểu dữ liệu khác nhau và sử dụng chúng trong chương trình C § Hiểu và sử dụng các toán tử số học Lập trình cơ bản C/Chương 2/ 2 of 22
- Biến Bộ nhớ Dữ liệu 15 15 Dữ liệu trong bộ nhớ Mỗi vị trí trong bộ nhớ là duy nhất Biến cho phép cung cấp một tên có ý nghĩa cho mỗi vị trí nhớ Lập trình cơ bản C/Chương 2/ 3 of 22
- Ví dụ BEGIN DISPlAY ‘Enter 2 numbers’ INPUT A, B C = A + B DISPLAY C END • A, B và C là các biến trong đoạn mã giả trên • Tên biến giúp chúng ta truy cập vào bộ nhớ mà không cần dùng địa chỉ của chúng • Hệ điều hành đảm nhiệm việc cấp bộ nhớ còn trống cho những biến này • Ðể tham chiếu đến một giá trị cụ thể trong bộ nhớ, chúng ta chỉ cần dùng tên của biến Lập trình cơ bản C/Chương 2/ 4 of 22
- Hằng § Một hằng (constant) là một giá trị không bao giờ thay đổi § Các ví dụ u 5 số / hằng số nguyên u 5.3 số / hằng số thực u ‘Black’ Hằng chuỗi u ‘C’ Hằng ký tự § Biến lưu giữ các giá trị hằng Lập trình cơ bản C/Chương 2/ 5 of 22
- Định danh § Tên của các biến (variables), các hàm (functions), các nhãn (labels) và các đối tượng khác nhau do người dùng định nghĩa gọi là định danh § Ví dụ về các định danh đúng u arena u s_count u marks40 u class_one § Ví dụ về các định danh sai u 1sttest Không hợp lệ ! u oh!god u start end § Các định danh có thể có bất cứ chiều dài nào theo quy ước, nhưng số ký tự trong một biến được nhận diện bởi trình biên dịch thì thay đổi theo trình biên dịch § Các định danh trong C có phân biệt chữ hoa và chữ thường Lập trình cơ bản C/Chương 2/ 6 of 22
- 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 mô tả được ý nghĩa củ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 khi lập trình Lập trình cơ bản C/Chương 2/ 7 of 22
- Từ khóa § Từ khóa: Tất cả các ngôn ngữ dành một số từ nhất định cho mục đích riêng § Những từ này có một ý nghĩa đặc biệt trong ngữ cảnh của một ngôn ngữ cụ thể § Sẽ không có xung đột nếu từ khóa và tên biến khác nhau. Ví dụ từ integer cho tên biến thì hoàn toàn hợp lệ ngay cả khi mà từ khóa là int Lập trình cơ bản C/Chương 2/ 8 of 22
- Kiểu dữ liệu § Các kiểu dữ liệu khác nhau được lưu trữ trong biến là: u 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 u Tên. Ví dụ : John u Giá trị luận lý : Ví dụ : Y hay N Lập trình cơ bản C/Chương 2/ 9 of 22
- Kiểu dữ liệu (tt.) § Kiểu dữ liệu mô tả loại dữ liệu sẽ được lưu trong biến § Tên biến đặt sau kiểu dữ liệu § Ví dụ : tên biến “varName” đứng sau kiểu dữ liệu “int” kiểu dữ liệu tên biến int varName Lập trình cơ bản C/Chương 2/ 10 of 22
- Kiểu dữ liệu cơ bản Kiểu dữ liệu cơ bản int float double char void Lập trình cơ bản C/Chương 2/ 11 of 22
- Kiểu số nguyên (int) § Lưu trữ dữ liệu số int num; § Không thể lưu trữ bất cứ kiểu dữ liệu nào khác như “Alan” hoặc “abc” § Chiếm 16 bits (2 bytes) bộ nhớ § Biểu diễn các số nguyên trong phạm vi - 32768 tới 32767 § Ví dụ : 12322, 0, -232 Lập trình cơ bản C/Chương 2/ 12 of 22
- Kiểu số thực (float) § Lưu trữ dữ liệu số chứa phần thập phân float num; § Có độ chính xác tới 6 con số § Chiếm 32 bits (4 bytes) bộ nhớ § Ví dụ : 23.05, 56.5, 32 Lập trình cơ bản C/Chương 2/ 13 of 22
- Kiểu số thực (double) § Lưu trữ dữ liệu số chứa phần thập phân double num; § Có độ chính xác tới 10 con số § Chiếm 64 bits (8 bytes) bộ nhớ § Ví dụ : 23.05, 56.5, 32 Lập trình cơ bản C/Chương 2/ 14 of 22
- Kiểu ký tự (char ) § Lưu trữ một ký tự đơn char gender; gender='M'; § Chiếm 8 bits (1 byte) bộ nhớ § Ví dụ: ‘a’, ‘m’, ‘$’ ‘%’ , ‘1’, ’5’ Lập trình cơ bản C/Chương 2/ 15 of 22
- Kiểu void § Không lưu bất cứ dữ liệu gì § Báo cho trình biên dịch không có giá trị trả về Lập trình cơ bản C/Chương 2/ 16 of 22
- Những kiểu dữ liệu dẫn xuất Bộ bổ từ (Modifiers) Kiểu dữ liệu Kiểu dữ liệu dẫn xuất kiểu dữ liệu cơ bản unsigned int unsigned int (chỉ là số dương) short int short int (chiếm ít bộ nhớ hơn int) Long int /longdouble long (chiếm nhiều bộ nhớ hơn int/double int/double) Lập trình cơ bản C/Chương 2/ 17 of 22
- Các kiểu dữ liệu signed và unsigned § Kiểu unsigned chỉ rõ rằng một biến chỉ có thể nhận giá trị dương unsigned int varNum; varNum=23123; § varNum được cấp phát 2 bytes § Bổ từ unsigned có thể được dùng với kiểu dữ liệu int và float § Kiểu unsigned int hỗ trợ dữ liệu trong phạm vi từ 0 đến 65535 Lập trình cơ bản C/Chương 2/ 18 of 22
- Những kiểu dữ liệu long (dài) và short (ngắn) § short int chiếm giữ 8 bits (1 byte) u Cho phép số có phạm vi từ -128 tới 127 § long int chiếm giữ 32 bits (4 bytes) u -2,147,483,648 và 2,147,483,647 § long double chiếm 128 bits (16 bytes) Lập trình cơ bản C/Chương 2/ 19 of 22
- Kiểu dữ liệu & phạm vi giá trị •Kích thước của kiểu dữ liệu phụ thuộc vào hệ điều hành. •Hàm sizeof(data type) trả về kích thước của kiểu dữ liệu Kiểu Dung lượng Phạm vi tính bằng bit char 8 -128 tới 127 Unsigned char 8 0 tới 255 signed char 8 -128 tới 127 int 16 -32,768 tới 32,767 unsigned int 16 0 tới 65,535 signed int 16 Giống như kiểu int Lập trình cơ bản C/Chương 2/ 20 of 22
- Kiểu dữ liệu & phạm vi giá trị (tt.) Kiểu Dung lượng Phạm vi tính bằng bit signed short int 16 Giống như kiểu short int long int 32 -2,147,483,648 tới 2,147,483,647 signed long int 32 0 tới 4,294,967,295 short int 8 -128 tới 127 unsigned short int 8 0 tới 256 float 32 Chính xác 6 con số thập phân double 64 Chính xác 10 con số thập phân long double 128 Chính xác 10 con số thập phân Lập trình cơ bản C/Chương 2/ 21 of 22
- Ví dụ về cách khai báo biến main () { char abc; /*abc of type character */ int xyz; /*xyz of type integer */ float length; /*length of type float */ double area; /*area of type double */ long liteyrs; /*liteyrs of type long int */ short arm; /*arm of type short integer*/ } Lập trình cơ bản C/Chương 2/ 22 of 22