1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình hướng đối tượng C++‎ - Chương 1: Các đặc điểm của C++

45 22 0

Đ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 đề Các Đặc Điểm Của C++
Định dạng
Số trang 45
Dung lượng 766,99 KB

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

Nội dung

Bài giảng Lập trình hướng đối tượng C++‎ - Chương 1: Các đặc điểm của C++ cung cấp cho người học những kiến thức như: Các khái niệm cơ bản của C++; Lập trình cấu trúc trong C++; Các đặc điểm mới của C++. Mời các bạn cùng tham khảo!

Trang 2

Nội dung

Trang 3

Các khái niệm cơ bản

– Phân biệt chữ HOA và chữ thường

– Gồm chữ, số, ‘_’ và phải bắt đầu bằng chữ cái.

– Độ dài tối đa là 32

– Nên theo quy cách đặt tên.

Vd: x, hoten, a1, num_of_var, Delta, TEN,

Trang 4

Các khái niệm cơ bản

Trang 5

Các khái niệm cơ bản

• Biến

– Khai báo: bất kỳ vị trí nào trong chương trình

– Khởi tạo: có thể vừa khai báo và khởi tạo

float x1= (-b + sqrt(delta)) / (2*a);

float x2= (-b - sqrt(delta)) / (2*a);

}

Trang 6

Các khái niệm cơ bản

• Biến

– Biến toàn cục: có tác dụng trong toàn bộ CT.

– Biến địa phương (cục bộ): chỉ có tác dụng trong phạm vi của nó.

Vd: int so = 5;

void GanSo(int x) {

so = x;

} int NuaSo(int x) {

int c = 2;

int so = x/c ; return so;

}

Trang 7

Các khái niệm cơ bản

Hằng

– Khai báo: Vd: #define MAX 100

const int MAX=100;

char *str=“Chuoi Ky Tu”;

char chuoi[50]; strcpy(chuoi,“ ”);

if ( strcmp(chuoi,“”) ==0)

cout << “Chuoi rong”;

Trang 8

Các khái niệm cơ bản

• Kiểu: Chuyển đổi kiểu :

float c3 = (float) a / b ;

Trang 9

Các khái niệm cơ bản

Trang 10

-int diem_so = 10;

int @diem = 10;

int diem@ = 10;

Trang 11

-Tìm lỗi tên biến?

int @ diem = 10;

int diem @ = 10;

Trang 13

Các khái niệm cơ bản

• Mảng

– Khai báo: <Kiểu> <Tên mảng> [<Kích thước>];

Vd: int m[10]; float ds[MAX];

– Thứ tự phần tử: từ 0 đến (kích thước -1)

Vd:

//CT tính tổng của 10 số Fibonacci đầu tiên

long a[10]; a[0] = a[1] = 1;

for (int i = 2; i < 10 ; i++)

a[i] = a[i-1] + a[i-2];

long tong = 0;

for(i=0 ; i<10 ; i++)

tong += a[i];

Trang 14

Bài tập – mảng

• Dùng mảng lưu số tự nhiên từ 1 đến 10

• In dãy số này ra màn hình.

• Tính tổng của dãy số và in ra màn hình.

Trang 15

Các khái niệm cơ bản

#error

Trang 16

Các khái niệm cơ bản

Nhập xuất

– Thư viện hàm : #include <iostream.h>

– Nhập : cin >> Biến

– Xuất : cout << (Biểu thức)

– Các kiểu dữ liệu có thể nhập xuất :

char , int, unsigned, long, unsigned long, … float, double, char* , char []

(void*): lấy địa chỉ đầu của chuỗi

– Có thể nhập xuất liên tục trên một dòng.

Vd:

cout << “Gia tri x = “ << x << “ , y = “ <<y; cout << “Nhap n = “; cin >> n;

Trang 17

Các khái niệm cơ bản

Trang 18

Bài tập – nhập xuất

• Viết đoạn lệnh cho phép người dùng

nhập một chuỗi và in chuỗi đó ra màn

hình.

Trang 19

Các khái niệm cơ bản

• Cấu trúc 1 chương trình đơn giản

Trang 20

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

• Tuần tự

– Câu lệnh: viết trên một hay nhiều dòng

– Khối lệnh:

• Là dãy các lệnh viết trong cặp { }

• Tương đương với 1 câu lệnh

• Giá trị của biểu thức điều kiện

Trang 21

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

case ‘giá trị 1’ : Lệnh 1; [ break ; ]

case ‘giá trị 2’ : Lệnh 2; [ break ; ]

case ‘giá trị n’ : Lệnh n; [ break ; ]

default : Lệnh n+1;

}

Trang 22

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

Trang 23

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

• Từ khóa break

– Thoát ra khỏi cấu trúc switch

– Thoát ra khỏi vòng lặp : while, do while, for

• Từ khóa continue: Trở về đầu vòng lặp

Trang 24

Hàm và cấu trúc chương trình

• Hàm - Cú pháp :

<Kiểu trả về> <Tên hàm> (Danh sách kiểu và tham số)

