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

Giáo trình Lập trình C/C++ - CĐ Giao thông Vận tải TP.HCM

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

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

Giáo trình Lập trình C/C++ giúp người học tìm hiểu thế giới của ngôn ngữ C/C++ từ những khái niệm ban đầu cơ bản nhất. Giáo trình gồm có 12 chương với những nội dung cụ thể của từng chương như sau: Chương 1: ngôn ngữ lập trình & phương pháp lập trình; chương 2: làm quen lập trình c/c++ qua các ví dụ đơn giản; chương 3: các thành phần trong ngôn ngữ c/c++; chương 4: biểu thức; chương 5: nhập - xuất dữ liệu; chương 6: cấu trúc điều khiển; chương 7: vòng lặp; chương 8: hàm; chương 9: mảng và con trỏ; chương 10: chuỗi; chương 11: kiểu dữ liệu cấu trúc; chương 12: tập tin – file.

Chủ đề:
Lưu

Nội dung Text: Giáo trình Lập trình C/C++ - CĐ Giao thông Vận tải TP.HCM

  1. ỦY BAN NHÂN THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG CAO ĐẲNG GIAO THÔNG VẬN TẢI ------ Chủ biên :ThS. Nguyễn Ngọc Trung Thành viên :KS. Tô Diệp Khanh :ThS. Lê Kim Hòa ` :ThS. Phan Văn Bằng :ThS. Châu Văn Khánh Lưu hành nội bộ - Năm 2016
  2. Kỹ thuật điều khiển và tự động hóa là ngành nghiên cứu, ứng dụng các kỹ thuật cơ khí hiện đại, kỹ thuật điều khiển, kỹ thuật máy tính vào việc vận hành, điều khiển quá trình sản xuất nhằm thực hiện một công việc mà không cần đến sự can thiệp trực tiếp của con người. Vậy để thực hiện những công việc này thì bắt buộc chúng ta phải lập trình tạo ra những chương trình vận hành mà C/C++ là ngôn ngữ lập trình vạn năng có thể giúp chúng ta giải quyết các vần đề này. Sử dụng thành thạo ngôn ngữ C/C++ còn giúp sinh viên học tốt các môn học Lập trình PLC và lập trình vi xử lý. Giáo trình này chúng ta đi tìm hiểu thế giới của ngôn ngữ C/C++ từ những khái niệm ban đầu cơ bản nhất.
  3. .MỤC LỤC Chương 1: NGÔN NGỮ LẬP TRÌNH & PHƯƠNG PHÁP LẬP TRÌNH ....................1 1.1 Ngôn ngữ lập trình (Programming Language) .....................................................1 1.2 Các bước lập trình ................................................................................................1 1.3 Kỹ thuật lập trình ..................................................................................................1 I-P-O Cycle (Input-Process-Output Cycle) (Quy trình nhập-xử lý-xuất) .....1 Sử dụng lưu đồ (Flowchart) ..........................................................................3 1.4 Bài tập ...................................................................................................................6 Chương 2: LÀM QUEN LẬP TRÌNH C/C++ QUA CÁC VÍ DỤ ĐƠN GIẢN ............7 2.1 Khởi động Dev C++ .............................................................................................7 2.2 Các ví dụ đơn giản ................................................................................................7 Ví dụ 1 ...........................................................................................................7 Ví dụ 2 ...........................................................................................................9 Ví dụ 3 ...........................................................................................................9 Ví dụ 4 .........................................................................................................10 Ví dụ 5 .........................................................................................................10 Chương 3: CÁC THÀNH PHẦN TRONG NGÔN NGỮ C/C++ ................................11 3.1 Từ khóa ...............................................................................................................11 3.2 Tên ......................................................................................................................11 3.3 Kiểu dữ liệu ........................................................................................................12 3.4 Ghi chú ...............................................................................................................12 3.5 Khai báo biến ......................................................................................................12 Tên biến.......................................................................................................12 Khai báo biến ..............................................................................................13 Vừa khai báo vừa khởi gán .........................................................................13 Vị trí đặt các khai báo biến .........................................................................13 Chương 4: BIỂU THỨC ...............................................................................................14 4.1 Biểu thức ............................................................................................................14 4.2 Các phép toán số học ..........................................................................................14 4.3 Các phép toán quan hệ và logic ..........................................................................15 4.4 Phép toán tăng giảm ...........................................................................................15 4.5 Thứ tự ưu tiên các phép toán ..............................................................................16 4.6 Chuyển đổi kiểu ..................................................................................................17 4.7 Các hàm toán học thường dùng ..........................................................................17 abs ...............................................................................................................17 rand..............................................................................................................17 pow ..............................................................................................................18 sqrt ...............................................................................................................18 atoi ...............................................................................................................18 Chương 5: NHẬP - XUẤT DỮ LIỆU ..........................................................................19 5.1 Các hàm vào ra chuẩn - getchar() và putchar() ..................................................19 Hàm getchar () ............................................................................................19 Hàm putchar() .............................................................................................19 5.2 Đưa kết quả ra màn hình - Hàm printf ...............................................................20 5.3 Vào số liệu từ bàn phím - Hàm scanf .................................................................21 5.4 Đưa kết quả ra màn hình - Hàm cout .................................................................21 5.5 Vào số liệu từ bàn phím - Hàm cin ....................................................................23 Trang - i
  4. 5.6 Bài tập ................................................................................................................ 23 Chương 6: CẤU TRÚC ĐIỀU KHIỂN ........................................................................ 25 6.1 Cấu trúc có điều kiện: ........................................................................................ 25 Lệnh if-else: ................................................................................................ 25 Lệnh else-if: ................................................................................................ 28 6.2 Lệnh nhảy không điều kiện - toán tử goto: ........................................................ 29 6.3 Lệnh break .......................................................................................................... 31 6.4 Cấu trúc rẽ nhánh - toán tử switch: .................................................................... 31 6.5 Bài tập ................................................................................................................ 33 Sử dụng lệnh if ............................................................................................ 33 Sử dụng lệnh switch .................................................................................... 34 Bài tập làm thêm ......................................................................................... 35 Chương 7: VÒNG LẶP ................................................................................................ 36 7.1 Lệnh continue ..................................................................................................... 36 7.2 Vòng lặp for ....................................................................................................... 36 7.3 Vòng lặp while ................................................................................................... 39 7.4 Vòng lặp do…while .......................................................................................... 40 7.5 Vòng lặp lồng nhau ............................................................................................ 42 7.6 So sánh sự khác nhau của các vòng lặp ............................................................. 43 7.7 Bài tập ................................................................................................................ 43 Chương 8: HÀM ........................................................................................................... 46 8.1 Cơ sở .................................................................................................................. 46 8.2 Hàm không cho các giá trị trả về: ...................................................................... 48 8.3 Các ví dụ về hàm ................................................................................................ 49 Ví dụ 1 ........................................................................................................ 49 Ví dụ 2 ........................................................................................................ 49 Ví dụ 3 ........................................................................................................ 50 8.4 Bài tập ................................................................................................................ 50 Chương 9: MẢNG VÀ CON TRỎ ............................................................................... 52 9.1 Mảng................................................................................................................... 52 Mảng một chiều .......................................................................................... 52 Mảng nhiều chiều........................................................................................ 54 9.2 Con trỏ ................................................................................................................ 57 Khái báo biến con trỏ .................................................................................. 57 Phép toán số học trên con trỏ ...................................................................... 59 Con trỏ và mảng một chiều ......................................................................... 60 9.3 Bài tập ................................................................................................................ 60 Chương 10: CHUỖI .................................................................................................... 62 10.1 Cách khai báo chuỗi ....................................................................................... 62 10.2 Hàm nhập, xuất chuỗi ..................................................................................... 63 10.3 Bộ đệm và hiện tượng trôi lệnh ...................................................................... 64 Bộ đệm (Buffer) ...................................................................................... 64 Hiện tượng trôi lệnh ................................................................................ 64 10.4 Các phương thức, phép toán tiện ích của kiểu string ..................................... 65 Các phép toán và phương thức cơ bản .................................................... 65 Lấy chiều dài chuỗi ................................................................................. 66 Truy cập một phần tử bất kỳ trong chuỗi ................................................ 67 Chèn chuỗi .............................................................................................. 67 Trang - ii
  5. Xoá chuỗi ................................................................................................68 Lấy chuỗi con ..........................................................................................68 Tìm kiếm chuỗi con.................................................................................69 Thay thế một đoạn con trong chuỗi ban đầu. ..........................................69 Đổi chữ hoa thành thường với tolower(char ch)và đổi chữ thường thành chữ hoa với toupper(char ch) ..................................................................................70 10.5 Bài tập .............................................................................................................70 Chương 11: KIỂU DỮ LIỆU CẤU TRÚC .................................................................72 11.1 Kiểu cấu trúc (Structure) ................................................................................72 Khai báo kiểu structure ...........................................................................72 Cách khai báo biến có kiểu structure ......................................................72 Tham chiếu các phần tử trong structure ..................................................72 Structure lồng nhau .................................................................................74 11.2 Danh sách liên kết ...........................................................................................75 Khái niệm danh sách liên kết đơn ...........................................................75 Khai báo danh sách liên kết đơn .............................................................76 Thêm 1 phần tử vào danh sách liên kết đơn ............................................76 Khởi tạo danh sách liên kết đơn ..............................................................77 Chèn phần tử vào danh sách liên kết đơn ................................................78 Xóa bỏ phần tử trong danh sách ..............................................................78 11.3 Bài tập .............................................................................................................79 Mảng cấu trúc ..........................................................................................79 Danh sách liên kết ...................................................................................79 Chương 12: TẬP TIN – FILE .....................................................................................81 12.1 Một số khái niệm về tập tin ............................................................................81 12.2 Các thao tác trên tập tin ..................................................................................82 Khai báo biến tập tin ...............................................................................82 Mở và đóng tập tin ..................................................................................82 12.3 Truy cập tập tin văn bản .................................................................................83 12.4 Truy cập tập tin nhị phân ................................................................................87 12.5 Bài tập .............................................................................................................88 Tài Liệu Tham Khảo .....................................................................................................90 Trang - iii
  6. Ngôn ngữ lập trình & Phương pháp lập trình Chương 1: NGÔN NGỮ LẬP TRÌNH & PHƯƠNG PHÁP LẬP TRÌNH 1.1 Ngôn ngữ lập trình (Programming Language) Ngôn ngữ lập trình là hệ thống các ký hiệu để miêu tả những tính toán qua máy tính trong một dạng mà cả con người và máy đều có thể hiểu được và phải tuân theo các qui ước về ngữ pháp và ngữ nghĩa, dùng để xây dựng thành các chương trình cho máy tính. Một chương trình được viết bằng một ngôn ngữ lập trình cụ thể (ví dụ Pascal, C…) gọi là chương trình nguồn, chương trình dịch làm nhiệm vụ dịch chương trình nguồn thành chương trình thực thi được trên máy tính. 1.2 Các bước lập trình Bước 1: Phân tích vấn đề và xác định các đặc điểm. (xác định I-P-O) Bước 2: Lập ra giải pháp. (đưa ra thuật giải) Bước 3: Cài đặt. (viết chương trình) Bước 4: Chạy thử chương trình. (dịch chương trình) Bước 5: Kiểm chứng và hoàn thiện chương trình. (thử nghiệm bằng nhiều số liệu và đánh giá) 1.3 Kỹ thuật lập trình I-P-O Cycle (Input-Process-Output Cycle) (Quy trình nhập-xử lý-xuất) Quy trình xử lý cơ bản của máy tính gồm I-P-O. Input Output Process Ví dụ 1: Xác định Input, Process, Output của việc làm 1 ly cà phê Input : Ly, cà phê, nước nóng, muỗng, đá lạnh. Process : Cho cà phê vào ly, nước nóng vào ly, dùng muỗng khuấy đều, cho đá lạnh vào. Output : Ly cà phê đã sẵn sàng để dùng. Giáo trình ngôn ngữ lập trình C/C++ Trang - 1
  7. Ngôn ngữ lập trình & Phương pháp lập trình Ví dụ 2: Xác định Input, Process, Output của chương trình tính tiền lương công nhân tháng 07/2016 biết rằng lương = lương căn bản * ngày công+phụ cấp Input : Lương căn bản, ngày công, phụ cấp Process : Nhân lương căn bản với ngày công sau đó cộng với phụ cấp Output : Lương Ví dụ 3: Xác định Input, Process, Output của chương trình giải phương trình bậc nhất ax + b = 0 Input : Hệ số a, b Process : Chia – b cho a Output : Nghiệm x Ví dụ 4: Xác định Input, Process, Output của chương trình tìm số lớn nhất của 2 số x và y. Input : a, b Process : Nếu x > y thì Output = x lớn nhất, ngược lại Output = y lớn nhất  Bài tập Xác định Input, Process, Output của các chương trình sau: 1. Đổi từ tiền VND sang tiền USD. 2. Tính điểm trung bình của học sinh gồm các môn Toán, Lý, Hóa. 3. Giải phương trình bậc 2: ax2 + bx + c = 0 4. Đổi từ độ sang radian và đổi từ radian sang độ (công thức / = a/180, với : radian, a: độ) 5. Kiểm tra 2 số a, b giống nhau hay khác nhau. 6. Tính diện tích hình tròn. 7. Tính chu vi hình chữ nhật 8. Tính tiền học phí phải đóng trong 1 học kỳ. Giáo trình ngôn ngữ lập trình C/C++ Trang - 2
  8. Ngôn ngữ lập trình & Phương pháp lập trình Sử dụng lưu đồ (Flowchart) Để dễ hơn về quy trình xử lý, các nhà lập trình đưa ra dạng lưu đồ để minh họa từng bước quá trình xử lý một vấn đề (bài toán). Hình dạng (symbol) Hành động (Activity) Dữ liệu vào (Input) Xử lý (Process) Dữ liệu ra (Output) Quyết định (Decision), sử dụng điều kiện Luồng xử lý (Flow lines) Gọi CT con, hàm… (Procedure, Function…) Bắt đầu, kết thúc (Begin, End) Điểm ghép nối (Connector) Giáo trình ngôn ngữ lập trình C/C++ Trang - 3
  9. Ngôn ngữ lập trình & Phương pháp lập trình Ví dụ 5: Chuẩn bị cà phê Ví dụ 6: Mô tả ví dụ 2 Ví dụ 7: Mô tả ví dụ 3 Bắt đầu Bắt đầu Bắt đầu Cà phê, nước sôi LCB, ngày công Giá trị a, b Hòa cà phê vào nước sôi Nhân LCB với ngày công Chia –b cho a Bỏ đường vào Kết quả lương Nghiệm x Khuấy đều hỗn hợp Kết thúc Kết thúc Cà phê đã sẵn sàng Kết thúc Ví dụ 8: Cộng 2 số Ví dụ 9: so sánh 2 số Bắt đầu Bắt đầu a, b Số a, Số b c=a+b Số a có bằng Không Số b không? c Có Kết thúc Số a bằng Số b Số a không bằng Số b Kết thúc Giáo trình ngôn ngữ lập trình C/C++ Trang - 4
  10. Ngôn ngữ lập trình & Phương pháp lập trình Ví dụ 10: Kiểm tra tính hợp lệ của điểm Ví dụ 11: Xếp lon vào thùng Bắt đầu Bắt đầu Thùng = 0 Lon Điểm 1 Lon Điểm >=0 và Không Điểm 0? Số dương Điểm Không Có Số < 0? Số âm Sai Điểm >=0 và Không Điểm
  11. Ngôn ngữ lập trình & Phương pháp lập trình 1.4 Bài tập Vẽ lưu đồ cho các chương trình sau: 1. Đổi từ tiền VND sang tiền USD. 2. Tính điểm trung bình của học sinh gồm các môn Toán, Lý, Hóa. 3. Giải phương trình bậc 2: ax2 + bx + c = 0 4. Đổi từ độ sang radian và đổi từ radian sang độ (công thức / = a/180, với : radian, a: độ) 5. Kiểm tra 2 số a, b giống nhau hay khác nhau. Giáo trình ngôn ngữ lập trình C/C++ Trang - 6
  12. Làm quen lập trình C/C++ Qua các ví dụ đơn giản Chương 2: LÀM QUEN LẬP TRÌNH C/C++ QUA CÁC VÍ DỤ ĐƠN GIẢN 2.1 Khởi động Dev C++ Click đúp chuột vào biểu tượng Dev C++ Hình 2-1 Giao diện trình biên dịch Dev C++ ▪ Sau khi giao diện Dev C++ được mở click vào File -> New -> Source File để bắc đầu lập trình ▪ Hoặc ấn tổ hợp phím Ctrl+N. 2.2 Các ví dụ đơn giản Ví dụ 1 /* Chuong trinh in ra cau Chao Cac Ban */ #include using namespace std; main() { cout
  13. Làm quen lập trình C/C++ Qua các ví dụ đơn giản Dòng thứ 2: chứa phát biểu tiền xử lý #include . Vì trong chương trình này ta sử dụng hàm thư viện của C++ là cout, do đó cần phải có khai báo của hàm thư viện này để báo cho trình biên dịch C++ biết. Nếu không khai báo chương trình sẽ báo lỗi. Dòng thứ 3: là câu lệnh using namespace std, Chúng ta có thể khai báo hoặc không khai báo tùy thích. Nhưng nếu không khai báo thì khi sử dụng các hàm trong iostream thì phải gọi std cho nó trước, ví dụ thay vì viết cout
  14. Làm quen lập trình C/C++ Qua các ví dụ đơn giản Ví dụ 2 /* Chuong trinh nhap va in ra man hinh gia tri bien*/ #include using namespace std; main() { int i; cout i; cout i. Sử dụng hàm cin để nhận từ người sử dụng một trị nào đó. Dòng thứ 9: cout
  15. Làm quen lập trình C/C++ Qua các ví dụ đơn giản Ví dụ 4 /* Chuong trinh nhap vao ban kinh hinh tron. Tinh dien tich */ #include using namespace std; #define PI 3.14 main() { float fR; coutfR; cout
  16. Các thành phần trong ngôn ngữ C/C++ Chương 3: CÁC THÀNH PHẦN TRONG NGÔN NGỮ C/C++ 3.1 Từ khóa Từ khóa là từ có ý nghĩa xác định dùng để khai báo dữ liệu, viết câu lệnh… Trong C/C++ có các từ khóa sau: asm default float long struct void break do for near signed volatile case double goto pascal sizeof while cdecl else huge register switch char enum if return typedef const extern int short union continue far interrupt static unsigned Lưu ý: Các từ khóa phải viết bằng chữ thường 3.2 Tên 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ên đúng: tamgiac, a_1, So_ODD, Case  Các tên sai: 5t_1 (ký tự đầu là số) so-odd (sử dụng dấu gạch ngang) int (đặt tên trùng với từ khóa) tam giac (có khoảng trắng) f(x) (có dấu ngoặc tròn) Lưu ý: Trong C/C++, tên phân biệt chữ hoa, chữ thường Ví dụ 2: number khác Number case khác Case (case là từ khóa, do đó đặt tên là Case vẫn đúng) Giáo trình ngôn ngữ lập trình C/C++ Trang - 11
  17. Các thành phần trong ngôn ngữ C/C++ 3.3 Kiểu dữ liệu Có 4 kiểu dữ liệu cơ bản trong C/C++ là: char, int, float, double. Kiểu dữ liệu Kích Miền giá trị TT (Type) thước (Range) (Length) 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 3.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, 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++ có các ghi chú sau: // hoặc /* nội dung ghi chú */ • // dùng để ghi chú một hàng • /* …. */ có thể ghi chú một hàng hoặc nhiều hàng. 3.5 Khai báo biến Tên biến Mỗi biến khi sử dụng trong chương trình điều phải được đặt tên theo quy định như cách đặt tên biến như mục 3.2 Giáo trình ngôn ngữ lập trình C/C++ Trang - 12
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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