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

PHƯƠNG PHÁP LẬP TRÌNH_2 docx

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 (610.54 KB, 50 trang )

BIỂUTHỨCBIỂUTHỨC
CHƯƠNG 2
BIỂU

THỨCBIỂU

THỨC
(Expressions)(Expressions)
(Expressions)(Expressions)
1. Khái niệmvề biểuthức1. Khái niệmvề biểuthức
1.

Khái

niệm

về

biểu

thức1.

Khái

niệm

về

biểu

thức


 Biểuthứclàmộtsự kếthợpgiữacáctoán
t

(operator) và các toán hạn
g
(operand)
theo đúng mộttrậttự nhất định.

 M

itoánhạn
g
có th

là mộthằn
g
,mộtbiến
hoặcmộtbiểuthứckhác.
 Trong trường hợp, biểuthức có nhiềutoán
tử,tadùngcặpdấungoặc đơn()để chỉ
đị h

tử
à
đượ
thự
hiệ
t ướ
đị
n

h
t
o
á
n
tử
n
à
o
đượ
c
thự
c
hiệ
n
t
r
ướ
c.
2. Kiểudữ liệu(Data type)2. Kiểudữ liệu(Data type)
2.

Kiểu

dữ

liệu(Data

type)2.


Kiểu

dữ

liệu(Data

type)
 C/C++ có nămkiểudữ liệucơ sở:
−Ký tự (char)

Số
nguyên
(int)

Số
nguyên
(int)
−Số thực(float)
−Số thựccóđộ chính xác
g
ấp đôi (double)
−Kiểuvôđịnh (void).
 Kích thướcvàphạmvicủanhững kiểudữ
liệu
này

thể
thay
đổi
tùy

theo
loại
CPU

liệu
này

thể
thay
đổi
tùy
theo
loại
CPU

trình biên dịch.
2. Kiểudữ liệu(Data type)2. Kiểudữ liệu(Data type)
2.

Kiểu

dữ

liệu(Data

type)2.

Kiểu

dữ


liệu(Data

type)
 Kiểucharchứagiá trị củabộ mã ASCII
(
A
mercican Standard Code fo
r
Information
Interchange). Kích thướclà1byte.
 Kích thướccủakiểu int là 16 bits (2 bytes)
trên môi trường 16-bit như DOS và 32 bits
(
4
bt )

ôi
t ườ
32
bit

(
4
b
y
t
es
)
t

r
ê
nm
ôi
t
r
ườ
n
g
32
-
bit
n

Windows 95
Kiể
id

để
kh i


khô
t ả

Kiể
uvo
id

n

g
để
kh
a
i

o

m
khô
n
g
t
r

về giá trị hoặctạonêncáccontrỏ tổng
quát
(generic
pointers)
quát
(generic
pointers)
.
2. Kiểudữ liệu(Data type)2. Kiểudữ liệu(Data type)
2.

Kiểu

dữ


liệu(Data

type)2.

Kiểu

dữ

liệu(Data

type)
3. Định danh (Identifier Name)3. Định danh (Identifier Name)
3.

Định

danh

(Identifier

Name)3.

Định

danh

(Identifier

Name)
 Trong C/C++, tên biến, hằng, hàm,…

được
g
ọi là định danh
 Những định danh này có thể là 1 hoặc nhiều
ký t

.Kýt

đầutiênphảilàmộtch

cái
hoặcdấu _ (underscore), những ký tự theo
hải

hữ
ái
hữ

h ặ
dấ
sau p
hải

c
hữ
c
ái
,c
hữ
s


,
h
o

c
dấ
u_
 C/C++ phân biệtký tự HOA và thường.
 Định danh không đượctrùngvớitừ khóa
(keywords).
4. Từ khóa (keywords)4. Từ khóa (keywords)
4.

Từ

khóa

(keywords)4.

Từ

khóa

(keywords)
 Là những từ được dành riêng bởi ngôn ngữ
lập trình cho nhữn
g
mục đích riên
g

của nó
 Tất cả các từ khóa trong C/C++ đều là chữ
thườn
g
(lowercase).
 Danh sách các từ khóa tron
g
C/C++
g
5. Biến (variables)5. Biến (variables)
5.

Biến

(variables)

5.

Biến

(variables)

 Biếnlàđịnh danh củamột vùng trong bộ
hớ

để
iữ
ột

t ị

à
ó
thể
bị
n
hớ

n
g
để
giữ
m
ột
giá
t
r

m
à
c
ó
thể
bị
thay đổibởichương trình.

Tất
cả
biến
phải
được

khai
báo
trước
khi
sử

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

Cách
khai
báo
:

Cách
khai
báo
:
type variableNames;
t


ột
t
á
kiể
dữ
liệ
hợ
lệ

t
yp
e
:

m
ột
t
ron
g
c
á
c
kiể
u
dữ
liệ
u
hợ
p
lệ

