TRNG I HC PHM VN NG
KHOA CÔNG NGH THÔNG TIN
TRN TN T BÀI GING
(Dùng cho sinh viên các lp i hc Công ngh
thông tin, i hc S phm tin hc)
- Tài liu lu hành ni b -
Nm c cu trúc chung ca mt chng trình C.
Hiu và vn dng c các phép toán, các hàm ã c xây dng cho các
kiu d liu c s: kiu s nguyên, kiu s thc, kiu ký t, kiu boolean.
1.1 B ký hiu và t khóa
1.1.1 B ký hiu
- 26 ch cái la tinh hoa: A, B, …, Z.
- 26 ch cái la tinh thng: a, b, …, z.
- 10 ch s thp phân: 0,1,…,9.
- Các ký hiu toán hc: +, -, *, /, = <, >, (, ).
- Các ký hiu c bit: . , ; “ ‘ _ @ # $ ! ^ [ ] { } …
- Du cách hay khong trng.
1.1.2 T khóa
Là các t dùng riêng ca ngôn ng lp trình C và mi t khóa có mt ý ngha và
tác dng c th.
* Chú ý:
- Không th nh ngha li t khóa.
- Các t khóa trong C c vit di dng ch thng.
Mt s t khóa thông dng hay dùng trong ngôn ng lp trình C
auto break case char continue default
do double else extern float for
goto if int long register return
short sizeof static struct switch typedef
union usnigned void volatile while asm ….
1.1.3 Tên và cách t tên
Trong chng trình, ngi lp trình có th dùng rt nhiu tên: tên chng
trình, tên bin, tên hng, tên hàm,… Mi tên u phi khai báo trc khi s dng.
Qui tc t tên:
- Tên bao gm dãy các ký t lin nhau nh các ch cái a,…,z, A,… Z, các ch
s 0, …, 9 và du gch ni di.
Bài ging C s lp trình
Khai báo các bin ngoài
………………………………………………………………………………….
<Kiu d liu tr v> main() /* chng trình C bt buc phi có hàm main */
{ Khai báo các bin cc b, các hng ca hàm main
Các câu lnh thc hin ca hàm main
return <Kt qu tr v>
}
Bài ging C s lp trình
-3-
Ging viên: Th.S Trn Tn T - Khoa CNTT – i hc Phm Vn ng.
…………………………………………………………………………………
Function prototype /* nh ngha ni dung tng minh ca hàm */
{
Khai báo các bin, hng ca hàm.
Các câu lnh thc hin ca hàm.
}
…………………………………………………………………………………
Nh vy, mt chng trình C thng bao gm các thành phn: các ch∋ tin
x lý, các nh ngha: kiu, hng, khai báo bin ngoài, các hàm t to, hàm main.
Trong ó:
+ #include <…> /* gi các tp tin tin x lý */
Ví d 1.1: #include <stdio.h>
+ #define <Tên hng s> <Giá tr hng> /* nh ngha các hng s */
Ví d 1.2: #define MAX 100
+ typedef <tên kiu c(> <tên kiu mi> /* nh ngha kiu d liu */
Ví d 1.3: typedef int Songuyen;
+ Function prototype /* khai báo nguyên m&u hàm gm tên và tham s */
Trong phn khai báo nguyên m&u hàm, bn ch∋ ra kiu giá tr tr v ca
hàm, tên hàm, tham s hình th c ca hàm.
main()
{
printf(“Chao cac ban\n”);
printf(“Hen gap lai\n”);
getch();
}
Gii thích chng trình ví d 1.7
#include <stdio.h>: Khai báo tp tin tin x lý stdio.h (vit tt ca t
standard input/output) là tp tin tin x lý ch a các hàm vào/ra chu∗n. Trong
chng trình có s dng hàm printf (hàm ra chu∗n) c nh ngha trong tp tin
stdio.h.
Hàm printf là hàm cho in ra màn hình ni dung nm trong cp du “ ”
Ký t \n là ký t iu khin xung dòng mi.
Phn thân ca chng trình bao gm on chng trình:
main()
{
….
}
getch(); Khi chng trình vit ra màn hình 2 câu “Chao cac ban” và
“Hen gap lai” thì dng li cho ngi s dng xem. Nu không có lnh này thì
chng trình tr∃ v màn hình v#n bn chng trình, ngi s dng s! không xem
c kt qu, lúc ó phi bm t% hp phím Alt + F5 mi xem c kt qu.
Ví d 1.8: Chng trình tính din tích hình tròn.
Gii
Bài ging C s lp trình
-5-
Ging viên: Th.S Trn Tn T - Khoa CNTT – i hc Phm Vn ng.
#include <stdio.h>
main()
{ float dientich;
dientich = PI*radius*radius;
Bài ging C s lp trình
-6-
Ging viên: Th.S Trn Tn T - Khoa CNTT – i hc Phm Vn ng.
return(dientich);
}
Gii thích chng trình ví d 1.9
#define PI 3.14. )ây là khi ghép nh ngha mt macro. Vi nh ngha
này, khi ngôn ng lp trình C dch chng trình, bt c ch nào trong chng trình
xut hin tên PI s! c thay th bng 3.14.
Vic tính din tích c thc hin bng hàm Tinh_dien_tich vi tham s
là radius. Nguyên m&u hàm Tinh_dien_tich c khai náo trc hàm main() và nh
ngha tng minh ni dung ca hàm ∃ sau hàm main.
1.3 Kiu d liu c s
1.3.1 Kiu d liu
D liu là dng biu di∀n vt lý ca thông tin. Nhng dng d liu c bn
c x lý trong máy tính in t gm: Các ký t, hình nh, âm thanh, tri th c, s
kin, lut d&n. Theo ngha rng, d liu thô là các s, ký t, hình nh hay các kt
qu khác ca các thit b chuyn %i các lng vt lý thành các ký hiu. Các d liu
loi này thng c x lý tip b∃i con ngi hoc a vào máy tính. Trong máy
tính, d liu c lu tr và x lý ti ó hoc chuyn cho mt ngi hay mt máy
tính khác. D liu thô là mt thut ng tng i, b∃i vì d liu ã c x lý ti
bc này có th là d liu thô ∃ bc tip theo. Trong máy tính in t, d liu
c biu di∀n bng chui các ký hiu ca mt bng ch cái nào ó, mà ph% bin
nht là bng ch cái nh phân (gm 2 ký hiu “0” và “1”). Mt chng trình máy
tính là mt tp hp d liu c hiu là các lnh.
Kiu d liu là mt tp hp các giá tr mà mt bin thuc kiu ó có th
nhn c và trên ó xác nh mt s phép toán. Các kiu d liu này thng c
nh là s nguyên. Vì vy, khi tính toán trong biu thc s hc thì kiu char c s
dng nh là s nguyên (ch mã ASCII tng ng ca ký t ó) nhng khi tính toán
trong biu th c ký t thì nó c hiu là ký t. ây chính là s m!m d∀o ca ngôn
ng lp trình C.
Có nhiu phép tính c nh ngha cho s nguyên: phép tính s hc, phép
tính quan h, phép tính logic s hc.
Bng lit kê các phép tính s hc i vi kiu s nguyên
Phép toán Ký hiu Ví d
Cng
+
a + b
Tr
-
a - b
Nhân
*
a * b
Chia ly phn
nguyên
/
a / b
Chia ly s d
%
a % b
V nguyên tc phép chia 2 s nguyên cho kt qu là s nguyên. Mun nhn
c kt qu là s thc, bn phái vit (float) a / b.
Ví d 1.10: a = 15; b = 2; Vy kt qu a/b s! là 15/2 = 7. Bn mun nhn
kt qu ca phép chia là s thc phi vit: (float) a/b; Lúc ó 15/2 = 7.5
) kh∃i to mt bin có kiu nguyên ta vit:
int i; i = 10; Hoc vit int i = 10;
Trong máy tính s thc c biu di∀n di 2 dng: dng bình thng và
dng có phn m( (dng s khoa hc).
+ Dng bình thng: 3.14, 5.0
+ Dng s khoa hc: 1.254567E+02 tng ng vi 1.254567*10
2
=
125.4567
Phm vi biu di∀n và chính xác ca s thc ln hn nhiu so vi s
nguyên nên s thc thích hp vi nhng i lng cn giá tr ln và chính xác
cao.
Bài ging C s lp trình
-9-
Ging viên: Th.S Trn Tn T - Khoa CNTT – i hc Phm Vn ng.
Bng các t khóa ca s thc và phm vi biu din
Kiu bin T khóa S
byte
Phm vi biu din
S thc vi chính xác n
Single-precision floating-point
float 4 3.4e-38 … 3.4e38
chính xác 7 ch s
S thc vi chính xác kép
Double-precision floating-point
double 8 1.7e-308 … 1.7e308
chính xác 15 ch s
S thc vi chính xác kép (
dài ln)
Long double-precision floating-
Ging viên: Th.S Trn Tn T - Khoa CNTT – i hc Phm Vn ng.
cosh(d) Double Tr v giá tr hàm cosh
tan(d) Double Tr v giá tr hàm tang
exp(d) Double Tr v giá tr e m( x
log(d) Double Tr v giá tr hàm loga c s t nhiên d
pow(d1,d2) Double Tr v giá tr d1 m( d2
floor(d) Double Hàm ct tròn s
ceil(d) Double Hàm làm tròn s
fmod(d1,d2) Double Hàm ly phn d ca phép chia d1/d2
sqrt(d) Double Hàm khai c#n bc 2
srand(d) void Kh∃i to b s ng&u nhiên, không có
giá tr tr v
Lu ý: Các hàm s hc ch a trong tp tin tin x lý math.h và bn phi khai
báo ∃ u chng trình theo cú pháp: #include <math.h>
Ví d 1.14:
floor(3.146) = 3
floor(3.746) = 3
ceil(56.678) = 57
ceil(-56,678) = -57
1.3.4 Kiu ký t
)c nh ngha vi t khóa char, bao gm tt c các ký t thng dùng:
+ Ch cái a, b, c.
+ Ch s 0,…,9.
+ Các du chm phân on câu: , ! …
Mt hng ký t c vit trong cp du nháy n. Ch+ng hn: ‘a’; ‘0’; và
mi hng ký t c lu tr trong mt byte ô nh.
Mt giá tr kiu ký t là 1 phn t ca mt tp hu hn các ký t c sp
xp có th t. Có nhiu cách sp xp b ch khác nhau (không tn ti 1 b ch
chu∗n cho tt c các máy tính). Tuy vy, b mã các ký t c dùng rng rãi và ph%
c áp dng cho na sau ca bng mã ASCII (vì na sau ca bng mã ASCII có
hình dng và v trí khó nh).
Kh∃i to giá tr cho bin ký t: const char RC = ‘\r’; LF = ‘\n’; ESC =
‘0x1B’;
Các hàm x lý ký t nm trong tp tin tin x lý ctype.h.
Mt s hàm x lý ký t
Hàm Kiu giá tr tr v Tác dng
toASCII(c) int
Tr v mã ASCII ca ký t
ch a trong bin ký t c
tolower(c) int
Tr v ký t thng ca ký
t ch a trong bin ký t c
toupper(c) int
Tr v ký t hoa ca ký t
ch
a trong bin ký t c
Ví d 1.16: Chng trình c t bàn phím mt ký t thng, chuyn thành
ký t hoa và in ra màn hình.
Gii:
Bài ging C s lp trình
-12-
Ging viên: Th.S Trn Tn T - Khoa CNTT – i hc Phm Vn ng.
#include <stdio.h>
#include <ctype.h>
main()
{ char kytu_thuong, kytu_hoa;
kytu_thuong = getchar();
1.4 Câu hi và bài t p chng 1
1. Tên dùng làm gì ? Quy tc t tên trong ngôn ng lp trình C ?
2. Chng trình ngun là gì ? Có my loi chng trình dch ?
3. Kiu d liu là gì ? Các thông tin c trng ca kiu d liu ?
4. Trình bày các kiu d liu c s∃ trong ngôn ng lp tình C. Vi mi kiu
nêu khái nim, t khóa, s byte biu di∀n, phm vi biu di∀n ?
Bài ging C s lp trình
-13-
Ging viên: Th.S Trn Tn T - Khoa CNTT – i hc Phm Vn ng.
CHNG 2: TIN X LÝ - HNG - BIN - TOÁN T
BIU THC - CÂU LNH
Mc tiêu
Kt thúc chng, sinh viên có th:
Hiu c ý ngha và cách s dng ca các tp tin tin x lý thông dng.
Nm c các khái nim: hng, bin, toán t, biu thc, câu lnh và cách s
dng.
2.1 Tin x lý
thc hin mt chng trình trong C, chng trình ngun ca bn cn c
dch sang ngôn ng máy bng chng trình dch (compiler), nhng trc tiên phi
tri qua mt bc liên kt vi các i tng cn thit khác, công vic này c thc
hin bi b tin x lý. Tht vy, khi vit mt chng trình C, bn s không vit tt
c mà ch vit nhng gì liên quan trc tip n các công vic ca bn, phn còn li
thng là rc ri thì C ã vit sn và bn ch s dng nó nh là tài nguyên. B tin
x lý giúp bn tìm và liên kt chng trình ngun vi các tài nguyên này. Lúc biên
dch thành công, bn s thy trên a ngoài tp ngun do bn vit, bn thy có vài
tp tin khác cùng tên nhng có uôi .obj, .exe.
Các lnh C mà bn s dùng là rt nhiu, vì vy thun li cho quá trình vit
chng trình, các nhà phát trin ngôn ng C ã vit các lnh này vào trong các tp
tin tin x lý theo mt tiêu chí phc v nào ó. Ch!ng hn, b các lnh nhp, b các
hiu, ch!ng hn: #define SIZE 20
CÁC TP TIN TIN X LÝ THÔNG DNG
stdio.h: Tp tin nh ngh a các hàm vào ra chu∋n (standard input/output) nh:
printf(), scanf(), getc(), putc(), gets(), puts(), fflush(), fopen(), fclose(), fread(),
fwrite(), getchar(), putchar(),
conio.h: Tp tin ch%a các nh ngh a vào/ra trong ch DOS console nh:
clrscr(), getch(), getche(), getpass(), cgets(), cputs(), putch(),clreol(), kbhit(),…
math.h: Tp tin nh ngh a các hàm tính toán nh: abs(), sqrt(), log(), log10(),
sin(), cos(), acos(), asin(), atan(), pow(), exp(),…
alloc.h: Tp tin nh ngh a các hàm liên quan n vic cp phát và qun lý b
nh, nh: calloc(), realloc(), malloc(), free(); farmalloc(), farcalloc(), farfree(),…
io.h: Tp tin nh ngh a các hàm vào/ra cp thp, nh: open(), _open(),
read(), _read(), close(), _close(), creat(), _creat(), creatnew(), eof(), filelength(),
lock(),…
ctype.h: Tp tin nh ngh a các hàm x lý ký t, nh: toASCII(), tolower(),
toupper(),…
stdlib.h: Tp tin nh ngh a các hàm liên quan n cp phát b nh.
string.h: Tp tin nh ngh a các hàm x lý xâu ký t.
dos.h: Tp tin nh ngh a các hàm ∀c và xác lp thi gian, ngày tháng
n(m.
graphics.h: Tp tin nh ngh a các hàm liên quan n h∀a, nh:
initgraph(), line(), circle(), putpixel(), getpixel(), setcolor(),… Bài ging C s lp trình
-15-
Ging viên: Th.S Trn Tn T - Khoa CNTT – i hc Phm Vn ng.
2.2 Hng (Constant)
2.2.1 Khái nim: Là i lng có giá tr không )i trong sut thi gian s dng
Hng long: Biu di∗n thêm L hay l vào sau hng int.
Hng usigned: Biu di∗n thêm u vào sau hng int.
Bài ging C s lp trình
-16-
Ging viên: Th.S Trn Tn T - Khoa CNTT – i hc Phm Vn ng.
Hng int h 8 ho&c h 16: Các hng s trong C c ngm hiu là h 10,
nhng bn hoàn toàn có th vit hng trong h c s 8 (bt u bng 0)
hay c s h 16 (bt u bng 0X). Ví d 2.3 : 025, 057, 0x24, 0x41,…
Hng ký t: Là mt ký t c vit trong c&p du nháy n, Ví d 2.4:
‘A’, ‘3’, ‘+’,… Trình biên dch C s lu tr các hng này bng cách dùng
mã ASCII h c s 10. C lu các hng này thông qua mã ASCII ca nó
(trong h 10). Vi ví d 2.4, các giá tr c lu tr tng %ng: 97, 43, 51
i vi các hng ký t &c bit, C quy nh cách vit:
‘\’’ biu di∗n cho hng ’ ‘\”’ biu di∗n cho hng ”
‘\\’ biu di∗n cho hng \ ‘\n’ biu di∗n ký t xung dòng
‘\0’ biu di∗n cho hng 0 ‘\t’ biu di∗n ký t tab
‘\r’ biu di∗n v u dòng ‘\b’ biu di∗n ký t backspace
‘\f’ biu di∗n sang trang
Hng xâu ký t (chu#i ký t): Giá tr ca hng là dãy các ký t c bao
trong hai du nháy kép. Ví d 2.5: “Truong Dai hoc”;
* Chú ý: Các hng có th c nh ngha ngoài mi hàm, trong hàm ho!c
trong mt kh i lnh. Vi C chu∀n, khi nh ngha trong mt kh i thì dòng lnh nh
ngha phi các dòng u tiên ca kh i, tc là trc tt c các lnh khác ca kh i
lnh. Trong C++ bn có th !t nh ngha hng bt k# v trí nào.
2.3 Bin (Variable)
- Khái nim: Là i lng có giá tr thuc mt kiu nào ó ca ngôn ng lp
trình, giá tr ca bin có th c thay )i trong thi gian tn ti ca bin. Bin
c lu tr trong b nh trong và có tên d∗ s dng. Chng trình có th truy
xut n ô nh c cp phát cho bin ly ho&c ghi giá tr thông qua tên bin.
tiên trong vùng nh c cp phát cho bin, chính là a ch ca bin. ly a ch
ca bin, bn dùng cú pháp: &<Tên_bin>;
2.4 Biu thc và toán t
2.4.1 Biu thc (Expression)
- Khái nim: Biu th%c là mt tp hp gm các hng, hàm, bin, toán t …
Biu th%c c tính toán theo mt nguyên tc toán h∀c nào ó cho ra mt giá tr.
Trong mt biu th%c có 2 thành phn chính: Toán t (operator) c vit ra bng
du phép toán; Toán hng (operand) có th là hng, hàm, bin.
- Ví d 2.7: 15 + sin(x); Du + là toán t, 15 và sin(x) là các toán hng.
- Các loi biu th%c:
+ Biu th%c s h∀c là biu th%c mà kt qu tính toán cho ra giá tr bng s
(s nguyên, s thc).
+ Biu th%c logic: Trong ngôn ng lp trình C biu th%c logic là biu th%c
mà kt qu tính toán cho ra giá tr TRUE (giá tr khác 0 mà thng là 1) ho&c
FALSE (giá tr bng 0).
+ Biu th%c quan h là biu th%c có ch%a các toán t quan h ( <, >, <=, >=,
==, != ). Các toán hng trong biu th%c quan h có th là s nguyên, s thc, ký t
và chúng không nht thit phi tng thích vi nhau v kiu.
2.4.2 Toán t (Operator)
2.4.2.1 Toán t s hc
Bài ging C s lp trình
-18-
Ging viên: Th.S Trn Tn T - Khoa CNTT – i hc Phm Vn ng.
- Toán t s h∀c c h) tr bi ngôn ng lp trình C là:
+ (Cng)
- (Tr+)
* (Nhân)
/ (Chia)
% (ly phn d trong phép chia 2 s nguyên)
Bài ging C s lp trình
-19-
Ging viên: Th.S Trn Tn T - Khoa CNTT – i hc Phm Vn ng.
| 0 1
0
0 1
1
1 1
+ Ví d 2.10: int a = 7, b= 14, c;
c = a | b;
Kt qu cho ra c = 15.
- Toán t ~ (phép o bít)
+ Cú pháp: ~<Toán_hng>;
+ Ch%c n(ng: Toán t ~ là toán t mt ngôi, thc hin o các bít ca toán
hng: bít 1 tr thành 0, bít 0 tr thành 1.
+ Ví d 2.11: int a = 3;
b = ~a;
Kt qu cho ra b = 252.
- Toán t ^ (phép tuyn loi tr+ XOR)
+ Cú pháp: <Toán_hng_1> ^ <Toán_hng_2> ;
+ Ch%c n(ng: Thc hin phép XOR trên t+ng bít ca 2 toán hng và kt qu
tr v là s nguyên có cùng kích thc vi 2 toán hng. Các bít tr v c tính
bng kt qu ca phép XOR gia 2 bít tng %ng ca toán hng 1 và toán hng 2.
+ Bng chân tr ca phép ^
^ 0 1
0
0 1
1
1 0
nht s b loi b,, các bít bên trái c tun t dch sang phi 1 v trí, bít bên trái
nht s c lp bng giá tr 0.
+ Ví d 2.14: int a = 12, b;
b = a >> 1;
Kt qu cho ra b = 6. Nh vy, khi dch tri s a vi s ln dch là k thì thu
c kt qu a/2
k
;
Toán t << và >> là 2 toán t c dùng trong mt s phép tính &c bit
(nhân hay chia s nguyên vi mt s l∃y th+a ca 2) nhm nâng cao tc tính toán
m&c dù khi vit ra có th dài dòng.
Ví d 2.15: Trong mt on chng trình có thc hin phép tính I*80,
ti u cho vic tính toán nhm nâng cao tc tính toán, bn nên vit phép tính
di dng:
(I<<6) + (I<<4) vì 80 = 64 + 16 = 2
6
+ 2
4
Lu ý: Không tn ti phép toán logic !, &, |, ^, ~ cho kiu float, double,
long double, void hay các kiu d liu ph%c tp khác.
2.4.2.3 Toán t logic: ã trình bày mc 1.3.5 trang 12 (chng 1)
2.4.2.4 Toán t quan h
- so sánh hai biu th%c vi nhau, bn có th s dng các toán t quan h.
Kiu kt qu ca các phép toán quan h luôn cho giá tr kiu boolean.
Ký hiu toán t Ý ngha
!= So sánh khác nhau
== So sánh bng nhau
>= So sánh ln hn ho&c bng
<= So sánh nh, hn ho&c bng
A+=1;
A = A + 1;
Tính cht ca toán t này có th là tin t ho&c hu t, ngh a là toán t ++,
có th vit trc tên bin (++A) ho&c vit sau tên bin (A++). Trong nhng
trng hp n gin, hai cách vit trên có cùng ý ngh a, nhng trong các thao
tác khác, khi mà kt ca vic t(ng hay gim c s dng trong mt biu th%c
thì chúng có th có mt ý ngh a khác bit quan tr∀ng v m&t ý ngh a.
+ Ví d 2.18:
B = 3;
A = ++B;
Kt qu xut ra A = 4, B = 4.
Nhng nu thc hin on lnh sau:
Bài ging C s lp trình
-22-
Ging viên: Th.S Trn Tn T - Khoa CNTT – i hc Phm Vn ng.
B = 3;
A = B++;
Kt qu xut ra A = 3, B = 4.
Nh vy, trong trng hp toán t c s dng nh là tin t, giá tr c
t(ng trc khi biu th%c c tính và giá tr ã t(ng c s dng trong biu th%c.
Trong trng hp ngc li, toán t c s dng nh là hu t, giá tr trong bin
ch c t(ng sau khi ã tham gia tính toán trong biu th%c.
- Toán t du phy (,): M#i câu lnh ca C c kt thúc bng du chm
ph∋y, song nó có th ch%a mt dãy lnh (dãy biu th%c tính toán c lp) ch% không
phi ch có mt biu th%c tính mt giá tr. Trong trng hp ó, C cung cp cho bn
toán t du ph∋y (,) c s dng kt hp các biu th%c li vi nhau. Bên trái
toán t du ph∋y luôn c xem là kiu void. iu ó, có ngh a là biu th%c bên
phi tr thành giá tr ca t)ng các biu th%c c phân cách nhau bi du ph∋y.
Ví d 2.19: x = (y=3,y+1);
Kt qu in ra ni dung ca bin x c qun lý bi con tr, p
(t%c in ra màn hình giá tr 5).
2.4.2.7 % u tiên c a các toán t
Th% t u tiên ca các toán t c trình bày trong bng sau (t+ cao xung
thp, trong m#i m%c thì u tiên t+ trái sang phi)
Th t& u tiên các phép toán Chiu tính toán
( ) [ ] -> T+ trái qua phi
! ~ & *(truy xut gián tip) - ()i du) T+ phi qua trái
++ (ép kiu) sizeof
* (phép nhân) / % T+ trái qua phi
+ - (phép tr+) T+ trái qua phi
<< >> (các phép dch bít) trái qua phi
<, <=, >, >= T+ trái qua phi
== != T+ trái qua phi
& (phép AND trên bít)
^ (phép XOR trên bít)
| (phép OR trên bít)
&&
||
?:
= += -= *= /= %= <<= >>= &= T+ phi qua trái
\+ ^= |= (du ph∋y)
Ví d 2.22: (100 > 76) && (‘B’ < ‘A’)
1 && 0
0
2.4.2.8 Chuyn ∋i kiu
C cho phép trn l−n kiu giá tr vi nhau trong cùng biu th%c tính toán.