Tải bản đầy đủ (.pptx) (54 trang)

Ngôn ngữ c++, các mở rộng so với c (lập TRÌNH HƯỚNG đối TƯỢNG SLIDE)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.01 MB, 54 trang )

1

Bài 2: Ngôn ngữ C++
Các mở rộng so với C


2

Lịch sử phát triển của C++
• Được xây dựng trên nền của C.
• Phiên bản đầu tiên của C++ ra đời năm 1980 với tên
là “C with classes”. Đến năm 1983 .
• Năm 1990, ANSI/ISO 9899 đã định nghĩa một chuẩn
cho C.
• Năm 1998, ISO/IEC 14882 đã cụ thể hóa chuẩn cho
C++


3

C++ và C
• C là tập con của C++.
• Tất cả các thư viện trong C đều có thể sử dụng trong
C++.
• C++ cũng có cùng những yếu điểm như C (về con
trỏ…)
• Một số mở rộng của C++ so với C:
▫ Từ khóa mới
▫ Dữ liệu, khai báo biến
▫ Chuyển kiểu, tham chiếu, cấp phát bộ nhớ …



4

C++ và Java
• Java là ngơn ngữ hồn tồn hướng đối tượng. Tất cả
các mã lệnh đều đóng gói trong các lớp.
• C++ là ngơn ngữ lai ghép. Nó hỗ trợ cả lập trình
hướng chức năng và lập trình hướng đối tượng.
• Do vậy C++ mạnh hơn nhưng cũng khó kiểm soát
hơn.


5

Nội dung
• Phân tích một ví dụ chương trình C++.
• Các kiểu dữ liệu, các toán tử, các hàm, vào ra (I/O).
• Các cấu trúc điều khiển.
• Các mảng, chuỗi, con trỏ.
• Một số mở rộng của C++ so với C.


6

Một chương trình cụ thể trên C++
// Title: The program doing something
#include <iostream.h>
void doSomething(int p);
int main()
{

int p = 7;
doSomething(p);
cout << “I have something done.” << endl;
return 0;
}
void doSomething(int p) {
for( int i = 0; i < p; i++ ) {
cout << “*” << endl;
}
}


7

Các kiểu dữ liệu cơ bản của C++
• Một số kiểu dữ liệu cơ bản:
• char characters: ’a’, ’b’, ’\n’, ’\0’, ’7’
• int
integers: 3, 6883, -5, 0
• double floating point numbers: 3.14, 7e9
• bool true or false.
• Ngồi ra: float, long, unsigned long, short, unsigned
char, wchar_t


8

Các kiểu dữ liệu cơ bản của C++
• Khai báo biến trong chương trình
▫ char a;

▫ int b;
▫ double c;

• Phép gán:
▫ b = 4; a = 'w’; c = -3.777;
▫ int x = 78;

• Chú ý:
▫ C++ cho phép khai báo biến tại bất cứ đâu trước khi sử
dụng.


9

Các kiểu dữ liệu cơ bản của C++
• Hằng số:
▫ const double PI=3.1415926;
▫ const int MAXBUFFER=20;

• Ép kiểu:
▫ Khi gán giá trị vào biến kiểu khác.
▫ Ví dụ
 myInt=(int)myFloat; Theo cách của C
 myInt=int(myFloat); Theo cách của C++


10

Các tốn tử cơ bản trong C++
• Arithmetic operators:

▫ +, -, *, /, %
• Comparison:
▫ ==, !=, <, >, >=, <=
• Logical:
▫ &&, ||, !
• Assignment:
▫=

• Bitwise:
▫ &, |, ~,^
• Shortcuts:
▫ +=, *=, ^=, (etc.)
• Other:
▫ <<, >>, ? :, ->, ., ,


11

Các tốn tử trong C++
• Tốn tử ++ and --:
▫ ++
▫ --

increment by 1
decrement by 1