{ [ Khai báo dữ liệu cục bộ ]

Trang 25

Hàm và cấu trúc chương trình

• Hàm - Khai báo prototype :

<Kiểu trả về> <Tên hàm> ( Danh sách kiểu );

Vd: int Max ( int , int );

int Min ( int , int );

void main() {

int a =10 , b =5;

cout <<“ So max= “<< Max (a,b)<< endl ;

cout <<“ So min= “<< Min (a,b)<< endl ; }

int Max ( int x , int y) { }

int Min ( int x , int y) { }

Khai báo hàm

Định

nghĩa

hàm

Trang 26

int a =10 , b = 5;

cout<<“So max= “<< Max ( a , b ) << endl; }

Tham số (hình thức)

Đối số (Tham số thực tế)

Trang 27

#include < Thư viện hàm >

Khai báo prototype;

Khai báo dữ liệu toàn cục

Định nghĩa các hàm đã khai báo

Định nghĩa hàm main()

Trang 28

Bài tập – hàm

• Viết hàm giải phương trình bậc 1

a * x + b=0

– Không xét trường hợp hàm vô nghiệm

– Hàm có 2 tham số truyền vào (a,b)

– Giá trị trả về của hàm là nghiệm x

– Tại hàm main, a,b sẽ do người dùng nhập

vào

Trang 30

• Hàm tính tổng các số chẵn trong chuỗi từ

0 -> n : int TongChan(int)

• Hàm tính tổng các số lẻ trong chuỗi từ

0->n: int TongLe(int)

Trang 31

Con trỏ và chuỗi ký tự

• Khái niệm

– Con trỏ lưu địa chỉ của 1 đối tượng dữ liệu khác

– Kích thước con trỏ = 1 ô nhớ của hệ điều hành

– Trên MS-DOS, kích thước của con trỏ là 2 bytes

• Khai báo : < Kiểu> *<Tên con trỏ>;

1080H

*y

Trang 32

• Cấp vùng nhớ : Con trỏ = new <Kiểu> [ Số lượng ];

Vd: int *px= new int;

long *py; py= new long[20];

• Thu hồi vùng nhớ : delete <con trỏ>;

Vd: delete px;

delete[] py;

Trang 35

Tham số mặc nhiên

• Khái niệm

– Gán các giá trị mặc nhiên cho các tham số của hàm

• Ưu điểm

– Không cần phải hiểu rõ ý nghĩa tất cả các tham số

– Có thể giảm được số lượng hàm cần định nghĩa

• Khai báo tham số mặc nhiên

– Tất cả các tham số mặc nhiên đều phải đặt ở cuối hàm.– Chỉ cần đưa vào khai báo, không cần trong định nghĩa

• Gọi hàm có tham số mặc nhiên

– Nếu cung cấp đủ tham số => dùng tham số truyền vào.– Nếu không đủ tham số => dùng tham số mặc nhiên

Trang 36

Tham số mặc nhiên

• Ví dụ

MessageBox ( LPCTSTR lpszText,

LPCTSTR lpszCaption = NULL,

Hàm thể hiện 1 cửa sổ thông báo trong Visual C++

MessageBox (“Hien thi thong bao ra man hinh");

MessageBox ( “Chuc nang khong su dung duoc",

“Bao loi“ );

Có thể gọi hàm theo các dạng sau:

MessageBox ( “Ban muon thoat khoi chuong trinh?",

“Thong bao“, MB_YESNO | MB_ICONASTERISK );

Trang 37

Tham số mặc nhiên

• Ví dụ

void Ham1 ( int a=0, int b=1) {

cout <<“ tham so 1 = “<<a<< endl ;

cout <<“ tham so 2 = “<<b<< endl ; }

Trang 38

Tái định nghĩa hàm

• Khái niệm

C++ cho phép định nghĩa các hàm trùng tên

• Quy tắc tái định nghĩa

– Các hàm trùng tên phải khác nhau về tham số:

Trang 39

cout << Max (x1,y1)<<“\t”<< Max (x2,y2)<< endl ;

cout << Max (x3,y1) << endl ;

cout << Max (x3,y2) << en ;

dl ;

cout << Max (x3,y3) << endl }

Trang 41

Hàm inline

• Giảm thời gian thực thi chương trình

• Tăng kích thước của mã lệnh thực thi

• Chỉ nên định nghĩa inline khi hàm có kích thước nhỏ

• Cú pháp : thêm từ khóa inline vào trước hàm

VD: inline float sqr(float x) {

return (x*x);

}

inline int Max(int a, int b) {

return ((a>b) ? a : b) ; }

Trang 42

Truyền tham số

• Truyền theo giá trị

– Giá trị tham số khi ra khỏi hàm sẽ không thay đổi.

void Swap1 ( int a, int b) {

x y

a b

main Swap1

STEP 01

5 10

x y

5 10

a b

main Swap1

STEP 02

5 10

x y

10 5

a b

main Swap1

STEP 03

Trang 43

Truyền tham số

• Truyền theo địa chỉ (con trỏ)

– Giá trị tham số khi ra khỏi hàm có thể thay đổi.

void Swap2 ( int * a, int * b) {

x y

a b

x y

10 0 20 0

a b

x y

10 0 20 0

a b

main Swap2

STEP

03 100

200

Trang 44

• Khái niệm

Struct là 1 dạng cấu trúc dữ liệu mà bản thân có thể chứa

nhiều loại dữ liệu có kiểu khác nhau.

*hoten masosv[]

Ngày đăng: 19/08/2021, 14:49

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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