1. Trang chủ
  2. » Tất cả

Bài giảng ngôn ngữ lập trình c++ cơ bản

110 3 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài Giảng Ngôn Ngữ Lập Trình C++ Cơ Bản
Tác giả Nhóm Tin học Trường THPT Trần Hữu Trang
Trường học Trường Trung học phổ thông Trần Hữu Trang
Chuyên ngành Tin học
Thể loại Bài giảng
Định dạng
Số trang 110
Dung lượng 4,63 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 1.1. Khái niệm (7)
  • 1.2. Các đặc trưng của thuật toán (7)
  • 1.3. Các công cụ biểu diễn thuật toán (7)
  • 2. Ngôn ngữ lập trình (NNLT) (8)
  • 3. Chương trình (máy tính) (9)
  • 4. Các bước xây dựng chương trình (10)
  • 1. Bảng kí tự của C++ (character set) (12)
  • 2. Từ khóa (keyword) (12)
  • 3. Tên gọi (12)
  • 4. Chú thích (comment) (13)
  • 1. Khởi động - Thoát khỏi C++ (15)
  • 2. Giao diện và cửa sổ soạn thảo (15)
  • 1. Cấu trúc chung của một chương trình trong C++ (18)
    • 1.1. Thư viện chuẩn C++ (C++ Standard Library) (18)
    • 1.2. Hàm (Functions) (19)
  • 2. Biến - khai báo và sử dụng biến (20)
    • 2.1. Biến (20)
    • 2.2. Hằng (22)
  • 3. Vi dụ chương trình đơn giản (23)
  • 1. Khái niệm về kiểu dữ liệu (25)
  • 2. Số nguyên (25)
  • 3. Số thực (25)
  • 4. Kiểu luận lý (26)
  • 5. Kí tự (26)
  • 1. Phép toán (28)
  • 2. Biểu thức (32)
  • 3. Câu lệnh gán (34)
  • 1. Nhập dữ liệu từ bàn phím (35)
  • 2. In dữ liệu ra màn hình (36)
  • 3. Thư viện và không gian tên (37)
  • 4. Ví dụ chương trình nhập – xuất trong C++ (38)
  • 1. Lệnh (statement) (41)
  • 2. Khối lệnh (Block) (41)
  • 1. Rẽ nhánh (42)
  • 2. Câu lệnh IF (43)
  • 3. Cấu trúc (switch đủ) (47)
  • 1. Lặp (0)
  • 2. Lặp với số lần xác định và câu lệnh for (50)
  • 2. Lặp với số lần chưa biết trước với câu lệnh while (52)
  • 3. Câu lệnh do … while (54)
  • 1. Mảng một chiều (59)
  • 2. Khai báo mảng (60)
  • 3. Truy xuất đến phần tử của mảng (61)
  • 4. Các thao tác với mảng (62)
    • 4.1. Nhập mảng (62)
    • 4.2. Xuất mảng (63)
  • 5. Các ví dụ về mảng một chiều (64)
  • 1. Khái niệm xâu (66)
  • 2. Khai báo xâu kí tự (string) (67)
  • 3. Truy cập vào phần tử của xâu (67)
  • 4. Một số hàm xử lí xâu thông dụng (67)
  • 1. Khái niệm về dữ liệu cấu trúc (struct) (70)
  • 2. Định nghĩa kiểu cấu trúc (70)
  • 3. Khai báo biến có kiểu dữ liệu cấu trúc (71)
  • 4. Truy cập vào các phần tử của Struct (0)
  • 1. Vai trò của của kiểu tệp (79)
  • 2. Phân loại tệp và thao tác với tệp (79)
  • 3. Các thao tác cơ bản với tệp tin (80)
  • 1. Khái niệm (81)
  • 2. Biến và con trỏ (81)
  • 3. Các thao tác trên tệp tin (81)
    • 3.1. Khai báo biến tệp tin (81)
    • 3.2. Mở tệp (open file) (82)
    • 3.4. Đóng tệp tin (84)
  • 4. Một số hàm xử lý khác (84)
  • 1. Khái niệm hàm (function) (87)
  • 2. Khai báo và sử dụng hàm (87)
  • 3. Sử dụng hàm (90)
  • 4. Phạm vi của biến (91)
  • 5. Tham số, đối số và cơ chế truyền đối số cho hàm (92)
  • 1. Khái niệm và vai trò của chương trình con (96)
  • 2. Phân loại chương trình con (96)
  • 3. Một số ví dụ về chương trình con (97)
  • 1. Khái niệm về con trỏ (pointer) (100)
  • 2. Khai báo con trỏ (100)
  • 3. Cách sử dụng con trỏ trong C++ (101)
  • 4. Phép gán giữa các con trỏ (102)
  • 5. Một số ví dụ về con trỏ (103)
  • TÀI LIỆU THAM KHẢO (110)

Nội dung

LỜI NÓI ĐẦUChương trình đổi mới sách giáo khoa năm 2018 đã tạo ra bước đột phátrong giảng dạy cũng như trong việc xây dựng chương trình, kế hoạch dạy họcphù hợp với năng lực kiến thức củ

Trang 1

TRƯỜNG THPT TRẦN HỮU TRANG

Trang 2

LỜI NÓI ĐẦU

Chương trình đổi mới sách giáo khoa năm 2018 đã tạo ra bước đột phátrong giảng dạy cũng như trong việc xây dựng chương trình, kế hoạch dạy họcphù hợp với năng lực kiến thức của học sinh đồng thời đáp ứng được yêu cầu của

thực tiễn.C/C++ hiện là ngôn ngữ lập trình (NNLT) được ưa chuộng và sử dụng rộngrãi do tính năng mạnh mẽ, đa dụng của nó Hiện nay, NNLT C/C++ được nhiềutrường THPT trong và ngoài nước sử dụng để giảng dạy lập trình ban đầu cho họcsinh

Trên tinh thần đó, nhóm Tin học của trường THPT Trần Hữu Trang đã tổng

hợp biên soạn cuốn “Bài giảng ngôn ngữ lập trình C/C++ căn bản”, nhằm giúp

học sinh nắm được cấu trúc, cú pháp căn bản của NNLT C/C++, vận dụng vào giảimột số bài toán trong thực tế

Bên cạnh đó, với mong muốn giúp cho các em có niềm đam mê lập trìnhsau này học lên sẽ không còn bỡ ngỡ, xa lạ với NNLT C/C++

Nội dung của cuốn “Bài giảng ngôn ngữ lập trình C/C++ căn bản” 1 , được