• Chú ý rằng i++ và ++i được thực thi khác nhau.


12


Hàm (function)
Name

int someFunction(double f, char c)
{
Body
// …
}
Return Type

Parameter
List


13

Hàm (function)
• Chú ý rằng các hàm được phân biệt bởi tên và danh
sách các tham số. Các hàm sau là khác nhau.
▫ int exampleFunction(int i, char c);
▫ int exampleFunction(double f);
▫ int exampleFunction();
▫ int exampleFunction(char c, int i);

• Ngồi ra có sự khác nhau giữa biến truyền kiểu tham
chiếu và biến truyền kiểu giá trị (giới thiệu phần sau)


14


Kiểu vào ra cơ bản
• Để xuất ra màn hình dùng hàm cout.
▫ cout << “The result is: “ << result << endl;

• Nhập giá trị từ bàn phím dùng hàm cin.
▫ cin >> x;

• Khai báo thư viện
▫ #include <iostream.h>


15

Cấu trúc điều khiển – Rẽ nhánh
• The if statement:
if ( x > 0 )
{
cout << “positive”;
}
else
{
cout << “negative or zero”;
}


16

Cấu trúc điều khiển – Lựa chọn
• Ví dụ switch :

int x;
cout << "Enter choice (1, 2, or 3)";
cin >> x;
switch(x) {
case 1: doThis(); break;
case 2: doThat(); break;
case 3: doSomethingElse(); break;
default: cout << "Sorry, invalid Input";
}


17

Cấu trúc điều khiển – Lặp
• The for loop:
Start condition

Terminating condition

for(k = 0; k < 10; k++ )
{
cout << “The square of “ << k << “ is “
<< k * k << endl;
}
Action taking place at
the end of each iteration


18


Cấu trúc điều khiển – Lặp
• Cấu trúc lặp while :
while ( condition )
{
// do something
}

Equivalent to:
for( ; condition ; ) {
// do something
}


19

Cấu trúc điều khiển Lặp do … while
• Cú pháp:
Equivalent to:

do
{
// something
} while( condition);

// something
while( condition) {
// something
}

• Các lệnh nhảy: break, continue, goto



20

Địa chỉ ơ nhớ
• Mỗi vị trí mà một đơn vị dữ liệu được lưu trữ gọi là địa chỉ ơ
nhớ.
• Khi khai báo một biến: Ví dụ Int myAge.
• Máy tính sẽ chọn một vị trí ơ nhớ sẵn có.
• Gán cho tên myAge địa chỉ của ơ nhớ đó.


21

Mảng
• Mảng dùng để lưu trữ các phần tử có cùng kiểu dữ liệu.
• int someNumbers[7];


22

Lưu trữ các giá trị trong mảng
int rent[4];
rent[0] = 250;
rent[1] = 375;
rent[2] = 460;
rent[3] = 600;
int
int
int

int
int

rent[4] = {250, 375, 460, 600};
rent[] = {250, 375, 460, 600};rent[2] and
rent[4] = {250, 375};
rent[3] are set to
0
rent[3] = {250, 375, 460, 600};
Syntax error
rent[4] = {0};
Sets all array elements to 0
22


23

Lưu trữ các giá trị trong mảng
int rent[4];
rent[0] = 250;
rent[1] = 375;
rent[2] = 460;
rent[3] = 600;
int
int
int
int
int

rent[4] = {250, 375, 460, 600};

rent[] = {250, 375, 460, 600};
rent[2] and
rent[4] = {250, 375};
rent[3] are set to
rent[3] = {250, 375, 460, 600};
0
Syntax error
rent[4] = {0};
Sets all array elements to 0
23


24

Một số lỗi thường gặp khi làm việc với mảng
Quên là mảng được đánh chỉ số từ 0


25

Một số lỗi thường gặp khi làm việc với mảng
• Truy cập đến ngoài phạm vi của mảng

Element is out of bounds


×