Bài giảng Kỹ thuật lập trình cơ bản (C++): Chương 1 - ThS. Trần Nguyễn Anh Chi
lượt xem 26
download
Bài giảng Kỹ thuật lập trình cơ bản (C++) - Chương 1 giới thiệu tổng quan về ngôn ngữ C++. Chương này trình bày một số kiến thức sau: Các khái niệm cơ bản trong C++, các tính chất của một chương trình, sử dụng ngôn ngữ tự nhiên, một số quy tắc cần nhớ khi viết chương trình,...và các nội dung khác.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kỹ thuật lập trình cơ bản (C++): Chương 1 - ThS. Trần Nguyễn Anh Chi
- 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
- 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
- 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
- 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
- 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; couta>>b; if (a == 0) if (b == 0) cout
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Kỹ thuật lập trình cơ bản Chương 1: Tổng quan ngôn ngữ C Biến (tt) //chuong trinh vi du 2 Ví dụ 2: #include Biến toàn cục int x = 1; void Vi_Du() { int x = 2; cout
- 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
- 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
- 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
- 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), >=,
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kỹ thuật lập trình - Phạm Thế Bảo
0 p | 220 | 32
-
Bài giảng Kỹ thuật lập trình: Chương I - Lưu Hồng Việt
48 p | 194 | 23
-
Bài giảng Kỹ thuật lập trình: Chương IV - Lưu Hồng Việt
32 p | 151 | 17
-
Bài giảng Kỹ thuật lập trình: Chương III - Lưu Hồng Việt
51 p | 147 | 15
-
Bài giảng Kỹ thuật lập trình: Chương V - Lưu Hồng Việt
19 p | 127 | 15
-
Bài giảng Kỹ thuật lập trình: Phần 1 - ĐH CNTT&TT
37 p | 114 | 10
-
Bài giảng Kỹ thuật lập trình - Bài 1: Tổng quan về kỹ thuật lập trình
65 p | 164 | 8
-
Bài giảng Kỹ thuật lập trình: Bài 1 - Phạm Đình Sắc
9 p | 127 | 7
-
Bài giảng Kỹ thuật lập trình nâng cao: Chương 4 - ThS. Dương Thành Phết
26 p | 92 | 7
-
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 p | 14 | 4
-
Bài giảng Kỹ thuật lập trình: Chương 1 - Trần Quang
39 p | 8 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Quang
25 p | 10 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 7 - Trần Quang
28 p | 6 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 8 - Trần Quang
34 p | 7 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 9 - Trần Quang
33 p | 3 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 3 - Trần Quang
52 p | 7 | 1
-
Bài giảng Kỹ thuật lập trình: Chương 4 - Trần Quang
32 p | 6 | 1
-
Bài giảng Kỹ thuật lập trình: Chương 6 - Trần Quang
37 p | 10 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn