Tải bản đầy đủ (.pdf) (9 trang)

CPP2 KieuDL bien

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 (92.67 KB, 9 trang )

Nội dung
Kiểu dữ liệu cơ sở
Biến và hằng số
Toán tử và biểu thức

2

Kiểu dữ liệu cơ sở

Kiểu dữ liệu cơ sở

Số nguyên

Kiểu không dấu unsigned
unsigned char
unsigned short
unsigned int
unsigned long
Kiểu rỗng – void
hàm không trả lại kết quả
ứng với mọi kiểu (con trỏ void)

char: 1 bytes
short (int): 2 bytes
int: 4 bytes
long (int): 4 bytes

Số thực dấu phẩy động

độ chính xác đơn float: 4 bytes
độ chính xác kép double: 8 bytes


long double: 12 bytes

Ký tự - char: 1 byte
Kiểu logic – bool (C++)
3

4


Biến (variable)

Tên (name)

Dữ liệu được thao tác thông qua các biến
Biến:
là đại lượng được đặt tên
thuộc một kiểu dữ liệu đã xác định
phải được khai báo trước khi sử dụng

Bao gồm các chữ cái, chữ số, dấu gạch dưới _
Không bắt đầu bằng chữ số, không chứa dấu
cách
Không trùng với từ khóa
Ví dụ
i, tmp, diem_so, DiemSo, x1
Nên đặt tên có nghĩa, tránh lạm dụng chữ in

5

6


Khai báo dữ liệu

Ví dụ

Câu lệnh khai báo:
<kiểu> <khai báo 1> [<, khai báo 2> … ] ;
Khai báo có khởi tạo:
<kiểu> <tên biến> [= giá trị khởi tạo];
Ví dụ
int m, n;
long tmp, sum = 0;
double r1, r2;

#include <iostream>
using namespace std;
int main()
{
int m = 0, n = 100;
cout << m << ”, ” << n << endl;
cin >> m >> n;
cout << m << ”, ” << n;
return 0;
}
7

8


Giá trị khởi tạo mặc định


Toán tử (phép toán) và biểu thức

Phụ thuộc vào hệ thống, thông thường gồm toàn
bit 0
int m;
double d;
cout << m << endl;
cout<< d;

Số học
cộng +, trừ nhân *, chia /, lấy phần dư % (số nguyên)
Logic
và &&, hoặc ||
phủ định !
so sánh <, <=, >, >=, = =, !=

9

Ví dụ
int
m =
m =
m =
m =
m =
m =

10


Ví dụ về toán tử chia “/”
Trình biên dịch dựa vào kiểu của các toán hạng
để quyết định phép chia tương ứng

m, n, p;
n + p;
n / p;
n % p;
m + n;
m + n * p;
m / (n + p);

“i”, “j” kiểu int, “/” là
phép chia lấy nguyên
k nhận giá trị 1

int
{

int
i = 5,
j = 4,
k;
double f = 5.0, g = 4.0, h;

“f”, “g” kiểu double, “/”
là phép chia số thực
h nhận giá trị 1.25
Phép chia nguyên, bất
kể “h” có kiểu double.

Kết quả là 1.00000
11

main(void)

k = i / j;
h = f / g;
h = i / j;
return 0;
}


Chuyển đổi kiểu

Ép kiểu
làm thay đổi tạm thời kiểu của một biến trong
một biểu thức
Có thể chủ động chuyển đổi kiểu
số nguyên thành số thực
kiểu lớn hơn thành kiểu nhỏ hơn
Ví dụ
double r1, r2;
int m = 10, n = 3;
r1 = m / n;
r2 = (double) m / n;

Toán tử chỉ làm việc với biến cùng kiểu
tự động chuyển đổi thành kiểu lớn hơn
long m , n;
short i;

m = n * i;
i = m * n; // chú ý
double d = m / 2.0;

13

Ép kiểu

14

Toán tử và biểu thức (mở rộng)
int main(void)
{
int i = 5, j = 4;
double f;
f
f
f
f

Phép chia số nguyên
được thực hiện, kết
quả, 1, được đổi sang
kiểu double, 1.00000

=
=
=
=


(double)i / j;
i / (double)j;
(double)i / (double)j;
(double)(i / j);

Dạng mở rộng <toán tử>=
+=, -=, *=, /=,…
Ví dụ
a += b;
//a = a + b
a *= b;
a /= b;
a -= b + c; //a = a – (b + c)

return 0;
}
16


Toán tử một ngôi ++ và --

Ví dụ

Tăng hoặc giảm 1 với biến số nguyên (tốc độ
cao)
Tiền tố

int

thực hiện toán tử xong thì dùng kết quả đó thực hiện

biểu thức
a = b * ++c;

“i”
“j”

Hậu tố
thực hiện biểu thức xong mới thực hiện toán tử với
biến đó
a = b * c++;

“i”

6
3
7

i = 5, j = 4;

i ++;
-- j;
++ i;

17

Trước hay sau ?

Biểu thức logic

Thứ tự thực hiện các toán tử ++ và -- phụ thuộc

