1. Trang chủ
  2. » Giáo án - Bài giảng

Slide TỔNG QUAN VỀ C++

63 1,5K 3
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 đề Tổng quan về Ngôn ngữ lập trình C++
Người hướng dẫn Nguyễn Văn Hùng
Trường học Khoa học máy tính
Chuyên ngành Ngôn ngữ lập trình
Thể loại Giáo trình
Định dạng
Số trang 63
Dung lượng 2,08 MB

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

Nội dung

 Cung cấp cho sinh viên các kiến thức cơ bản của ngôn ngữ lập trình C++  Nắm được cấu trúc của một chương trình C++, các thành phần cơ bản, các kiểu dữ liệu, …  Các khái niệm, kiến th

Trang 1

LẬP TRÌNH C++

(3 Tín chỉ)

Gv: Nguyễn Văn HùngKhoa: Khoa học máy tính

Trang 2

 Cung cấp cho sinh viên các kiến thức cơ bản của

ngôn ngữ lập trình C++

 Nắm được cấu trúc của một chương trình C++,

các thành phần cơ bản, các kiểu dữ liệu, …

 Các khái niệm, kiến thức cơ bản về lập trình

hướng đối tượng trong C++

 Nắm vững lý thuyết và vận dụng nó vào việc giải

quyết các bài toán từ đơn giản đến phức tạp

MỤC TIÊU CỦA HỌC PHẤN

Trang 3

1) Bài giảng Ngôn ngữ lập trình C++

2) Quách Tuấn Ngọc Ngôn ngữ lập trình C++ NXB Thống kê, 2003

3) Phạm Văn Ất C++ và lập trình hướng đối tượng NXB Khoa học và kỹ thuật Hà Nội, 2000

4) Nell Dale and Chip Weems Programming in C++

Jone and Bartlett, Third Edition, 2005

5) Một số Websites, forums,… về C, C++

TÀI LIỆU THAM KHẢO

Trang 4

Chương 1: Tổng quan về ngôn ngữ lập trình

Trang 5

Chương 5: Kiểu con trỏ và kiểu cấu trúc

Chương 7: Lập trình hướng đối tượng

Chương 8: Lớp và đối tượng

Chương 9: Tái định nghĩa và thừa kế

NỘI DUNG

Trang 6

Chương 1: TỔNG QUAN VỀ NNLT C++

Mục tiêu

thành phần cơ bản; các kiểu dữ liệu và các phép toán

Trang 7

- C++ về bản chất được xây dựng trên nền của Ngôn ngữ lập trình C

- Ngôn ngữ lập trình C++ được phát minh bởi Bjarne Stroupstroup vào năm 1979 với phiên bản đầu tiên gọi là “C with classes”

- Phiên bản đầu tiên của C++ được sử dụng vào tháng 8 năm

1983 tại công ty AT&T

- Phiên bản thương mại đầu tiên ra mắt năm 1985

→ C++ cơ bản là C ở mức độ mới Điểm khác biệt giữa C++

và C là C++ bên cạnh hỗ trợ tất cả các lệnh của C, còn có mở rộng và hỗ trợ hướng đối tượng

1.1 Lịch sử ra đời

Trang 9

- Mọi ngôn ngữ lập trình đều được xây dựng từ một bảng ký

tự nào đó

- Ngôn ngữ C++ được xây dựng từ bảng ký tự sau:

- 26 chữ cái hoa: A B C … Z và 26 chữ cái thường: a b c …

z

- 10 chữ số: 0 1 2 … 9

- Các ký hiệu toán học: + - * / = > < ( ) …

Bảng ký tự (1/3)

Trang 10

- Dấu gạch nối dưới: _

Trang 11

Lưu ý:

- C++ có phân biệt chữ hoa và chữ thường

Ví dụ: SO, So, sO, so là khác nhau

- Khi viết chương trình ta không được sử dụng bất kì ký

hiệu nào khác ngoài bảng ký tự nói trên Có nghĩa là không

được sử dụng các ký tự α β δ … hay các chữ cái tiếng việt â, ă,

ê, … để viết các lệnh Nhưng ta có thể sử dụng tiếng Việt để viết các câu chú thích các câu hiển thị văn bản trên màn hình, máy

in …

Bảng ký tự (3/3)

Trang 12