chia thành 6 chương với 20 bài theo đúng phân phối chương trình giảng dạy ở bậcTHPT, đáp ứng yêu cầu chuẩn kiến thức, chuẩn kỹ năng và phát huy tính sáng tạocủa học sinh

Mặc dù đã có nhiều cố gắng nhưng không thể tránh khỏi những thiếu sót,rất mong nhận được sự nhận xét, góp ý của đồng nghiệp và học sinh để tài liệuđược hoàn thiện hơn

Nhóm Tin học

1 Trang code online: https://www.onlinegdb.com/online_c++_compiler

Trang 3

MỤC LỤC

§1 THUẬT TOÁN (ALGORITHM) 1

1.1 Khái niệm 1

1.2 Các đặc trưng của thuật toán 1

1.3 Các công cụ biểu diễn thuật toán 1

2 Ngôn ngữ lập trình (NNLT) 2

3 Chương trình (máy tính) 3

4 Các bước xây dựng chương trình 4

§2 CÁC PHẦN TỬ CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH C++ 6

1 Bảng kí tự của C++ (character set) 6

2 Từ khóa (keyword) 6

3 Tên gọi 6

4 Chú thích (comment) 7

BÀI ĐỌC THÊM: MÔI TRƯỜNG LÀM VIỆC CỦA C++ 9

1 Khởi động - Thoát khỏi C++ 9

2 Giao diện và cửa sổ soạn thảo 9

§3 CẤU TRÚC CHƯƠNG TRÌNH 12

1 Cấu trúc chung của một chương trình trong C++ 12

1.1 Thư viện chuẩn C++ (C++ Standard Library) 12

1.2 Hàm (Functions) 13

2 Biến - khai báo và sử dụng biến 14

2.1 Biến 14

2.2 Hằng 16

3 Vi dụ chương trình đơn giản 17

§4 CÁC DỮ LIỆU CƠ SỞ 19

1 Khái niệm về kiểu dữ liệu 19

2 Số nguyên 19

Trang 4

3 Số thực 19

4 Kiểu luận lý: 20

5 Kí tự 20

§5 PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN 22

1 Phép toán 22

2 Biểu thức 26

3 Câu lệnh gán 28

§6 NHẬP XUẤT DỮ LIỆU TỪ BÀN PHÍM DÙNG CIN, COUT 29

1 Nhập dữ liệu từ bàn phím 29

2 In dữ liệu ra màn hình 30

3 Thư viện và không gian tên 31

4 Ví dụ chương trình nhập – xuất trong C++ 32

§7 BÀI TẬP THỰC HÀNH CHƯƠNG II 33

§8 CẤU TRÚC RẼ NHÁNH 35

I – Lệnh và khối lệnh 35

1 Lệnh (statement): 35

2 Khối lệnh (Block): 35

II – Cấu trúc điều khiển 35

1 Rẽ nhánh: 36

2 Câu lệnh IF 37

3 Cấu trúc (switch đủ) 41

§9 CẤU TRÚC LẶP 44

1 Lặp: 44

2 Lặp với số lần xác định và câu lệnh for 44

2 Lặp với số lần chưa biết trước với câu lệnh while 46

3 Câu lệnh do … while 48

§ BÀI TẬP THỰC HÀNH CHƯƠNG III 50

Trang 5

§10 KIỂU DỮ LIỆU MẢNG 53

1 Mảng một chiều 53

2 Khai báo mảng 54

3 Truy xuất đến phần tử của mảng 55

4 Các thao tác với mảng 56

4.1 Nhập mảng 56

4.2 Xuất mảng 57

5 Các ví dụ về mảng một chiều 58

§11 KIỂU DỮ LIỆU XÂU (STRING) 60

1 Khái niệm xâu 60

2 Khai báo xâu kí tự (string) 61

3 Truy cập vào phần tử của xâu 61

4 Một số hàm xử lí xâu thông dụng 61

§12 DỮ LIỆU CẤU TRÚC (STRUCTURE) 64

1 Khái niệm về dữ liệu cấu trúc (struct) 64

2 Định nghĩa kiểu cấu trúc 64

3 Khai báo biến có kiểu dữ liệu cấu trúc 65

4 Truy cập vào các phần tử của Struct 67

§13 BÀI TẬP THỰC HÀNH CHƯƠNG IV 69

§14 KIỂU DỮ LIỆU TỆP 73

1 Vai trò của của kiểu tệp 73

2 Phân loại tệp và thao tác với tệp 73

3 Các thao tác cơ bản với tệp tin 74

§15 THAO TÁC VỚI TỆP 75

1 Khái niệm 75

2 Biến và con trỏ 75

3 Các thao tác trên tệp tin 75

Trang 6

3.1 Khai báo biến tệp tin 75

3.2 Mở tệp (open file) 76

3.4 Đóng tệp tin 78

4 Một số hàm xử lý khác 78

§16 BÀI THỰC HÀNH CHƯƠNG V 79

§17 HÀM 81

1 Khái niệm hàm (function) 81

2 Khai báo và sử dụng hàm 81

3 Sử dụng hàm 84

4 Phạm vi của biến 85

5 Tham số, đối số và cơ chế truyền đối số cho hàm 86

§18 VÍ DỤ VỀ CHƯƠNG TRÌNH CON 90

1 Khái niệm và vai trò của chương trình con 90

2 Phân loại chương trình con 90

3 Một số ví dụ về chương trình con 91

§19 CON TRỎ (POINTER) 94

1 Khái niệm về con trỏ (pointer) 94

2 Khai báo con trỏ 94

3 Cách sử dụng con trỏ trong C++ 95

4 Phép gán giữa các con trỏ 96

5 Một số ví dụ về con trỏ 97

§20 BÀI THỰC HÀNH TỔNG HỢP 99

TÀI LIỆU THAM KHẢO 104

Trang 7

MỘT SỐ KHÁI NIỆM CƠ BẢN VỀ LẬP TRÌNH & NGÔN NGỮ LẬP TRÌNH

1.1 Khái niệm

 Thuật toán là khái niệm cơ sở của toán học và tin học

 Thuật toán là phương pháp thể hiện lời giải của vấn đề – bài toán

 Thuật toán là dãy các thao tác, các hướng dẫn rõ ràng, được sắp xếptheo một trình tự xác định, sao cho 2 bộ xử lý (người/máy) khác nhau, với cùngđiều kiện đầu vào như nhau thì sau một số bước hữu hạn thực hiện, sẽ cho kết quảgiống nhau mà không cần biết ý nghĩa của các thao tác này

