Giáo trình Lập trình căn bản C++ (Nghề: Ứng dụng phần mềm - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
lượt xem 11
download
Giáo trình "Lập trình căn bản C++ (Nghề: Ứng dụng phần mềm - Trình độ: Cao đẳng)" được biên soạn nhằm giúp sinh viên trình bày được khái niệm về lập máy tính; mô tả được ngôn ngữ lập trình: cú pháp, công dụng của các câu lệnh; phân tích được chương trình: xác định nhiệm vụ chương trình; thực hiện được các thao tác trong môi trường phát triển phần mềm: biên tập chương trình, sử dụng các công cụ, điều khiển, thực đơn lệnh trợ giúp, gỡ rối, bẫy lỗi, v.v.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Giáo trình Lập trình căn bản C++ (Nghề: Ứng dụng phần mềm - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
- TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. 1
- LỜI GIỚI THIỆU Giáo Trình Lập trình căn bản C++ được biên soạn nhằm đáp ứng yêu cầu học tập của sinh viên bước đầu làm quen với công việc lập trình, đồng thời giúp cho sinh viên có một tài liệu học tập, rèn luyện tốt khả năng lập trình, tạo nền tảng vững chắc cho các Môn học tiếp theo. Giáo trình không chỉ phù hợp cho người mới bắt đầu mà còn phù hợp cho những người cần tham khảo. Nội dung của giáo trình được chia thành 5 chương: Chương 1: Tổng quan về ngôn ngữ C++ Chương 2: Các thành phần cơ bản Chương 3: Các lệnh có cấu trúc Chương 4: Hàm Chương 5: Mảng Khi biên soạn, chúng tôi đã tham khảo các giáo trình và tài liệu giảng dạy Môn học này của một số trường Cao đẳng, Đại học để giáo trình vừa đạt yêu cầu về nội dung vừa thích hợp với đối tượng là sinh viên của các trường Cao đẳng. Chúng tôi hy vọng sớm nhận được những ý kiến đóng góp, phê bình của bạn đọc về nội dung, chất lượng và hình thức trình bày để giáo trình này ngày một hoàn thiện hơn. Cần Thơ, ngày…..........tháng…........... năm 2021 Tham gia biên soạn 1. Chủ biên: Lư Thục Oanh 2
- MỤC LỤC TRANG TUYÊN BỐ BẢN QUYỀN ........................................................................................... 1 LỜI GIỚI THIỆU ......................................................................................................... 2 MỤC LỤC ...................................................................................................................... 3 LẬP TRÌNH CĂN BẢN (C++) .................................................................................... 6 CHƯƠNG 1: TỔNG QUAN VỀ NGÔN NGỮ C++ .................................................. 8 1. Giới thiệu về lịch sử phát triển của ngôn ngữ, sự cần thiết phải học ngôn ngữ C++ hiện nay. ...................................................................................................................... 8 2. Cách khởi động và thoát chương trình (Dev C++): ................................................ 9 2.1. Giới thiệu môi trường làm việc của Dev C++: ................................................ 9 2.2. Các ví dụ đơn giản: ....................................................................................... 9 3. Thực hành. ............................................................................................................ 10 3.1. In họ và tên sinh viên ra màn hình ................................................................ 10 3.2. Sinh viên thực hành ....................................................................................... 10 CHƯƠNG 2: CÁC THÀNH PHẦN CƠ BẢN .......................................................... 12 1. Hệ thống từ khóa và kí hiệu được dùng trong C++. ............................................. 12 1.1. Bộ chữ viết trong C++: .................................................................................. 12 1.2. Các từ khóa trong C++: ................................................................................. 12 1.3. Tên: ................................................................................................................ 12 1.4. Cặp dấu ghi chú thích: ................................................................................... 13 1.5. Các ký tự điều khiển: ..................................................................................... 14 2. Các kiểu dữ liệu: kiểu số, chuỗi, ký tự... .............................................................. 14 2.1. Kiểu số nguyên: ............................................................................................. 14 2.2. Kiểu số thực: .................................................................................................. 15 3. Các loại biến, cách khai báo, sử dụng................................................................... 15 3.1. Biến:............................................................................................................... 15 3.2. Vừa khai báo vừa khởi gán:........................................................................... 19 3.3. Biểu thức: ...................................................................................................... 19 4. Lệnh và khối lệnh, lệnh gán, lệnh gộp. ................................................................. 27 4.1. Khái niệm câu lệnh: ....................................................................................... 27 3
- 4.2. Lệnh nhập giá trị từ bàn phím cho biến: ........................................................29 5. Thực thi chương trình, nhập dữ liệu, nhận kết quả. ..............................................29 6. Thực hành: .............................................................................................................29 6.1 Viết chương trình C++ để in các dòng sau: ....................................................29 6.2. Sinh viên thực hành khảo sát .........................................................................30 CHƯƠNG 3: CÁC LỆNH CÓ CẤU TRÚC.............................................................. 32 1. Khái niệm về lệnh cấu trúc. ...................................................................................32 1.1. Lệnh: ..............................................................................................................32 1.2. Khối lệnh: .......................................................................................................32 2. Các lệnh cấu trúc rẽ nhánh như: if, switch .........................................................34 2.1. If dạng không đầy đủ: ....................................................................................34 2.2. If dạng đầy đủ: ...............................................................................................35 2.3. Mệnh đề if-elseif-else ..................................................................................37 2.4. Cấu trúc rẽ nhánh switch… case .................................................................38 3. Các lệnh lặp như for, while, do while ................................................................41 3.1. Vòng lặp for: ..................................................................................................41 3.2. Vòng lặp while: ..............................................................................................43 3.3. Vòng lặp do…while: ......................................................................................45 3.4. So sánh các vòng lặp: .....................................................................................46 4. Các lệnh đơn nhằm kết thúc sớm vòng lặp ...........................................................46 4.1. Lệnh break: ....................................................................................................46 4.2. Lệnh continue:................................................................................................48 4.3. Lênh goto: ......................................................................................................48 5. Thực hành: ..........................................................................................................49 5.1. Code mẫu: ...................................................................................................49 5.2. Sinh viên thực hành khảo sát ......................................................................50 6. Kiểm tra .................................................................................................................51 CHƯƠNG 4: HÀM ...................................................................................................... 52 1. Khái niệm hàm là gì, tại sao phải xây dựng và sử dụng hàm................................52 2. Nguyên tắc xây dựng và phân biệt các tham số của hàm: ....................................54 2.1. Định nghĩa hàm: .............................................................................................54 4
- 2.2. Sử dụng hàm: ................................................................................................. 55 2.3. Nguyên tắc hoạt động của hàm: .................................................................... 56 3. Các lệnh đơn nhằm kết thúc hàm và nhận giá trị trả về cho tên hàm: .................. 57 3.1. Câu lệnh return: .......................................................................................... 57 3.2. Câu lệnh exit: .............................................................................................. 57 4. Thực hành ............................................................................................................. 57 4.1. Viết chương trình C++ liệt kê tất cả các số nguyên tố nhỏ hơn n. ................ 57 4.2. Sinh viên thực hành khảo sát ......................................................................... 58 5. Kiểm tra ................................................................................................................ 59 CHƯƠNG 5: MẢNG .................................................................................................. 60 1. Trình bày khái niệm mảng trong C++ .................................................................. 60 2. Cú pháp khai báo mảng và các cách gán giá trị cho mảng. .................................. 61 2.1. Mảng một chiều: ............................................................................................ 61 2.2. Mảng nhiều chiều: ......................................................................................... 63 3. Thực hành ............................................................................................................. 64 3.1 Code mẫu ........................................................................................................ 64 3.2. Sinh viên thực hành khảo sát ......................................................................... 65 BÀI TẬP NÂNG CAO ................................................................................................ 67 BÀI TẬP TỔNG HỢP ................................................................................................ 69 5
- LẬP TRÌNH CĂN BẢN (C++) Tên Mô đun: LẬP TRÌNH CĂN BẢN (C++) Mã Mô đun: MĐ 08 Vị trí, tính chất, ý nghĩa và vai trò Mô đun: - Vị trí: Mô đun được bố trí sau khi sinh viên học xong các Môn Học chung. - Tính chất: Là Mô đun lý thuyết cơ sở nghề. - Ý nghĩa và vai trò: Là Mô đun cơ sở, giúp sinh viên bước đầu làm quen với công việc lập trình. Mục tiêu của Mô đun: - Trình bày được khái niệm về lập máy tính; - Mô tả được ngôn ngữ lập trình: cú pháp, công dụng của các câu lệnh; - Phân tích được chương trình: xác định nhiệm vụ chương trình; - Thực hiện được các thao tác trong môi trường phát triển phần mềm: biên tập chương trình, sử dụng các công cụ, điều khiển, thực đơn lệnh trợ giúp, gỡ rối, bẫy lỗi, v.v.; - Viết chương trình và thực hiện chương trình trong máy tính. - Bố trí làm việc khoa học đảm bảo an toàn cho người và phương tiện học tập. Thời gian (giờ) Thực hành, Số thí Tên các bài trong mô đun Tổng Lý Kiểm TT nghiệm, số thuyết tra thảo luận, bài tập Chương 1: Tổng quan về ngôn ngữ 1. 4 3 1 C++ 1. Giới thiệu ngôn ngữ C++ 1 2. Các thao tác cơ bản 2 3. Thực hành 1 2. Chương 2: Các thành phần cơ bản 8 3 5 1. Từ khóa và kí hiệu 0.5 2. Các kiểu dữ liệu sơ cấp 0.5 3. Biến, hằng, biểu thức 0.5 4. Câu lệnh 1 6
- 5. Thực thi chương trình 0.5 6. Thực hành 5 3. Chương 3: Các lệnh có cấu trúc 16 3 12 1 1. Khái niệm về lệnh cấu trúc 1 2. Cấu trúc rẽ nhánh 1 3. Cấu trúc lặp 0.5 4. Các lệnh Break, Continue 0.5 5. Thực hành 12 6. Kiểm tra 1 4. Chương 4: Hàm 8 3 4 1 1. Khái niệm hàm 1 2. Xây dựng hàm 1 3. Các lệnh đơn nhằm kết thúc hàm và 1 nhận giá trị trả về cho tên hàm 4. Thực hành 4 5. Kiểm tra 1 5. Chương 5: Mảng 9 3 6 1. Khái niệm mảng 1.5 2. Khai báo mảng 1.5 3. Thực hành 6 Cộng 45 15 28 2 7
- CHƯƠNG 1: TỔNG QUAN VỀ NGÔN NGỮ C++ Mã chương: MĐ08-01 Mục tiêu: Sau khi học xong bài này sinh viên có khả năng: - Hiểu được lịch sử phát triển của ngôn ngữ C++. - Biết được ngôn ngữ này có ứng dụng như thế nào. - Biết cách khởi động được và thoát khỏi chương trình. - Sử dụng hệ thống trợ giúp từ help file. 1. Giới thiệu về lịch sử phát triển của ngôn ngữ, sự cần thiết phải học ngôn ngữ C++ hiện nay. Trước C++, ngôn ngữ lập trình C được phát triển trong năm 1972 bởi Dennis Ritchie tại phòng thí nghiệm Bell Telephone, C chủ yếu là một ngôn ngữ lập trình hệ thống, một ngôn ngữ để viết ra hệ điều hành. Hệ điều hành nổi tiếng Windows cũng được viết bằng C/C++ C++ là một loại ngôn ngữ lập trình bậc trung (middle-level). Đây là ngôn ngữ lập trình đa năng được tạo ra bởi Bjarne Stroustrup. Từ thập niên 1990, C++ đã trở thành một trong những ngôn ngữ thương mại ưa thích và phổ biến của lập trình viên. C++ là một phiên bản mở rộng của ngôn ngữ lập trình C. Những bản cập nhật gần đây nhất là C++ 14 và C++ 17, và sắp tới là C++ 20 (đang trong quá trình phát triển), đã và đang mang đến những tính năng hỗ trợ rất lớn cho lập trình viên C++. Hiện nay ở các nước Âu, Mỹ ngôn ngữ lập trình dùng để giảng dạy ở bậc trung học và đại học là ngôn ngữ C++. Trong tương lai ngôn ngữ C++ sẽ trở thành ngôn ngữ quốc tế trong tin học cũng giống như ngày nay người ta sử dụng tiếng Anh trong giao tiếp. Ngôn ngữ C++ có một thư viện khổng lồ các hàm (function) mà không có một ngôn ngữ nào sánh kịp. Lập trình viên khi sử dụng các hàm của C++ chỉ cần truyền tham số sẽ nhận được ngay kết quả mà không cần phải mất nhiều thời gian để viết chức năng tương tự. Vì vậy công việc lập trình trở nên dễ dàng, nhanh chóng, ngắn gọn và tạo ra nhiều sản phẩm là những chương trình ứng dụng trong mọi lĩnh vực có chất lượng cao. Ngôn ngữ C++ rất thích hợp để giải quyết các bài toán kỹ thuật có những công thức và thuật toán phức tạp, vì ngôn ngữ C++ có những toán tử điều khiển rất mạnh mẽ. Ngoài ra khái niệm cấu trúc trong C++ cho phép mô tả các khối dữ liệu lớn, vì vậy ngôn ngữ C++ cũng có thể được sử dụng để giải quyết các bài toán quản lý và xử lý các mô hình lựa chọn tối ưu. Một chương trình viết bằng ngôn ngữ C++ có thể chạy nhanh gần bằng Assembler. Ngoài ra ngôn ngữ C++ là ngôn ngữ dễ học, chương trình viết ngắn gọn, súc tích có cấu trúc rõ ràng, dễ phát hiện sai lầm nếu có. Vì thế ngày càng được nhiều người đặt biệt ưa chuộng đặt biệt là các bạn học sinh và sinh viên. Ngôn ngữ C++ có những đặc điểm cơ bản như sau: + Tính cô động (compact): C++ chỉ có từ khóa chuẩn và toán tử chuẩn, nhưng đều được biểu diễn bằng những chuỗi ký tự ngắn gọn. 8
- + Tính cấu trúc (structured): C++ có một tập hợp những chỉ thị của lập trình như cấu trúc lựa chọn, lặp,… Từ đó các chương trình viết bằng C++ được tổ chức rõ ràng, dễ hiểu. - Tính tương thích (compatible): C++ có một tiền xử lý và một thư viện chuẩn vô cùng phong phú nên khi chuyển từ máy tính này sang máy tính khác các chương trình viết bằng C++ vẫn hoàn toàn tương thích. - Tính linh động (flexible): C++ là một ngôn ngữ rất uyển chuyển và cú pháp, chấp nhận nhiều cách thể hiện, có thể thu gọn kích thước của mã lệnh, làm chương trình chạy nhanh hơn. - Biên dịch (compile): Cho phép C++ biên dich nhiều tập tin chương trình riêng lẽ thành các tập tin đối tượng (object) và liên kết (link) các đối tượng đó lại với nhau thành một chương trình có thể thực (executable) thi được thống nhất. 2. Cách khởi động và thoát chương trình (Dev C++): 2.1. Giới thiệu môi trường làm việc của Dev C++: - Gồm các chức năng sau: soạn thảo chương trình, dịch, thực thi chương trình,… - Phiên bản được sử dụng ở đây là Dev C++. - Chọn File/New/Source File (Hoặc ấn tổ hợp phím Ctrl+N) để tạo file - Nhấn F9 hoặc chọn Execute/Compile để biên dịch chương trình, nếu trong quá trình biên dịch không có lỗi phát sinh ta sẽ xem bảng thông báo rồi sửa lỗi - Nhấn F10 hoặc chọn Execute/Run để chạy chương trình. Bạn có thể tự động chạy chương trình ngay sau khi biên dịch bằng cách nhấn F11 hoặc chọn Execute/Compile & Run - Thoát khỏi Dev C++: vào menu File->Exit hoặc Alt-F4. 2.2. Các ví dụ đơn giản: Ví dụ 1: #include using namespace std; int main() { cout
- - Các từ include, void, main, int phải viết bằng chữ thường. - Chuỗi nháy kép cần in ra bạn có thể viết chữ hoa hay chữ thường tùy ý. + Kết thúc câu lệnh phải có dấu chấm phẩy. + Kết thúc tên hàm không có dấu chấm phẩy hay bất cứ dấu gì. + Ghi chú phải đặt trong dấu /*…*/. + Thân hàm phải được bao trong cặp {}. + Các câu lệnh trong thân hàm phải viết thụt vào. Bạn nhập đoạn chương trình trên vào máy. Dịch, chạy và quan sát kết quả. Sau khi nhập đoạn chương trình vào máy. Ấn giữ phím F9 để dịch và F10 chạy chương trình. Sau đây là một số ký hiệu khác: Hình 1: Một số ký hiệu khác 3. Thực hành. 3.1. In họ và tên sinh viên ra màn hình Các bước thực hiện Bước 1: Khởi động Dev C++ Bước 2: Khai báo thư viện Bước 3: Viết chương trình Bước 4: Biên dịch chương trình sử dụng phím F9 hoặc chọn Execute/Compile Bước 5: Chạy chương trình sử dụng phím F10 hoặc chọn Execute/Run 3.2. Sinh viên thực hành Thực hiện trình tự theo các bước và nhận xét kết quả đạt được Những trọng tâm cần chú ý trong bài - Các từ include, void, main, int phải viết bằng chữ thường. - Phân biệt chữ hoa và chữ thường khi đặt tên 10
- - Chuỗi nháy kép cần in ra bạn có thể viết chữ hoa hay chữ thường tùy ý. - Khởi động và thoát khỏi Dev C++ Bài mở rộng và nâng cao 1. Viết chương trình C++ để in các dòng sau và thông tin các e tự nhập - Tên học sinh, sinh viên: - Lớp: - Ngày tháng năm sinh: - Quê quán: 2. Viết chương trình C++ để in các dòng sau: - Tên học sinh, sinh viên: NGUYEN VAN A - Lớp: 21.1QTM - Ngày tháng năm sinh: 01/01/2005 - Quê quán: Cần Thơ Yêu cầu về đánh giá kết quả học tập chương 1 Nội dung: + Về kiến thức: Trình bày được nguồn gốc của ngôn ngữ C++ + Về kỹ năng: sử dụng phần mềm Dev C++ + Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc. Phương pháp: + Về kiến thức: Được đánh giá bằng hình thức kiểm tra viết, trắc nghiệm, vấn đáp + Về kỹ năng: Viết một chương trình cơ bản sử dụng phần mềm Dev C++ + Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc. 11
- CHƯƠNG 2: CÁC THÀNH PHẦN CƠ BẢN Mã chương: MĐ08-02 Mục tiêu: Sau khi học xong chương này sinh viên có khả năng: - Hiểu và sử dụng được hệ thống kí hiệu và từ khóa. - Hiểu được các kiểu dữ liệu. - Hiểu được và vận dụng được các loại biến, hằng biểu thức cho từng chương trình cụ thể. - Biết, hiểu và so sánh được các lệnh, khối lệnh. - Thực hiện được việc chạy chương trình. 1. Hệ thống từ khóa và kí hiệu được dùng trong C++. 1.1. Bộ chữ viết trong C++: Bao gồm những ký tự, những ký hiệu sau (phân biệt chữ hoa và chữ thường): 26 chữ cái la tinh lớn A,B,C...Z 26 chữ cái la tinh nhỏ a,b,c ...z. 10 chữ số thập phân 0,1,2...9.(chữ số Ả Rập) 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. 1.2. Các từ khóa trong C++: Từ khóa là các từ dành riêng (reserved words) của C++ mà người lập trình có thể sử dụng nó trong chương trình tùy theo ý nghĩa của từng từ. Dùng để khai báo dữ liệu, viết câu lệnh.... Ta không được dùng từ khóa để đặt cho các tên riêng của mình. Danh sách 32 từ khóa trong ngôn ngữ C++ cũng như trong ngôn ngữ C: auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while Danh sách 30 từ khóa chỉ có trong C++ mà không có trong C: asm dynamic_cast namespace reinterpret_cast bool explicit new static_cast false catch operator template friend private class this inline public throw const_cast delete mutable protected true try typeid typename using virtual wchar_t Khác với ngôn ngữ khác, các từ khóa của C++ đều viết bằng chữ thường. Ví dụ: phải viết là if, không được viết là If hoặc IF như Pascal hoặc Foxpro. 1.3. Tên: Khái niệm tê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 12
- thực hiện chương trình. Tên thường đặt cho hằng, biến, mảng, con trỏ, nhãn,… Chiều dài tối đa của biế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 tiên phải là chữ hoặc dấu gạch dưới. Khi đặt tên không được trùng từ khóa. Ví dụ 1: Các tên đúng: delta, a_1, Num_ODD, Case Các tên sai: 3a_1 (ký tự đầu là số) num-odd (sử dụng dấu gạch ngang) int (đặt tên trùng với từ khóa) del ta (có khoảng trắng) f(x) (có dấu ngoặc tròn) Lưu ý: trong C++ 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 đó bạn đặt tên là Case vẫn đúng) 1.4. Cặp dấu ghi chú thích: Khi viết chương trình có một vài trường hợp ta phải có một vài lời ghi chú về một đoạn chương trình nào đó để ghi nhớ, dễ hiểu, dễ hiệu chỉnh sau này. Ghi chú thì không thuộc về nội dung của chương trình, khi biên dịch sẽ bị bỏ qua, nội dung sẽ ghi trong cặp dấu chú thích /* và */. #include using namespace std; int main() { /*Bắt đầu khối lệnh*/ …. } /*Kết thúc khối lệnh*/ Nếu bạn không viết đúng quy định trên, khi chạy chương trình sẽ bị lỗi. Ví dụ: #include using namespace std; int main() { int a = 10; // Khai báo biến a kiểu int có giá trị nguyên là 10 float b = 1.5; // Khai báo biến b kiểu float có giá trị thực là 1.5 char c; // khai báo biến c có kiểu dữ liệu là ký tự char c = 'a'; // gán giá trị cho biến c là ký tự 'a' string d; // khai báo biến d có kiểu dữ liệu là xâu string d = "ok" // gán giá trị cho biến d là xâu "ok" 13
- return 0; } Khi biên dịch chương trình, C++ gặp cặp dấu ghi chú sẽ không dịch ra ngôn ngữ máy. Tóm lại, đối với ghi chú dạng // dùng ghi chú một hàng và dạng /* …. */ có thể ghi chú một hàng hoặc nhiều hàng. 1.5. Các ký tự điều khiển: C++ có nhiều ký tự điều khiển việc xuất dữ liệu ra màn hình hoặc máy in hơn hẵn các ngôn ngữ lập trình khác. Bộ ký tự điều khiển của C++ bao gồm: \n : Nhảy xuống dòng kế tiếp canh về cột đầu tiên \t : Canh cột tab ngang. \r : Nhảy về đầu hàng, không xuống hàng. \a : Tiếng kêu bip. \\ : In ra dấu \ \" : In ra dấu " \' : In ra dấu ' %%: In ra dấu % \b ~ backspace (xóa 1 ký tự ngay trước) Ví dụ: #include main() { cout
- 4,294,967,295 short 2 bytes -32,768 tới 32,767 unsigned short 2 bytes 0 tới 65,535 -2,147,483,648 tới long 4 bytes 2,147,483,647 unsigned long 4 bytes 0 tới 4,294,967,295 Bảng 1: Kiểu dữ liệu số nguyên 2.2. Kiểu số thực: Kiểu số thực dùng lưu các số thực hay các sô có dấu chấm thập phân gồm có 3 kiểu sau: STT Kiểu dữ liệu Kích thước Miền giá trị (domain) (Size) 1 float 4 bytes 1.2E-38 tới 3.4E+38 2 double 8 bytes 2.3E-308 tới 1.7E+308 3 long double 10 bytes 3.4E-4932 tới 1.1E+4932 Bảng 2: Kiểu dữ liệu số thực Mỗi kiểu số thực trên đều có miền giá trị và độ chính xác (số số lẻ) khác nhau. Tùy vào nhu cầu sử dụng mà ta có thể khai báo biến thuộc 1 trong 3 kiểu trên. Ngoài ra ta còn có kiểu dữ liệu void, kiểu này mang ý nghĩa là kiểu rỗng không chứa giá trị nào cả. 3. Các loại biến, cách khai báo, sử dụng. 3.1. Biến: Biến là một đại lượng được người lập trình định nghĩa và được đặt tên thông qua việc khai báo biến. Biến dùng chứa dữ liệu trong quá trình thực hiện chương trình và giá trị của biến có thể bị thay đổi trong quá trình này. Cách đặt tên biến giống như cách đặt tên đã nói trong phần trên. Mỗi biến thuộc về một kiểu dữ liệu xác định và có giá trị thuộc kiểu đó. Tên biến: Muốn biến sử dụng trong chương trình đều phải đặt tên theo các quy định như sa: Tên biến hợp lệ là một chuỗi ký tự liên tục gồm: Ký tự, chữ, số, dấu gạch dưới. Ký tự đầu tiên ,phải là chữ. Khi đăt tên biến không đặt trùng với các từ khóa của C++. Ví dụ: bien_1, bien_2, temp22 hợp lê. bi&, 2ten, A b, float không hợp lệ. C++ phân biệt rất rõ rang giữa chữ in thường và in hoa. Ví dụ: BIEN, Bien, bieN: Là những tên biến khác nhau. If, Goto : Tuy trùng với từ khóa nhưng vẫn hợp lệ. 15
- - C++ chỉ phân biệt hai tên hợp lệ với nhau với n ký tự đầu tiên của chúng, ( n=8 đến 32 ký tự). Nhu vậy bạn có thể đặt tên biến hợp lệ một cách thoải mái, tuy nhiên tên biến càng dài thì càng khó nhớ. Ví dụ: Hai tên biến sau đây được coi là hợp lệ và cùng tên nhau: - Ten_bien_dai_toi_32_ky_tu_dau_tien_1 - Ten_bien_dai_toi_32_ky_tu_dau_tien_2 3.1.1. Cú pháp khai báo biến: Danh sách các tên biến; Kiểu dữ liệu: một trong các kiểu ở mục Danh sách các 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 là dấu chấm phẩy (;). Ví dụ 1: int a, b, c; /*Ba biến a, b,c có kiểu int*/ long int chu_vi; /*Biến chu_vi có kiểu long*/ float nua_chu_vi; /*Biến nua_chu_vi có kiểu float*/ double dien_tich; /*Biến dien_tich có kiểu double*/ Khi khai báo biến nên đặt theo quy tắc Hungarian Notation Ví dụ 2: int ituoi; //khai báo biến ituoi có kiểu int float fTrongluong; //khai báo biến fTrongluong có kiểu long char ckitu1, ckitu2; //khai báo biến ckitu1, ckitu2 có kiểu char Các biến khai báo trên theo quy tắc Hungarian Notation. Nghĩa là biến ituoi là kiểu int, bạn thêm chữ i (kí tự đầu của kiểu) vào đầu tiên biến tuoi trong quá trình lập trình hoặc sau này xem lại, sửa chữa,... bạn dễ dàng nhận ra biến ituoi có kiểu int mà không cần 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 biến fTrongluong, bạn nhìn vào và biết ngay biến này có kiểu float. Chú ý: Việc khai báo biến giữa C++ và Pascal có sự khác nhau. Vì vậy đối với những bạn đã học lập trình Pascal khi học C++ thường hay bị nhầm, do đó chúng tôi xin lưu ý để tránh nhầm lẫn. Đối với C++ Đối với Pascal Kiểu DS biến; DS biến: Kiểu; Ví dụ: Ví dụ: #include var main() a,b,c :integer; { int a,b,c; begin … ... } end. Bảng 3: Việc khai báo biến giữa C++ và Pascal có sự khác nhau Trong ngôn ngữ lập trình C++, ta phải khai báo biến đúng vị trí. Nếu khai báo (đặt các biến) không đúng vị trí sẽ dẫn đến những sai sót ngoài ý muốn mà người lập trình không lường trước (hiệu ứng lề). Chúng ta có một vài kiểu biến trong C++ như sau: 16
- Biến local (địa phương). Một biến được khai báo bên trong hàm hoặc khối lệnh được gọi là biến địa phương. Nó phải được khai báo khi bắt đầu khối. void function1() { int x = 10; // bien local } Biến global (toàn cầu). Một biến được khai báo bên ngoài hàm hoặc khối lệnh được gọi là biến toàn cầu. Bất kỳ hàm nào cũng có thể thay đổi giá trị của biến toàn cầu. Nó có sẵn cho tất cả các chức năng. Trong ví dụ dưới đây, biến a là biến global. int a = 20; // bien global void function1() { int x = 10; // bien local } Biến static (tĩnh). Một biến được khai báo với từ khóa static được gọi là biến tĩnh. Nó giữ lại giá trị của nó sau nhiều lần gọi hàm. Code #include using namespace std; void function1() { int x = 10; // bien local static int y = 10; // bien static x = x + 1; y = y + 1; cout
- Tất cả các biến trong C++ được khai báo trong khối lệnh, là các biến tự động theo mặc định. Bởi chúng ta có thể khai báo một cách rõ ràng biến tự động bằng cách sử dụng từ khóa auto. void main(){ int x = 10; // bien local (cung la bien automatic) auto int y = 20; // bien automatic } Biến external. Chúng ta có thể chia sẻ một biến trong nhiều tập tin mã nguồn C bằng cách sử dụng biến external. Để khai báo biến bên ngoài, bạn cần sử dụng từ khóa extern File: myfile.h Code extern int x = 10; // bien external variable (cung la bien global) File: test.cpp Code #include #include "myfile.h" using namespace std; void printValue() { cout
- /*Khai báo sai vị trí biến*/ main() { int a,b,c;/*khai báo đúng*/ a=35; int d;/*khai bao sai vi sau cau lenh gan*/ } Sự khai báo biến ở các vị trí khác nhau trong chương trình thì sẽ có ý nghĩa và giá trị khác nhau, bạn phải hết sức lưu ý vấn đề này để khỏi mất sai lầm đáng tiếc. 3.2. Vừa khai báo vừa khởi gán: Có thể kết hợp việc khai báo với toán tử gán để biến nhận ngay giá trị cùng lúc với khai báo. Ví dụ: Khai báo trước, gán trị sau: void main() { int a, b, c; a = 1; b = 2; c = 5; … } Vừa khai báo vừa gán trị: void main() { int a = 1, b = 2, c = 5; … } 3.3. 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ụ 1: Biểu thức nghiệm của phương trình bậc hai: (-b + sqrt(Delta))/(2*a) Trong đó 2 là hằng; a, b, Delta là biến. Ví dụ 2 : a = (i = 10 * a) + sin (x = b + 1) * ( b>1) : hoặc x = y / 3 + power (i,2); 3.3.1. Các toán tử số học: Trong ngôn ngữ 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 có 19
- 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, 5/2 bằng 2 trong phép chia nguyên. Toán tử Ý nghĩa + Cộng - Trừ * Nhân / Chia % Chia lấy phần dư -- Giảm 1 đơn vị ++ Tăng 1 đơn vị Bảng 4: Các toán tử số học Tăng và giảm (++ & --) Toán tử ++ thêm 1 vào toán hạng của nó và – trừ bớt 1. Nói cách khác: x = x + 1 giống như ++x x = x – 1 giống như x— Cả 2 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) 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ó. Tóm lại: x = 10 y = ++x //y = 11 Tuy nhiên: x = 10 x = x++ //y = 10 Thứ tự ưu tiên của các toán tử số học: ++ -- sau đó là * / % rồi mới đến + - 3.3.2. Các toán tử quan hệ và các toán tử Logic: Ý tưởng chính của toán tử quan hệ và toán tử Logic là đúng hoặc sai. Trong C mọi giá trị khác 0 được gọi là đúng, còn sai là 0. Các biểu thức sử dụng các toán tử quan hệ và Logic trả về 0 nếu sai và trả về 1 nếu đúng. Toán tử Ý nghĩa Các toán tử quan hệ > Lớn hơn >= Lớn hơn hoặc bằng < Nhỏ hơn
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình lập trình căn bản
65 p | 368 | 103
-
Giáo trình Lập Trình căn bản hệ Trung cấp - 1
11 p | 151 | 25
-
Giáo trình Lập trình căn bản - Nghề: Kỹ thuật lắp ráp và sửa chữa máy tính - Trình độ: Cao đẳng nghề (Tổng cục Dạy nghề)
97 p | 74 | 23
-
Giáo trình Lập trình căn bản (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Cao đẳng): Phần 2 - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
52 p | 43 | 11
-
Giáo trình Lập trình căn bản (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Cao đẳng): Phần 1 - Trường CĐ nghề Việt Nam - Hàn Quốc thành phố Hà Nội
72 p | 42 | 10
-
Giáo trình Lập trình căn bản C (Nghề: Quản trị mạng - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
96 p | 16 | 8
-
Giáo trình Lập trình căn bản C (Nghề: Kỹ thuật sửa chữa, lắp ráp máy tính - Trình độ: Trung cấp/Cao đẳng) - Trường Cao đẳng nghề Cần Thơ
91 p | 15 | 8
-
Giáo trình Lập trình căn bản (Nghề: Lập trình máy tính - CĐ/TC) - Trường Cao đẳng Cơ giới Ninh Bình (2016)
116 p | 13 | 7
-
Giáo trình Lập trình căn bản (Nghề: Lập trình máy tính - Trình độ CĐ/TC) - Trường Cao đẳng Nghề An Giang
100 p | 27 | 6
-
Giáo trình Lập trình căn bản (Nghề: Tin học ứng dụng - Cao đẳng) - Trường Cao đẳng Bách khoa Nam Sài Gòn (2023)
97 p | 18 | 5
-
Giáo trình Lập trình căn bản (Nghề: Lập trình máy tính - Trình độ CĐ/TC): Phần 1 - Trường Cao đẳng Nghề An Giang
57 p | 50 | 4
-
Giáo trình Lập trình căn bản (Nghề: Quản trị mạng - Cao đẳng) - Trường Cao đẳng Cơ điện Xây dựng Việt Xô
65 p | 33 | 4
-
Giáo trình Lập trình căn bản (Ngành: Công nghệ thông tin - Trung cấp) - Trường Cao đẳng Xây dựng số 1 (2021)
109 p | 5 | 4
-
Giáo trình Lập trình căn bản (Nghề: Lập trình máy tính - Trình độ CĐ/TC): Phần 2 - Trường Cao đẳng Nghề An Giang
43 p | 47 | 3
-
Giáo trình Lập trình căn bản (Ngành: Quản trị mạng máy tính - Trình độ Cao đẳng) - Trường Cao đẳng Hòa Bình Xuân Lộc
99 p | 5 | 2
-
Giáo trình Lập trình căn bản (Ngành: Tin học văn phòng – Trình độ Trung cấp) - Trường Cao đẳng Hòa Bình Xuân Lộc
58 p | 3 | 0
-
Giáo trình Lập trình căn bản (Ngành: Lập trình máy tính - Trình độ: Trung cấp) - Trường Trung cấp Kinh tế - Kỹ thuật Bình Thuận
122 p | 3 | 0
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