- Từ khóa là một từ được quy định trước trong ngôn ngữ lập trình với một ý nghĩa nào đó, thường dùng để chỉ các loại dữ liệu hoặc kết hợp thành câu lệnh.

- Có thể tạo ra những từ mới để biểu diễn các đối tượng nào đó nhưng không được phép trùng với từ khóa.

Ví dụ:

do, double, else, externe, float, for, goto, if, int, long, return, short, sizeof, static, struct, switch, typedef, union, unsigned, while

Từ khóa (1/2)

Trang 13

Lưu ý:

- Các từ khóa trong C++ luôn được viết bằng chữ thường.

- Không được dùng từ khóa để đặt tên cho các hằng, biến, mảng, …

Từ khóa (2/2)

Trang 14

- Định danh (identificater) là tên sử dụng cho đối tượng

trong chương trình như: tên biến, tên hằng, tên hàm, tên mảng, …

- Quy tắc đặt định danh (tên):

 Là một dãy các ký tự liền nhau bao gồm chữ cái, chữ

số và dấu gạch nối dưới ( _ )

 Ký tự đầu tiên của định danh phải là chữ cái hoặc dấu

gạch nối dưới ( _ )

 Định danh không được trùng từ khóa

Định danh (1/3)

Trang 15

Ví dụ: Xét các định danh sau:

Hoc_phan_C++ Lớp_hoc Tuoi# 2000Diem Ngay-Thang-Nam int del ta main

ChieuDai Dien_tich@

Định danh (2/3)

Trang 16

Chẳng hạn:

Định danh (3/3)

Trang 17

Câu lệnh

- Một câu lệnh (statement) xác định một công việc mà chương trình phải thực hiện để xử lý dữ liệu đã được mô tả và khai báo.

- Câu lệnh trong C++ được thiết lập từ các từ khóa và các hằng, biến, biểu thức, …

- Câu lệnh luôn luôn phải được kết thúc bằng dấu chấm phẩy (;) và các câu lệnh có thể được viết trên cùng một dòng hoặc nhiều dòng.

Câu lệnh và khối lệnh (1/3)

Trang 18

Ví dụ: Xét đoạn chương trình sau:

Trang 19

Khối lệnh (hay còn gọi là lệnh hợp thành):

- Một khối lệnh là một dãy các câu lệnh, được đặt bên trong cặp dấu ngoặc nhọn “{ }” Các biến được khai báo trong khối lệnh nào thì chỉ có tác dụng trong khối lệnh đó.

- Trong khối lệnh, có thể có các lệnh rỗng Lệnh rỗng là lệnh chỉ có dấu chấm phẩy “;”

Ví dụ : xét đoạn chương trình:

int main()

{

cout << “Binh phuong cua 27 la” << Binhphuong(27) << endl; cout << “Lap phuong cua 27 la” << Lapphuong(27) << endl;

return 0;

}

Câu lệnh và khối lệnh (3/3)

Trang 20

- Chú thích là nội dung diễn giải được đưa vào mã chương trình nhằm giúp cho người đọc dễ hiểu

- Trình biên dịch sẽ bỏ qua đoạn chú thích khi biên dịch

Trang 21

- Các ngôn ngữ lập trình đều phân chia dữ liệu thành các kiểu khác nhau được gọi là các kiểu dữ liệu cơ bản, chuẩn hay xây dựng sẵn

- Khi đề cập đến một kiểu dữ liệu chuẩn của ngôn ngữ lập trình, thông thường ta phải xét đến các yếu tố:

 Tên kiểu

 Số byte

 Miền giá trị của kiểu

1.3 Các kiểu dữ liệu cơ bản

Trang 22

Một số kiểu dữ liệu cơ bản:

Trang 23

- Một giá trị kiểu ký tự (char) chiếm 1 byte (8bits) và biểu diễn được một ký tự thông qua bảng mã ASCII.

- Có hai loại kiểu ký tự:

Ký tự có dấu: Char có miền giá trị từ -128 -> 127

Ký tự không dấu: Unsigned char có miền giá trị 0 -> 255

- Ký tự trong C++ được đặt giữa cặp dấu nháy đơn ‘ ’

Ví dụ: ‘a’, ‘A’, ‘*’, …

Kiểu ký tự (1/3)

Trang 24

Ta có thể chia 256 ký tự thành 3 nhóm:

- Nhóm 1: Các ký tự điều khiển có mã từ 0 đến 31 Nhóm