Cần chú ý là không phải mọi dãy thao tác, chỉ dẫn nào cũng đều tạo ra thuậttoán Phương pháp nấu ăn, cách dùng thuốc, đều không phải là thuật toán do cácthao tác, các chỉ dẫn là không xác định, không rõ ràng

1.2 Các đặc trưng của thuật toán

Tính xác định: Các thao tác của thuật toán phải xác định, không được nhập

nhằng, mơ hồ để có thể dễ dàng cài đặt trên một hệ tự động hóa

Tính dừng: Thuật toán phải dừng sau một số hữu hạn bước thực hiện Tính đúng đắn: Thuật toán phải cho kết quả đúng theo yêu cầu của bài toán

đặt ra

Tính phổ dụng: Thuật toán có thể được sử dụng lại để giải một lớp bài toán

tương tự

Tính hiệu quả: Thuật toán cần tối ưu về sử dụng bộ nhớ và đáp ứng yêu

cầu của bài toán trong thời gian ngắn nhất có thể được Thực tế rất khó đạt được cả

2 yêu cầu này trong một thuật toán

1.3 Các công cụ biểu diễn thuật toán

Ngôn ngữ tự nhiên: là ngôn ngữ liệt kê các bước, mô tả thuật toán theo

ngôn ngữ tự nhiên của con người

Trang 8

Ví dụ: Thuật toán xác định trị lớn nhất trong 5 số nguyên.

Bước 1 : Gọi a, b, c, d, e là 5 biến lưu trữ các trị nguyên cho trước (nhập từ

bàn phím)

Bước 2: Gọi max là biến lưu trữ trị lớn nhất trong 5 số nguyên trên, và giả

sử a có trị lớn nhất

Bước 3: Lần lượt so sánh trị của max với các biến b, c, d, e còn lại Nếu trị

của max nhỏ hơn bất kỳ biến nào thì gán trị của biến đó cho max

Bước 4: Xuất kết quả trị biến max ra màn hình

Lưu đồ thuật toán hay sơ đồ khối (Flow chart): là công cụ cho phép biểu

diễn thuật toán một cách trực quan Thường chỉ có thể dung công cụ lưu đồ đốivới các thuật toán tương đối ngắn, có thể được biểu diễn trong một trang giấy.Các hình cơ bản sử dụng trong

Mã giả (Pseudo code) gần giống như ngôn ngữ tự nhiên, nhưng có sử dụng

các cấu trúc chuẩn hóa (khai báo biến, chú thích, cấu trúc điều khiển, ) dongười thiết kế quy định

Ngôn ngữ lập trình (Programming language) là hệ thống các kí hiệu cho

phép mô tả các quy trình tính toán dưới dạng văn bản

2 Ngôn ngữ lập trình (NNLT)

Các thành phần cơ bản của NNLT bao gồm:

Trang 9

 Bộ kí tự (character set) hay bảng chữ cái dùng để viết chương trình.

 Cú pháp (syntax) là bộ quy tắc để viết chương trình

 Ngữ nghĩa (semantic) xác định ý nghĩa các thao tác, hành động cần phảithực hiện, ngữ cảnh (context) của các câu lệnh trong chương trình

Hiện đã có hàng nghìn NNLT được thiết kế, và hàng năm lại có thêm nhiềuNNLT mới xuất hiện Sự phát triển của NNLT gắn liền với sự phát triển củangành tin học Mỗi loại NNLT phù hợp với một số lớp bài toán nhất định

Phân loại NNLT:

 Ngôn ngữ máy (machine language) hay còn gọi là NNLT cấp thấp có tậplệnh phụ thuộc vào một hệ máy cụ thể Chương trình viết bằng ngôn ngữ máy sửdụng bảng chữ cái chỉ gồm 2 kí tự 0, 1 Chương trình ngôn ngữ máy được nạp trựctiếp vào bộ nhớ và thực hiện ngay

 Ngôn ngữ lập trình cấp cao nói chung không phụ thuộc vào loại máy tính

cụ thể Chương trình viết bằng NNLT cấp cao sử dụng bộ kí tự phong phú hơn, vàphải được chuyển đổi sang dạng mã máy để máy tính có thể hiểu được bằngchương trình dịch Một số NNLT cấp cao thông dụng hiện nay: Pascal, C, C++,Java, Smalltalk, Basic, Ruby, Fortran, Algol, Lisp, Prolog, Cobol, …

3 Chương trình (máy tính)

Là tập hợp hữu hạn các chỉ thị máy được bố trí, sắp xếp theo một trật tự xácđịnh, nhằm giải quyết yêu cầu của bài toán đặt ra Chương trình được viết bằngmột NNLT cụ thể nào đó

Các chương trình C/C++ (trong môi trường DOS) được tạo ra bằng 1 trìnhsoạn thảo văn bản (EDITOR) như: SK, NC Editor, VRES Hiện nay, cácchương trình dịch đều tích hợp sẵn editor riêng cho phép USER soạn thản, biêndịch, kiểm lỗi, liên kết và thực hiện chương trình một cách dễ dàng

Các chương trình này (mã nguồn – source code), thực chất là ở dạng ngônngữ tự nhiên, do đó phải được biên dịch lại dưới dạng mã máy (object code) màmáy tính có thể hiểu được Việc này được thực hiện bởi chương trình dịch

Trang 10

Có 2 loại chương trình dịch:

Trình thông dịch (interpreter): mỗi lệnh được dịch sang mã máy và cho

thực hiện ngay

Trình biên dịch (compiler): toàn bộ chương trình nguồn được dịch sang

mã máy (tệp tin.obj), sau đó trình liên kết (linker) sẽ kết nối các module chươngtrình để tạo thành tệp tin EXE

Nói chung, một chương trình máy tính được bố cục thành 3 phần:

4 Các bước xây dựng chương trình

Bước 1: Xác định đúng yêu cầu của bài toán: Cần xác định phạm vi, các

giới hạn, ràng buộc, các giả thiết của bài toán Đặc biệt cần khắc phục sức ì vềmặt tâm lý trong quá trình tìm hiểu bài toán

Bước 2 : Xâuy dựng thuật giải: Cần có kiến thức liên quan đến vấn đề

đang giải quyết Cần xác định rõ thuật toán sẽ tác động trên những đối tượng(thông tin) nào ? Có bao nhiêu đối tượng (biến) cần xử lý? Mỗi biến có thể đượclưu trữ dưới dạng nào, kiểu gì ? Giá trị ban đầu của các biến ? Hình dung trướckết xuất DL sau khi xử lý sẽ như thế nào?

Bước 3: Thể hiện thuật giải bằng lưu đồ thuật toán (nếu được).

