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: Chương 2 – Trần Minh Thái

Chia sẻ: Năm Tháng Tĩnh Lặng | Ngày: | Loại File: PPTX | Số trang:72

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

Chương 2 của bài giảng Kỹ thuật lập trình cơ bản giới thiệu ngôn ngữ C/C++. Mục tiêu của chương này nhằm giúp người học hiểu được các khái niệm cơ bản về ngôn ngữ C, biết được cấu trúc của một chương trình và cách trình bày chương trình, nắm bắt được các lệnh nhập/ xuất trong C/ C++, biết được một số công cụ lập trình và các chức năng liên quan.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kỹ thuật lập trình cơ bản: Chương 2 – Trần Minh Thái

  1. CHƯƠNG 2 GIỚI THIỆU NGÔN NGỮ C/C++ 1 TRẦN MINH THÁI Email: minhthai@itc.edu.vn Website: www.minhthai.edu.vn 
  2. 2 Mục tiêu  Giới thiệu các khái niệm cơ bản về ngôn ngữ C.  Cấu trúc của một chương trình và cách trình bày chương trình.  Lệnh nhập/ xuất trong C/ C++.  Giới thiệu công cụ lập trình và các chức năng liên quan.
  3. 3 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  “The  C  programming  language”  do  Kernighan  và  Ritchie viết năm 1978
  4. 4 Lịch sử ra đời  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++
  5. 5 Đặc điểm  Bộ  lệnh  phù  hợp  với  phương  pháp  LT  có  cấu  trúc module, hỗ trợ phương pháp LT 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  OS,  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.
  6. 6 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.
  7. 7  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 Chỉ thị tiền xử lý //hoặc BC++3.1 //hoặc 2005, 2008, … (Preprocessor  #include #include directive) using namespace std; void main() void main() { { Lệnh cout
  8. 8 Chỉ thị tiền xử lý (Preprocessor directive)  Các chỉ thị tiền xử lý là những dòng được đưa vào trong mã của chương trình phía sau dấu  #.   Những dòng này không phải là lệnh của chương trình nhưng chỉ thị cho tiền xử lý.   Tiền xử lý kiểm tra mã lệnh trước khi biên dịch thực sự và thực hiện tất cả các chỉ thị  trước khi thực thi mã lệnh của các câu lệnh thông thường.
  9. 9 Chỉ thị tiền xử lý (Preprocessor directive) Đặc điểm: 1. Mô tả trên một dòng, không có dấu ; 2. Trường hợp cần mô tả trên nhiều dòng dùng dấu \ ở cuối mỗi dòng
  10. 10 Chỉ thị tiền xử lý (Preprocessor directive) Các chỉ thị: 1. Định nghĩa macro (macro definitions): #define ­ #undef 2. Kết hợp với điều kiện (conditional inclusions): #ifdef, #ifndef, #if, #endif, #else và #elif 3. Điều khiển dòng lệnh (line control): #line 4. Chỉ thị lỗi (error directive): #error 5. Kết hợp file nguồn (source file inclusion): #include 6. Chỉ thị pragma (pragma directive): #pragma
  11. 11 Chỉ thị tiền xử lý (Preprocessor directive) 1. Macro definitions: #define – Cú pháp #define “định danh” “thay thế” Mục đích: Thay thế bất kỳ sự xuất hiện của “định danh” trong phần còn lại của các mã lệnh  bằng “thay thế”.  “Thay thế”: có thể là một biểu thức hoặc một lệnh
  12. 12 Chỉ thị tiền xử lý (Preprocessor directive) 1. Macro definitions – Ví dụ #define MAX_SIZE 100  int table1[MAX_SIZE];  int table1[100];  int table2[MAX_SIZE];  int table2[100]; 
  13. 13 Chỉ thị tiền xử lý (Preprocessor directive) 1. Macro definitions – Ví dụ Định nghĩa thay thế một hàm có tham số #include  using namespace std; #define getmax(a,b) ((a)>(b)?(a):(b)) void main() {   int x = 5, y;   y = getmax(x,2);   cout 
  14. 14 Chỉ thị tiền xử lý (Preprocessor directive) 1. Macro definitions: #define – Cú pháp #undef “định danh” # “tham số thay thế” Mục đích: “tham số thay thế” là một chuỗi ký tự (không cần đặt trong dấu ngoặc kép “”) #define str(x) # x cout 
  15. 15 Chỉ thị tiền xử lý (Preprocessor directive) 1. Macro definitions: #define – Cú pháp #undef “định danh” “đối số 1” # “đối số 2” Mục đích: Nối đối số “đối số 1” với “đối số 2” #define glue(a, b) a ## b glue(c,out) 
  16. 16 Chỉ thị tiền xử lý (Preprocessor directive) 1. Macro definitions: #undef – Cú pháp #undef “định danh” Mục đích: Bỏ định nghĩa cho “định danh” #define MAX_SIZE 100 int table1[MAX_SIZE]; #undef MAX_SIZE #define MAX_SIZE 200 int table1[100];  int table2[MAX_SIZE]; int table2[200]; 
  17. 17 Chỉ thị tiền xử lý (Preprocessor directive) 2. Kết hợp với điều kiện (conditional  inclusions): #ifdef – Cú pháp #ifdef “định danh” lệnh; Mục đích: Cho phép chương trình biên dịch nếu “định danh” được định nghĩa. Ví dụ: #ifdef MAX_SIZE int table[MAX_SIZE]; #endif 
  18. 18 Chỉ thị tiền xử lý (Preprocessor directive) 2. Kết hợp với điều kiện (conditional  inclusions): #ifdef … #endif – Cú pháp #ifdef “định danh” lệnh; #endif Mục  đích:  Cho  phép  chương  trình  biên  dịch  nếu  “định danh” được định nghĩa. Ví dụ: #ifdef MAX_SIZE int table[MAX_SIZE]; #endif 
  19. 19 Chỉ thị tiền xử lý (Preprocessor directive) 2. Kết hợp với điều kiện (conditional  inclusions): #ifndef … #endif – Cú pháp #ifndef “định danh” lệnh; #endif Mục  đích:  Cho  phép  chương  trình  biên  dịch  Ví dụ: nếu “định danh” CHƯA được định nghĩa. #ifndef MAX_SIZE #define MAX_SIZE 100 #endif int table[MAX_SIZE];
  20. 20 Chỉ thị tiền xử lý (Preprocessor directive) 2. Kết hợp với điều kiện (conditional  inclusions): #if, #else, #elif … #endif – Cú  pháp #if “điều kiện” #if “điều kiện” lệnh; lệnh; #elif “điều kiện” #else lệnh; lệnh; #else #endif lệnh; #endif Mục đích:  Chỉ thị  #if, #else và #elif dùng để chỉ định một số điều kiện để thực hiện mã lệnh. Điều kiện là một  biểu thức hằng số.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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