vào vị trí của chúng (trước hay sau) so với biến:
#include <iostream.h>
int main(void)
{
int
i, j = 5;
i = ++j;
cout<<"i=“<j = 5;
i = j++;
cout<<"i=“<return 0;
}

18

Tương đương:
1. j++;
2. i = j;

Tương đương:
1. i = j;
2. j++;
i=6, j=6
i=5, j=6

Biểu thức của các giá trị logic
Biểu thức quan hệ
bool a, b, c;
int m, n;


a = b && c;
b = (m >= n);
c = true;
20


Logic và số nguyên

Kiểu ký tự
Về cơ bản giống như biến số nguyên 1 byte

Chuyển logic sang số nguyên

hiện thị ký tự ra luồng dữ liệu chuẩn (màn hình)
giá trị ký tự được đặt trong ngoặc đơn: ’A’, ’a’
một số hằng ký tự đặc biệt: ’\t’,’\n’,endl,…

Giá trị true, false được chuyển tương ứng thành 1 và 0;

Chuyển số nguyên sang logic
Số nguyên dương tương ứng với true
Số nguyên âm và 0 tương ứng với false

char c = ’a’;
cout << c << endl;
cout << (int) c << endl;
c++;
cout << c << endl;
c = 97;

cout << c << endl;

Ví dụ
bool b = false;
cout << b << endl;
b = 10;
cout << b << endl;

21

Phép gán

22

Phạm vi của biến
Biến có phạm vi sử dụng trong block được khai
báo
biến tổng thể (toàn cục): sử dụng trên toàn bộ
chương
ch ng trình
Chỉ khai báo biến khi cần sử dụng: cục bộ hóa
Hạn chế sử dụng biến tổng thể
dễ xung đột, khó sử dụng lại

Phép gán cũng là một toán tử: có giá trị trả lại
chính là giá trị của biến được gán
kết hợp được phép gán với các toán tử khác
Ví dụ
a = b = 10;
a += a = b;

if ( 0 != (a = b)) {…
}

23

24


Ví dụ

Ví dụ: biến tổng thể và biến cục bộ

#include <iostream.h>

#include <iostream>
using namespace std;
int a = 0;
// global variable
int main()
{
int a = 10;
// local variable
cout << a << endl; //In local
a = ::a;
cout << a << endl;//In global
return 0;
}

int main()
{

int a = 10, b = 20;
{
int tmp = a;
a = b;
b = tmp;
}
cout << a << ”, ” << b << endl;
cout << tmp;
// compile error
return 0;
}
25

26

Toán tử bít

Toán tử ba ngôi ?:

Tác động trực tiếp lên các bít
và, hoặc, chỉ hoặc &, |, ^
dịch chuyển bit <<, >>
&=, |=, ^=, <<=, >>=
Ví dụ
int m, n;
m &= n;
m <<= 2;

Cú pháp
(biểu thức logic)?(biểu thức A):(biểu thức B)

Ví dụ
int a, b, max;

max = (a>b)?(a):(b);

27

28


Thứ tự ưu tiên

Hằng số
Hằng số là các giá trị không đổi trong chương
trình

Dấu ngoặc ()
Một ngôi !, ++, --,
Nhân *, chia /, dư %
Cộng +, trừ <<, >>
So sánh <, <= , >, >=, ==, !=
Toán tử bit: &, |, ^
Logic &&, ||
?:
Gán =, …

0, ”Hello, world”, …

Có thể khai báo (gán tên) cho hằng số (như các
biến)

const <kiểu> <tên hằng> = <giá trị hằng>;
không thay đổi được giá trị
const int Size = 100;

Một số hằng đã được khai báo
true, false,…
29

Hằng không định kiểu (C)

Tự thực hành

Có thể khai báo các hằng không định kiểu bằng
chỉ thị chương trình dịch #define
#define
#define
#define
#define

double x

30

Thao tác thành thạo với các biến số nguyên, số
thực, logic
khai báo (cục bộ, tổng thể)
sử dụng các toán tử khác nhau
chuyển đổi kiểu
kiểm tra thứ tự ưu tiên
kiểm tra biên của các số, tràn số

số và kiểu ký tự

PI 3.14
TRUE 1
FALSE 0
NULL 0
= PI;

Đây là cách làm của ngôn ngữ C, nên hạn chế
sử dụng

Khai báo hằng số
Nhập dữ liệu từ bàn phím, xuất ra màn hình
31

32


Bài tập:

NHẬP/XUẤT TRONG C++
Thư viện: #include <iostream>
using namespace std;
Nhập dữ liệu từ bàn phím:
cin >> biến_1 ;
hoặc:
ho c:
cin >> biến_1 >> biến_2 >> biến_3 ;
In dữ liệu ra màn hình:
cout << bt_1 ;

hoặc:
cout << bt_1 << bt_2 << bt_3 ;
cout<< “Chao mung ban den voi C++”;

Tìm hiểu về hàm xuất nhập dữ liệu chuẩn của
C++: cin, cout
Dữ liệu thực tế được lưu trữ ở đâu và thao tác
như
nh thế nào?
Sự khác nhau giữa câu lệnh khai báo biến và
câu lệnh thông thường (v.d. phép toán)?

33

34



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×