.

variableNames
:têncủamột hay nhiều
biến
phân
cách
nhau
bởi
dấu
phẩy
biến
phân
cách
nhau
bởi
dấu
phẩy
.
5. Biến (variables)5. Biến (variables)
5.

Biến

(variables)

5.

Biến


(variables)

 Ngoài ra, ta có thể vừa khai báo vừa khởi
tạo
g
iá trị ban đầu cho biến:
type varName1=value, ,varName_n=value;
 Ví dụ:
float mark1, mark2, mark3, average = 0;
6. Phạmvicủabiến6. Phạmvicủabiến
6.

Phạm

vi

của

biến6.

Phạm

vi

của

biến
 Biếncụcbộ (local variables)
− Những biến được khai báo bên trong một
hàm gọilàbiếncụcbộ.

− Các biếncụcbộ chỉđược tham chiếu đến
bởinhững lệnh trong khối (block) có khai
báo biến.
− Mộtkhối được đặttrongcặpdấu{}.
− Biếncụcbộ chỉ tồntạitrongkhikhốichứa
nó đang thựcthivàbị hủykhikhốichứanó
h
h
t
h
ựct
h
ixon
g
.
6. Phạmvicủabiến6. Phạmvicủabiến
6.

Phạm

vi

của

biến6.

Phạm

vi


của

biến
Ví dụ:
void func1(void)
void

func1(void)

{
int x
;

;
x = 10;
}
void func2(void)
{

{
int x;
x = -199;
}
}
6. Phạmvicủabiến6. Phạmvicủabiến
6.

Phạm

vi


của

biến6.

Phạm

vi

của

biến
 Tham số hình thức(formal parameters)
− Nếumộthàmcónhậncácđốisố truyền
vàohàm thìnóphảikhaibáo các biến
đ

nhận
g
iá trị củacácđốisố khi
hàm đượcgọi.
− Những biếnnàygọi là các tham số
hình thức. Những biếnnàyđượcsử dụng
iố

á
biế
bộ
giố
n

g
n

c
á
c
biế
ncục
bộ
.
6. Phạmvicủabiến6. Phạmvicủabiến
6.

Phạm

vi

của

biến6.

Phạm

vi

của

biến
Ví dụ:
int sum(int from, int to)