Bước 4: Cài đặt thuật toán bằng một NNLT cụ thể: Dùng một trình soạn

thảo VB để tạo chương trình nguồn (source code) theo một NNLT nào đó

Bước 5: Thử nghiệm thuật toán, nếu sai quay lại Bước 2 Cần xác định

lỗi của thuật toán thuộc loại nào: lỗi về mặt cú pháp (syntax error), lỗi lúc thựchiện chương trình (run-time error), và lỗi logic Lỗi cú pháp xảy ra lúc biên dịchchương trình, do vi phạm các quy định về mặt cú pháp của NNLT đang sử dụng.Lỗi này tương đối dễ khắc phục Lỗi run-time error như: divide by zero, stackoverflow, không đủ bộ nhớ, … Lỗi logic (logic error) khó phát hiện hơn nhiều

Bước 6: Kết thúc.

Trang 11

CÂU HỎI BÀI 1

 Thuật toán (Algorithm)

− Thuật toán là gì?

− Nêu các đặc trưng cần có của một thuật toán

− Các cách biểu diễn một thuật toán?

 Ngôn ngữ lập trình (Programming language) là gì?

 Nêu các bước xâuy dựng thuật toán?

Trang 12

§2 CÁC PHẦN TỬ CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH C++

1 Bảng kí tự của C++ (character set)

Hầu hết các ngôn ngữ lập trình hiện nay đều sử dụng các kí tự tiếng Anh,các kí hiệu thông dụng và các con số để thể hiện chương trình Các kí tự củanhững ngôn ngữ khác không được sử dụng (ví dụ các chữ cái tiếng Việt) Dướiđây là bảng kí tự được phép dùng để tạo nên những câu lệnh của ngôn ngữ C++

auto, break, case, char, continue, default, do, double, else, externe, float,for, goto, if, int, long, register, return, short, sizeof, static, struct, switch, typedef,union, unsigned, while

Một đặc trưng của C++ là các từ khoá luôn luôn được viết bằng chữ thường

3 Tên gọi

Để phân biệt các đối tượng với nhau chúng cần có một tên gọi Hầu hết mộtđối tượng được viết ra trong chương trình thuộc 2 dạng, một dạng đã có sẵn trongngôn ngữ (ví dụ các từ khoá, tên các hàm chuẩn ), một số do NLT tạo ra dùng đểđặt tên cho hằng, biến, kiểu, hàm các tên gọi do NLT tự đặt phải tuân theo một

số qui tắc sau:

Trang 13

 Là dãy kí tự liên tiếp (không chứa dấu cách) và phải bắt đầu bằng chữ cái hoặc gạch dưới.

 Phân biệt kí tự in hoa và thường

 Không được trùng với từ khóa

 Số lượng chữ cái dùng để phân biệt tên gọi có thể được đặt tuỳ ý

 Chú ý các tên gọi có sẵn của C++ cũng tuân thủ theo đúng qui tắc trên

 Trong một chương trình nếu NLT đặt tên sai thì trong quá trình xử lý sơ

bộ (trước khi chạy chương trình) máy sẽ báo lỗi (gọi là lỗi văn phạm)

Ví dụ 1 :

 Các tên gọi sau đây là đúng (được phép): i, i1, j, tinhoc, tin_hoc, luu_luong

 Các tên gọi sau đây là sai (không được phép): 1i, tin hoc, luu-luong-nuoc

 Các tên gọi sau đây là khác nhau: sai_gon, Sai_gon, TH_Trang, TH_TRANG,

Như vậy: Tên hợp lệ là một xâu kí tự liên tục gồm: Kí tự chữ, số và dấugạ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

4 Chú thích (comment)

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, dễ bảo trì hơn

Chương trình dịch sẽ bỏ qua những nội dung nằm trong phần chú thích

Có 2 loại chú thích:

• Chú thích trên một dòng:

// phần chú thích (cho đến cuối dòng)

• Chú thích trên nhiều dòng:

/* (mở) phần chú thích (có thể trải dài trên nhiều dòng) */(đóng)

Chú ý: Cặp dấu chú thích /* */ không được phép viết lồng nhau.

Trang 14

Ví dụ : 2

a Chú thích từng dòng:

Trang 15

ĐỌC THÊM

:

MÔI TRƯỜNG LÀM VIỆC CỦA C++

1 Khởi động - Thoát khỏi C++

Khởi động C++ cũng như mọi chương trình khác bằng cách nhấp đúp chuộtlên biểu tượng của chương trình Khi chương trình được khởi động sẽ hiện ra giaodiện gồm có menu công việc và một khung cửa sổ bên dưới phục vụ cho soạnthảo Một con trỏ nhấp nháy trong khung cửa sổ và chúng ta bắt đầu nhập nộidung (văn bản) chương trình vào trong khung cửa sổ soạn thảo này Mục đích củagiáo trình này là trang bị những kiến thức cơ bản của lập trình thông qua NNLTC++ cho các sinh viên mới bắt đầu nên chúng tôi vẫn chọn trình bày giao diện củacác trình biên dịch quen thuộc là Turbo C hoặc Borland C Về các trình biên dịchkhác độc giả có thể tự tham khảo trong các tài liệu liên quan

Để kết thúc làm việc với C++ (soạn thảo, chạy chương trình ) và quay vềmôi trường Windows chúng ta ấn Alt-X

2 Giao diện và cửa sổ soạn thảo

a Mô tả chung

Khi gọi chạy C++ trên màn hình sẽ xuất hiện một menu xổ xuống và mộtcửa sổ soạn thảo Trên menu gồm có các nhóm chức năng: File, Edit, Search, Run,Compile, Debug, Project, Options, Window, Help Để kích hoạt các nhóm chứcnăng, có thể ấn Alt+chữ cái biểu thị cho menu của chức năng đó (là chữ cái cógạch dưới) Ví dụ để mở nhóm chức năng File ấn Alt+F, sau đó dịch chuyển hộpsáng đến mục cần chọn rồi ấn Enter Để thuận tiện cho NSD, một số các chứcnăng hay dùng còn được gắn với một tổ hợp các phím cho phép người dùng có thểchọn nhanh chức năng này mà không cần thông qua việc mở menu như đã mô tả ởtrên Một số tổ hợp phím cụ thể đó sẽ được trình bày vào cuối phần này Các bộchương trình dịch hỗ trợ người lập trình một môi trường tích hợp tức ngoài chứcnăng soạn thảo, nó còn cung cấp nhiều chức năng, tiện ích khác giúp người lậptrình vừa có thể soạn thảo văn bản chương trình vừa gọi chạy chương trình vừa gỡlỗi …

