intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Ngocnga Ngocnga | Ngày: | Loại File: PDF | Số trang:28

210
lượt xem
26
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

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

  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; couta>>b; if (a == 0) if (b == 0) cout
  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
  15. 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
  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), >=,
  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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
23=>2