{

{
int total=0;
for
(
int i=from
;
i<=to
;
i++
)

(;;)
total +=i;
return total;
return

total;

}
6. Phạmvicủabiến6. Phạmvicủabiến
6.

Phạm

vi

của


biến6.

Phạm

vi

của

biến
 Biếntoàncục (global variables)
− Biếntoàncụccóphạmvilàtoànbộ
chương trình.
− Tấtcả các lệnh có trong chương trình
đềucóth

tham chiếu đếnbiếntoàn
cục.
− Biếntoànc

c đư

c khai báo bên n
g
oài tấ
t


g
cả hàm.
6. Phạmvicủabiến6. Phạmvicủabiến

6.

Phạm

vi

của

biến6.

Phạm

vi

của

biến
#include <iostream.h>
int
g
Var = 100;
void increase()
{ V V 1}
{ gV
ar

=
gV
ar


+
1
;
}
void decrease()
{ gVar = gVar
-
1;}
{ gVar = gVar
-
1;}
void main()
{

{
cout << “Value of gVar= “ << gVar; increase();
cout << “After increased, gVar= “ << gVar; decrease();
cout << “After decreased, gVar= “ << gVar;
}
7. Từ khóa const7. Từ khóa const
7.

Từ

khóa

const

7.


Từ

khóa

const

 Giá trị củabiếnthayđổi trong suốtquá
trình thựcthichươn
g
trình.
 Để giá trị củabiếnkhôngbị thay đổi, ta đặt
trước khai báo biếnt

khóa const.

T
hôn
g
thườn
g
ta dùn
g
ch

HO
A
đ

đ


ttên
g
g
g

cho những biếnnày.
Ví d

:

const int MAX = 200;
8. Hằng (constants)8. Hằng (constants)
8.

Hằng

(constants)8.

Hằng

(constants)
 Hằng là những giá trị cốđịnh (fixed

values) mà chươn
g
trình khôn
g
th

thay

đổi. Mỗikiểudữ liệu đềucóhằng tương
ứng
Hằng
còn
được
gọi

literals
ứng
.
Hằng
còn
được
gọi

literals
.
 Hằng ký tựđược đặttrongcặp nháy đơn.

d
'’

d
ụ:
'
a

 Hằng nguyên là những số mà không có
phần
thập

phân
phần
thập
phân
.
Ví dụ 100 , -100
8. Hằng (constants)8. Hằng (constants)
8.

Hằng

(constants)8.

Hằng

(constants)
y Hằng số thựcyêucầumộtdấuchấm
phân cách phầnn
g
uyên và phầnthập phân.
Ví dụ: 123.45
y Cách viết một số loại hằng số
8. Hằng chuỗikýtự8. Hằng chuỗikýtự
(string constants(string constants
))
8.

Hằng

chuỗi




tự

8.

Hằng

chuỗi



tự

(string constants(string constants
)

)

 Hằng chuỗi ký tự là một tập các ký tự đặt
tron
g
cặp nháy kép “”.
Ví dụ:
• "This is a string" //là một chuỗi.


a


//là mộthằng ký tự

a

//là

một

hằng



tự
.
• “a” //là một hằng chuỗi.
9. 9.
HH
ằằ
ng ký tng ký t
ựự
đđ
ặặ
c bic bi
ệệ
t(escape sequences)t(escape sequences)
9. 9.
HH
ằằ
ng ký tng ký t
ựự

đđ
ặặ
c bic bi
ệệ
t(escape sequences)t(escape sequences)
9. 9.
HH
ằằ
ng ký tng ký t
ựự
đđ
ặặ
c bic bi
ệệ
t(escape sequences)t(escape sequences)
9. 9.
HH
ằằ
ng ký tng ký t
ựự
đđ
ặặ
c bic bi
ệệ
t(escape sequences)t(escape sequences)
#include <iostream.h>
void main(void)
{
cout <<"Items:\n";
cout <<”\tItem1\n”;

cout <<”\tItem2\n”;
cout <<”\tItem3\n”;
}
}

10. Toán tử (operators)10. Toán tử (operators)
10.

Toán

tử

(operators)10.

Toán

tử

(operators)
 Toán tử gán (assignment operator)
Cú pháp tổng quát
variableName = expression;

variableName
: Tên biến

ex
p
ressio
n

: Biểu thức
p
Lưuý:phíabêntráidấu=phảilàmột biến
hay con trỏ và không thể là hàm hay hằng.
Ví dụ:
total = a + b + c + d;
11. Chuy11. Chuy
ểể
n đn đ
ổổ
i kii ki
ểể
u trong câu lu trong câu l
ệệ
nh gánnh gán
11. Chuy11. Chuy
ểể
n đn đ
ổổ
i kii ki
ểể
u trong câu lu trong câu l
ệệ
nh gánnh gán
y Đốivớicâulệnh gán, giá trị củabiểuthức

bên phảidấu=đượct

độn
g

chuy

n thành
kiểudữ liệucủabiếnbêntráidấu=
í
d
V
í
d
ụ:
int i=100;
double d = 123.456;
y Nếuthựcthilệnh i = d;thìi = 123 (chuyển
đổi
kiể
ất
át
thô
ti )
đổi
kiể
um
ất
m
át
thô
n
g
ti
n

)
.
y Nếuthựcthilệnh d = i;thìd =100.0
(chuyển
đổi
kiểu
không
mất
mát
thông
tin)
(chuyển
đổi
kiểu
không
mất
mát
thông
tin)
.
11. Chuy11. Chuy
ểể
n đn đ
ổổ
i kii ki
ểể
u trong câu lu trong câu l
ệệ
nh gánnh gán
11. Chuy11. Chuy

ểể
n đn đ
ổổ
i kii ki
ểể
u trong câu lu trong câu l
ệệ
nh gánnh gán
y Khi chuyển đổitừ kiểudữ liệucómiềngiá

trị nhỏ san
g
ki

ud

liệucómiền
g
iá trị lớn
hơn:charÆintÆlongÆfloatÆdouble, thì việc
chuyển
đổi
kiểu
này

không
mất
mát
chuyển
đổi

kiểu
này

không
mất
mát
thông tin
Khi
h ể
đổi
từ
kiể
dữ
liệ
ó
iề

y
Khi
c
h
uy

n
đổi
từ
kiể
u
dữ
liệ

uc
ó
m
iề
n
giá
trị lớnsangkiểudữ liệucómiềngiátrị nhỏ
hơn
:
double
Æ
float
Æ
long
Æ
int
Æ
char
thì
hơn
:
double
Æ
float
Æ
long
Æ
int
Æ
char

,
thì
việc chuyển đổikiểunàylàmấtmát thông
tin
12. Toán t12. Toán t
ửử
ss
ốố
hh
ọọ
c (arithmetic operators) c (arithmetic operators)
12. Toán t12. Toán t
ửử
ss
ốố
hh
ọọ
c (arithmetic operators) c (arithmetic operators)
To
á
nt

Tên
V
í
d

To
á
n


t

Tên
V
í
d

+
Cộng 12 + 4.9 // kết quả
16 9
16
.
9
-
Trừ 3.98 - 4 // kết quả -
002
0
.
02
*Nhân
2 * 3.4 // kết quả 6.8
/Chia
9 / 2.0 // kết quả 4.5
%
L

h



13
%
3//k
ế
t

1
%
L

y p
h

n

13

%
3

//

k
ế
t
qu

1

×