intTypePromotion=1
ADSENSE

Giáo trình Kỹ thuật lập trình - CĐ Kinh tế Kỹ thuật TP.HCM

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

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

Giáo trình Kỹ thuật lập trình cung cấp cho người học các kiến thức: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++; Các hàm nhập xuất; Cấu trúc điều khiển; Hàm; Mảng và chuỗi; Con trỏ; Kiểu dữ liệu người dùng tự định nghĩa. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Giáo trình Kỹ thuật lập trình - CĐ Kinh tế Kỹ thuật TP.HCM

  1. TRÖÔØNG CAO ÑAÚNG KINH TEÁ KYÕ THUAÄT THAØNH PHOÁ HOÀ CHÍ MINH KHOA COÂNG NGHEÄ THOÂNG TIN - -  - - Giảng viên: Nguyễn Gia Quang Đăng Khoa Công nghệ thông tin Email: nguyengiaquangdang@hotec.edu.vn Năm 2020
  2. MỤC LỤC BÀI 1 : CÁC KHÁI NIỆM CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH C/C++...... 5 1.1 Mục tiêu ............................................................................................................... 5 1.2 Nội dung .............................................................................................................. 5 1.2.1 Khái quát về ngôn ngữ lập trình C/C++ ....................................................... 5 1.2.1.1 Giới thiệu .................................................................................................. 5 1.2.1.2 Các thành phần cơ bản của ngôn ngữ C/C++ ...................................... 7 1.2.2 Các kiểu dữ liệu cơ sở ..................................................................................... 7 1.2.2.1 Các kiểu dữ liệu cơ bản........................................................................... 7 1.2.2.2 Khái niệm về biến và hằng ..................................................................... 8 1.2.2.3 Từ khóa .................................................................................................... 9 1.2.2.4 Ghi chú ..................................................................................................... 9 1.2.3 Biểu thức – Toán tử - Câu lệnh ................................................................... 10 1.2.3.1 Biểu thức – Toán tử ............................................................................... 10 1.2.3.2 Lệnh và khối lệnh .................................................................................. 14 1.2.3.3 Chuyển đổi kiểu giá trị.......................................................................... 16 1.2.3.4 Các hàm có sẵn trong C/C++ ............................................................... 16 1.2.3.5 Phạm vi của biến ................................................................................... 17 1.2.4 Thuật toán lưu đồ ......................................................................................... 17 1.2.4.1 Khái niệm ............................................................................................... 17 1.2.4.2 Các ký hiệu trên lưu đồ ......................................................................... 17 1.2.5.3 Các ví dụ biểu diễn lưu đồ thuật toán ................................................. 17 1.2.5.4 Khởi động và thoát Dev-C++ ............................................................... 19 1.3 Bài tập ................................................................................................................ 21 BÀI 2 : CÁC HÀM NHẬP XUẤT .................................................................... 23 2.1 Mục tiêu ............................................................................................................. 23 2.2 Nội dung ............................................................................................................ 23 2.2.1 Hàm printf & scanf ....................................................................................... 23 2.2.1.1 Hàm printf.............................................................................................. 23 2.2.1.2 Hàm scanf ............................................................................................... 26 2.2.2 Hàm getche & getch...................................................................................... 27 2.2.2.1 Hàm getche ............................................................................................. 27 2.2.2.2 Hàm getch .............................................................................................. 27 2.2.3 Nhập xuất cout & cin .................................................................................... 27 KHOA CÔNG NGHỆ THÔNG TIN Trang 1
  3. 2.2.3.1 Hàm cout ................................................................................................ 27 2.2.3.2 Hàm cin .................................................................................................. 28 2.3 Bài tập ................................................................................................................ 28 BÀI 3 : CẤU TRÚC ĐIỀU KHIỂN .................................................................. 30 3.1 Mục tiêu ............................................................................................................. 30 3.2 Nội dung ............................................................................................................ 30 3.2.1 Câu lệnh điều khiển ...................................................................................... 30 3.2.1.1 Dạng 1 (if thiếu) ..................................................................................... 30 3.2.1.2 Dạng 2 (if … else)................................................................................... 34 3.2.1.3 Cấu trúc else if ....................................................................................... 39 3.2.1.4 Lệnh switch…case ................................................................................. 45 3.2.2 Vòng lặp ......................................................................................................... 52 3.2.2.1 Vòng lặp for ........................................................................................... 52 3.2.2.2 Lệnh while .............................................................................................. 60 3.2.2.3 Lệnh do…while ...................................................................................... 64 3.2.2.4 Vòng lặp lồng nhau ............................................................................... 67 3.2.2.5 Lệnh break ............................................................................................. 69 3.2.2.6 Lệnh continue và goto ........................................................................... 70 3.2.2.7 Lệnh exit ................................................................................................. 72 3.3 Bài tập ................................................................................................................ 73 3.3.1 Sử dụng lệnh if .............................................................................................. 73 3.3.2 Sử dụng lệnh switch ...................................................................................... 74 3.3.3 Bài tập làm thêm ........................................................................................... 75 3.3.4 Bài tập vòng lặp ............................................................................................ 75 BÀI 4 : HÀM ................................................................................................... 79 4.1 Mục tiêu ............................................................................................................. 79 4.2 Nội dung ............................................................................................................ 79 4.2.1 Tổng quan về hàm ........................................................................................ 79 4.2.1.1 Khái niệm ............................................................................................... 79 4.2.1.2 Cấu trúc của hàm .................................................................................. 79 4.2.1.3 Các ví dụ về sử dụng hàm ..................................................................... 80 4.2.2 Tham số dạng tham biến và tham trị .......................................................... 83 4.2.3 Vần đề tầm vực ............................................................................................. 84 KHOA CÔNG NGHỆ THÔNG TIN Trang 2
  4. 4.2.3.1 Khái niệm ............................................................................................... 84 4.2.3.2 Quy tắc cơ bản ....................................................................................... 84 4.2.3.3 Tầm vực của biến .................................................................................. 85 4.2.3.4 Tầm vực của hàm .................................................................................. 87 4.2.4 Dùng hướng dẫn #define .............................................................................. 88 4.2.5 Đệ quy ............................................................................................................ 89 4.2.5.1 Khái niệm ............................................................................................... 89 4.2.5.2 Các ví dụ ................................................................................................. 89 4.2.6 Ưu nhược điểm của đệ quy .......................................................................... 94 4.3 Bài tập ................................................................................................................ 94 4.3.1 Bài tập hàm ................................................................................................... 94 4.3.2 Bài tập đệ quy ................................................................................................ 95 BÀI 5 : MẢNG VÀ CHUỖI ............................................................................. 96 5.1 Mục tiêu ............................................................................................................. 96 5.2 Nội dung ............................................................................................................ 96 5.2.1 Mảng .............................................................................................................. 96 5.2.1.1 Cách khai báo mảng .............................................................................. 96 5.2.1.2 Tham chiếu đến từng phần tử mảng ................................................... 97 5.2.1.3 Nhập/Xuất dữ liệu cho mảng một chiều .............................................. 97 5.2.1.4 Mảng nhiều chiều ................................................................................ 100 5.2.1.5 Nhập/Xuất dữ liệu cho mảng 2 chiều ................................................ 102 5.2.2 Chuỗi ............................................................................................................ 109 5.2.2.1 Cách khai báo chuỗi ............................................................................ 109 5.2.2.2 Hàm nhập (gets), xuất (puts) chuỗi.................................................... 110 5.2.2.3 Các hàm chuỗi thường sử dụng ......................................................... 113 5.3 Bài tập .............................................................................................................. 114 BÀI 6 : CON TRỎ ........................................................................................ 119 6.1 Mục tiêu ........................................................................................................... 119 6.2 Nội dung .......................................................................................................... 119 6.2.1 Khái quát về con trỏ? ................................................................................. 119 6.2.1.1 Khái niệm ............................................................................................. 119 6.2.1.2 Lý do để dùng con trỏ ......................................................................... 119 6.2.1.3 Các toán tử ........................................................................................... 119 KHOA CÔNG NGHỆ THÔNG TIN Trang 3
  5. 6.2.1.4 Khái báo biến con trỏ .......................................................................... 120 6.2.1.5 Cấp phát và giải phóng vùng nhớ ...................................................... 123 6.2.2 Ứng dụng của con trỏ ................................................................................. 125 6.2.2.1 Hàm có tham số của con trỏ ............................................................... 125 6.2.2.2 Con trỏ và mảng .................................................................................. 127 6.2.2.3 Con trỏ và chuỗi .................................................................................. 130 6.2.2.4 Con trỏ trỏ đến con trỏ ....................................................................... 133 6.3 Bài tập .............................................................................................................. 135 BÀI 7 : KIỂU DỮ LIỆU NGƯỜI DÙNG TỰ ĐỊNH NGHĨA ........................... 136 7.1 Mục tiêu ........................................................................................................... 136 7.2 Nội dung .......................................................................................................... 136 7.2.1 Kiểu cấu trúc (Struct) ................................................................................. 136 7.2.1.1 Khái niệm ............................................................................................. 136 7.2.1.2 Khai báo kiểu struct ............................................................................ 136 7.2.1.3 Tham khảo các thành phần trong struct ........................................... 137 7.2.1.4 Khởi tạo struct ..................................................................................... 140 7.2.1.5 Struct lồng nhau .................................................................................. 141 7.2.1.6 Sử dụng mảng các struct..................................................................... 144 7.2.2 Enum ............................................................................................................ 150 7.2.2.1 Khái niệm ............................................................................................. 150 7.2.2.2 Cách khai báo khởi tạo biến có kiểu enum ....................................... 151 7.2.2.3 Các ví dụ ............................................................................................... 151 7.3 Bài tập .............................................................................................................. 154 TÀI LIỆU THAM KHẢO ................................................................................. 155 PHỤ LỤC ....................................................................................................... 156 Chú thích hình ảnh .................................................................................................... 156 Bảng biểu .................................................................................................................... 156 KHOA CÔNG NGHỆ THÔNG TIN Trang 4
  6. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ Bài 1 : CÁC KHÁI NIỆM CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH C/C++ 1.1 Mục tiêu Sau khi học xong học sinh sẽ trình bày và vận dụng được các kỹ năng cơ bản sau: - Khái niệm từ khóa - Các kiểu dữ liệu - Cách ghi chú - Đặt tên biến - Khai báo biến. - Phạm vi sử dụng biến. - Vẽ phát họa được lưu đồ thuật toán 1.2 Nội dung 1.2.1 Khái quát về ngôn ngữ lập trình C/C++ 1.2.1.1 Giới thiệu - Ngôn ngữ lập trình C do Dennis Ritchie nghĩ ra khi ông làm việc tại AT&T Bell Laboratories vào năm 1972. - C là một ngôn ngữ mạnh và có tính linh hoạt, nó đã nhanh chóng được sử dụng một cách rộng rãi, vượt ra khỏi phạm vi của Bell Labs. Các lập trình viên ở khắp mọi nơi bắt đầu sử dụng nó để viết tất cả các loại chương trình. - C++ được biết đến như là ngôn ngữ mới bao trùm lên C và do Bjarne Stroustrup sáng tác năm 1980 cũng tại phòng thí nghiệm Bell tại bang New Jersey, Mỹ. Ban đầu được ông đặt tên cho nó là “C with classes” (C với các lớp). Tuy nhiên đến năm 1983 thì ông đổi tên thành C++, trong đó ++ là toán tử tăng thêm 1 của C. - C++ được biết đến như là ngôn ngữ lập trình hướng sự vật hay hướng đối tượng - OOP (Object Oriented Programming). Nó cung cấp các lớp mà có 4 chức năng thông dụng trong các ngôn ngữ OO: tính trừu tượng, tính bao đóng, tính đa hình, và tính kế thừa. C++ bao trùm lên C nên mọi đặc điểm của C đều có trong C++. Ngoài ra, C++ còn có một số đặc điểm khác như: C++ là ngôn ngữ hướng đối tượng. C++ là ngôn ngữ định kiểu rất mạnh. C++ cung cấp cách truyền tham số bằng tham chiếu cho hàm. KHOA CÔNG NGHỆ THÔNG TIN Trang 5
  7. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ C++ cung cấp cơ cấu thư viện để người lập trình có thể tự tạo thêm hàm thông dụng vào thư viện và có thể tái sử dụng sau này. C++ cung cấp một cơ chế đa dạng hóa tên hàm và toán tử. C++ cung cấp các class là loại cấu trúc mới đóng gói chung cho cả dữ liệu lẫn các hàm trong một chủ thể được bảo vệ một cách chặt chẽ. Cấu trúc của một chương trình C++ Khối khai báo các thư viện hàm Các định nghĩa biến, hằng, kiểu, hàm Khối hàm main Các định nghĩa hàm của người dùng Trong đó: - Khối khai báo các thư viện hàm: cú pháp để khai báo thư viện: #include Ví dụ: #include #include - Các định nghĩa biến, hằng, kiểu, hàm: Cung cấp tên hàm, kiểu hàm, số đối số và kiểu của từng đối số của hàm. Các biến và hằng được định nghĩa tại đây sẽ trở thành biến và hằng toàn cục hoặc các khai báo nguyên mẫu hàm với cú pháp sau: ([biến tham số]); Ví dụ: int songuyento(int x); - Khối hàm main: Đây là thành phần bắt buộc trong một chương trình C++, thân của hàm main bắt đầu từ sau dấu mở móc { cho tới dấu đóng móc }. - Các định nghĩa hàm của người dùng: Một định nghĩa hàm bao gồm tiêu đề của hàm, thân hàm với cú pháp như sau: KHOA CÔNG NGHỆ THÔNG TIN Trang 6
  8. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ ([Các biến tham số]) { } 1.2.1.2 Các thành phần cơ bản của ngôn ngữ C/C++ Các thành phần  Các thành phần trong C++ bao gồm: + Từ khóa. + Các khai báo biến, hằng. + Các cấu trúc điều khiển. + Biểu thức và các phép toán. + Các định nghĩa, khai báo hàm, khai báo kiểu,…  Những ký tự, ký hiệu sau: (phân biệt chữ in hoa và in thường):  26 chữ cái latinh lớn A,B,C...Z  26 chữ cái latinh nhỏ a,b,c ...z.  10 chữ số thập phân 0,1,2...9.  Các ký hiệu toán học: +, -, *, /, =, , (, )  Các ký hiệu đặc biệt: :. , ; " ' _ @ # $ ! ^ [ ] { } ...  Dấu cách hay khoảng trống. Các kiểu dữ liệu cơ bản  3 thông tin đặc trưng của kiểu dữ liệu: - Tên kiểu dữ liệu. - Kích thước vùng nhớ biểu diễn nó,miền giá trị. - Các phép toán có thể sử dụng. - Các kiểu dữ liệu đơn giản trong C++ chỉ là các kiểu số, thuộc hai nhóm chính đó là số nguyên và số thực (số dấu phẩy động). 1.2.2 Các kiểu dữ liệu cơ sở 1.2.2.1 Các kiểu dữ liệu cơ bản Có 4 kiểu dữ liệu cơ bản trong C là: char, int, float, double. Bảng 1: Các kiểu dữ liệu cơ bản trong C KHOA CÔNG NGHỆ THÔNG TIN Trang 7
  9. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ Kiểu dữ liệu Kích thước Miền giá trị TT (Type) (Length) (Range) 1 unsigned char 1 byte 0 đến 255 2 char 1 byte – 128 đến 127 3 enum 2 bytes – 32,768 đến 32,767 4 unsigned int 2 bytes 0 đến 65,535 5 short int 2 bytes – 32,768 đến 32,767 6 int 2 bytes – 32,768 đến 32,767 7 unsigned long 4 bytes 0 đến 4,294,967,295 8 long 4 bytes – 2,147,483,648 đến 2,147,483,647 9 float 4 bytes 3.4 * 10–38 đến 3.4 * 1038 10 double 8 bytes 1.7 * 10–308 đến 1.7 * 10308 11 long double 10 bytes 3.4 * 10–4932 đến 1.1 * 104932 1.2.2.2 Khái niệm về biến và hằng Khái niệm tên biến rất quan trọng trong quá trình lập trình, nó không những thể hiện rõ ý nghĩa trong chương trình mà còn dùng để xác định các đại lượng khác nhau khi thực hiện chương trình. Tên thường được đặt cho hằng, biến, mảng, con trỏ, nhãn… Chiều dài tối đa của tên là 32 ký tự. Tên biến hợp lệ là một chuỗi ký tự liên tục gồm: Ký tự chữ, số và dấu gạch dưới. Ký tự đầu của tên phải là chữ hoặc dấu gạch dưới. Khi đặt tên không được đặt trùng với các từ khóa. Ví dụ 1:  Các đặt tên biến đúng: bien1, b_1, Number_ODD, Case  Các đặt tên sai: 3b_1 (ký tự đầu là số) number-odd (sử dụng dấu gạch ngang) float (đặt tên trùng với từ khóa) bien 1 (có khoảng trắng) f(x) (có dấu ngoặc tròn) Lưu ý: Trong C/C++, phân biệt đặt tên chữ hoa và chữ thường Ví dụ 2: number khác Number KHOA CÔNG NGHỆ THÔNG TIN Trang 8
  10. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ float khác Float (float là từ khóa, do đó bạn đặt tên là Float vẫn đúng) Hằng là đại lượng có giá trị thuộc một kiểu dữ liệu nhất định, giá trị của hằng không thể thay đổi trong thời gian tồn tại của chương trình. Có hai loại hằng: + Hằng không tên (hằng thường): là các giá trị cụ thể tức thời. + Hằng có tên (hằng ký hiệu): là các hằng phải định nghĩa trước khi sử dụng, tên của hằng đặt theo quy tắc của tên. Định nghĩa hằng Cú pháp: const = ; hoặc const = ; Chú ý: - Hằng số được ngầm hiểu là hệ 10, nhưng ta có thể viết các hằng trong hệ 16 hoặc 8. - Các hằng kí tự được viết trong cặp dấu nháy đơn ‘’. - Các xâu kí tự là dãy các kí tự được viết trong cặp dấu nháy kép “”. 1.2.2.3 Từ khóa Từ khóa là từ có ý nghĩa dùng để xác định khai báo dữ liệu và viết các câu lệnh trong lập trình. Trong C/C++ có các từ khóa sau: Bảng 2: Các từ khóa trong C/C++ asm const else for interrupt return sizeof void break continue enum goto long short switch volatile case default extern huge near static typedef while cdecl do far if pascal struct union char double float int register signed unsigned  Các từ khóa khi lập trình phải viết bằng chữ thường 1.2.2.4 Ghi chú Trong khi lập trình cần phải ghi chú để giải thích các biến, hằng, hàm, thao tác xử lý giúp cho chương trình rõ ràng dễ hiểu, dễ nhớ, dễ sửa chữa và để người khác đọc vào dễ hiểu. Trong C/C++ hỗ trợ chọn phép các ghi chú sau: // hoặc /* nội dung ghi chú */ KHOA CÔNG NGHỆ THÔNG TIN Trang 9
  11. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ Ví dụ 3: int main(int argc, char *argv[]) { float a, b; //khai bao bien a,b kieu float a = 10; //gan 10 cho a b =13; //gan 13 cho b /* thuat toan tim so lon nhat la neu a lon hon b thi a lon nhat nguoc lai b lon nhat */ if (a > b) printf("max: %d", a); else printf("max: %d", b); } Khi biên dịch chương trình, C/C++ gặp cặp dấu ghi chú sẽ không dịch ra ngôn ngữ máy. Kết luận: - Đối với ghi chú dạng // dùng để ghi chú trên một hàng. - Ghi chú dạng /* …. */ có thể ghi chú một hàng hoặc nhiều hàng. - Nội dung ghi chú chương trình sẽ không thực hiện biên dịch. 1.2.3 Biểu thức – Toán tử - Câu lệnh 1.2.3.1 Biểu thức – Toán tử a. Biểu thức  Biểu thức là một sự kết hợp giữa các toán tử (operator) và các toán hạng (operand) theo đúng một trật tự nhất định.  Mỗi toán hạng có thể là một hằng, một biến hoặc một biểu thức khác.  Trong trường hợp, biểu thức có nhiều toán tử, ta dùng cặp dấu ngoặc đơn () để chỉ định toán tử nào được thực hiện trước. Ví dụ: Biểu thức tính chu vi hình chữ nhật: (d+r)/2 Trong đó: d, r là biến của biểu thức. b. Toán tử Trong ngôn ngữ C/C++, các toán tử +, -, *, / làm việc tương tự như khi chúng làm việc trong các ngôn ngữ khác. Ta có thể áp dụng chúng cho đa số kiểu dữ liệu KHOA CÔNG NGHỆ THÔNG TIN Trang 10
  12. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ có sẵn được cho phép bởi C. Khi ta áp dụng phép / cho một số nguyên hay một ký tự, bất kỳ phần dư nào cũng bị cắt bỏ. Chẳng hạn, 7/2 bằng 3 trong phép chia nguyên. Bảng 3: Các phép toán Toán tử Giải thích phép toán + Phép cộng - Phép trừ * Phép nhân / Phép chia % Phép chia lấy phần dư -- Phép giảm 1 đơn vị ++ Phép tăng 1 đơn vị Phép tăng và giảm (++ & --) Toán tử ++ dùng để tăng thêm 1 vào toán hạng và -- trừ bớt 1. Hay viết như sau: x = x + 1 tương tự như ++x x = x - 1 tương tự như x-- Cả 2 phép toán tử tăng và giảm đều có thể tiền tố (đặt trước) hay hậu tố (đặt sau) toán hạng. Ví dụ: x = x + 1 có thể viết x++ (hay ++x) đều giống nhau. Tuy nhiên giữa tiền tố và hậu tố có sự khác biệt khi sử dụng trong 1 biểu thức. Khi 1 toán tử tăng hay giảm đứng trước toán hạng của nó, C thực hiện việc tăng hay giảm trước khi lấy giá trị dùng trong biểu thức. Nếu toán tử đi sau toán hạng, C lấy giá trị toán hạng trước khi tăng hay giảm nó. - Toán tử tiền tố: x = 20 y = ++x //y = 21 - Toán tử hậu tố: x = 20 KHOA CÔNG NGHỆ THÔNG TIN Trang 11
  13. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ x = x++ //y = 20 Thứ tự ưu tiên của các toán tử số học như sau: Toán tử: ++ → -- → * → / → % → + → - Các toán tử quan hệ và các toán tử Logic Các toán tử quan hệ dùng để so sánh các giá trị giữa các biến. Bảng 4: Các phép toán tử quan hệ Toán tử quan hệ Giải thích ý nghĩa > Lớn hơn >= Lớn hơn hoặc bằng < Nhỏ hơn
  14. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ Độ ưu tiên các toán tử số học cao hơn các toán tử quan hệ và Logic. Do đó một biểu thức như: 20 > 1+ 22 sẽ được xem là 20 > (1 + 22) và kết quả là sai (0). Ta có thể kết hợp vài toán tử lại với nhau thành biểu thức như sau: 20>5&&!(20= < Dịch phải
  15. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ 1 1 0 Toán tử ? cùng với: C có một toán tử hỗ trợ rất mạnh và thích hợp để thay thế cho các câu lệnh của If-Then-Else. Cú pháp của việc sử dụng toán tử ? như sau: E1 ? E2 : E3 Trong đó E1, E2, E3 là các biểu thức. Ý nghĩa: Trước tiên E1 được kiểm tra điều kiện, nếu đúng E2 trở thành giá trị của biểu thức; nếu E1 sai, E3 được trở thành giá trị của biểu thức. Ví dụ: X = 100 Y = X > 90 ? 50 : 200 Thì Y được gán giá trị 50, nếu X nhỏ hơn 90 thì Y sẽ nhận giá trị là 200. Đoạn mã này tương đương cấu trúc if như sau: X = 100; if (X < 90) Y = 50; else Y = 200; 1.2.3.2 Lệnh và khối lệnh  Lệnh Lệnh là bao gồm một tác vụ, biểu thức, hàm, hay cấu trúc điều khiển… Ví dụ 4: x = x + 2; printf("Day la mot lenh\n");  Khối lệnh Khối lệnh là một dãy gồm nhiều câu lệnh được đặt trong cặp dấu { }. Trong lập trình các lệnh trong khối lệnh phải viết thụt vô 1 tab so với cặp dấu { } Ví dụ 5: { // đầu khối a = 15; b = 16; viết thụt vô 1 tab so với cặp { } printf("Tong %d + %d = %d", a, b, a+b); KHOA CÔNG NGHỆ THÔNG TIN Trang 14
  16. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ } //cuối khối  Khai báo biến  Cú pháp Kiểu dữ liệu Danh sách tên biến; - Kiểu dữ liệu: 1 trong các kiểu dữ liệu được ngôn ngữ C/C++ hỗ trợ - Danh sách tên biến: gồm các tên biến có cùng kiểu dữ liệu, mỗi tên biến cách nhau dấu phẩy (,), cuối cùng phải là dấu chấm phẩy (;). Ví dụ 6: int ithang; //khai báo biến ithang có kiểu int float fgia; //khai báo biến fgia có kiểu float char ckitu1, ckitu2; //khai báo biến ckitu1, ckitu2 có kiểu char Cách khai báo tên biến dựa trên theo quy tắc ở mục 1.2.2.1. Ý nghĩa là biến ithang là kiểu int, ta nên thêm chữ i (kí tự đầu của kiểu) vào đầu tên biến thang để trong quá trình lập trình hoặc sau này xem lại, sửa chữa chương trình dễ dàng nhận ra biến ithang có kiểu int mà không cần phải di chuyển đến phần khai báo mới biết kiểu của biến này. Tương tự cho các kiểu biến còn lại.  Vừa khai báo vừa khởi gán Chúng ta có thể kết hợp việc khai báo với toán tử kết hợp với thức gán để biến nhận giá trị ngay cùng lúc với khai báo. Ví dụ 7:  Khai báo trước, gán giá trị sau: int main(int argc, char *argv[]) { int a, b, c; a = 10; b = 20; c = 50; … }  Vừa khai báo vừa gán giá trị: int main(int argc, char *argv[]) KHOA CÔNG NGHỆ THÔNG TIN Trang 15
  17. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ { int a = 10, b = 20, c = 50; … } 1.2.3.3 Chuyển đổi kiểu giá trị Quy tắc chuyển đổi kiểu dữ liệu đích phải có giá trị lớn hơn kiểu dữ liệu nguồn. Ví dụ: chuyển từ int sang float. int a = 100; float f = a; Hoặc tường minh: Thay đổi kiểu dữ liệu có dãy giá trị lớn sang dãy giá trị nhỏ hơn. Ví dụ: chuyển từ float sang int. float f = 100.51; int a = (int) f; 1.2.3.4 Các hàm có sẵn trong C/C++ Hàm thư viện là những hàm đã được định nghĩa sẵn trong một thư viện nào đó, muốn sử dụng các hàm thư viện thì phải khai báo thư viện trước khi sử dụng bằng lệnh #include Bảng 9: Ý nghĩa của một số hàm có sẵn thường dùng STT Thư viện Hàm có sẵn Ứng dụng printf(), scanf(), getc(), putc(), Thư viện chứa các gets(), puts(), fflush(), fopen(), hàm vào/ ra chuẩn 1 stdio.h fclose(), fread(), fwrite(), (standard input/outp getchar(), putchar(), getw(), ut) putw()… clrscr(), getch(), getche(), Thư viện chứa các getpass(), cgets(), cputs(), putch(), hàm vào ra trong 2 conio.h clreol(),… chế độ DOS (DOS console) abs(), sqrt(), log(). log10(), sin(), Thư viện chứa các 3 math.h cos(), tan(), acos(), asin(), atan(), hàm tính toán pow(), exp(),… calloc(), realloc(), malloc(), free(), Thư viện chứa các 4 alloc.h farmalloc(), farcalloc(), farfree(), hàm liên quan đến … việc quản lý bộ nhớ KHOA CÔNG NGHỆ THÔNG TIN Trang 16
  18. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ open(), _open(), read(), _read(), Thư viện chứa các close(), _close(), creat(), _creat(), hàm vào ra cấp thấp 5 io.h creatnew(), eof(), filelength(), lock(),… initgraph(), line(), circle(), Thư viện chứa các 6 graphics.h putpixel(), getpixel(), setcolor(), hàm liên quan đến … đồ họa 1.2.3.5 Phạm vi của biến Khi lập trình, chúng ta phải nắm rõ phạm vi của biến. Nếu khai báo và sử dụng không đúng, không rõ ràng sẽ dẫn đến sai sót khó kiểm soát được, vì vậy chúng ta cần phải xác định đúng vị trí, phạm vi sử dụng biến trước khi sử dụng biến.  Khai báo biến ngoài (biến toàn cục): Vị trí biến đặt bên ngoài tất cả các hàm, cấu trúc... Các biến này có ảnh hưởng đến toàn bộ chương trình. Chu trình sống của nó là bắt đầu chạy chương trình đến lúc kết thúc chương trình.  Khai báo biến trong (biến cục bộ): Vị trí biến đặt bên trong hàm, cấu trúc…. Chỉ ảnh hưởng nội bộ bên trong hàm, cấu trúc đó… Chu trình sống của nó bắt đầu từ lúc hàm, cấu trúc được gọi thực hiện đến lúc thực hiện xong. 1.2.4 Thuật toán lưu đồ 1.2.4.1 Khái niệm Thuật toán là tập hợp các quy tắc có logic dùng để giải một lớp bài toán nào đó để được một kết quả xác định. Lưu đồ là một dạng đồ thị dùng để mô tả quá trình tính toán một cách có hệ thống. Người ta thường thể hiện thuật toán bằng lưu đồ. 1.2.4.2 Các ký hiệu trên lưu đồ Bảng 10: Bảng ký hiệu lưu đồ Tên khối Ký hiệu Ý nghĩa Khối mở đầu và kết thúc Dùng mở đầu hoặc kết thúc chương trình Khối vào ra Đưa số liệu vào hoặc in kết quả Khối tính toán Biểu diễn công thức tính toán Khối điều kiện Dùng để phân nhánh chương trình Chương trình con Dùng để gọi chương trình con Mũi tên Chỉ hướng truyền thông tin, liên hệ các khối 1.2.5.3 Các ví dụ biểu diễn lưu đồ thuật toán KHOA CÔNG NGHỆ THÔNG TIN Trang 17
  19. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ Ví dụ 8: Tính A=x2+y2 Ví dụ 9 : Giải phương trình bậc 1 Ax+B=0 Ví dụ 10: Vẽ lưu đồ thuật toán hiển thị các số từ 1 đến 10. KHOA CÔNG NGHỆ THÔNG TIN Trang 18
  20. Bài 1: Các khái niệm cơ bản của ngôn ngữ lập trình C/C++ Ví dụ 11: Vẽ lưu đồ thuật toán kiểm tra tính hợp lệ của điểm số từ 0 đến 10 Bắt đầu Điểm Sai Điểm >=0 và Điểm
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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