1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Slide bài giản Lập trình C++ cơ bản

76 2 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 đề Lập trình C++ căn bản
Chuyên ngành Lập trình C++
Thể loại Slide
Định dạng
Số trang 76
Dung lượng 2,64 MB

Nội dung

Slide bài giảng Lập trình C++ cơ bản: 1.Cấu trúc của một chương trình C++… 2.Các đối tượng cơ bản của C++

Trang 1

Lập trình C++ căn bản

Trang 2

// Program: Display greetings // Author(s): Ima Programmer // Date: 1/24/2001

Trang 3

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

C++…

//hàm main được thực thi

//top and down

……….

}

void func2() {

……….

Trang 4

// Program: Display greetings // Author(s): Ima Programmer // Date: 1/24/2001

Trang 5

Greeting Output

Trang 6

Khai báoĐọc dữ liệu

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

Area.cpp

#include <iostream>

using namespace std;

int main() {

// Extract length and width

cout << "Rectangle dimensions: ";

float Length; float Width;

cin >> Length >> Width;

// Compute and insert the area

float Area = Length * Width;

cout << "Area = " << Area << " = Length "

<< Length << " * Width " << Width << endl;

return 0;

Trang 7

Visual C++ IDE with Area.cpp

Trang 8

Area.cpp Output

Trang 9

Chú thích

Cho phép đưa các ghi chú vào trong chương trình

Tầm quan trọng

◼ Viết ít lần nhưng đọc nhiều lần

◼ Chương trình phảI dễ hiểu để có thể dễ dàng bảo trì và

nâng cấpC++ có hai dạng chú thích

Trang 10

Bộ nhớ RAM…

Byte 0 Byte 1 Byte 2

trình

•Các byte trong RAM được đánh địa chỉ

•Có thể tưởng tượng RAM giống như một băng giấy rất dài , mỗi ô

có độ dài 1 byte (có thể chứa một kí tự)

Trang 11

Các đối tượng cơ bản của C++

C++ cung cấp nhiều kiểu đối tượng đựơc nạp sẵn (built-in) Các kiểu đối tượng cơ bản được chia làm 4 loại chính:

◼ Đối tượng số nguyên

Trang 12

4 Kiểu dữ liệu

Có 4 kiểu dữ liệu cơ bản trong C là: char, int, float, double

TT

Kiểu dữ liệu (Type)

Kích thước (Length)

Miền giá trị (Range)

enum unsigned int short int int unsigned long long

float double long double

– 32,768 đến 32,767 – 32,768 đến 32,767

0 đến 4,294,967,295 – 2,147,483,648 đến 2,147,483,647

3.4 * 10 –38 đến 3.4 * 10 38

1.7 * 10 –308 đến 1.7 * 10 308

3.4 * 10 –4932 đến 1.1 * 10 4932

Trang 14

Khai báo biến trong C++…

Dùng để biểu diễn những đại lượng thay đổi

Các biến phải được khai báo trước khi sử dụng

Cú pháp:

Kiểu tên-biến1, tên-biến2, ;

Trang 15

Các thành phần của một đối tượng (biến)

Thành phần:

◼ Miền giá trị của biến: kiểu

◼ Tên biến: theo qui tắc đặt tên

◼ Giá trị của biến Miền giá trị và tên biến không thay đổi, còn giá trị có thể thay đổi (thế nào là biến???)

Thao tác trên biến là thao tác trên giá trị của biến,

Trang 16

Tên (Định danh) trong C++…

Identifier…

Là một chuỗi gồm :

Các chữ cái : a z , A Z.

Các chữ số : 0 9.

◼ Dấu nối dưới _ (underscore).

Phải bắt đầu bằng : chữ cái hoặc _.

Có thể dài tới 247 kí tự.

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

Tên (định danh) dùng để đặt cho các đối tượng như:

Trang 17

Tên Biến

Tên biến - Nguyên tắc đặt tên

Tên biến không chứa khoảng trống

Tên biến phải được bắt đầu bằng ký tự chữ hoặc dấu gạch chân

Theo sau ký tự đầu tiên có thể là các ký tự chữ, số hoặc dấu gạch chân

Không đặt tên biến trùng với các từ khóa

Trang 18

Tên Biến

Tên biến – Lời khuyên

Không nên viết hoa tất cả các từ trong tên biến.

Không nên bắt đầu bằng dấu gạch chân.

Nên đặt tên biến có ý nghĩa, tránh viết tắt quá nhiều để dẫn đến tên biến tối nghĩa.

Tên của biến ngoại trừ biến kiểu enum và tham số nên viết thường ký tự đầu tiên của từ đầu tiên và viết hoa tất cả các ký tự đầu tiên của những

từ còn lại.

Trang 19

3 Từ khóa

asm break case cdecl char const continue default do

int interrupt long near pascal register return short static

double else enum extern far float for goto huge if

struct signed sizeof switch typedef union unsigned void volatile while

Trang 20

Tên Biến

Ví dụ về tên biến không hợp lệ

3a_1 (ký tự đầu là số)

num-odd (sử dụng dấu gạch ngang)

int (đặt tên trùng với từ khóa)

Trang 21

Tên Biến

Phạm vi của biến

Biến toàn cục

◼ Là biến được khai báo ngoài tất cả các hàm (kể cả main)

◼ Nó ảnh hưởng đến toàn chương trình

◼ Chu kỳ sống của nó là bắt đầu khi chương trình chạy cho đến đi chương trình kết thúc

Biến cục bộ

◼ Là biến được khai báo bên trong hàm, cấu trúc….

◼ Chỉ ảnh hưởng nội bộ bên trong hàm, cấu trúc đó….

◼ Chu trình sống của nó bắt đầu từ lúc hàm, cấu trúc được gọi thực hiện đến lúc thực hiện xong

Trang 22

ĐốI tượng được định nghĩa

có thể mang giá trị rác (giá trị không xác định được)

Trang 23

Định nghĩa và khởi tạo

Nếu chỉ định nghĩa thì giá trị của đối tượng không xác định được

Nên xác lập giá trị ngay lúc định nghĩa nếu được

◼ Những đối tượng sẽ nhập thì không cần

Trang 25

Kiểu đối tượng số nguyên…

Kiểu số nguyên cơ bản là int

◼ Kích thước của số nguyên phụ thuộc vào phần cứng và trình biên dịch

 Thường là 16 bits = 2 bytes (hoặc 32 bits = 4 bytes)Các kiểu số nguyên khác:

short: kích thước ít hơn số nguyên (1 byte)

long: kích thước nhiều hơn số nguyên (4 bytes)

Nhiều kiểu số nguyên cho phép lập trình viên sử dụng bộ nhớ hiệu quả

Trang 26

Khai báo biến với kiểu số nguyên…

int x; //Khai báo thông thườngint x=-100; //Khai báo có khởi tạo giá trị

x

2 bytes

Trang 27

Kiểu đối tượng kí tự (char)

Kiểu kí tự liên quan mật thiết với kiểu số nguyênCác kí tự được mã hóa bằng một mô hình tương ứng mỗi kí tự với một số nguyên duy nhất

Mỗi kí tự sẽ được lưu trữ bằng 1 bytes ➔ 256 kí tự

Bảng mã ASCII

◼ Ví dụ:

' ' tương ứng 32 '+' tương ứng 43

'A' tương ứng 65 'Z' tương ứng 90

'a' tương ứng 97 'z' tương ứng 122

Trang 29

\t là mã dấu Tab\n là mã dấu xuống dòng

\\ là mã dấu \\' là mã dấu nháy đơn

\" là mã dấu nháy kép

Ví dụ: '\t' là kí tự Tab, '\n‘ là kí tự xuống dòng

Trang 30

Khai báo biến kí tự…

char kitu;

char kitu=‘A’;char kitu=65;char kitu=0x41;

Hòan tòan giống nhau

undefined kitu

Trang 31

Hằng chuỗi kí tự

Một chuỗI kí tự hợp lệ là một dãy các kí tự được bao bọc bởI dấu nháy kép Chuỗi không có kí tự được gọI là chuỗi rỗng

“Day la chuoi ki tu"

“Chuoi nay se xuong dong\n"

""

Là chuỗi kí tự dạng cũ do C cung cấp, C++ cung cấp kiểu đối

tượng chuỗi là string

Trang 32

Kiểu đối tượng số thực

Trang 33

Khai báo biến thực…

Các hằng số thực

Phần nguyên và phần thực ngăn cách bởi dấu chấm (.)

134.1230.151.125E2 //=112.5

Mặc định của các hằng số thực là kiểu double

double x=11.25E-1;

float y=23.5f;

Trang 34

Kiểu lôgic (bool)

Là kiểu thể hiện giá trị đúng sai

Có hai giá trị: true hoặc false

Các phép toán:

◼ && → phép AND (và)

◼ || → phép OR (hoặc)

◼ ! → phép NOT (phủ định)Khai báo:

◼ bool TestResult;

◼ bool laNguyenTo = false;

Trang 35

Định nghĩa kiểu dữ liệu mới…

Trang 36

Phép toán

Phép toán số họcPhép toán quan hệPhép toán luận lýPhép toán trên bitMột số phép toán khác

Độ ưu tiên

Trang 40

áp dụng trên các toán hạng có kiểu dữ liệu char, int, long

Đảo dấu +, – ( ) *, / , % +, –

Thứ tự ưu tiên:

Trang 41

Toán tử và độ ưu tiên

Ví dụ

20 - 4 / 5 * 2 + 3 * 5 % 4

(4 / 5) ((4 / 5) * 2) ((4 / 5) * 2) (3 * 5) ((4 / 5) * 2) ((3 * 5) % 4) (20 -((4 / 5) * 2)) ((3 * 5) % 4) (20 -((4 / 5) * 2)) + ((3 * 5) % 4)

Trang 44

Phép toán trên bit (bitwise)

Bit a Bit b ~a a & b a | b a ^ b

1 1 0 0

0 0 0 1

0 1 1 1

0 1 1 0

Trang 45

6 Phép toán

Phép gán: =, +=, –=, *=, /=, %=, <<=, >>=, &=, |=, ^= Phép toán ++,

Toán tử 3 ngôi: ()? … : …

Phép toán khác

Trang 49

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

Độ ưu tiên Các phép toán Trình tự kết hợp

Trang 51

Ép kiểu

float a=6/4; // a==1

float a=(float)6/4; // a==1.5

float a=float(5/4); // a==1

float a=500*700;

// a nhận giá trị sai do tràn kiểu số nguyên

Trang 52

Nhập và Xuất dữ liệu…

Nhập dữ liệu…

Trong C++ dùng cin để nhập dữ liệu

cin tượng trưng cho dòng nhập cơ bản (standard input stream)

Cú pháp : cin >> biên1 >> biến2

Ví dụ:

int num1 = 0, num2 = 0;

double factor = 0.0;

cin >> num1 >> factor >> num2;

Giả sử người dùng nhập vào:

10 -3.123 5

Trang 53

Nhập và Xuất dữ liệu…

Nhập dữ liệu…

Trong C++ dùng cout để xuất dữ liệu.

cout tương trưng cho dòng xuất cơ bản (standard output stream).

Cú pháp: cout << biên1 << biểu_thức << biên2 << hằng_số

// EX1_02.CPP // Exercising output

#include <iostream>

using namespace std;

int main()

{

int num1 = 1234, num2 = 5678;

cout << endl; // Start on a new line

cout << num1 << num2; // Output two values

cout << endl; // End on a new line

Trang 54

Khắc phục sự cố…

Làm thế nào để xuất ra: 1234□□5678 ???

Nếu 1234□□□□□□5678 thì sao???

Cách khắc phục dùng hàm setw(n) của header iomanip

cout << num1<< “ “ <<num2;

và viết trong n khỏang trắng.

Trang 55

int num1 = 1234, num2 = 5678;

cout << endl; //Start on a new line

cout << setw(6) << num1 << setw(6) << num2;

//Output two values

cout << endl; //Start on a new line

return 0; //Exit program

}

Trang 56

Thay đổi giá trị của đối tượng Toán tử và biểu thức

Trang 57

◼ Tính toán biểu thức trước (lượng giá biểu thức)

◼ Giá trị biểu thức được đưa vào đối tượng

Giá trị sẽ được gán vào đối tượng

Trang 58

NewStudents OldStudents

27 TotalStudents

Trang 59

27 TotalStudents

Trang 60

NewStudents OldStudents

27 TotalStudents

Trang 61

Ví dụ

Trang 62

Ví dụ

int Value1 = 10;

int Value2 = 20;

10 20 Value1

Value2

Trang 63

Value1 Value2

10 Hold

Trang 64

Value1 Value2

10 Hold

Trang 65

Value1 Value2

10 Hold

Trang 66

10 Hold

Trang 67

Value1 Value2

10 Hold

Trang 68

Ví dụ tăng

int i = 1;

Trang 70

Định nghĩa const

Từ khóa const để chỉ ra đốI tượng không thể thay đổi giá trị

sau khi định nghĩa và khởi tạo

◼ Đối tượng chỉ đọc

Dùng cho các đối tượng không có nhu cầu thay đổi giá trị hoặc không được thay đổi giá trị

const float Pi = 3.1415;

const int SampleSize = 100;

const int DiemTrungBinh = 5.0;

Dễ quản lý, thay đổi các hằng số

Trang 71

Thay đổi giá trị của một biến…

Trang 72

Toán tử tăng giảm

Là hai toán tử một ngôi dùng để tăng , giảm một đơn vị trên đối tượng số nguyên.

Trang 73

Phạm vi của biến

Phạm vi của biến là vùng mà biến có thể được sử dụng

◼ Bắt đầu tại câu lệnh khai báo biến

◼ Kết thúc tại dấu đóng khối của khối gần nhất chứa nóBiến cục bộ: Khai báo trong hàm (main,…)

Biến toàn cục: khai báo ngoài hàm (main)

Trang 74

return 0;

}

Biến tòan cụcPhạm vi tòan bộ chương trình

Biến cục bộ

ERROR!!!

Trang 76

Làm thế nào để truy cập biến đang

bị che phủ trong họat vi của nó…

Dùng tóan tử phân giải họat vi (scope resolution operator) ::

cout << “ i bên trong: “ << i;

cout << “ i bên ngòai: “ <<::i;

}return 0;

Ngày đăng: 11/08/2024, 16:34

w