Xem mẫu

  1. CHƯƠNG 2 GIỚI THIỆU NGÔN NGỮ C/C++ 1
  2. LỊCH SỬ RA ĐỜI  Ngôn ngữ C do Dennis Ritchie xây dựng từ năm 1972 tại phòng thí nghiệm Bell Telephone với mục đích tạo ngôn ngữ để viết HĐH UNIX. Song nhờ có các tính năng ưu việt và tính mềm dẻo nên được giới tin học chấp nhận  Năm 1978, xuất bản quyển sách “The C programming language” do Kernighan và Ritchie viết. 2
  3. C++ dựa trên ngôn ngữ lập trình C C++ được phát minh bởi Bijarne Stroustroup, bắt đầu năm 1979 Các trình biên dịch phổ biến: Borland C++, Microsoft Visual C++ 3
  4. ƯU ĐIỂM  Bộ lệnh phù hợp với phương pháp lập trình có cấu trúc module, có thể sử dụng nhiều lần trong chương trình hoặc chương trình khác, hỗ trợ lập trình hướng đối tượng.  Kiểu dữ liệu phong phú, cho phép định nghĩa kiểu dữ liệu mới.  Linh động về cú pháp, ít từ khóa.  Ngôn ngữ mạnh và mềm dẻo, được dùng để viết Hệ điều hành, chương trình điều khiển, soạn thảo văn bản, đồ hoạ, bảng tính… và các chương trình dịch cho các ngôn ngữ khác . 4
  5. KHUYẾT ĐIỂM  Cú pháp thuộc loại lạ và khó học. Nếu người lập trình đã học qua một ngôn ngữ khác thì sẽ dễ dàng tiếp cận.  Một số ký hiệu có nhiều nghĩa khác nhau. Ví dụ: dấu “*” là toán tử nhân, là khai báo con trỏ, là toán tử thay thế, … Việc sử dụng đúng nghĩa các toán tử phụ thuộc vào ngữ cảnh sử dụng.  Việc truy nhập tự do vào dữ liệu, việc trộn lẫn các kiểu dữ liệu… làm cho chương trình có phần bất ổn. 5
  6. VÍ DỤ CHƯƠNG TRÌNH C++ Xuất ra màn hình dòng chữ: “Xin chao cac ban” Viết bằng VC++6.0 Viết bằng VC++2003 hoặc BC++3.1 hoặc 2005, 2008, … #include #include using namespace std; void main() void main() { { cout
  7. CÁC KHÁI NIỆM Lệnh : Là việc thực hiện một chức năng nào đó (khai báo, gán, xuất, nhập, …) và được kết thúc bằng dấu chấm phẩy (;) Khối lệnh Khối lệnh gồm nhiều lệnh và được đặt trong cặp dấu ngoặc { } 7
  8. DÕNG GHI CHÖ (COMMENT) Từ vị trí cụ thể đến cuối dòng: dùng // ngay tại vị trí đó. Tạo nhiều dòng ghi chú: dùng cặp ký tự /* ngay trước dòng đầu tiên, và cặp ký tự */ ngay sau dòng cuối cùng. Ví dụ : void main() { // đây là câu xin chào cout
  9. TẬP CÁC KÝ TỰ THƯỜNG DÙNG  Chữ cái hoa: A, B, ..., Z  Chữ cái thường: a, b, c, ..., z  Chữ số: 0, 1, ..., 9  Các ký hiệu toán học: +, -, *, /, =, (, ),...  Ký hiệu gạch nối: _  Các ký hiệu đặc biệt như: . , ; [] {} ? ! \ & | % #...  Không được dùng các ký hiệu như: α, φ, Ω, π, … hoặc tiếng việt có dấu: â, ă, ô… 9
  10. TỪ KHÓA (KEYWORD) auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while bool catch class delete friend inline new namespace operator private protected public template this throw try 10
  11. BIẾN Một biến đại diện cho một vùng nhớ hay tập các vùng nhớ trên bộ nhớ chính của máy tính. Tên biến được dùng để tham khảo đến những vùng nhớ này. Biến để lưu trữ các giá trị do người dùng nhập vào hoặc các giá trị tạm thời trong quá trình tính toán. Mỗi biến sẽ có tên và kiểu dữ liệu tương ứng. Kiểu dữ liệu của biến xác định những giá trị kiểu nào có thể được lưu trong biến (ví dụ số hay chữ…). PHẢI khai báo BIẾN trước khi sử dụng 11
  12. CÁC KIỂU DỮ LIỆU  Kiểu cơ sở Tích hợp sẵn trong ngôn ngữ – Số nguyên – Số thực – Luận lý – Mảng (xét sau) – Chuỗi (xét sau)  Kiểu tự định nghĩa (xét sau) Dùng những kiểu cơ sở để xây dựng thành những kiểu dữ liệu mới cho phù hợp với bài toán. 12
  13. KIỂU SỐ NGUYÊN ST KÍCH TÊN KIỂU GHI CHÚ MIỀN GIÁ TRỊ T THƯỚC Ký tự 1 byte Chứ 255 ký tự 1 char Số nguyên 1 byte -126 đến 127 2 Số nguyên unsigned char dương 1 byte 0 đến 255 3 short Số nguyên 2 bytes -32763 đến 32762 4 Số nguyên unsigned short dương 2 bytes 0 đến 65535 5 int Số nguyên 4 bytes -2147483648 đến 2147483647 6 Số nguyên unsigned int dương 4 bytes 0 đến 4294967295 7 long Số nguyên 4 bytes -2147483648 đến 2147483647 8 Số nguyên unsigned long dương 4 bytes 0 đến 4294967295 13
  14. KIỂU SỐ THỰC GHI KÍCH STT TÊN KIỂU MIỀN GIÁ TRỊ CHÚ THƯỚC 1 float số thực 4 bytes 3.4*10–38 đến 3.4*1038 2 double số thực 8 bytes 1.7*10–308 đến 3.4*10308 3 long double số thực 10 bytes 3.4*10–4932 đến 3.4*104932 KIỂU LUẬN LÝ TÊN STT GHI CHÚ KÍCH THƯỚC GIÁ TRỊ KIỂU 1 bool Kiểu luận lý 1 byte 1  true 0  false 14
  15. QUI TẮC ĐẶT TÊN Dùng để đặt tên biến, tên hằng, tên hàm, …  Bắt đầu bằng một ký tự.  Các ký tự trong tên biến chỉ có thể là các ký tự chữ, số hoặc dấu gạch dưới (_)  Không được trùng với các từ khoá.  Không được trùng với phạm vi khai báo.  Tên dễ hiểu, súc tích và gợi nhớ.  Phân biệt chữ hoa và thường 15
  16. KHAI BÁO BIẾN Cú pháp tênbiến; Ví dụ: int a; //Khai báo biến để lưu số nguyên tên a float c; //Khai báo biến để lưu số thực tên c Khai báo nhiều biến cùng kiểu tênbiến1, tênbiến2, tênbiến3; Ví dụ: int a, x, y; 16
  17. KHAI BÁO VÀ KHỞI GÁN GIÁ TRỊ BAN ĐẦU CHO BIẾN tênbiến = giá trị; Ví dụ: int a = 5; float b = 5.4, c = 9.2; char ch = „n‟; 17
  18. ĐỊNH NGHĨA HẰNG SỐ  Hằng là đại lượng không thay đổi giá trị trong quá trình thi hành chương trình  Dùng toán tử #define Cú pháp: #define Ví dụ: #define MAX 100  Biến hằng được định nghĩa nhờ từ khoá const với cú pháp như sau: const = ; Ví dụ: const int MAX = 100;  Tên hằng số nên viết bằng chữ in HOA 18
  19. CÁC LOẠI HẰNG SỐ  Hằng số: Đó là các giá trị xác định, một hằng số có thể là nguyên (có kiểu dữ liệu int, hay long int) hay thực (có kiểu dữ liệu là float, double, long double).  Hằng ký tự: Được đặt trong dấu nháy đơn. Ví dụ: 'A', 'a' tương ứng với giá trị nguyên 65, 97 trong bảng mã ASCII.  Hằng chuỗi: Là tập hợp các ký tự được đặt trong cặp dấu nháy kép " ". Ví dụ: “Lap trinh C"  Chú ý: Một hằng chuỗi được trữ tận cùng bằng ký tự null (\0) 19
  20. KÝ HIỆU CÁC PHÉP TOÁN PHÉP STT Ý NGHĨA GHI CHÚ TOÁN PHÉP TOÁN SỐ HỌC 1 + Cộng 2 - Trừ 3 * Nhân Đối với 2 số nguyên thì kết quả 4 / Chia là chia lấy phần nguyên 5 % Chia lấy phần dư Chỉ áp dụng cho 2 số nguyên PHÉP TOÁN QUAN HỆ 1 > Lớn hơn 2 < Nhỏ hơn 3 >= Lớn hơn hoặc bằng 4
nguon tai.lieu . vn