b Các chức năng soạn thảo

Giống hầu hết các bộ soạn thảo văn bản, bộ soạn thảo của Turbo C hoặcBorland C cũng sử dụng các phím sau cho quá trình soạn thảo:

 Dịch chuyển con trỏ: các phím mũi tên cho phép dịch chuyển con trỏsang trái, phải một kí tự hoặc lên trên, xuống dưới 1 dòng Để dịch chuyển nhanh

có các phím như Home (về đầu dòng), End (về cuối dòng), PgUp, PgDn (lên,xuống một trang màn hình) Để dịch chuyển xa hơn có thể kết hợp các phím nàycùng phím Control (Ctrl, ^) như ^PgUp: về đầu tệp, ^PgDn: về cuối tệp

Trang 16

 Chèn, xoá, sửa: Phím Insert cho phép chuyển chế độ soạn thảo giữachèn và đè Các phím Delete, Backspace cho phép xoá một kí tự tại vị trí con trỏ

và trước vị trí con trỏ (xoá lùi)

c Chức năng tìm kiếm và thay thế

Chức năng này dùng để dịch chuyển nhanh con trỏ văn bản đến từ cầntìm Để thực hiện tìm kiếm bấm Ctrl-QF, tìm kiếm và thay thế bấm Ctrl-QA Vào

từ hoặc nhóm từ cần tìm vào cửa sổ Find, nhóm thay thế (nếu dùng Ctrl-QA) vàocửa sổ Replace và đánh dấu vào các tuỳ chọn trong cửa sổ bên dưới sau đó ấnEnter

d Các chức năng liên quan đến tệp

Ghi tệp lên đĩa: Chọn menu File\Save hoặc phím F2 Nếu tên tệpchưa có (còn mang tên Noname.cpp) máy sẽ yêu cầu cho tên tệp Phần mở rộngcủa tên tệp được mặc định là CPP

ạn thảo tệp mới: Chọn menu File\New Hiện ra cửa sổ soạn thảotrắng và tên file tạm thời lấy là Noname.cpp

ạn thảo tệp cũ: Chọn menu File\Open hoặc ấn phím F3, nhập têntệp hoặc dịch chuyển con trỏ trong vùng danh sách tệp bên dưới đến tên tệp cầnsoạn rồi ấn Enter Cũng có thể áp dụng cách này để soạn tệp mới khi không nhậpvào tên tệp cụ thể

ệp đang soạn thảo lên đĩa với tên mới: Chọn menu File\Save As

và nhập tên tệp mới vào rồi ấn Enter

e Chức năng dịch và chạy chương trình

-F9: Khởi động chức năng dịch và chạy toàn bộ chương trình

ạy chương trình từ đầu đến dòng lệnh hiện tại (đang chứa contrỏ)

ạy từng lệnh một của hàm main(), kể cả các lệnh con trong hàm ạy từng lệnh một của hàm main() Khi đó mỗi lời gọi hàm được

xem là một lệnh (không chạy từng lệnh trong các hàm được gọi)

Các chức năng liên quan đến dịch chương trình có thể được chọn thôngqua menu Compile (Alt-C)

f Tóm tắt một số phím nóng hay dùng

ạt menu: Alt+chữ cái đại diện cho nhóm menu đó

Ví dụ Alt-F mở menu File để chọn các chức năng cụ thể trong nó như Open (mởfile), Save (ghi file lên đĩa), Print (in nội dung văn bản chương trình ra máy in), …Alt-C mở menu Compile để chọn các chức năng dịch chương trình

ịch chuyển con trỏ khi soạn thảo

ở cửa sổ trợ giúp Đây là chức năng quan trọng giúp người lậptrình nhớ tên lệnh, cú pháp và cách sử dụng

Trang 17

ệp lên đĩa.

ở tệp cũ ra sửa chữa hoặc soạn thảo tệp mới

ạy chương trình đến vị trí con trỏ

ẹp/mở rộng cửa sổ soạn thảo

ển đổi giữa các cửa sổ soạn thảo

ạy chương trình theo từng lệnh, kể cả các lệnh trong hàm con

ạy chương trình theo từng lệnh trong hàm chính

ịch và liên kết chương trình Thường dùng chức năng này để tìm lỗi cú pháp của chương trình nguồn trước khi chạy

-F7: Chuyển con trỏ về nơi gây lỗi trước đó

-F8: Chuyển con trỏ đến lỗi tiếp theo

Giờ đây chúng ta không cần phải cài phần mềm Turbo C, Borland Choặc C-Free nữa

Bởi lẽ hiện nay, có nhiều trang Website cho phép chúng ta viết code vàchạy trực tuyến, trang Website được biết tới nhiều nhất đó là trang:

https://www.onlinegdb.com/online_c++_compiler

Các em đánh tên trang Website vào trình duyệt, giao diện trang Website

hiện ra, các em nhìn lên góc trên cùng bên phải, phần Language các em nhấp mũi

tên xổ xuống và chọn C++

Sau khi chọn NNLT xong giao diện code hiện ra và các em tiến hànhviết code và bấm Run góc trên cùng bến trái để kiểm tra kết quả Kết quả sẽ nằmbến dưới của giao diện

Xem kết quả ở đâyViết code ở đây

Trang 18

CHƯƠNG TRÌNH ĐƠN GIẢN

1 Cấu trúc chung của một chương trình trong C++

Khảo sát ví dụ một chương trình đơn giản viết bằng C++ như sau:

1 #include <iostream> Dùng thư viên iostream

2 using namespace std; Sử dụng không gian tên std

5 cout<<"Hello World"; Xuất ra màn hình “Hello Word”

Phần khai báo

Phần thân

Một chương trình viết bằng ngôn ngữ lập trình bậc cao thông thường có 2

phần: < Phần khai báo> và < Phần thân>

Ứng với cấu trúc trên trong chương trình C++ chính là các thành phần:

 Thư viện chuẩn C++.

 Hàm (Functions)

1.1 Thư viện chuẩn C++ (C++ Standard Library).

Thư viện là một tập hợp các mã được biên dịch sẵn, được đóng gói lại để

lập trình viên sử dụng, mà không cần phải viết lại Chẳng hạn: bạn viết một

chương trình tính toán, bạn có thể include thư viện toán học…

Dòng 1: Khai báo thư viện có tên iostream Thư viện này cung cấp cho

chúng ta khả năng nhập xuất dữ liệu cơ bản với chương trình

Trang 19

Dòng 2: Khai báo thư viện toán học Khi chúng ta cần dùng đến căn bậc 2

