1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn lập trình c

39 0 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

Giới thiệu về cú pháp cơ bản C++ for Linux Khi chúng ta xem xét một chương trình C ++, nó có thể được định nghĩa là một tậphợp các đối tượng giao tiếp thông qua việc gọi các phương thức

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊNTHÔNG

BÁO CÁO BÀI TẬP LỚNLẬP TRÌNH C++NHÓM THỰC HIỆN: 05

PHẠM MẠNH CƯỜNG – N19DCAT009NGUYỄN VĂN HIỀN – N19DCAT022NGUYỄN VĂN THÀNH - N18DCAT083TRẦN BÁ TIẾN ANH - N18DCCN008NGÔ TRUNG HIẾU - N21DCDK008NGUYỄN QUANG THỊNH - N21DCDK034

Trang 2

Bảng phân chia nhiệm vụ:

PHẠM MẠNH CƯỜNG 1 Introduction to basic syntax2 Anotomy of a C++ program3 Statements and expressions14 Functions

NGUYỄN VĂN HIỀN 4 Identifiers5 Defining variablesNGUYỄN VĂN THÀNH 6 Pointers

7 RefereneceTRẦN BÁ TIẾN ANH 8 Primitive arrays

9 Primitive strings

11 Iterating with forNGUYỄN QUANG

12 Range-base for loop13 Structures

1 Giới thiệu về cú pháp cơ bản C++ for Linux

Khi chúng ta xem xét một chương trình C ++, nó có thể được định nghĩa là một tậphợp các đối tượng giao tiếp thông qua việc gọi các phương thức của nhau Bây giờchúng ta hãy xem xét ngắn gọn ý nghĩa của một lớp, đối tượng, các phương thứcvà các biến tức thì.

 Đối tượng - Đối tượng có trạng thái và hành vi Ví dụ: Một con chó có các

trạng thái - màu sắc, tên, giống cũng như các hành vi - vẫy tay, sủa, ăn Một đốitượng là một thể hiện của một lớp.

 Lớp - Một lớp có thể được định nghĩa như một khuôn mẫu / bản thiết kế

mô tả các hành vi / trạng thái mà đối tượng kiểu của nó hỗ trợ.

 Các phương pháp - Một phương pháp về cơ bản là một hành vi Một lớp

có thể chứa nhiều phương thức Nó nằm trong các phương thức nơi logic đượcviết, dữ liệu được thao tác và tất cả các hành động được thực thi.

 Biến cá thể - Mỗi đối tượng có một tập hợp các biến cá thể duy nhất của

nó Trạng thái của một đối tượng được tạo bởi các giá trị được gán cho các biến cáthể này.

Trang 3

 Cấu trúc chương trình C ++

 #include<iostream> using namespace std; int main() { cout <<"Xinchao"; return0;

nhận xét một dòng có sẵn trong C ++ Nhận xét một dòng bắt đầu bằng // và dừngở cuối dòng.

 Dòng int main () là hàm chính bắt đầu thực thi chương trình.

 Dòng tiếp theo cout << "Xinchao"; khiến thông báo "Xinchao" được hiểnthị trên màn hình.

 Dòng tiếp theo trả về 0; chấm dứt hàm main () và khiến nó trả về giá trị 0cho quá trình gọi.

Biên dịch và thực thi chương trình C ++

Hãy xem cách lưu tệp, biên dịch và chạy chương trình Vui lòng làm theo các bướcdưới đây -

 Mở trình soạn thảo văn bản và thêm mã  Lưu tệp dưới dạng: hello.cpp

 Mở dấu nhắc lệnh và chuyển đến thư mục lưu tệp. Nhập 'g ++ hello.cpp'

 gõ 'a.out' để chạy chương trình  'Hello World' được in trên cửa sổ.$ g++ hello.cpp

$ /a.outHello World

Dấu chấm phẩy và khối trong C ++

Trong C ++, dấu chấm phẩy là một dấu chấm câu lệnh Nghĩa là, mỗi câu lệnhriêng lẻ phải được kết thúc bằng dấu chấm phẩy Nó chỉ ra sự kết thúc của mộtthực thể logic.

VD:x = y;y = y + 5;

Trang 4

add(x, y);

Một khối là một tập hợp các câu lệnh được kết nối một cách logic được bao quanhbởi các dấu ngoặc nhọn mở và đóng.

cout << "XinChao"; return 0;

Mã định danh C ++

Mã định danh C ++ là tên được sử dụng để xác định một biến, hàm, lớp, mô-đunhoặc bất kỳ mục nào khác do người dùng xác định Mã định danh bắt đầu bằngchữ cái A đến Z hoặc từ a đến z hoặc dấu gạch dưới (_) theo sau là không hoặcnhiều chữ cái, dấu gạch dưới và chữ số (0 đến 9).

C ++ không cho phép các ký tự dấu câu như @, $ và% trong các mã định danh C ++ là một ngôn ngữ lập trình phân biệt chữ hoa chữ thường Nhưvậy, Manpowernhân lực là hai định danh khác nhau trong C ++.

Lmao burh _lmaolmao burh_123Từ khóa C ++

Trang 6

2.Sơ lược về một chương trình C ++

Một chương trình C ++ về cơ bản là một tập hợp các câu lệnh và biểu thức, thườngđược tổ chức thành các hàm và lớp Cách tốt nhất để học một ngôn ngữ lập trình làviết chương trình Chương trình đầu tiên bạn thường thấy là chương trình" Xinchao " Chương trình đơn giản này in Xinchao ra màn hình.

Dòng đầu tiên của chương trình này, bạn sẽ nhận thấy hai dấu gạch chéo này, tiếptheo là một số văn bản Đây là cách viết bình luận bằng C ++.

Các dòng bắt đầu bằng dấu thăng ( ) là các lệnh được đọc và thông dịch bởi cái#được gọi là bộ tiền xử lý Chúng là những dòng đặc biệt được diễn giải trước khiquá trình biên dịch chương trình bắt đầu Trong trường hợp này, chỉ thị #include<iostream>, hướng dẫn bộ tiền xử lý bao gồm một phần của mã C ++ tiêu chuẩn,được gọi là iostream tiêu đề , cho phép thực hiện các hoạt động đầu vào và đầu ratiêu chuẩn

Hàm được đặt tên mainlà một hàm đặc biệt trong tất cả các chương trình C ++; nólà hàm được gọi khi chương trình được chạy Đây là điểm nhập chính cho bất kỳchương trình C ++ nào Việc thực thi tất cả các chương trình C ++ bắt đầubằng mainhàm, bất kể hàm thực sự nằm ở đâu trong mã.

Dấu ngoặc nhọn ({) ở dòng 5 cho biết phần đầu của định nghĩa hàm của hàm mainvà dấu ngoặc nhọn (}) ở dòng 7, cho biết phần cuối của nó Mọi thứ giữa các dấungoặc nhọn này là phần thân của hàm xác định điều gì sẽ xảy ra khi hàm mainđược gọi Tất cả các hàm đều sử dụng dấu ngoặc nhọn để chỉ ra sự bắt đầu và kếtthúc của các định nghĩa của chúng.

Trang 7

std::cout xác định thiết bị xuất ký tự tiêu chuẩn (thông thường, đây là màn hìnhmáy tính).

Toán tử chèn ( <<), chỉ ra rằng những gì sau đây sẽ được chèn vào std::cout.

Một câu trong dấu ngoặc kép ("XinChao!"), là nội dung được chèn vào đầu rachuẩn.

3.Các câu lệnh và biểu thứcKhái niệm

Một biểu thức có chứa ít nhất một toán hạng và 0 hoặc nhiều toán tử Toán hạngcó thể là: giá trị hằng, hằng, biến, kết quả của một hàm hay biểu thức con Các toán tử có độ ưu tiên khác nhau, nhưng có thể bị thay đổi bằng cách dùng

ngoặc ( … )

Các toán tử có cùng độ ưu tiên được thực hiện tử trái sang phải: sin(x) + cos(x) hàm sin(x) được gọi trước cos(x)

VD43 i x sin(x-100)

Toán tử số học

Cơ bản: a+b a-b a*b a/b

Nhân/chia ưu tiên cao hơn cộng/trừ Phép toán giữa 2 số nguyên kết quả là số nguyên Phép toán có ít nhất 1 số thực kết quả là số thực Modulo (chia lấy số dư): a%b

Tăng, giảm 1 đơn vị: a++ a ++a a Toán hạng phải là một biến kiểu số nguyên

a++ và a thực hiện phép tính với giá trị của a rồi mới tăng/giảm giá trị của a,trong khi ++a và a thì ngược lại