các ký tự này không hiển thị ra màn hình, được dùng để điều khiển các thiết vị ngoại vi, các thủ tục trao đổi thông tin, …

Trang 25

- C++ cung cấp một số ký tự điều khiển để định dạng các hằng

ký tự char Các ký tự này còn gọi là ký tự thoát (escape

\a Tiếng beep cảnh báo

\’ Dấu nháy đơn

\” Dấu nháy kép

\0 Ký tự null

Ví dụ:

cout << “\a Hello! \n”;

cout << “She said \“Hi\””;

Phát ra tiếng beep và chuỗi

Hello! Sau đó con trỏ xuống dòng

Xuất hiện trên màn hình chuỗi:

She said “Hi”

Kiểu ký tự (3/3)

Trang 26

- Kiểu số nguyên là kiểu dữ liệu dùng để lưu các giá trị nguyên hay còn gọi là đếm được.

- Kiểu số nguyên trong C++ được chia thành các kiểu dữ liệu con có kích thước và miền giá trị như sau:

Kiểu int, short có kích thước 2 bytes, miền giá trị -32,768 ->

32,767

Kiểu unsigned int, unsigned short có kích thước 2 bytes, miền giá trị 0 -> 65,535

Kiểu long có kích thước 4 bytes, miền giá trị -2 15 -> 2 15 -1

Kiểu unsigned long có kích thước 4 bytes, miền giá trị 0 ->

Kiểu số nguyên

Trang 27

- Kiểu số thực dùng để lưu các số thực hay các số có dấu phẩy động.

- Trong C++ có các kiểu số thực như sau:

Kiểu float có kích thước 4 bytes, miền giá trị 3.4E-38 ->

Trang 28

Khái niệm biến

- Biến là một đại lượng dùng để chứa dữ liệu mà các giá trị của nó có thể bị thay đổi trong quá trình thực hiện

chương trình

- Biến được định nghĩa bởi người lập trình và được đặt tên thông qua khai báo biến

< kieu_du_lieu> Danh sach cac ten bien cach nhau boi

< kieu_du_lieu> Danh sach cac ten bien cach nhau boi

Cú pháp khai báo biến

1.4 Biến, hằng và biểu thức (1/11)

Trang 29

Gán giá trị cho biến

- Sau khi khai báo biến, có thể gán giá trị cho biến

bằng toán tử gán “=”, có thể gán một giá trị cho nhiều

ChieuDai = ChieuRong = 12 ;

1.4 Biến, hằng và biểu thức (2/11)

Trang 30

<Kieu du lieu> Ten_bien 1= gia_tri, ;

Cú pháp vừa khai báo vừa khởi tạo giá trị cho biến

Lưu ý: Ta có thể vừa khai báo vừa khởi tạo giá trị

ban đầu cho biến thông qua lệnh gán (=) theo cú

Trang 31

Khái niệm hằng

Hằng là đại lượng mà giá trị của nó không thay đổi trong suốt quá trình thực hiện chương trình

Cú pháp khai báo/ định nghĩa hằng

const Kieu_du_lieu Ten_hang = Gia_tri ;

Ví dụ: Xét các khai báo sau:

const int a=10;

const char ch=‘a’;

#define a 10

#define ch ‘a’

1.4 Biến, hằng và biểu thức (4/11)

Trang 32

Lưu ý: Hằng có thể được phân thành các loại như sau:

Trang 33

Ví dụ: Xét các khai báo sau:

const int a=10; const char ch=‘a’;

const string st=“hello”; const float b=0.25;

const int c=6*7+3; const int kt=‘a’- ‘b’+ ‘c’;const char kt=‘a’ – ‘b’ + ‘c’;

1.4 Biến, hằng và biểu thức (6/11)

Trang 34

Biểu thức thường được dùng trong các trường hợp:

- Vế phải của câu lệnh gán

- Làm chỉ số mảng

1.4 Biến, hằng và biểu thức (7/11)

Trang 35

Ví dụ: ta có biểu thức

Trang 36

Câu lệnh gán đơn giản

Câu lệnh gán mở rộng

Ten_bien = Bieu_thuc;

Ten_bien pt= Bieu_thuc ;

Ten_bien pt = Bieu_thuc ;

1.4 Biến, hằng và biểu thức (9/11)

Trang 37

Ten_bien 1 = Ten_bien 2 = … = Bieu_thuc;

Ví dụ: ta có thể viết lại các lệnh gán:

a = 3; b = 3; c = 3; => a = b = c = 3;

1.4 Biến, hằng và biểu thức (10/11)

Trang 38

Câu lệnh typedef

- Câu lệnh typedef cho phép tạo tên mới cho kiểu dữ liệu

đã có

- Cú pháp như sau:

typedef Kieu_dl_cu Kieu_dl_moi;

typedef Kieu_dl_cu Kieu_dl_moi;

Ví dụ:

typedef int Boolean;

const Boolean true = 1;

const Boolean false = 0;

1.4 Biến, hằng và biểu thức (11/11)

Trang 39

Các phép toán trong C++ bao gồm:

 Các phép toán số học

 Các phép toán quan hệ

 Các phép toán logic

 Các phép toán thao tác trên bit

 Các phép toán chuyển đổi kiểu giá trị

 Các phép toán tăng giảm

 Biểu thức điều kiện

 Thứ tự thực hiện các phép toán

 Một số hàm toán học thường dùng

1.5 Các phép toán

Trang 40

- Dùng để tính toán 2 hoặc nhiều toán hạng

+ Các phép toán số học 2 ngôi:

+ -

* /

%

Cộng Trừ Nhân Chia Lấy phần dư

Trang 41

Thứ tự ưu tiên các phép toán số học:

Phép toán Độ ưu tiên

Phép đảo dấu

(-)

* / % + -

1 2 3

Trang 42

Lưu ý:

+ Trong một biểu thức chứa các phép toán số học có cùng

độ ưu tiên thì thứ tự tính toán được thực hiện từ trái qua

phải

+ Trong một biểu thức chứa các phép toán số học không có cùng độ ưu tiên thì thứ tự tính toán được thực hiện theo độ

ưu tiên

+ Khi áp dụng phép chia nguyên (/) cho các số nguyên (hay

ký tự) thì kết quả thu được sẽ bị cắt bỏ phần thập phân

+ Phép lấy phần dư (%) chỉ được áp dụng có số nguyên (hay

Các phép toán số học

Trang 43

- Cho ta hoặc giá trị đúng (==1) hoặc giá trị sai (== 0)

Dùng để tạo các biểu thức quan hệ, nếu biểu thức đúng thì giá trị của biểu thức là 1, ngược lại giá trị của biểu thức là 0

Bé hơn

Bé hơn hoặc bằng Bằng

Khác

a=(5>10) b=(10>=10) c=(5<10) d=(5<=10) e=(5==10) f=(5!=10)

1 1 1 1 2 2

Các phép toán quan hệ

Trang 44

Lưu ý:

+ Kết quả của biểu thức quan hệ luôn luôn là một số nguyên

int Do đó, nó có thể tham gia vào các phép toán đối với số

Trang 45

Chỉ trả về một trong hai giá trị 1 (nếu đúng) và 0 (nếu sai) Dùng để tạo các biểu thức Logic

Phép hoặc (OR)

1 2 3

Các phép toán Logic

Trang 46

1 0 0 0

1 1 1 0

0 0 1 1

Trang 47

Lưu ý:

+ Kết quả của biểu thức logic luôn luôn là một số nguyên

với số nguyên.

+ Các phép toán logic cũng được dùng để thiết lập điều kiện rẽ nhánh hay kết thúc vòng lặp trong các cấu trúc điều khiển

+ Các phép toán logic: &&, || luôn phải được viết liền

nhau (nghĩa là không có dấu cách trống giữa chúng)

+ Các phép toán logic cũng được áp dụng cho các toán hạng kiểu ký tự.

Các phép toán Logic

Trang 48

> >= < <=

== !=

1 2 3 4 5

Ví dụ: Tính giá trị các biểu thức

a = (3 && 6) + 7 * 2

b = 3 && 6 + 7 * 2

Các phép toán Logic

Trang 49

Các phép toán thao tác trên bit gồm:

Phép dịch phải theo bit Phép lấy phần bù theo bit

3 5 4 2 2 1

Các phép toán thao tác trên bit

Trang 50

Các phép toán thao tác trên bit:

Trang 51

0 0 0 0 0 1 0 0

0 0 0 0 0 1 0 0

0 0 0 0 0 1 1 0

1 0 0 1 1 0 0 0

0 1 0 1 1 1 1 1

1 0 0 1 1 0 0 0

0 0 0 0 0 1 0 1

10 4 0 14 14 245 20 5Các phép toán thao tác trên bit

Trang 52

Việc chuyển đổi giá trị của kiểu dữ liệu này sang kiểu dữ liệu khác Gồm có:

Ví dụ: Giá trị in ra là bao nhiêu?

Trang 53

Ví dụ: Giá trị in ra là bao nhiêu?

i, int a=float(4/3); float b=(float)4/3; float c=int(4.8);

ii, int i=int(3*float(30/4)-2); int j=int(3*(float)30/4-2)

Các phép toán chuyển đổi kiểu giá trị

Trang 54

C++ đưa ra 2 phép toán một ngôi để tăng (++) và giảm ( )

giá trị của các biến (nguyên, ký tự)

Phép toán ++ sẽ tăng giá trị của toán hạng lên 1 giá trị và phép sẽ giảm giá trị của toán hạng đi 1.

Chẳng hạn: để tăng biến i lên 1 đơn vị ta viết: ++i hoặc i++

để giảm biến i đi 1 giá trị ta viết: i hoặc Các phép toán tự tăng giảm

Trang 55

i Lưu ý: Có sự khác nhau giữa i++ và ++i Phép toán i++: sử dụng i rồi mới tăng i lên một đơn vị còn phép toán ++i:

tăng i lên một đơn vị rồi mới sử dụng Sự khác nhau giữa i

Trang 56

Biểu thức điều kiện có dạng:

bien = dieu_kien ? bieu_thuc_1 : bieu_thuc_2;

Ý nghĩa: Nếu điều kiện đúng (!=0) thì bien nhận giá trị của

bieu_thuc_1; ngược lại điều kiện sai (==0) thì bien nhận

giá trị của bieu_thuc_2.

Trang 57

C++ qui định thứ tự thực hiện các phép toán theo mức độ

ưu tiên như sau:

1 Các biểu thức trong cặp dấu ngoặc tròn ( )

Trang 58

Ký hiệu i là tham số nguyên; x, y là các tham số thực

<cmath.h> pow(x,y)abs(i) pow(2.0,3.0)abs(-6) 8.06

Trang 59

 Khởi động:

- Chọn Start/ programs/Microsoft Visual Studio 6.0

- Click vào mục: Microsoft Visual C++ 6.0

 Thoát khỏi: Chọn Menu File rồi chọn Exit

1.6 Giới thiệu Visual C++ 6.0

Trang 60

- C++ là một chuẩn ngôn ngữ lập trình

- Công cụ lập trình: Borland C++, Turbo C++, Visual C++,

Cbuilder ++, …

- Mỗi công cụ lập trình có các quy ước và thư viện riêng

- Visual C++ 6.0 là một công cụ lập trình C++ của Microsoft

- Phần chính của Visual C++ là Develper Studio, không gian này

cho phép các công cụ phát triển và chương trình dịch Visual C++

- Cùng với thư viện có sẵn trong không gian hỗ trợ phát triển sẽ giúp lập trình viên tạo ra một chương trình trong khoảng thời gian rất

ngắn.

1.6 Giới thiệu Visual C++ 6.0 (1/5)

Trang 61

 Tạo tệp nguồn cpp

Trang 62

 Soạn thảo mã nguồn

1.6 Giới thiệu Visual C++ 6.0 (3/5)

Trang 63

 Dịch mã nguồn sang mã máy

- Cách 1: Ấn phím F7

- Cách 2: Chọn Build / Build <tên tệp.exe>

Sau khi cửa sổ ra, xuất hiện thông báo:

<tên tệp.exe> – 0 error(s), 0 warning(s)

thì quá trình biên dịch đã xong

 Soạn thảo tệp tiêu đề h

Hoàn toàn giống như soạn thảo tệp nguồn, nhưng sau

khi chọn Tab file, ta tiến hành chọn C/C++ Header file1.6 Giới thiệu Visual C++ 6.0 (4/5)

Ngày đăng: 16/04/2014, 14:01

HÌNH ẢNH LIÊN QUAN

Bảng giá trị: - Slide TỔNG QUAN VỀ C++
Bảng gi á trị: (Trang 50)

TỪ KHÓA LIÊN QUAN

w