hay bình phương… Thư viện này sẽ giúp chúng ta làm được điều đó

Dòng 3: Khai báo thư viện fstream Giúp chúng ta có thể làm việcvới các

file nằm ngoài chương trình

Thư viện là một phần không thể thiếu với người lập trình Có thư viện côngviệc của lập trinh sẽ trở nên dễ dàng hơn

Mỗi một câu lệnh sẽ yêu cầu chương trình thực hiện một nhiệm vụ nhất

định Câu lệnh phải kết thúc bằng dấu chấm phẩy “ ; ”.

Dòng 1: Câu lệnh khai báo biến có tên là x.

Dòng 2: Là câu lệnh gán giá trị cho biến x Ở đây biến x được gán giá trị

bằng kết quả của biểu thức 5 * 2;

Dòng 3: Câu lệnh có nhiệm vụ đưa dữ liệu lên màn hình.

Trang 20

2 Biến - khai báo và sử dụng biến

2.1 Biến

Biến là các tên gọi để lưu giá trị khi làm việc trong chương trình Biến đượcdùng để lưu trữ thông tin về các đối tượng và có giá trị cụ thể, xác định tại mỗithời điểm trong chương trình Mỗi vùng nhớ biến có một địa chỉ xác định Khácvới hằng, giá trị của biến có thể thay đổi trong quá trình làm việc bằng các lệnhđọc vào từ bàn phím hoặc gán

Mọi biến phải được khai báo trước khi sử dụng Một khai báo như vậy sẽ

báo cho chương trình biết về một biến mới gồm có: tên của biến, kiểu của biến

(tức kiểu của giá trị dữ liệu mà biến sẽ lưu giữ)

2.1.1 Khai báo biến

Có 2 cách khai báo biến trong C++

a Khai báo không khởi tạo

tên_kiểu tên_biến_1 ;tên_kiểu tên_biến_2 ;tên_kiểu tên_biến_3 ;

 Nhiều biến cùng kiểu có thể được khai báo trên cùng một dòng:

dụ:

void main()

{

int i, j ; // khai báo 2 biến i, j có kiểu nguyên

<kiểu> <tên biến>;

<kiểu> <tên biến 1>, <tên biến 2> ;

tên_kiểutên_biến_1, tên_biến_2, tên_biến_3;

Trang 21

ode online: https://www.onlinegdb.com/online_c++_compiler

char c, d[100] ; // biến kí tự c, xâu d chứa tối đa 100 kí tự}

b Khai báo có khởi tạo

Biến có thể được khởi tạo giá trị ban đầu trong phần khai báo biến

int i = 2; // khai báo i và khởi tạo bằng 2

char c = 'Z'; // khai báo biến kí tự c và khởi tạo bằng 'A'

char d[100] = "Tin học";

// khai báo xâu kí tự d chứa dòng chữ "Tin học"

}

c Gán giá trị cho biến (phép gán)

Các ví dụ trên chúng ta đã sử dụng phép gán dù nó chưa được trình bày,đơn giản một phép gán mang ý nghĩa tạo giá trị mới cho một biến Khi biến đượcgán giá trị mới, giá trị cũ sẽ được tự động xoá đi bất kể trước đó nó chứa giá trịnào

3 Trang c

Trang 23

3 Vi dụ chương trình đơn giản

Ví dụ 1:

1 #include <iostream.h> // de su dung cout Khai báo thư viên

2 void main() // hàm chính của chương trình

//chu y, neu y=0 thì Chương trình dịch se bao loi divide by zero

4 Trang code online: https://www.onlinegdb.com/online_c++_compiler

const <kiểu> <tên hằng>=<giá trị>;

dụ :

Trang 24

8 cout<<”Tong cua 2 so vua nhap la: ”<<a+b<<”\n”;

9 cout<<”Hieu cua 2 so vua nhap la: ”<<a-b<<”\n”;

10 cout<<”Tich cua 2 so vua nhap la: ”<<a*b<<”\n”;

11 if (b!=0)

12 cout<<”Thuong cua 2 so vua nhap la: ”<<a/b;

13 return 0;

14 }

Trang 25

§4 CÁC DỮ LIỆU CƠ SỞ

1 Khái niệm về kiểu dữ liệu

Thông thường dữ liệu hay dùng là số và chữ Tuy nhiên việc phân chia chỉ

2 loai dữ liệu là không đủ Để dễ dàng hơn cho lập trình, hầu hết các NNLT đềuphân chia dữ liệu thành nhiều kiểu khác nhau được gọi là các kiểu cơ bản haychuẩn Dưới đây chúng ta sẽ xét đến một số kiểu dữ liệu chuẩn được qui địnhsẵn bởi C++

 Các phép toán áp dụng được trên kiểu int::

lẻ Tên kiểu: float

Kích thước: 4 bytes và có phạm vi biểu diễn giá trị –3.4E –38 3.4E +38

Trang 26

Kiểu (Type) Độ lớn (Byte) Miền giá trị (Range) float 4 3.4*10–38 … 3.4*1038

double 8 1.7*10–308 … 1.7*10308

long double 10 3.4*10-4932 đến 1.1*104932

 Các phép toán áp dụng được trên kiểu float:

• Các phép toán số học: + , -, *, / (không có phép toán %)

• Các phép toán so sánh: <, <=, >, >=, ==, !=24

dụ : 17.06 = 1.706*101

4 Kiểu luận lý:

 false (sai): giá trị 0

true (đúng): giá trị khác 0, thường là 1

Kiểu (Type) Độ lớn (Byte) Miền giá trị (Range)

Tên kiểu: char

 lưu mã ASCII của 256 kí tự

 gồm 2 loại có dấu và không dấu

Kiểu (Type) Độ lớn (Byte) Miền giá trị (Range)

 Các phép toán áp dụng được trên kiểu char:

Trang 27

• Các phép toán số học: +, -, *, /, %

• Các phép toán so sánh: <, <=, >, >=, ==, !=

dụ:

1 #include <iostream> // khai báo thư viện

Trang 28

§ 5 PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN

1 Phép toán

C++ có rất nhiều phép toán loại 1 ngôi, 2 ngôi và thậm chí cả 3 ngôi Cácthành phần tên gọi tham gia trong phép toán được gọi toán hạng, các kí hiệu phéptoán được gọi là toán tử

 Toán hạng: hằng, biến, lời gọi hàm

Phép toán a / b (chia) được thực hiện theo kiểu của các toán hạng, tức nếu