Toán tử logic và so sánh

Logic: and: A && B or: A || B not: !A So sánh: x == y x != y x > y

Trang 8

x < y x >= y x <= y

Toán tử bit

Bao gồm: and: a & b or: a | b xor: a ^ b not: ~a

Dịch trái, phải: a<>b

*Chỉ áp dụng với kiểu số nguyên

Toán tử gán

Cơ bản: a = b

Các toán tử đặc biệt khác Cộng, trừ đơn hạng: +a, -a

sizeof: trả về kích thước của kiểu/biến/hằng Toán tử ngoặc (): (a+b)*c

Toán tử phảy “,”: không làm gì, chỉ bỏ qua giá trị thứ nhất x++, y = x*2;

for (i=2, j=3, x=1; ituoi

Ép kiểu: (int)a Gọi hàm (): sin(x), pow(x, 3) 

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.

Trang 9

Viết chương trình C++ để nhập hai số nguyên x, y, sau đó tính: p=x*y, s=x+y,q=s2+p(s-x)*(p+y) và in kết quả ra màn hình.

Trang 10

 Tên của biến chứa các chữ cái, chữ số và dấu gạch dưới

 Tên của biến có phân biệt chữ hoa chữ thường

 Tên của biên không chứa bất ký khoảng trắng và bất kỳ ký tự đắc biệt nào

Trang 11

 Tất cả biên phải được bắt đầu bằng 1 chữ cái trong bảng chữ cái hoặc 1 dấu gạch dưới (_)

 Không thể sử dụng từ khóa C++ (float, double, class ) làm tên biến 2 Cách khai báo biến

Khai báo biến điển hình có dạng

Tên biến có thể bao gồm các bảng chữ cái ( chữ hoa và chữ thường) số và ký tự gạch dưới Tuy nhiên tên biến không được bắt đầu bằng 1 số VD:

Trang 12

Khai báo biến là để cập đến phần mà biến được khai báo hoặc giới thiệu lần đầu tiên trước khi sử dụng

Định nghĩa biến là 1 phần trong đó biến được gán cho 1 vị trí bộ nhớ và 1 giá trị

hoặc khối nào

Trang 13

3.Local Variable:Các biến này được khai báo tương tự như các biên instance nhưng điểm khác biệt là các biến này được khai báo bằng cách sử dụng từ khóa static bên trong 1 lớp bên ngoài hoặc bất kỳ khối hoặc phương thức

Trang 14

Ví dụ

So sánh tham chiếu và con trỏ

Giữa con trỏ và tham chiếu có điểm tương đồng, tuy nhiên cũng có một số điểm khác biệt cơ bản về mặt ý nghĩa như sau:

 Một con trỏ có thể nhận giá trị null trong khi một tham chiếu thì không thể.

Trang 15

 Một con trỏ có thể khởi tạo bất cứ lúc nào, trong khi một tham chiếu phải được khởi tạo ngay khi nó được khai báo Nói cách khác, câu lệnh sau trình biên dịch sẽ báo lỗi: int &k; // error

 Một con trỏ có thể trỏ đến nhiều đối tượng, trong khi một tham chiếu chỉ được tham chiếu tới một đối tượng duy nhất.

 Con trỏ có thể lưu trữ vùng nhớ cấp phát động, tham chiếu thì không thể.6.Con trỏ

pointer là một loại biến chuyên lưu trữ địa chỉ bộ nhớ (memory address).Một biến lưu trữ giá trị như:

int length = 5;

char domain[] = "STDIO.VN";

sẽ được lưu trữ tại 1 vị trí cụ thể trên bộ nhớ Biến con trỏ có khả năng lưu trữ vị trí này.

Trong hình minh hoạ trên, biến con trỏ (có địa chỉ là FF) sẽ quản lý vùng nhớ của chuỗi STDIO.VN (bắt đầu từ địa chỉ D0).

Cách sử dụng

Chương trình sau minh họa việc khai báo con trỏ đối với một số kiểu dữ liệu thường dùng:

Trang 16

Sử dụng * giữa kiểu dữ liệu và tên biến có nghĩa là biến đang khai báo là một biến con trỏ Trong ngữ cảnh này * không phải là phép nhân.

trong trường hợp khai báo nhiều hơn một biến trên cùng một dòng, chỉ những biến nào có kí tự * phía trước tên biến (không kể khoảng trắng) mới là biến con trỏ.

Trang 17

Con trỏ chỉ lưu giữ địa chỉ nên khi gán giá trị cho một con trỏ, giá trị đó phải là địa chỉ Để lấy địa chỉ của một biến, sử dụng address-of operator &.

sử dụng với con trỏ là dereference operator * Dereference operator dùng để lấy nộidung của địa chỉ mà biến đó trỏ vào.

8.Primitive arrays

Trang 18

-Mảng: Là 1 loạt các phần tử cùng kiểu được đặt ở các vị trí bộ nhớ liền nhau có thể tham chiếu riêng lẻ bằng cách thêm một chỉ mục vào một mã định danh duy nhất.

-Khởi tạo mảng: Cú pháp khởi tạo mảng:

Kiểu dữ liệu Tên mảng [số lượng phần tử mảng] = {Giá trị của các phần tử mảng}

-Truy cập các giá trị của một mảng:

Cú pháp : Tên mảng[vị trí phần tử muốn truy cập]

Trang 19

9.Primitive String

String là một kiểu dữ liệu được sử dụng để lưu trữ văn bản.

Một biết có kiểu dữ liệu string là tập hợp các ký tự được bao quanh bởi giấu ngoặc kép.

Cú pháp khai báo biết String: string Tenbien = “chuỗi các kí tự”;

Trang 20

Tương tự như C#, ngôn ngữ lập trình C++ cũng có các lệnh điều kiện Để tìm hiểu rõ hơn về các lệnh điều kiện trong C++, bạn đọc cùng tham khảo tiếp bàiviết dưới đây của Taimienphi.vn.

Trong bài học C++ tiếp theo dưới đây Taimienphi.vn sẽ giới thiệu tiếp cho bạn vềlệnh điều kiện trong C++ Ngoài ra bạn đọc có thể tham khảo thêm một số bài viếtkhác đã có trên Taimienphi.vn để tìm hiểu thêm về vòng lặp trong C++ là gì nhé.

10.LỆNH ĐIỀU KIỆN TRONG C++Lệnh Điều Kiện Trong C++

Lệnh điều kiện trong C++ được sử dụng để quyết định thứ tự việc thực hiện các câulệnh dựa trên các điều kiện cụ thể hoặc lặp lại một nhóm các câu lệnh cho đến khithỏa mãn các điều kiện cụ thể C++ hỗ trợ các lệnh điều kiện dưới đây:

-Lệnh If-Lẹnh Switch-Toán tử điều kiệnLệnh If Trong C++

Lệnh If trong C++ bao gồm nhiều lệnh khác nhau, tùy thuộc vào độ phức tạp của các điều kiện được kiểm tra Dưới đây là một số lệnh If trong C++:

- Lệnh If đơn giản.- Lệnh If else.- Lệnh If else lồng nhau.- Lệnh else if.

If (điều kiện)Lệnh;

Cú pháp trên được sử dụng cho câu lệnh đơn Ngoài ra nếu muốn bạn cũng có thểsử dụng cho tập hợp các lệnh, miễn là các lệnh này được đặt trong dấu ngoặc nhọn{ } Tập hợp các lệnh cũng được gọi là lệnh ghép.

Trang 21

Cho ví dụ về lệnh điều kiện If trong C++:

sử dụng namespace std;if-điều kiệnVoid main ()

{Int điểm;

Cout<"nhập điểm="" của="">Cin>>điểm;

If(điểm>=40)Cout<"điểm đủ="">}

Lệnh điều kiện If else trong C++

Lệnh If Else cũng là một lệnh điều kiện If, được sử dụng để thực thi khối câulệnh khi điều kiện được đánh giá là True, ngược lại nếu điều kiện được đánh giá làFalse khối câu lệnh sẽ không được thực thi Trong trường hợp bất kỳ, một khối sẽđược thực thi và khối kia bị bỏ qua.

Trong lệnh If Else:

-Cả 2 khối lệnh không bao giờ được thực thi.-Cả 2 khối lệnh không bao giờ được bỏ qua.Cú pháp lệnh If else trong C++ có dạng:

If(điều kiện) Lệnh;Else Lệnh;Lưu ý:

Trang 22

Nếu có 2 hoặc nhiều lệnh trở lên phải được đặt trong dấu ngoặc nhọn { }.Lệnh Switch Trong C++

Lệnh Switch cũng là lệnh điều kiện trong C++, được sử dụng để thay thế lệnh IfElse lồng nhau Lệnh này được sử dụng khi có nhiều lệnh có sẵn và chỉ thực thimột lệnh cụ thể.

- Cách thức lệnh Switch hoạt động:

Lệnh Switch so sánh kết quả một biểu thức với nhiều trường hợp (case) Biểu thứccó thể là giá trị bất kỳ trả về kết quả giá trị nguyên hoặc ký tự Biểu thức đượcđánh giá ở đầu lệnh switch và kết quả được so sánh với các trường hợp khác nhau.Mỗi trường hợp là một lựa chọn Nếu kết quả khớp với trường hợp bất kỳ, khối

Trang 23

câu lệnh tương ứng sẽ được thực thi Trong một lệnh Switch không giới hạn sốlượng trường hợp.

Default Label xuất hiện ở cuối tất cả các Case Label Nó chỉ được thực thi sau khikết quả của biểu thức không được khớp với Case Label bất kỳ Vị trí của DefaultLabel là không cố định, có thể đặt trước lệnh case đầu tiên hoặc cuối cùng.Lệnh break trong mỗi case label được sử dụng để thoát khỏi phần thân lệnh switch,

và được sử dụng ở cuối mỗi case label Khi kết quả của biểu thức khớp với caselabel, lệnh tương ứng sẽ được thực thi.

Lệnh break xuất hiện sau các lệnh này và control thoát khỏi phần thân lệnh switch.Nếu lệnh break không được sử dụng, tất cả các khối case xuất hiện sau case cũngsẽ được thực thi.

Toán Tử Điều Kiện Trong C++

Toán tử điều kiện trong C++ được sử dụng để thay thế cho cấu trúc if else đơn giản.Nó còn được gọi là toán tử 3 ngôi vì sử dụng 3 toán hạng.

- Cú pháp toán tử điều kiện trong C++ có dạng:

(điều kiện) ? lệnh case true: lệnh case false;

Trong đó:

- Điều kiện: được chỉ định là biểu thức quan hệ hoặc logic Điều kiện được đánhgiá là True hoặc False.

- True Case: được thực thi nếu biểu thức được đánh giá là True.

- False case: được thực thi nếu biểu thức được đánh giá là False.

Cho ví dụ về toán tử điều kiện trong C++, giả sử chúng ta có biến A Lệnh có dạng:X = (A>50) ? 1 : 0;

1 được gán cho X nếu điều kiện A>50 là True, hoặc sẽ được gán 0 cho X nếu điềukiện là False Câu lệnh trên có thể được viết bằng cách sử dụng lệnh if else nhưsau:

Trang 24

11.Iterating with for1 Trình lặp lại

Trình vòng lặp(iterators) là một đối tượng được thiết kế để duyệt qua một vùng chứa(mảng, vector, ) (ví dụ: các giá trị trong một mảng hoặc các ký tự trong một chuỗi), cung cấp quyền truy cập vào từng phần tử khi nó lặp.

Một vùng chứa có thể cung cấp các loại trình vòng lặp khác nhau Ví dụ: một vùng chứa mảng có thể cung cấp một trình vòng lặp chuyển tiếp đi qua mảng theo thứ tự chuyển tiếp và một trình vòng lặp ngược đi qua mảng theo thứ tự ngược lại.Khi loại trình vòng lặp thích hợp được tạo, lập trình viên sau đó có thể sử dụng

giao diện do trình vòng lặp để duyệt và truy cập các phần tử mà không phải lo lắngvề loại trình duyệt đang được thực hiện hoặc cách dữ liệu được lưu trữ trong vùng chứa Và bởi vì các trình vòng lặp C ++ thường sử dụng cùng một giao diện cho truyền tải (toán tử ++ để di chuyển đến phần tử tiếp theo) và truy cập (toán tử * để truy cập phần tử hiện tại), chúng ta có thể lặp qua nhiều loại vùng chứa khác nhau bằng một phương pháp nhất quán.

2 Con trỏ như một trình lặp

Loại trình lặp đơn giản nhất là con trỏ (sử dụng con trỏ số học) hoạt động cho dữ liệu được lưu trữ tuần tự trong bộ nhớ Hãy cùng xem lại quá trình duyệt mảng đơn giản bằng cách sử dụng con trỏ và con trỏ số học:

#include<iostream>

Ngày đăng: 25/05/2024, 22:07

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w