Bài giảng Kĩ thuật lập trình cơ bản - Chương 1: Tổng quan ngôn ngữ C++ - Trần Nguyễn Anh Chi

pdf 28 trang huongle 5380
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kĩ thuật lập trình cơ bản - Chương 1: Tổng quan ngôn ngữ C++ - Trần Nguyễn Anh Chi", để 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:

  • pdfbai_giang_ki_thuat_lap_trinh_co_ban_chuong_1_tong_quan_ngon.pdf

Nội dung text: Bài giảng Kĩ thuật lập trình cơ bản - Chương 1: Tổng quan ngôn ngữ C++ - Trần Nguyễn Anh Chi

  1. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Trƣờng Cao đẳng Công nghệ Thông Tin Khoa Công nghệ Thông Tin CHƢƠNG 1 TỔNG QUAN NGÔN NGỮ C++ PHẦN 1: CÁC KHÁI NIỆM CƠ BẢN GV: ThS. TRẦN NGUYỄN ANH CHI TpHCM, 02/2011 Các khái niệm cơ bản Lập trình máy tính . Gọi tắt là lập trình (programming). . Là cài đặt một hoặc nhiều thuật toán có liên quan với nhau bằng một ngôn ngữ lập trình để tạo ra một chương trình máy tính. Thuật toán . Là tập hợp (dãy) hữu hạn các chỉ thị (hành động) được định nghĩa rõ ràng nhằm giải quyết một bài toán cụ thể nào đó. 2 GV: ThS. Trần Nguyễn Anh Chi 1
  2. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Các khái niệm cơ bản (tt) Ví dụ: Giải PT bậc I: ax + b = 0 , với a, b là số nguyên Đầu vào: a, b thuộc N Đầu ra: nghiệm phƣơng trình ax + b = 0 (nếu có) • Nếu a = 0 • b = 0 thì phương trình có nghiệm bất kì. • b ≠ 0 thì phương trình vô nghiệm. • Nếu a ≠ 0 • Phương trình có nghiệm duy nhất x = -b/a 3 Các tính chất của một chƣơng trình  Tính đúng đắn (Correctness)  Tính chắc chắn (Robustness)  Tính thân thiện (Friendliness)  Tính thích nghi (Adapability)  Tính tái sử dụng (Reuseability)  Tính hiệu quả (Efficiency)  Tính khả chuyển (Convertibility)  Tính an toàn (Security)  Tính dừng (Halt) 4 GV: ThS. Trần Nguyễn Anh Chi 2
  3. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Các bƣớc xây dựng chƣơng trình Xác định vấn đề Biểu diễn bằng: - bài toán • Ngôn ngữ tự nhiên • Lưu đồ - Sơ đồ khối Lựa chọn • Mã giả phương pháp giải Xây dựng thuật toán/ thuật giải Cài đặt chương trình Lỗi cú pháp Hiệu chỉnh Lỗi ngữ nghĩa chương trình Thực hiện chương trình 5 Sử dụng ngôn ngữ tự nhiên Đầu vào: a, b thuộc N Đầu ra: nghiệm phƣơng trình ax + b = 0 (nếu có) 1. Nhập 2 số nguyên a và b. 2. Nếu a = 0 thì 2.1. Nếu b = 0 thì 2.1.1. Phương trình vô số nghiệm 2.1.2. Kết thúc thuật toán. 2.2. Ngược lại 2.2.1. Phương trình vô nghiệm. 2.2.2. Kết thúc thuật toán. 3. Ngược lại 3.1. Phương trình có nghiệm. 3.2. Giá trị của nghiệm đó là x = -b/a 3.3. Kết thúc thuật toán. 6 GV: ThS. Trần Nguyễn Anh Chi 3
  4. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Sử dụng lƣu đồ (Flow Chart) Bắt đầu Đọc a,b Đ S a = 0 Đ S Tính b = 0 x = -b/a Xuất Xuất Xuất x “VSN” “VN” Kết thúc 7 Sử dụng mã giả (Pseudo-code)  Vay mượn ngôn ngữ nào đó để biểu diễn thuật toán. Ví dụ: sử dụng ngôn ngữ Pascal Đầu vào: a, b thuộc N Đầu ra: nghiệm phƣơng trình ax + b = 0 (nếu có) If a = 0 Then Begin If b = 0 Then Xuất “Phương trình vô số nghiệm” Else Xuất “Phương trình vô nghiệm” End Else Xuất “Phương trình có nghiệm x = -b/a” 8 GV: ThS. Trần Nguyễn Anh Chi 4
  5. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Cài đặt bằng ngôn ngữ C++ #pragma once #include using namespace std; void main() { int a, b; cout >a>>b; if (a == 0) if (b == 0) cout<<“Phuong trinh VSN”; else cout<<“Phuong trinh VN”; else cout<<“x = ”<<-(float)(b)/a; } 9 Các ngôn ngữ lập trình Các môi trƣờng hỗ trợ  Fortran  Borland C++  Pascal  Microsoft Visual Basic  Java  Microsoft Visual C++  C  JBuider  C++  Visual .Net  C#   J#  VB.Net  . 10 GV: ThS. Trần Nguyễn Anh Chi 5
  6. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Giới thiệu ngôn ngữ C++ . Ngôn ngữ BCPL – bởi Martin Richards. . Ngôn ngữ lập trình B – bởi Ken Thompson. . Ngôn ngữ C – bởi Dennis Ritchie. . 1983, tổ chức American National Standards Institute (ANSI) đưa ra chuẩn cho C . 1989-1990, chuẩn hóa và phát hành lại . 60s, lập trình có cấu trúc . 80s, lập trình hướng đối tượng . Bjarne Stroustrup phát triển C thành C++ 11 Giới thiệu (tt) Ưu điểm của C . Tốc độ thực thi cao, bộ tập lệnh nhỏ gọn . Có thể lập trình Assembly hoặc kết hợp với lập trình Assembly . Có thể sử dụng để lập trình các ứng dụng dạng Firmware . Có tính khả chuyển, ít thay đổi trên các hệ thống máy tính khác nhau . Lập trình đơn thể, có thể tái sử dụng qua hàm . 12 GV: ThS. Trần Nguyễn Anh Chi 6
  7. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Giới thiệu (tt) Môi trường phát triển tích hợp IDE (Integrated Development Environment) . Biên tập chương trình nguồn (Trình EDIT). . Biên dịch chương trình (Trình COMPILE). . Chạy chương trình nguồn (Trình RUNTIME). . Sửa lỗi chương trình nguồn (Trình DEBUG). Môi trường lập trình . Borland C++ 3.1 for DOS . Visual C++ 6.0, Win32 Console Application . Visual C++ 2005, Win32 Console Application . Visual C++ 2008, Win32 Console Application 13 Cấu trúc tổng quát của một chƣơng trình C //chuong trinh tinh tong Chú thích #include Khai báo thư viện #include int x, y; Khai báo biến toàn cục int TinhTong(int x, int y); Khai báo nguyên mẫu hàm int TinhTong(int x, int y) { Nội dung chương trình con //nội dung hàm } void main() { Nội dung chương trình chính //nội dung hàm } 14 GV: ThS. Trần Nguyễn Anh Chi 7
  8. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Một số quy tắc cần nhớ khi viết chƣơng trình . Mỗi câu lệnh có thể viết trên một hoặc nhiều dòng, nhưng phải kết thúc bằng dấu chấm phẩy ; . Khai báo thư viện thì không có dấu chấm phẩy ở cuối . Các lời giải thích (chú thích) được đặt giữa cặp dấu /* và */, hoặc đặt sau dấu // 15 Bộ từ vựng trong ngôn ngữ C Các ký tự được sử dụng . Bộ chữ cái 26 ký tự Latinh A, B, C, , X, Y, Z, a, b, c, , x, y, z . Bộ chữ số thập phân : 0, 1, 2, , 8, 9 . Các ký hiệu toán học : + – * / = ( ) . Các ký tự đặc biệt : . , : ; [ ] % \ # $ „ . Ký tự gạch nối _ và khoảng trắng „ ‟ 16 GV: ThS. Trần Nguyễn Anh Chi 8
  9. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Bộ từ vựng trong ngôn ngữ C (tt) Từ khóa (keyword) . Các từ dành riêng trong ngôn ngữ. . Không thể sử dụng từ khóa để đặt tên cho biến, hàm, tên chương trình con. . Một số từ khóa thông dụng: • const, struct, define, • unsigned, char, double, float, int, long, • if else , switch case, default • for, while, do while • break, continue, return 17 Tên – Định danh Định nghĩa . Là một dãy ký tự dùng để xác định các đối tượng khác nhau trong một chương trình. Quy tắc . Được tạo thành từ các chữ cái và chữ số nhưng bắt buộc chữ đầu phải là chữ cái hoặc _ . Không được trùng với các từ khóa . Số ký tự tối đa trong một tên là 255 ký tự, được dùng ký tự _ chen trong tên nhưng không được chen giữa các khoảng trắng. . Có phân biệt chữ HOA và chữ thường 18 GV: ThS. Trần Nguyễn Anh Chi 9
  10. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Tên – Định danh (tt) Ví dụ . Các định danh đúng: Baitap, BaiTap_01 . Các định danh sai: 1baitap, l@ptrinh, default, bai-tap Lƣu ý . Trong lập trình, thường sử dụng chữ HOA để đặt tên hằng số, chữ thường để đặt tên cho biến số, mảng, . Tên cần được đặt ngắn gọn nhưng gợi nhớ đến vai trò (chức năng) của biến, hàm, hằng số 19 Bài tập Lý thuyết Các định danh nào sau đây là không hợp lệ? 1) Main 2) Luy thua 3) Tinh luy thua 4) Tinh-luy-thua 5) Tinh_Luy_Thua 6) x_Mu_2 7) 2_Mu_x 8) namespace 9) double 10) b@it@p 11) return 12) Tinh_di$n_ke 20 GV: ThS. Trần Nguyễn Anh Chi 10
  11. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Trƣờng Cao đẳng Công nghệ Thông Tin Khoa Công nghệ Thông Tin CHƢƠNG 1 TỔNG QUAN NGÔN NGỮ C++ PHẦN 2: CÁC KIỂU DỮ LIỆU và PHÉP TOÁN GV: ThS. TRẦN NGUYỄN ANH CHI TpHCM, 02/2011 Các kiểu dữ liệu cơ bản Có 4 kiểu cơ bản như sau: . Kiểu số nguyên: giá trị của nó là các số nguyên như 2912 ; -1706; . Kiểu số thực: giá trị của nó là các số thực như 3.1415 ; 29.12 ; -17.06; . Kiểu luận lý: giá trị đúng hoặc sai (true / false) . Kiểu ký tự: 256 ký tự trong bảng mã ASCII 22 GV: ThS. Trần Nguyễn Anh Chi 11
  12. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Các kiểu dữ liệu cơ bản (tt) STT Kiểu DL Ghi chú Kích thƣớc Phạm vi giá trị Kiểu số nguyên 1 char Ký tự / 1 byte -128 → +127 Số nguyên 2 unsigned Số nguyên 1 byte 0 → 255 char dương 3 int Số nguyên 2 bytes -32768 → +32767 4 unsigned Số nguyên 2 bytes 0 → 65535 int dương 5 long Số nguyên 4 bytes -2.147.483.648 → +2.147.483.647 6 unsigned Số nguyên 4 bytes 0 → 4.294.967.295 long dương 23 Các kiểu dữ liệu cơ bản (tt) STT Kiểu DL Ghi chú Kích thƣớc Phạm vi giá trị Kiểu số thực 1 float 4 bytes 3.4E-38 → 3.4E+38 2 double 8 bytes 1.7E-308→ +1.7E+308 3 long 10 bytes 3.4E-4932 → 1.1E+4932 double Kiểu luận lý 1 bool true, false 24 GV: ThS. Trần Nguyễn Anh Chi 12
  13. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C 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. PHẢI khai báo BIẾN trước khi sử dụng. 25 Biến (tt) Cú pháp khai báo biến: ; Hoặc , ; Ví dụ: a . int a; b . float b; c . char c, d; d . Memory 26 GV: ThS. Trần Nguyễn Anh Chi 13
  14. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Biến (tt) Khởi đầu giá trị cho biến: ngay sau tên biến, đặt dấu = và một giá trị Ví dụ: 1) float a, b = 1.5, c = -2.7; float a, b, c; b = 1.5; c = -2.7; 2) int a, b = 1.5; //sai 27 Biến (tt) Phạm vi tác động của biến: . Biến toàn cục: khai báo bên ngoài tất cả các hàm . Biến cục bộ: khai báo bên trong một hàm nào đó Ví dụ 1: // chuong trinh vi du 1 #include Biến toàn cục int x = 1; void main() { Biến cục bộ int y = 3; cout<<“x = “<<x; cout<<“y = “<<y; } 28 GV: ThS. Trần Nguyễn Anh Chi 14
  15. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Biến (tt) Ví dụ 2: //chuong trinh vi du 2 #include Biến toàn cục int x = 1; void Vi_Du() { int x = 2; cout<<“x = “<<x; } void main() { Biến cục bộ int y = 3; cout<<“x = “<<x; cout<<“y = “<<y; } 29 Hằng Là các đại lượng mà giá trị của nó bất biến trong một chương trình. Hằng số: các giá trị số được xác định. Ví dụ: 10 ; -5 ; 7.5 Hằng ký tự: ký tự được viết trong cặp dấu nháy đơn („ ‟) Ví dụ: „a‟ ; „A‟ Hằng chuỗi: dãy ký tự được viết trong cặp dấu nháy kép (“ ”) Ví dụ: “abc” ; “a” 30 GV: ThS. Trần Nguyễn Anh Chi 15
  16. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Hằng (tt) Định nghĩa hằng: #define Hoặc const = ; Ví dụ: #define MAX 100 #define PI 3.14 const int MIN = 0; const float PI = 3.14; 31 Bài tập Lý thuyết Cho biết các khai báo nào sau đây là sai: 1) int x, y, z; 2) #define LEN = 10 3) double 2a; 4) const int Q = -5; 5) char c = „a‟; 6) char c = “a”; 7) char c = “abc”; 8) long l1, l2, l3; 9) unsigned int t = -9; 10)int s*; 32 GV: ThS. Trần Nguyễn Anh Chi 16
  17. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Biểu thức Khái niệm . Được tạo thành từ các toán tử (Operator) và các toán hạng (Operand). . Toán tử tác động lên các giá trị của toán hạng và cho giá trị có kiểu nhất định. . Toán tử: +, –, *, /, %, . Toán hạng: hằng, biến, lời gọi hàm, Ví dụ . 2 + 3, a / 5, (a + b) * 5, 33 Toán tử GÁN Chức năng . Gán giá trị. Cú pháp . = ; . = ; . = ; . Có thể thực hiện liên tiếp phép gán. 34 GV: ThS. Trần Nguyễn Anh Chi 17
  18. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Toán tử GÁN (tt) Ví dụ void main() { int a, b, c, d, e, f, thuong1, du; float thuong2; a = a = 10; b = b = a - 2; c = thuong1 = a / b; d = thuong2 = (float)a / b; e = du = a % b; f = c = d = e = 15; thuong1 = f = d; thuong2 = } du = 35 Các toán tử toán học Toán tử 1 ngôi . Chỉ có một toán hạng trong biểu thức. . ++ (tăng 1 đơn vị), (giảm 1 đơn vị) . Đặt trước toán hạng: thực hiện tăng/giảm trước . Đặt sau toán hạng: thực hiện tăng/giảm sau Ví dụ . x = 10; y = x++; // y = 10 và x = 11 . x = 10; y = ++x; // x = 11 và y = 11 36 GV: ThS. Trần Nguyễn Anh Chi 18
  19. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Các toán tử toán học (tt) Toán tử 2 ngôi . Có hai toán hạng trong biểu thức. . + , – , * , / , % Ví dụ . a = 1 + 2; b = 1 – 2; . c = 1 * 2; d = 1 / 2; . e = 1*1.0 / 2; f = (float)(1) / 2; . g = float(1 / 2); h = 1 % 2; . x = x + y  x += y; . x = x * (2 + 3*5)  x *= 2 + 3*5; 37 Các toán tử trên BIT Các toán tử trên bit . Tác động lên các bit của toán hạng (nguyên). . & (and), | (or), ^ (xor), ~ (not hay lấy bù 1) . >> (shift right), >=, <<= & 0 1 | 0 1 0 0 0 0 0 1 1 0 1 1 1 1 ^ 0 1 ~ 0 1 0 0 1 1 0 1 1 0 38 GV: ThS. Trần Nguyễn Anh Chi 19
  20. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Các toán tử trên BIT (tt) Ví dụ void main() { int a = 5; // 0000 0000 0000 0101 int b = 6; // 0000 0000 0000 0110 int z1, z2, z3, z4, z5, z6; z1 = a & b; // 0000 0000 0000 0100 z2 = a | b; z3 = a ^ b; z4 = ~a; z5 = a >> 2; z6 = a , = , 2); s4 = (1 >= 2); . s5 = (1 < 2); s6 = (1 <= 2); 40 GV: ThS. Trần Nguyễn Anh Chi 20
  21. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Các toán tử LUẬN LÝ Các toán tử luận lý . Tổ hợp nhiều biểu thức quan hệ với nhau. . && (and), || (or), ! (not) . Ví dụ • s1 = (1 > 2) && (3 > 4); • s2 = (1 > 2) || (3 > 4); • s3 = !(1 > 2); 41 Các toán tử ĐIỀU KIỆN Toán tử điều kiện .Là toán tử 3 ngôi (gồm có 3 toán hạng) Cú pháp: . ? : đúng giá trị là sai giá trị là Ví dụ . s1 = (1 > 2) ? 1234 : 5678; . int s2 = 0; . 1 < 2 ? s2 = 1234 : s2 = 5678; 42 GV: ThS. Trần Nguyễn Anh Chi 21
  22. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Thứ tự ƣu tiên các phép toán Toán tử Độ ƣu tiên Trình tự kết hợp () [] -> 1 Từ trái qua phải ! ~ ++ - + * & sizeof 2 Từ phải qua trái * / % 3 Từ trái qua phải + - 4 Từ trái qua phải > 5 Từ trái qua phải = > 6 Từ trái qua phải == != 7 Từ trái qua phải & 8 Từ trái qua phải | 9 Từ trái qua phải ^ 10 Từ trái qua phải && 11 Từ trái qua phải || 12 Từ trái qua phải ? : 13 Từ phải qua trái = += -= *= /= %= 14 Từ phải qua trái 43 Câu lệnh Khái niệm . Là một chỉ thị trực tiếp, hoàn chỉnh nhằm ra lệnh cho máy tính thực hiện một số tác vụ nhất định . Trình biên dịch bỏ qua các khoảng trắng (hay tab hoặc xuống dòng) chen giữa lệnh. Phân loại . Câu lệnh đơn: chỉ gồm một câu lệnh. . Câu lệnh phức (khối lệnh): gồm nhiều câu lệnh đơn được bao bởi { và } 44 GV: ThS. Trần Nguyễn Anh Chi 22
  23. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Câu lệnh (tt) void main() Ví dụ { int a, b, c; Câu lệnh đơn a = 5; if(a%2 == 0) { b = a + 1; Khối lệnh c = a – 1; } else { b = a – 1; Khối lệnh c = a + 1; } } 45 Hàm nhập / xuất . Thư viện: . Hàm nhập: cin>>tên_biến; . Hàm xuất: cout >a; cout<<“Gia tri cua bien a la: “<<a; } 46 GV: ThS. Trần Nguyễn Anh Chi 23
  24. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Hàm nhập xuất (tt) . Ví dụ 2 void main() { int a, b; cout >a>>b; cout >a>>b; cout . Hàm: setw(số_nguyên); . Ý nghĩa: chừa số_nguyên ký tự để xuất giá trị của biến . Ví dụ: int a = 3, b = 7; cout<<a<<setw(5)<<b; Kết quả: 3___7 48 GV: ThS. Trần Nguyễn Anh Chi 24
  25. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Xuất có định dạng (tt) . Hàm: cout<<setprecision(n); . Ý nghĩa: xuất số thập phân gồm n-1 chữ số lẻ . Ví dụ: float a=7.56745F, b=5.339F; cout<<a<<endl; cout<<setprecision(3)<<a<<endl; cout<<setprecision(2)<<b<<endl; cout<<setprecision(5)<<b; Kết quả: 7.56745 7.57 5.3 5.339 49 Xuất các ký tự đặc biệt Ký tự Ý nghĩa Ví dụ cout<<“ \’ ”; \‟ Xuất dấu nháy đơn Kết quả: „ cout<<“ \” ”; \” Xuất dấu nháy đôi Kết quả: “ cout<<“ \\ ”; \\ Xuất dấu chéo ngược “\” Kết quả: \ \0 Ký tự Null Dùng để gán ký tự kết thúc của chuỗi \a Alert : Tiếng bip cout<<"xyz\tzyx”; \t Tab vào một đoạn ký tự trắng Kết quả: xyz zyx cout<<"xyz\t\bzyx”; \b Xuất lùi về sau Kết quả: xyzzyx cout<<"xyz\nzyx”; \n Xuống dòng Kết quả: xyz hoặc endl zyx cout<<"xyz\rzyx”; \r Về đầu dòng Kết quả: zyx 50 GV: ThS. Trần Nguyễn Anh Chi 25
  26. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Một số hàm thông dụng . Thư viện: . Hàm lấy căn bậc 2: sqrt(số) hoặc sqrt(tên_biến) . Hàm tính mũ: pow(x,y)  xy . Ví dụ: void main() { int a = 4, b = 3; cout . Hàm phát sinh ngẫu nhiên 1 số: srand((unsigned)time(NULL)); rand(); . Ví dụ: void main() { int a; cout<<“Phat sinh ngau nhien gt cho a:”; srand((unsigned)time(NULL)); a=rand(); cout<<“GT cua a la: “<<a; } 52 GV: ThS. Trần Nguyễn Anh Chi 26
  27. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Bài tập Lý thuyết Cho biết kết quả của những đoạn lệnh sau: int a, b; b=a++ + ++a + a; cout<<"a = “<<a<<“, b = “<<b; Với a = 2, kết quả: Với a = 9, kết quả: int a, b; b= a + a; b; cout<<"a = “<<a<<“, b = “<<b; Với a = 19, kết quả: Với a = 10, kết quả: 53 Bài tập Lý thuyết (tt) int a, b; b=a%2 + a/2 + a; cout<<"a = “<<a<<“, b = “<<b; Với a = 17, kết quả: Với a = 3, kết quả: int a, b; b=a/3 + a ; cout<<"a=“<<a<<“, b=“<<b; Với a = 8, kết quả: Với a =21, kết quả: 54 GV: ThS. Trần Nguyễn Anh Chi 27
  28. Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Bài tập Lý thuyết (tt) int k; cout b)?a-b: b-a; Với a = 3, b = 7, kết quả: Với a = 15, b = 9, kết quả: 55 GV: ThS. Trần Nguyễn Anh Chi 28