cả hai toán hạng là số nguyên thì kết quả của phép chia chỉ lấy phần nguyên,ngược lại nếu 1 trong 2 toán hạng là thực thì kết quả là số thực

Trang 29

<= Nhỏ hơnNhỏ hơn hoặc bằng 22

int, float, double,char

So sánh bằng

So sánh khác nhau

2222

Chú ý : Cần phân biệt phép toán gán (=) và phép toán so sánh (==) Phép

gán vừa gán giá trị cho biến vừa trả lại giá trị bất kỳ (là giá trị của toán hạng bên phải), trong khi phép so sánh luôn luôn trả lại giá trị 1 hoặc 0

Các phép toán lôgic : && (và), || (hoặc ), ! (không, phủ định)

Trang 30

Hai toán hạng của loại phép toán này phải có kiểu lôgic tức chỉ nhận mộttrong hai giá trị "đúng" (được thể hiện bởi các số nguyên khác 0) hoặc "sai" (thể hiện bởi 0) Khi đó giá trị trả lại của phép toán là 1 hoặc 0 và được cho trong bảngsau:

 Phép toán "và" đúng khi và chỉ khi hai toán hạng cùng đúng

 Phép toán "hoặc" sai khi và chỉ khi hai toán hạng cùng sai

 Phép toán "không" (hoặc "phủ định") đúng khi và chỉ khi toán hạng của

dụ:

! (4 + 3 < 7) // = 1 vì (4+3<7) bằng 0

5 || (4 >= 6) // = 1 vì có một hạng thức (5) đúng

(5 < !0) || (4 >= 6) // = 0 vì cả hai hạng thức đều sai

Chú ý: việc đánh giá biểu thức được tiến hành từ trái sang phải và sẽ dừng

khi biết kết quả mà không chờ đánh giá hết biểu thức

c Các phép toán tự tăng, giảm: i++, ++i, i , i

 ++ (tăng 1 đơn vị), (giảm 1 đơn vị)

Trang 31

trong biểu thức Ngược lại i++ sẽ tăng i sau khi biểu thức được tính toán xong (vớigiá trị i cũ).

d Toán tử gán phức hợp (Toán tử khởi tạo).

Toán tử khởi tạo được sử dụng để lưu trữ một biến Toán hạng trái nên làmột giá trị trái và toán hạng phải có thế là một biếu thức bất kỳ

dụ :

1 #include <iostream.h> // khai báo thư viện

2 int main () // hàm chính của chương trình

Trang 32

Trong đó :

• <BT1> thường là một biểu thức so sánh hay một biểu thức logic

• <BT2>, và <BT3> là một biểu thức thông thường nào đó Kiểu của biểuthức điều kiện phụ thuộc vào kiểu của <BT2>, <BT3>

 Cách tính giá trị biểu thức điều kiện

Ghi

chú : Mỗi biến số hoặc hằng số đơn lẻ cũng là một biểu thức.

a Biểu thức số học

Biểu thức số học gồm các giá trị, hằng số, biến số và hàm số kiểu số

nguyên hoặc số thực và các toán tử số học

dụ : (x + y) * 2 - 4 ; 3 - x + sqrt(y) ; (-b + sqrt(delta)) / (2*a) ;

Quy tắc thực hiện tính toán:

1 Nếu có ngoặc thì thực hiện tính toán trong ngoặc trước

2 Nếu không có ngoặc thực hiện tính toán các phép toán *, /, % trước; +, sau

-3 Nếu mức độ ưu tiên của các phép toán bằng nhau, thực hiện tính toán từtrái sang phải

dụ : (x / y) * 2 % (8 + 10 - 2) với x, y là các biến kiểu số nguyên

Biểu thức trên sẽ được thực hiện như sau:

1 Tính kết quả của biểu thức (x / y)

2 Tính kết quả của biểu thức (8 + 10 - 2) = (18 - 2) = 16

Trang 33

3 Tính kết quả của biểu thức ((x / y) * 2)

4 Tính kết quả của biểu thức ((x / y) * 2) % 16

b Biểu thức quan hệ

Biểu thức quan hệ có cấu trúc:

Quy tắc thực hiện tính toán:

1 Thực hiện tính toán giá trị các biểu thức

2 Thực hiện tính toán biểu thức quan hệ

3 Kết quả: Biểu thức quan hệ cho kết quả kiểu logic

dụ : (5*10+3) >= (1-2*6)

Biểu thức trên sẽ được thực hiện như sau:

1 Tính kết quả của biểu thức (5*10+3) = (50+3) = 53

2 Tính kết quả của biểu thức (1-2*6) = (1-12) = -11

3 Tính kết quả của biểu thức 53>=-11 là đúng

4 Vậy biểu thức (5*10+3) >= (1-2*6) có kết quả là đúng

c Biểu thức logic

Biểu thức logic gồm các giá trị, hằng số, biến số, hàm số kiểu logic, biểu thức quan hệ và các toán tử logic

Quy tắc thực hiện tính toán:

1 Nếu có ngoặc thì thực hiện tính toán trong ngoặc trước

2 Nếu không có ngoặc thì thực hiện tính toán phép toán logic ! trước; tiếptheo là biểu thức quan hệ; cuối cùng là các phép toán logic &&, ||

3 Nếu mức độ ưu tiên của các phép toán như nhau thì thực hiện tính toán

từ trái sang phải

Kết quả: Biểu thức logic cho kết quả kiểu logic.

Ví dụ: true && !(5>6)

Biểu thức trên sẽ được thực hiện như sau:

1 Tính kết quả của biểu thức (5>6) là false

2 Tính kết quả của biểu thức !(false) là true

3 Tính kết quả của biểu thức true && true là true

Vậy biểu thức true && !(5>6) có kết quả là true

<biểu thức 1> <toán tử quan hệ> <biểu thức 2>

Trang 34

 Có thể gán giá trị của biến kiểu số nguyên cho biến kiểu số thực.

 Nếu gán giá trị của biến kiểu số thực cho biến kiểu số nguyên thì biếnkiểu số nguyên sẽ lưu trữ giá trị là phần nguyên

Ví dụ:

1 int a; //khai báo biến a kiểu số nguyên

2 a=10; //gán giá trị 10 cho biến a

3 bool b; //khai báo biến b kiểu logic

4 b=5>6; //gán giá trị của biểu thức quan hệ 5>6 cho biến b

5 float c; //khai báo biến c kiểu số thực

6 c=a; //gán giá trị của biến a cho biến c

7 c=20.5; //gán giá trị 20.5 cho biến c

8 a=c; //gán giá trị của biến c cho biến a

<tên biến> = <biểu thức>

Trang 35

cin >> <tên biến>;

TỪ BÀN PHÍM DÙNG CIN, COUT

1 Nhập dữ liệu từ bàn phím

Nhập dữ liệu từ bàn phím, ở mức độ cơ bản, là việc người dùng nhập số, kí

tự vào chương trình thông qua bàn phím máy tính Số và kí tự do người dùng nhậpvào sẽ được lưu trữ trong các biến tương ứng

Trong ngôn ngữ C++, chúng ta có thể dùng cấu trúc lệnh sau đây để thựchiện việc nhập dữ liệu từ bàn phím:

hoặc:

Câu lệnh trên bao gồm:

 Hàm cin - hàm nhập chuẩn của C++

 Toán tử >> cho phép gán giá trị vào biến Toán tử này tương thích

với nhiều kiểu dữ liệu khác nhau nhờ đã nạp chồng (overload), vấn đề này chúng

ta chưa cần phải quan tâm vào lúc này

 <tên biến> là tên của biến mà các em muốn nhập dữ liệu vào

 Và đừng quên dấu ; để thông báo kết thúc câu lệnh

 Khi đọc đến câu lệnh trên, chương trình sẽ dừng lại để người dùngnhập dữ liệu vào, sau đó dữ liệu sẽ được lưu trữ dưới dạng giá trị của biến đó

 Lệnh sau đây là câu lệnh hợp lệ:

cin >> x, y, z; // ý nghĩa chỉ nhập trị cho biến x

cin >> x >> y >> z; // Để nhập đầy đủ trị cho 3 biến x, y và z:

cin >> biến_1 >> biến_2 >> biến_3;

Trang 36

Trong đó: Biểu thức có thể chứa biến, hằng, hay kết quả trả về của một hàm.

 Câu lệnh trên bao gồm:

 Hàm cout - hàm xuất chuẩn của C++

 Toán tử << cho phép xuất dữ liệu ra

 <dữ liệu> như thầy đã nói thì có thể là kí tự, xâu kí tự hoặc số, cũng

có thể là tên của biến hoặc biểu thức

cout<<"MON TIN HOC 11 \n"<<endl<<"************************";

cout<<biểu thức 1<<biểu thức<< <<biểu thức n;

Trang 37

Thư viên <iostream> là thư viện các hàm nhập - xuất chuẩn như cin và cout.

Khai báo thư viện ở đầu chương trình bằng cách dùng cấu trúc:

#include <tên thư viện>:

dụ: #include <iostream>

b Không gian tên std:

Không gian tên là ngữ cảnh cho các đối tượng xác định

Lấy ví dụ lớp 11A1 và 11A2 có hai bạn cùng tên, chẳng hạn là tên Sơn, đểphân biệt hai bạn qua tên thì có thể gọi Sơn lớp A1 và Sơn lớp A2 hoặc nếu đãnhắc đến lớp nào từ trước thì có thể biết là đang nói đến bạn Sơn nào Trong ví dụtrên, A và B chính là không gian tên

Không gian tên std cho phép người dùng sử dụng các hàm chuẩn như cin,

cout, endl,v.v

}

// in kết quả

// nhập dữ liệucout << "Hãy nhập chiều dài: " ; cin >> cd ;

cout << "Hãy nhập chiều rộng: " ; cin >> cr ;cout << "Diện tích = " << cd * cr << '\n' ; cout << "Chu vi = " << 2 * (cd + cr) << '\n';

return ;

// khai báo tệp nguyên mẫu để dùng được cin, cout

// đây là hàm chính của chương trình

// khai báo các biến có tên cd, cr để chứa độ dài các cạnh

#include <iostream.h>

void main()

{

float cd, cr ;

Trang 38

Chúng ta cần khai báo không gian tên ở phần khai báo của chương trình

std::cout << "Patience is bitter" << std::endl << "but its fruit is sweet.";

4 Ví dụ chương trình nhập – xuất trong C++

8 cout << "Nhap so hang thu hai: "; //Xuất ra dòng chữ "Nhap so hang thu

hai"

10 cout << "Tong hai so hang la: " <<

a+b << endl; //Xuất ra dòng chữ "Tong hai so hang la: " và kết quả, sau đó xuống

Trang 39

§7 BÀI TẬP THỰC HÀNH CHƯƠNG II

Bài tập 1: Hãy viết đoạn chương trình sau, kiểm tra chương trình có lỗi hay

không? Chạy chương trình và xem kết quả

Bài tập 2 : Viết chương trình C++ để khai báo 2 biến nguyên và một biến

thực, sau đó in kết quả trên màn hình

Yêu cầu: Viết chương trình C++ để khai báo hai biến nguyên, một biến

thực và gán các giá trị tương ứng 8, 16 và 15.8 cho chúng Sau đó in kết quả trênmàn hình Chạy chương trình sau kiểm tra lỗi, và xem kết quả

1 #include <cstdlib> // Khai báo thư viện cstdlib

2 #include <iostream> // Khai báo thư viện iostream

3 using namespace std; // Khai báo không gian tên

4 int main() // Hàm chính của chương trình

6 int a; // Khai báo biến a kiểu số nguyên

7 int b; // Khai báo biến b kiểu số nguyên

8 float c; // Khai báo biến c kiểu số thực

10 b=16; // Gán giá trị cho biến b

11 c=15.8; // Gán giá trị cho biến c

12 cout<<"a="<<a<<"\t"<<"b="<<b<<"\t"<<"c="<<c; // Xuất ra màn hình kết quả

Trang 40

Yêu cầu: Viết chương trình C++ để nhắc người dùng nhập tên của họ, sau

đó in kết quả trên màn hình

Chạy chương trình sau và xem kết quả

1 #include <cstdlib> // khai báo thư viện cstdlib

2 #include <iostream> // khai báo thư viện iostream

3 using namespace std; // khai báo không gian tên std

6 char name[20]; // khai báo biến name, kiêu dữ liệu kí tự, có độ dài 20

7 cout<<"Hay nhap ten cua ban:"; // xuât ra màn hình dòng thông báo

8 cin>>name; // nhập tên vào từ bàn phím

9 cout<<"Xin chao "<<name<<"! \n"; // thông báo ra màn hình kết quả

Tìm tổng, hiệu, tích và thương của hai số nguyên và in kết quả ra màn hình

Yêu cầu: Giả sử có 2 số nguyên cho trước, bạn hãy tính tổng, hiệu, tích và

thương của hai số rồi in kết quả ra màn hình

Ngày đăng: 25/03/2023, 15:13

🧩 Sản phẩm bạn có thể quan tâm

w