Professional Documents
Culture Documents
C Aptech
C Aptech
MC LC
BI 1 : NGN NG LP TRNH & PHNG PHP LP TRNH ...................... 7
1.2 L thuyt............................................................................................................................... 7
1.2.1 Ngn ng lp trnh (Programming Language) ............................................................. 7
1.2.1.1 Thut gii (Algorithm) ............................................................................................. 7
1.2.1.2 Chng trnh (Program) ......................................................................................... 7
1.2.1.3 Ngn ng lp trnh (Programming language) ....................................................... 8
1.2.2 Cc bc lp trnh ........................................................................................................... 8
1.2.3 K thut lp trnh ............................................................................................................ 8
1.2.3.1 I-P-O Cycle (Input-Pprocess-Output Cycle) (Quy trnh nhp-x l-xut) ........ 8
1.2.3.2 S dng lu (Flowchart)..................................................................................... 9
2.2 Ni dung.............................................................................................................................. 12
2.2.1 Khi ng v thot BorlandC....................................................................................... 12
2.2.1.1 Khi ng ................................................................................................................ 12
2.2.1.2 Thot ........................................................................................................................ 13
2.2.2 Cc v d n gin ......................................................................................................... 13
2.2.2.1 V d 1...................................................................................................................... 13
2.2.2.2 V d 2...................................................................................................................... 15
2.2.2.3 V d 3...................................................................................................................... 16
2.2.2.4 V d 4...................................................................................................................... 16
3.2 Ni dung.............................................................................................................................. 18
3.2.1 T kha ........................................................................................................................... 18
3.2.2 Tn................................................................................................................................... 18
3.2.3 Kiu d liu .................................................................................................................... 18
3.2.4 Ghi ch............................................................................................................................ 19
3.2.5 Khai bo bin ................................................................................................................. 19
3.2.5.1 Tn bin ................................................................................................................... 19
3.2.5.2 Khai bo bin .......................................................................................................... 19
3.2.5.3 Va khai bo va khi gn.................................................................................... 20
3.2.5.4 Phm vi ca bin..................................................................................................... 20
4.2 Ni dung.............................................................................................................................. 21
4.3 Bi tp ................................................................................................................................. 25
5.2 Ni dung.............................................................................................................................. 26
5.2.1 Lnh v khi lnh........................................................................................................... 26
5.2.1.1 Lnh ......................................................................................................................... 26
5.2.1.2 Khi lnh ................................................................................................................. 26
5.2.2 Lnh if ............................................................................................................................. 26
5.2.2.1 Dng 1 (if thiu) ...................................................................................................... 26
5.2.2.2 Dng 2 (if ) ......................................................................................................... 30
5.2.2.3 Cu trc else if ........................................................................................................ 33
5.2.2.4 Cu trc if lng ....................................................................................................... 37
5.2.3 Lnh switch..................................................................................................................... 41
5.2.3.1 Cu trc switchcase (switch thiu).................................................................... 41
5.2.3.2 Cu trc switchcasedefault (switch )........................................................ 44
5.2.3.3 Cu trc switch lng............................................................................................... 46
5.3 Bi tp ................................................................................................................................. 48
5.3.1 S dng lnh if ............................................................................................................... 48
5.3.2 S dng lnh switch ....................................................................................................... 49
5.4 Bi tp lm thm................................................................................................................ 49
6.2 Ni dung.............................................................................................................................. 51
6.2.1 Lnh for........................................................................................................................... 51
6.2.2 Lnh break...................................................................................................................... 56
6.2.3 Lnh continue ................................................................................................................. 56
6.2.4 Lnh while ...................................................................................................................... 56
6.2.5 Lnh dowhile .............................................................................................................. 58
6.2.6 Vng lp lng nhau ........................................................................................................ 60
6.2.7 So snh s khc nhau ca cc vng lp ....................................................................... 61
6.3 Bi tp ................................................................................................................................. 62
BI 7 : HM......................................................................................................... 65
7.2 Ni dung.............................................................................................................................. 65
7.2.1 Cc v d v hm ............................................................................................................ 65
7.2.2 Tham s dng tham bin v tham tr........................................................................... 68
7.3 Bi tp ................................................................................................................................. 71
8.2 Ni dung.............................................................................................................................. 72
8.2.1 Mng................................................................................................................................ 72
8.2.1.1 Cch khai bo mng............................................................................................... 72
8.2.1.2 Tham chiu n tng phn t mng .................................................................... 72
8.2.1.3 Nhp d liu cho mng .......................................................................................... 73
8.2.1.4 c d liu t mng ............................................................................................... 73
8.2.1.5 S dng bin kiu khc.......................................................................................... 74
8.2.1.6 K thut Sentinal .................................................................................................... 74
8.2.1.7 Khi to mng......................................................................................................... 75
8.2.1.8 Khi to mng khng bao hm kch thc.......................................................... 76
8.2.1.9 Mng nhiu chiu ................................................................................................... 76
8.2.1.10 Tham chiu n tng phn t mng 2 chiu ....................................................... 76
8.2.1.11 Nhp d liu cho mng 2 chiu ............................................................................. 77
8.2.1.12 c d liu t mng 2 chiu .................................................................................. 77
8.2.1.13 S dng bin kiu khc trong mng 2 chiu........................................................ 78
8.2.1.14 Khi to mng 2 chiu ........................................................................................... 78
8.2.1.15 Dng mng 1 chiu lm tham s cho hm ........................................................... 79
8.2.1.16 Dng mng 2 chiu lm tham s cho hm ........................................................... 82
8.2.2 Chui ............................................................................................................................... 84
8.2.2.1 Cch khai bo chui ............................................................................................... 84
8.2.2.2 Hm nhp (gets), xut (puts) chui....................................................................... 85
8.2.2.3 Khi to chui......................................................................................................... 86
8.2.2.4 Mng chui.............................................................................................................. 86
8.3 Bi tp ................................................................................................................................. 87
BI 9 : CON TR ................................................................................................ 90
9.2 Ni dung.............................................................................................................................. 90
9.2.1 Con tr? .......................................................................................................................... 90
9.2.2 Khi bo bin con tr .................................................................................................... 90
9.2.3 Truyn a ch sang hm ............................................................................................... 91
9.2.4 Con tr v mng............................................................................................................. 92
9.2.5 Con tr tr n mng trong hm ................................................................................. 92
9.2.6 Con tr v chui ............................................................................................................. 93
9.2.7 Khi to mng con tr tr n chui ........................................................................... 94
9.2.8 X l con tr tr n chui ........................................................................................... 95
9.2.9 Con tr tr n con tr.................................................................................................. 97
9.3 Bi tp ................................................................................................................................. 98
10.2 Ni dung.............................................................................................................................. 99
10.2.1 Structure ......................................................................................................................... 99
10.2.1.1 Khai bo kiu structure ......................................................................................... 99
10.2.1.2 Cch khai bo bin c kiu structure ................................................................... 99
10.2.1.3 Tham chiu cc phn t trong structure.............................................................. 99
10.2.1.4 Khi to structure ................................................................................................ 101
10.2.1.5 Structure lng nhau.............................................................................................. 102
10.2.1.6 Truyn structure sang hm ................................................................................. 103
10.2.2 Enum ............................................................................................................................. 105
10.2.2.1 nh ngha kiu enum .......................................................................................... 105
10.2.2.2 Cch khai bo bin c kiu enum ....................................................................... 106
10.2.2.3 S dng enum trong chng trnh ..................................................................... 106
BI 14 : CC H M ........................................................................................ 124
Bi 1 :
NGN NG LP TRNH & PHNG PHP LP TRNH
1.1 Mc tiu
Sau khi hon tt bi ny hc vin s hiu v vn dng cc kin thc k nng c bn sau:
- ngha, cc bc lp trnh.
- Xc nh d liu vo, ra.
- Phn tch cc bi ton n gin.
- Khi nim so snh, lp.
- Th hin bi ton bng lu .
1.2 L thuyt
D liu vo (Input)
X l (Process)
D liu ra (Output)
im ghp ni (Connector)
V d 6: Chun b c ph V d 7: M t v d 3 V d 8: M t v d 4
Bt u Bt u Bt u
B ng vo Kt qu lng Nghim x
C ph sn sng
Kt thc
a, b S a, S b
c=a+b
S a c bng Khng
S b khng?
c
C
Kt thc S a bng S b S a khng bng S b
V d 11: Kim tra tnh hp l ca im
Bt u Kt thc
C 1 Lon
im hp l im khng hp l
Thm 1 Lon vo thng
Kt thc
Cha
Thng = 24 Lon?
V d 13: Kim tra loi s
Bng
Bt u
Kt thc
S
V d 14: Kim tra tnh hp l ca im
C Bt u
S > 0 ? S dng
Khng
im
C
S < 0 ? S m
Khng Sai im >=0 v
im <=10 ?
S khng
ng
Kt thc Kt thc
Tai lieu tham khao
Gio trnh Lp trnh C cn bn Trang 11
Bi tp
V lu cho cc chng trnh sau:
1. i t tin VND sang tin USD.
2. Tnh im trung bnh ca hc sinh gm cc mn Ton, L, Ha.
3. Gii phng trnh bc 2: ax2 + bx + c = 0
4. i t sang radian v i t radian sang
(cng thc / = a/180, vi : radian, a: )
5. Kim tra 2 s a, b ging nhau hay khc nhau.
Bi 2 :
LM QUEN LP TRNH C QUA CC V D N GIN
2.1 Mc tiu
Sau khi hon tt bi ny hc vin s hiu v vn dng cc kin thc k nng c bn sau:
- Ngn ng C.
- Mt s thao tc c bn ca trnh son tho C.
- Cch lp trnh trn C.
- Tip cn mt s lnh n gin thng qua cc v d.
- Nm bt c mt s k nng n gin.
2.2 Ni dung
2.2.1.1 Khi ng
Nhp lnh ti du nhc DOS: g BC (Enter) (nu ng dn c ci t bng lnh
path trong c cha ng dn n th mc cha tp tin BC.EXE). Nu ng dn cha c
ci t ta tm xem th mc BORLANDC nm a no. Sau ta g lnh sau:
< a>:\BORLANDC\BIN\BC (Enter)
Nu bn mun va khi ng BC va son tho chng trnh vi mt tp tin c tn do
chng ta t, th g lnh: BC [ng dn]<tn file cn son tho>, nu tn file cn son tho
c th c np ln, nu cha c s c to mi.
Khi ng ti Windows: Bn vo menu Start, chn Run, bn g vo hp Open 1 trong
cc dng lnh nh nhp ti DOS. Hoc bn vo Window Explorer, chn a cha th mc
BORLANDC, vo th mc BORLANDC, vo th mc BIN, khi ng tp tin BC.EXE.
V d: Bn g D:\BORLANDC\BIN\BC E:\BAITAP_BC\VIDU1.CPP
Cu lnh trn c ngha khi ng BC v np tp tin VIDU1.CPP cha trong th mc
BAITAP_BC trong a E. Nu tp tin ny khng c s c to mi.
Mn hnh sau khi khi ng thnh cng
File Edit Search Run Compile Debug Project Option Window Help
[] NONAME00.CPP 1 []
Thanh Menu
Hp ng Tn tp tin S ca ca s
Hp ni rng ca s
* 1:1
F1 Help F2 Save F3 Open Alt - F9 Compile F9 Make F10 Menu
2.2.1.2 Thot
n phm F10 (kch hot Menu), chn menu File, chn Quit;
Hoc n t hp phm Alt X.
2.2.2 Cc v d n gin
2.2.2.1 V d 1
Dng File Edit Search Run Compile Debug Project Option Window Help
1 /* Chuong trinh in ra cau bai hoc C dau tien */
2 #include <stdio.h>
3
4 void main(void)
5 {
6 printf("Bai hoc C dau tien.");
7 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Bai hoc C dau tien. _
Dng th 1: bt u bng /* v kt thc bng */ cho bit hng ny l hng din gii (ch
thch). Khi dch v chy chng trnh, dng ny khng c dch v cng khng thi hnh lnh g c.
Mc ch ca vic ghi ch ny gip chng trnh r rng hn. Sau ny bn c li chng trnh bit
chng trnh lm g.
Dng th 2: cha pht biu tin x l #include <stdio.h>. V trong chng trnh ny ta
s dng hm th vin ca C l printf, do bn cn phi c khai bo ca hm th vin ny
bo cho trnh bin dch C bit. Nu khng khai bo chng trnh s bo li.
Dng th 3: hng trng vit ra vi lm cho bng chng trnh thong, d c.
Dng th 4: void main(void) l thnh phn chnh ca mi chng trnh C (bn c th vit
main() hoc void main() hoc main(void)). Tuy nhin, bn nn vit theo dng void main(void)
chng trnh r rng hn. Mi chng trnh C u bt u thi hnh t hm main. Cp du ngoc ()
cho bit y l khi hm (function). Hm void main(void) c t kha void u tin cho bit hm
ny khng tr v gi tr, t kha void trong ngoc n cho bit hm ny khng nhn vo i s.
Dng th 5 v 7: cp du ngoc mc {} gii hn thn ca hm. Thn hm bt u bng
du { v kt thc bng du }.
Dng th 6: printf("Bai hoc C dau tien.");, ch th cho my in ra chui k t nm trong
nhy kp (""). Hng ny c gi l mt cu lnh, kt thc mt cu lnh trong C phi l du
chm phy (;).
Ch :
Cc t include, stdio.h, void, main, printf phi vit bng ch thng.
Chui trong nhy kp cn in ra "Bn c th vit ch HOA, thng ty, ".
Kt thc cu lnh phi c du chm phy.
Kt thc tn hm khng c du chm phy hoc bt c du g.
Ghi ch phi t trong cp /* . */.
Thn hm phi c bao bi cp { }.
Cc cu lnh trong thn hm phi vit tht vo.
+ Cc k t iu khin:
\n : Nhy xung dng k tip canh v ct u tin.
\t : Canh ct tab ngang.
\r : Nhy v u hng, khng xung hng.
\a : Ting ku bip.
+ Cc k t c bit:
\\ : In ra du \
\" : In ra du "
\' : In ra du '
By gi bn sa li dng th 6 bng cu lnh printf("\tBai hoc C dau tien.\a\n");, sau
dch v chy li chng trnh, quan st kt qu.
Kt qu in ra mn hnh
Bai hoc C dau tien.
_
Khi chy chng trnh bn nghe ting bip pht ra t loa.
Mi khi chy chng trnh bn thy rt bt tin trong vic xem kt qu phi n t hp
phm Alt F5. khc phc tnh trng ny bn sa li chng trnh nh sau:
Dng File Edit Search Run Compile Debug Project Option Window Help
1 /* Chuong trinh in ra cau bai hoc C dau tien */
2 #include <stdio.h>
3 #include <conio.h>
4
5 void main(void)
6 {
7 printf("\t\tBai hoc C \rdau tien.\n");
8 getch();
9 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
dau tien. Bai hoc C
_
Dng th 3: cha pht biu tin x l #include <conio.h>. V trong chng trnh ny ta
s dng hm th vin ca C l getch, do bn cn phi c khai bo ca hm th vin ny
bo cho trnh bin dch C bit. Nu khng khai bo chng trnh s bo li.
Dng th 8: getch();, ch nhn 1 k t bt k t bn phm, nhng khng in ra mn hnh.
V th ta s dng hm ny khi chy chng trnh xong s dng li mn hnh kt qu, sau
ta n phm bt k s quay li mn hnh son tho.
2.2.2.3 V d 3
Dng File Edit Search Run Compile Debug Project Option Window Help
1 /* Chuong trinh nhap vao 2 so a, b in ra tong*/
2 #include <stdio.h>
3 #include <conio.h>
4
5 void main(void)
6 {
7 int a, b;
8 printf("Nhap vao so a: ");
9 scanf("%d", &a);
10 printf("Nhap vao so b: ");
11 scanf("%d", &b);
12 printf("Tong cua 2 so %d va %d la %d.\n", a, b, a+b);
13 getch();
14 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao so a: 4
Nhap vao so b: 14
Tong cua 2 so 4 va 14 la 18.
_
Kt qu in ra mn hnh
Nhap vao ban kinh hinh tron: 1
Dien tich hinh tron: 6.28
_
Dng th 5: #define PI 3.14, dng ch th define nh ngha hng s PI c gi tr
3.14. Trc define phi c du # v cui dng khng c du chm phy.
Dng th 12: printf("Dien tich hinh tron: %.2f.\n", 2*PI*fR);. Hm ny c 2 i mc.
i mc th nht l mt chui nh dng c cha chui vn bn Dien tich hinh tron: v %.2f (k
hiu khai bo chuyn i dng thc) cho bit dng s chm ng s c in ra, trong .2 ngha
l in ra vi 2 s l. i mc th 2 l biu thc hng 2*PI*fR;
Bn nhp on chng trnh trn vo my. Dch, chy v quan st kt qu.
Bi 3 :
CC THNH PHN TRONG NGN NG C
3.1 Mc tiu
Sau khi hon tt bi ny hc vin s hiu v vn dng cc kin thc k nng c bn sau:
- Khi nim t kha
- Cc kiu d liu
- Cch ghi ch
- t tn bin
- Khai bo bin.
- Phm vi s dng bin.
3.2 Ni dung
3.2.1 T kha
Khi nim tn rt quan trng trong qu trnh lp trnh, n khng nhng th hin r ngha
trong chng trnh m cn dng xc nh cc i lng khc nhau khi thc hin chng trnh.
Tn thng c t cho hng, bin, mng, con tr, nhn Chiu di ti a ca tn l 32 k t.
Tn bin hp l l mt chui k t lin tc gm: K t ch, s v du gch di. K t u
ca tn phi l ch hoc du gch di. Khi t tn khng c t trng vi cc t kha.
V d 1 :
Cc tn ng: delta, a_1, Num_ODD, Case
Cc tn sai:
3a_1 (k t u l s)
num-odd (s dng du gch ngang)
int (t tn trng vi t kha)
del ta (c khong trng)
f(x) (c du ngoc trn)
Lu : Trong C, tn phn bit ch hoa, ch thng
V d 2 : number khc Number
case khc Case
(case l t kha, do bn t tn l Case vn ng)
3.2.3 Kiu d liu
C 4 kiu d liu c bn trong C l: char, int, float, double.
3.2.5.1 Tn bin
Cch t tn bin nh mc 2.
3.2.5.2 Khai bo bin
C php
Kiu d liu Danh sch tn bin;
Kiu d liu: 1 trong cc kiu mc 3
Danh sch tn bin: gm cc tn bin c cng kiu d liu, mi tn bin cch nhau du
phy (,), cui cng l du chm phy (;).
Khi khai bo bin nn t tn bin theo quy tc Hungarian Notation
V d 4 :
int ituoi; //khai bo bin ituoi c kiu int
float fTrongluong; //khai bo bin fTrongluong c kiu long
char ckitu1, ckitu2; //khai bo bin ckitu1, ckitu2 c kiu char
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 20
Cc bin khai bo trn theo quy tc Hungarian Notation. Ngha l bin ituoi l kiu int, bn
thm ch i (k t u ca kiu) vo u tn bin tuoi trong qu trnh lp trnh hoc sau ny
xem li, sa cha bn d dng nhn ra bin ituoi c kiu int m khng cn phi di chuyn n
phn khai bo mi bit ki.u ca bin ny. Tng t cho bin fTrongluong, bn nhn vo l bit
ngay bin ny c kiu float.
3.2.5.3 Va khai bo va khi gn
Va khai bo va gn gi tr:
void main()
{
int a = 1, b = 2, c = 5;
}
3.2.5.4 Phm vi ca bin
Khi lp trnh, bn phi nm r phm vi ca bin. Nu khai bo v s dng khng ng,
khng r rng s dn n sai st kh kim sot c, v vy bn cn phi xc nh ng v tr,
phm vi s dng bin trc khi s dng bin.
Khai bo bin ngoi (bin ton cc): V tr bin t bn ngoi tt c cc hm, cu trc...
Cc bin ny c nh hng n ton b chng trnh. Chu trnh sng ca n l bt u chy
chng trnh n lc kt thc chng trnh.
Khai bo bin trong (bin cc b): V tr bin t bn trong hm, cu trc. Ch nh
hng ni b bn trong hm, cu trc . Chu trnh sng ca n bt u t lc hm, cu trc
c gi thc hin n lc thc hin xong.
Bi 4 :
NHP / XUT D LIU
4.1 Mc tiu
Sau khi hon tt bi ny hc vin s hiu v vn dng cc kin thc k nng c bn sau:
- ngha, cch s dng hm printf, scanf
- S dng khun dng, k t c bit, k t iu khin trong printf, scanf.
4.2 Ni dung
4.2.1 Hm printf
Kt xut d liu c nh dng.
C php
printf ("chui nh dng"[, i mc 1, i mc 2,]);
Khi s dng hm phi khai bo tin x l #include <stdio.h>
- printf: tn hm, phi vit bng ch thng.
- i mc 1,: l cc mc d kin cn in ra mn hnh. Cc i mc ny c th l bin,
hng hoc biu thc phi c nh tr trc khi in ra.
- chui nh dng: c t trong cp nhy kp (" "), gm 3 loi:
+ i vi chui k t ghi nh th no in ra ging nh vy.
+ i vi nhng k t chuyn i dng thc cho php kt xut gi tr ca cc i mc
ra mn hnh tm gi l m nh dng. Sau y l cc du m t nh dng:
%c : K t n
%s : Chui
%d : S nguyn thp phn c du
%f : S chm ng (k hiu thp phn)
%e : S chm ng (k hiu c s m)
%g : S chm ng (%f hay %g)
%x : S nguyn thp phn khng du
%u : S nguyn hex khng du
%o : S nguyn bt phn khng du
l : Tin t dng km vi %d, %u, %x, %o ch s nguyn di (v d %ld)
+ Cc k t iu khin v k t c bit
\n : Nhy xung dng k tip canh v ct u tin.
\t : Canh ct tab ngang.
\r : Nhy v u hng, khng xung hng.
\a : Ting ku bip.
\\ : In ra du \
\" : In ra du "
\' : In ra du '
%%: In ra du %
V d 1: printf("Bai hoc C dau tien. \n");
k t iu khin
chui k t
Kt qu in ra mn hnh
Bai hoc C dau tien.
_
V d 3: gi s bin i c gi tr = 5
xut gi tr bin i
V d 4: gi s bin a c gi tr = 7 v b c gi tr = 4
xut gi tr biu thc a+b
xut gi tr bin b
xut gi tr bin a
printf("Tong cua 2 so %d va %d la %d . \n", a, b, a+b);
i mc 3 l biu thc c
gi tr l kiu int
i mc 1, 2 l bin (kiu int)
k t iu khin
chui k t
m nh dng (kiu int)
Kt qu in ra mn hnh
Tong cua 2 so 7 va 4 la 11.
_
V d 5: sa li v d 4
Kt qu in ra mn hnh
Tong cua 2 so 7 va 4 la 11.
_
2 k t (mc d nh dng l 1)
3 k t
5 k t
V d 6: sa li v d 5
printf("%7d%7d%7d.\n", a, b, c);
printf("%7d%7d%7d.\n", 165, 2, 965);
Kt qu in ra mn hnh
6 1234 62 S canh v bn phi b rng trng.
165 2 965
_
printf("%-7d%-7d%-7d.\n", a, b, c);
printf("%-7d%-7d%-7d.\n", 165, 2, 965);
Kt qu in ra mn hnh
6 1234 62 S canh v bn tri b rng trng.
165 2 965
_
printf("%7.2d%7.2d%7.2d.\n", a, b, c);
s s l
Kt qu in ra mn hnh
6.40 1234.56 62.30 S canh v bn phi b rng trng.
_
7 k t
B rng trng bao gm: phn nguyn, phn l v du chm ng
V d 10: gi s float a = 6.4, b = 1234.55, c = 62.34
printf("%10.1d%10.1d%10.1d.\n", a, b, c);
printf("%10.1d%10.1d%10.1d.\n", 165, 2, 965);
Kt qu in ra mn hnh
6.4 1234.6 62.3 S canh v bn phi b rng trng.
165.0 2.0 965.0
_
printf("%-10.2d%-10.2d%-10.2d.\n", a, b, c);
printf("%-10.2d%-10.2d%-10.2d.\n", 165, 2, 965);
Kt qu in ra mn hnh
6.40 1234.55 62.34 S canh v bn tri b rng trng.
165.00 2.00 965.00
_
4.2.2 Hm scanf
nh dng khi nhp liu.
C php
scanf ("chui nh dng"[, i mc 1, i mc 2,]);
Khi s dng hm phi khai bo tin x l #include <stdio.h>
- scanf: tn hm, phi vit bng ch thng.
- khung nh dng: c t trong cp nhy kp (" ") l hnh nh dng d liu nhp vo.
- i mc 1,: l danh sch cc i mc cch nhau bi du phy, mi i mc s tip
nhn gi tr nhp vo.
Bi 5 :
CU TRC R NHNH C IU KIN
(Cu trc chn)
5.1 Mc tiu
Sau khi hon tt bi ny hc vin s hiu v vn dng cc kin thc k nng c bn sau:
- ngha lnh, khi lnh.
- C php, ngha, cch s dng lnh if, lnh switch.
- Mt s bi ton s dng lnh if, switch thng qua cc v d.
- So snh, nh gi mt s bi ton s dng lnh if hoc switch.
- Cch s dng cc cu trc lng nhau.
5.2 Ni dung
5.2.1.1 Lnh
L mt tc v, biu thc, hm, cu trc iu khin
V d 1:
x = x + 2;
printf("Day la mot lenh\n");
5.2.1.2 Khi lnh
L mt dy cc cu lnh c bc bi cp du { }, cc lnh trong khi lnh phi vit tht
v 1 tab so vi cp du { }
V d 2:
{ //dau khoi
a = 5;
b = 6; vit tht v 1 tab so vi cp { }
printf("Tong %d + %d = %d", a, b, a+b);
} //cuoi khoi
Qun dng cp du { } bao bc khi s dng khi lnh, hoc m du { v qun ng
du }
5.2.2 Lnh if
Cu lnh if cho php la chn mt trong hai nhnh ty thuc vo gi tr ca biu thc lun
l l ng (true) hay sai (false) hoc khc khng hay bng khng.
5.2.2.1 Dng 1 (if thiu)
Lu Vo
Ra
c. M t bng lu
Bt u
Nhp a, b
max = a
Sai
b>a
ng
max = b
Kt thc
d. Vit chng trnh
File Edit Search Run Compile Debug Project Option Window Help
/* Chuong trinh tim so lon nhat tu 2 so nguyen a, b */
#include <stdio.h>
#include <conio.h>
void main(void)
{
int ia, ib, imax;
printf("Nhap vao so a: ");
scanf("%d", &ia);
printf("Nhap vao so b: ");
scanf("%d", &ib);
imax = ia;
if (ib>ia)
imax = ib;
printf("So lon nhat = %d.\n", imax);
getch();
}
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao so a : 10 Cho chy li chng trnh v th li vi:
Nhap vao so b : 8 a = 7, b = 9
So lon nhat = 10. a = 5, b = 5
_ Quan st v nhn xt kt qu
V d 4: Vit chng trnh nhp vo 2 s nguyn a, b. Nu a ln hn b th hon i gi tr a
v b, ngc li khng hon i. In ra gi tr a, b.
a. Phc ha li gii
c. M t bng lu
Bt u
Nhp a, b
Sai
a>b
ng
tam = a
a=b
b = tam
In a, b
Kt thc
#include <stdio.h>
#include <conio.h>
void main(void)
{
int ia, ib, itam;
printf("Nhap vao so a: ");
if (biu thc lun l) t kha if, else phi vit bng ch thng
khi lnh 1; kt qu ca biu thc lun l phi l
else ng ( 0) hoc sai (= 0)
khi lnh 2;
Lu
Vo
nu biu thc lun l ng th
thc hin khi lnh 1 v thot khi if
Sai
bthc lun l ngc li
thc hin khi lnh 2 v thot khi if.
ng
khi lnh 1 khi lnh 2
Nu khi lnh 1, khi lnh 2 bao gm t 2
lnh tr ln th phi t trong du { }
Ra
c. M t bng lu
Bt u
Nhp a, b
Sai
a= b
ng
a bang b a khac b
Kt thc
d. Vit chng trnh
File Edit Search Run Compile Debug Project Option Window Help
/* Chuong trinh in ra thong bao "a bang b" neu a = b, nguoc li in ra "a khac b" */
#include <stdio.h>
#include <conio.h>
void main(void)
{
int ia, ib;
printf("Nhap vao so a: ");
scanf("%d", &ia);
printf("Nhap vao so b: ");
scanf("%d", &ib);
if (ia == ib)
printf("a bang b\n");
else
printf("a khac b\n");
getch();
}
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao so a : 10 Cho chy li chng trnh v th li vi:
Nhap vao so b : 8 a = 6, b = 6
a khac b. a = 1, b = 5
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 32
_ Quan st v nhn xt kt qu
Sau else khng c du chm phy.
V d: else; printf('a khac b\n");
trnh bin dch khng bo li, lnh printf("a khac b\n"); khng thuc else
V d 6: Vit chng trnh nhp vo k t c. Kim tra xem nu k t nhp vo l k t
thng trong khong t 'a' n 'z' th i sang ch in hoa v in ra, ngc li in ra thng bo "K t
bn va nhp l: c".
a. Phc ha li gii
Trc tin bn phi kim tra xem nu k t c thuc khong 'a' v 'z' th i k t c thnh
ch in hoa bng cch ly k t c 32 ri gn li cho chnh n (c = c 32) (v gia k t thng v
in hoa trong bng m ASCII cch nhau 32, v d: A trong bng m ASCII l 65, B l 66, cn a
l 97, b l 98), sau khi i xong bn in k t c ra. Ngc li, in cu thng bo "K t bn va
nhp l: c".
Nhp c
Sai
c >= 'a' v c <= 'z'
ng
c = c 32
Kt thc
if (biu thc lun l 1) t kha if, else if, else phi vit bng ch thng
khi lnh 1; kt qu ca biu thc lun l 1, 2..n phi l
else if (biu thc lun l 2) ng ( 0) hoc sai (= 0)
khi lnh 2;
else if (biu thc lun l n-1) Nu khi lnh 1, 2n bao gm t 2 lnh
khi lnh n-1; tr ln th phi t trong du { }
else
khi lnh n;
ng Sai
Hanoi Aptech Computer Education Center BTLL n-1
ng
Gio trnh Lp trnh C cn bn Trang 34
Nhp a, b
Sai Sai
a>b a<b
ng ng
"a lon hon b" "a nho hon b" "a bang b"
Kt thc
d. Vit chng trnh
File Edit Search Run Compile Debug Project Option Window Help
/* Chuong trinh nhap vao 2 so nguyen a, b. In ra thong bao a > b, a < b, a = b */
#include <stdio.h>
#include <conio.h>
void main(void)
};
Ngc li Nu c >= 0 v c <= 9 th else if(c >= '0' && c <= '9')
in thng bo "K t bn va nhp l s c" printf("Ki tu Ban vua nhap la so %c.\n", c);
Ngc li th else
in thng bo "Bn nhp k t c" printf("Ban da nhap ki tu %c.\n", c);
Cng nh if, khng t du chm phy sau cu lnh else if.
V d: else if(c >= 'A' && c <= 'Z');
trnh bin dch khng bo li nhng khi lnh sau else if khng c thc hin.
c. M t bng lu
Bt u
Nhp c
Sai
c >= 'a' v c <= 'z'
ng
c = c 32 Sai
c >= 'A' v c <= 'Z'
ng
Ki tu hoa = c
c = c + 32 Sai
c >= '0' v c <= '9'
Ki tu thuong=c ng
Ktu nhap la so c Ban da nhap ktu c
Kt thc
#include <stdio.h>
#include <conio.h>
void main(void)
{
char c;
printf("Nhap vao 1 ki tu: ");
scanf("%c", &c);
if (c >= 'a' && c <= 'z') //hoac if(c >= 97 && c <= 122)
{
c = c 32; //doi thanh chu in hoa
Nhp diem
diem >= 0 ng
v diem <= 10
Sai
diem >=9
Sai Sai
diem >=8
ng
Hanoi Aptech Computer Education Center Sai
diem >=7
ng
Sai
diem >=6
ng
Gio trnh Lp trnh C cn bn Trang 39
#include <stdio.h>
#include <conio.h>
void main(void)
{
float fdiem;
printf("Nhap vao diem so: ");
scanf("%f", &fdiem);
if (fdiem >=0 && fdiem <=10)
if (fdiem >=9)
printf("Xep loai = Xuat sac.\n");
else if (fdiem >=8)
printf("Xep loai = Gioi.\n");
else if (fdiem >=7)
printf("Xep loai = Kha.\n");
else if (fdiem >=6)
printf("Xep loai = TBKha.\n");
else if (fdiem >=5)
printf("Xep loai = TBinh.\n");
else
printf("Xep loai = Yeu.\n");
else //if (fdiem>=0 && fdiem<=10)
printf("Nhap diem khong hop le.\n");
getch();
}
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao diem so: 6.5 Cho chy li chng trnh v th li vi:
Xep loai = TBKha. diem = 4, diem = 9, diem = 7, diem = 12
_ Quan st v nhn xt kt qu
e. Bn thm v chng trnh
Nhp a, b, c
Sai ng
a>b
Sai ng Sai ng
b>c a>c
#include <stdio.h>
#include <conio.h>
void main(void)
{
int ia, ib, ic;
printf("Nhap vao so a: ");
scanf("%d", &ia);
printf("Nhap vao so b: ");
scanf("%d", &ib);
printf("Nhap vao so c: ");
scanf("%d", &ic);
if (ia > ib)
if (ia > ic)
printf("%d lon nhat.\n", ia);
else
printf("%d lon nhat.\n", ic);
else
if (ib > ic)
printf("%d lon nhat.\n", ib);
else
printf("%d lon nhat.\n", ic);
getch();
}
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao so a: 4 Cho chy li chng trnh v th li vi:
Nhap vao so b: 5 a = 5, b = 4, c = 2
Nhap vao so c: 3 a = 2, b = 1, c = 10
5 lon nhat. a = 5, b = 5, c = 5
_ Quan st v nhn xt kt qu
e. Bn thm v chng trnh
Trong chng trnh trn cu trc dng 2 c lng vo trong cu trc dng 2.
5.2.3 Lnh switch
Lnh switch cng ging cu trc else if, nhng n mm do hn v linh ng hn nhiu
so vi s dng if. Tuy nhin, n cng c mt hn ch l kt qu ca biu thc phi l gi tr hng
nguyn (c gi tr c th). Mt bi ton s dng lnh switch th cng c th s dng if, nhng
ngc li cn ty thuc vo gii thut ca bi ton.
5.2.3.1 Cu trc switchcase (switch thiu)
Chn thc hin 1 trong n lnh cho trc.
C php lnh
Lu
Vo
Khi gi tr ca biu thc bng gi tr i th lnh i
s c thc hin. Nu sau lnh i khng c lnh
Biu thc break th s tip tc thc hin lnh i + 1Ngc
... li thot khi cu trc switch.
ng
= gi tr 1 ? lnh 1
C
break ?
Khng
ng
= gi tr 2 ? lnh 2
C
break ?
Khng
ng
= gi tr n ? lnh n
C
break ?
Khng
Ra
V d 12: Vit chng trnh nhp vo s 1, 2, 3. In ra tng ng 1, 2, 3 sao.
a. Vit chng trnh
File Edit Search Run Compile Debug Project Option Window Help
/* Chuong trinh nhap vao so 1, 2, 3. In ra so sao tuong ung */
#include <stdio.h>
#include <conio.h>
void main(void)
{
int i;
printf("Nhap vao so 1, 2 hoc 3: ");
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 43
scanf("%d", &i);
switch(i)
{
case 3: printf("*");
case 2: printf("*");
case 1: printf("*");
};
printf("An phim bat ky de ket thuc!\n");
getch();
}
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao so 1, 2 hoc 3: 2 Cho chy li chng trnh v th li vi:
** i = 1, i = 3, i = 0, i = 4
_ Quan st v nhn xt kt qu
b. Bn thm v chng trnh
Trong chng trnh trn khi nhp vo i = 2 lnh printf("*") dng case 2 c thi hnh,
nhng do khng c lnh break sau nn lnh printf("*") dng case 1 tip tc c thi hnh. Kt
qu in ra **.
Khng t du chm phy sau cu lnh switch.
V d: switch(i);
trnh bin dch khng bo li nhng cc lnh trong switch khng c thc hin.
V d 13: Vit chng trnh nhp vo thng v in ra qu. (thng 1 -> qu 1, thng 10 -> qu 4)
a. Phc ha li gii
Nhp vo gi tr thng, kim tra xem thng c hp l (trong khong 1 n 12). Nu hp l
in ra qu tng ng (1->3: qu 1, 4->6: qu 2, 7->9: qu 3, 10->12: qu 4).
b. Vit chng trnh
File Edit Search Run Compile Debug Project Option Window Help
/* Chuong trinh nhap vao thang. In ra quy tuong ung */
#include <stdio.h>
#include <conio.h>
void main(void)
{
int ithang;
printf("Nhap vao thang: ");
scanf("%d", &ithang);
if (ithang > 0 && ithang <= 12)
switch(ithang)
{
case 1:
case 2:
case 3: printf("Quy 1.\n");
break;
case 4:
case 5:
case 6: printf("Quy 2.\n");
break;
case 7:
case 8:
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 44
case 9: printf("Quy 3.\n");
break;
case 10:
case 11:
case 12:printf("Quy 4.\n");
break;
};
else
printf("Thang khong hop le.\n");
getch();
}
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao thang: 4 Cho chy li chng trnh v th li vi:
Quy 2. thang = 7, thang = 1, thang = 13, thang = -4
_ Quan st v nhn xt kt qu
c. Bn thm v chng trnh
Trong chng trnh trn cu trc switchcase c lng vo trong cu trc if dng 2.
5.2.3.2 Cu trc switchcasedefault (switch )
Chn thc hin 1 trong n + 1 lnh cho trc.
C php lnh
Lu
Khi gi tr ca biu thc bng gi tr i th lnh
Vo
i s c thc hin. Nu sau lnh i khng c
lnh break th s tip tc thc hin lnh i +
Biu thc 1Ngc li thot khi cu trc switch. Nu
... gi tr biu thc khng trng vi bt k gi tr
i no th lnh tng ng vi t kha default
ng
= gi tr 1 ? lnh 1 s c thc hin.
C
break ?
Khng
ng
= gi tr 2 ? lnh 2
Khng
Gio trnh Lp trnh C cn bn Trang 45
#include <stdio.h>
#include <conio.h>
void main(void)
{
int i;
printf("Nhap vao so 1, 2 hoc 3: ");
scanf("%d", &i);
switch(i)
{
case 3: printf("*");
case 2: printf("*");
case 1: printf("*");
break;
default: printf("Ban nhap phai nhap vao so 1, 2 hoac 3.\n");
};
getch();
}
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao so 1, 2 hoc 3: 3 Cho chy li chng trnh v th li vi:
*** i = 1, i = 3, i = 0, i = 4
_ Quan st kt qu
b. Bn thm v chng trnh
#include <stdio.h>
#include <conio.h>
void main(void)
{
int ithang;
printf("Nhap vao thang: ");
scanf("%d", &ithang);
switch(ithang)
{
case 1: case 2: case 3 : printf("Quy 1.\n");
break;
case 4: case 5: case 6: printf("Quy 2.\n");
break;
case 7: case 8: case 9: printf("Quy 3.\n");
break;
case 10: case 11: case 12: printf("Quy 4.\n");
break;
default : printf("Ban phai nhap vao so trong khoang 1..12\n");
};
getch();
}
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao thang: 4 Cho chy li chng trnh v th li vi:
Quy 2. thang = 7, thang = 1, thang = 13, thang = -4
_ Quan st kt qu
c. Bn thm v chng trnh
Trong chng trnh trn. Nu bn nhp vo 1 n 12 s in qu tng ng. Ngoi cc s
ny chng trnh s in ra cu thng bo "Bn phi nhp vo s trong khong 1..12".
5.2.3.3 Cu trc switch lng
Quyt nh s thc hin 1 trong n khi lnh cho trc.
C php lnh
C php l mt trong 2 dng trn, nhng trong 1 hoc nhiu lnh bn trong phi cha t
nht mt trong 2 dng trn gi l cu trc switch lng nhau. Thng cu trc switch lng nhau
cng nhiu cp phc tp cng cao, chng trnh chy cng chm v trong lc lp trnh d b
nhm ln.
Lu
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 47
Tng t 2 dng trn. Nhng trong mi lnh c th c mt (nhiu) cu trc switch 2
dng trn.
V d 16: Vit chng trnh menu 2 cp
a. Vit chng trnh
File Edit Search Run Compile Debug Project Option Window Help
/* Chuong trinh menu 2 cap */
#include <stdio.h>
#include <conio.h>
void main(void)
{
int imenu, isubmenu;
printf("-------------------------\n");
printf(" MAIN MENU \n");
printf("-------------------------\n");
printf("1. File\n");
printf("2. Edit\n");
printf("3. Search\n");
printf("Chon muc tuong ung: ");
scanf("%d", &imenu);
switch(imenu)
{
case 1: printf("-------------------------\n");
printf(" MENU FILE \n");
printf("-------------------------\n");
printf("1. New\n");
printf("2. Open\n");
printf("Chon muc tuong ung: ");
scanf("%d", &isubmenu);
switch(isubmenu)
{
case 1: printf("Ban da chon chuc nang New File\n");
break;
case 2: printf("Ban da chon chuc nang Open File\n");
}
break; //break cua case 1 switch(imenu)
case 2: printf("Ban da chon chuc nang Edit\n");
break;
case 3: printf("Ban da chon chuc nang Search\n");
};
getch();
}
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
-------------------------- Cho chy li chng trnh v th li vi:
MAIN MENU mc chn chc nng khc
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 48
18. Vit chng trnh nhp vo 3 s nguyn ri in ra mn hnh theo th t tng dn.
19. Vit chng trnh tnh tin in gm cc khong sau:
- Tin thu bao in k: 1000/thng
- nh mc s dng in cho mi h l: 50 KW vi gi 230/KW
- Nu phn vt nh mc <= 50KW th tnh gi 480/KW
- Nu 50KW < phn vt nh mc < 100KW th tnh gi 700/KW
- Nu phn vt nh mc <= 100KW th tnh gi 900/KW
Ch s mi v c c nhp vo t bn phm
- In ra mn hnh ch s c, ch s mi, tin tr nh mc, tin tr vt nh mc, tng tin
phi tr.
Bi 6 :
CU TRC VNG LP
6.1 Mc tiu
Sau khi hon tt bi ny hc vin s hiu v vn dng cc kin thc k nng c bn sau:
- ngha, cch hot ng ca vng lp.
- C php, ngha, cch s dng lnh for, while, dowhile.
- ngha v cch s dng lnh break, continue.
- Mt s bi ton s dng lnh for, while, dowhile thng qua cc v d.
- So snh, nh gi mt s bi ton s dng lnh for, while hoc dowhile.
- Cu trc vng lp lng nhau.
6.2 Ni dung
Lu
Vo
kim tra iu kin
nu ng ng th
Sai thc hin khi lnh;
iu kin
lp li kim tra iu kin
ng nu sai
thot khi vng lp.
khi lnh
Ra
Gii thch:
+ Biu thc 1: khi to gi tr ban u cho bin iu khin.
+ Biu thc 2: l quan h logic th hin iu kin tip tc vng lp.
+ Biu thc 3: php gn dng thay i gi tr bin iu khin.
Nhn xt:
+ Biu thc 1 bao gi cng ch c tnh ton mt ln khi gi thc hin for.
+ Biu thc 2, 3 v thn for c th thc hin lp li nhiu ln.
Lu :
+ Biu thc 1, 2, 3 phi phn cch bng du chm phy (;)
Bn c th vit gp cc lnh trong thn for vo trong lnh for. Tuy nhin, khi lp
trnh bn nn vit lnh for c 3 biu thc n v cc lnh thc hin trong thn for mi
lnh mt dng sau ny c th c li d hiu, d sa cha.
V d 4: Mt vi v d thay i bin iu khin vng lp.
- Thay i bin iu khin t 1 n 100, mi ln tng 1:
for(i = 1; i <= 100; i++)
- Thay i bin iu khin t 100 n 1, mi ln gim 1:
for(i = 100; i >= 1; i--)
- Thay i bin iu khin t 7 n 77, mi ln tng 7:
for(i = 7; i <= 77; i += 7)
- Thay i bin iu khin t 20 n 2, mi ln gim 2:
for(i = 20; i >= 2; i = 2)
V d 5: c vo mt lot k t trn bn phm. Kt thc khi gp du chm '.' .
Dng File Edit Search Run Compile Debug Project Option Window Help
1 /* Doc vao 1 loat ktu tren ban phim. Ket thuc khi gap dau cham */
2
3 #include <stdio.h>
4
5 #define DAU_CHAM '.'
6
7 void main(void)
8 {
9 char c;
10 for(; (c = getchar()) != DAU_CHAM; )
11 putchar(c);
12 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
a Bn thay cc dng t 10 n 11 bng cu lnh:
a for(; (c = getchar()) != DAU_CHAM; putchar(c));
4 Chy li chng trnh, quan st v nhn xt kt qu.
4
.
_
Vng lp for vng mt biu thc 1 v 3.
V d 6: c vo mt lot k t trn bn phm, m s k t nhp vo. Kt thc khi gp du chm '.' .
Dng File Edit Search Run Cmpile Debug Project Option Window Help
1 /* Doc vao 1 loat ktu tren ban phim, dem so ktu nhap vao. Ket thuc khi gap dau cham */
2
3 #include <stdio.h>
4 #include <conio.h>
5
6 #define DAU_CHAM '.'
7
8 void main(void)
1 /* Nhap vao 1 day so nguyen tu ban phim den khi gap so 0 thi dung. In ra tong cac so
2 nguyen duong */
3
4 #include <stdio.h>
5 #include <conio.h>
6
7 void main(void)
8 {
9 int in, itong = 0;
10 for(; ;)
11 {
12 printf("Nhap vao 1 so nguyen: ");
13 scanf("%d", &in);
14 if (in < 0)
15 continue; //in < 0 quay nguoc len dau vong lap
16 if (in == 0)
17 break; //in = 0 thoat vong lap
18 itong += in;
19 }
20 printf("Tong: %d.\n", itong);
21 getch();
22 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao 1 so nguyen: -8 Chy li chng trnh vi s liu khc
Nhap vao 1 so nguyen: 9 Quan st v nhn xt kt qu.
Nhap vao 1 so nguyen: -7
Nhap vao 1 so nguyen: 3
Nhap vao 1 so nguyen: 0
Tong: 12
_
6.2.2 Lnh break
Thng thng lnh break dng thot khi vng lp khng xc nh iu kin dng
hoc bn mun dng vng lp theo iu kin do bn ch nh. Vic dng lnh break thot khi
vng lp thng s dng phi hp vi lnh if. Lnh break dng trong for, while, dowhile,
switch. Lnh break thot khi vng lp cha n.
V d 9 : Nh v d 7, 8
S dng lnh break trong switch nhy b cc cu lnh k tip cn li.
6.2.3 Lnh continue
c dng trong vng lp for, while, dowhile. Khi lnh continue thi hnh quyn iu
khin s trao qua cho biu thc iu kin ca vng lp gn nht. Ngha l ln ngc ln u vng
lp, tt c nhng lnh i sau trong vng lp cha continue s b b qua khng thi hnh.
V d 10 : Nh v d 8
6.2.4 Lnh while
Vng lp thc hin lp li trong khi biu thc cn ng.
C php lnh
Lu
Vo
Trc tin biu thc c kim tra
nu sai th
Sai kt thc vng lp while
biu thc
(khi lnh khng c thi hnh 1 ln no)
ng nu ng
thc hin khi lnh;
khi lnh lp li kim tra biu thc
Ra
+ Biu thc: c th l mt biu thc hoc nhiu biu thc con. Nu l nhiu biu thc
con th cch nhau bi du phy (,) v tnh ng sai ca biu thc c quyt nh bi biu thc
con cui cng.
+ Trong thn while (khi lnh) c th cha mt hoc nhiu cu trc iu khin khc.
+ Trong thn while c th s dng lnh continue chuyn n u vng lp (b qua cc
cu lnh cn li trong thn).
+ Mun thot khi vng lp while ty c th dng cc lnh break, goto, return nh
lnh for.
V d 11: Vit chng trnh in ra cu "Vi du su dung vong lap while" 3 ln.
Dng File Edit Search Run Compile Debug Project Option Window Help
1 /* Chuong trinh in ra cau "Vi du su dung vong lap while" 3 lan */
2
3 #include <stdio.h>
4 #include <conio.h>
5
6 #define MSG "Vi du su dung vong lap while.\n"
7
8 void main(void)
9 {
10 int i = 0;
11 while (i++ < 3)
12 printf("%s", MSG);
13 getch();
14 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Vi du su dung vong lap while. Bn thay 2 dng 11 v 12 bng cu lnh
Vi du su dung vong lap while. while(printf("%s", MSG), ++i < 3);
Vi du su dung vong lap while. Chy li chng trnh v quan st kt qu.
_
V d 12: Vit chng trnh tnh tng cc s nguyn t 1 n n, vi n c nhp vo t bn phm.
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 58
Dng File Edit Search Run Compile Debug Project Option Window Help
1 /* Chuong trinh tnh tong cac so nguyen tu 1 den n */
2
3 #include <stdio.h>
4 #include <conio.h>
5
6 void main(void)
7 {
8 int i = 0, in, is = 0;
9 printf("Nhap vao so n: ");
10 scanf("%d", &in);
11 while (i++ < in)
12 is = is + i; //hoac is += i;
13 printf("Tong: %d", is);
14 getch();
15 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao so n : 5 Bn thay cc dng t 11 n 12 bng cu lnh:
Tong: 15. while(is = is+i, i++ < in);
_ Chy li chng trnh, quan st v nhn xt kt qu.
V d 13: Thay dng for(; (c = getchar()) != DAU_CHAM; ) v d 5 thnh dng while
((c = getchar()) != DAU_CHAM)
Chy li chng trnh, quan st v nhn xt kt qu.
V d 14: v d 6, thay dng int dem; thnh dng int dem = 0; , thay dng for(idem=0;
(c = getchar()) != DAU_CHAM; ) thnh dng while ((c = getchar()) != DAU_CHAM)
Chy li chng trnh, quan st v nhn xt kt qu.
V d 15: v d 7 v 8, thay dng for( ; ; ) thnh dng while(1)
Chy li chng trnh, quan st v nhn xt kt qu.
6.2.5 Lnh dowhile
Vng lp thc hin lp li cho n khi biu thc sai.
C php lnh
do
khi lnh;
while (biu thc);
t kha do, while phi vit bng ch thng
Nu khi lnh bao gm t 2 lnh tr ln th phi t trong du { }
Lu
Vo
Thc hin
khi lnh
khiEducation
Hanoi Aptech Computer lnh Center
ng
biu thc
Gio trnh Lp trnh C cn bn Trang 59
Kim tra biu thc
Nu ng th
lp li thc hin khi lnh
Nu sai th
kt thc vng lp
(khi lnh c thi hnh 1 ln)
+ Biu thc: c th l mt biu thc hoc nhiu biu thc con. Nu l nhiu biu thc
con th cch nhau bi du phy (,) v tnh ng sai ca biu thc c quyt nh bi biu thc
con cui cng.
+ Trong thn dowhile (khi lnh) c th cha mt hoc nhiu cu trc iu khin khc.
+ Trong thn dowhile c th s dng lnh continue chuyn n u vng lp (b
qua cc cu lnh cn li trong thn).
+ Mun thot khi vng lp dowhile ty c th dng cc lnh break, goto, return.
V d 16: Vit chng trnh kim tra password.
Dng File Edit Search Run Compile Debug Project Option Window Help
1 /* Chuong trinh kiem tra mat khau */
2
3 #include <stdio.h>
4
5 # define PASSWORD 12345
6
7 void main(void)
8 {
9 int in;
10 do
11 {
12 printf("Nhap vao password: ");
13 scanf("%d", &in);
14 } while (in != PASSWORD)
15 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao password: 1123 Bn thay cc dng t 10 n 14 bng cu lnh:
Nhap vao password: 12346 do{}while(printf("Nhap vao password: "), scanf("%d", &in),
Nhap vao password: 12345 in != PASSWORD);
Chy li chng trnh v quan st kt qu.
Bi 7 :
HM
7.1 Mc tiu
Sau khi hon tt bi ny hc vin s hiu v vn dng cc kin thc k nng c bn sau:
- Khi nim, cch khai bo v hm.
- Cch truyn tham s, tham bin, tham tr.
- S dng bin cc b, ton cc trong hm.
- S dng tin x l #define
7.2 Ni dung
Hm l mt chng trnh con thc hin mt khi cng vic c lp i lp li nhiu ln trong
khi chy chng trnh hoc dng tch mt khi cng vic c th chng trnh phc tp.
7.2.1 Cc v d v hm
V d 1:
Dng File Edit Search Run Compile Debug Project Option Window Help
1 #include <stdio.h>
2 #include <conio.h>
3
4 // khai bao prototype
5 void line();
6
7 // ham in 1 dong dau
8 void line()
9 {
10 int i;
11 for(i = 0; i < 19; i++)
12 printf("*");
13 printf("\n");
14 }
15
16 void main(void)
17 {
18 line();
19 printf("* Minh hoa ve ham *");
20 line();
21 getch();
22 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
*****************
* Minh hoa ve ham *
*****************
_
void main(void)
{ gi thc hin hm line void line()
line(); {
printf("* Minh hoa ve ham *"); int i;
line(); for(i = 0; i < 19; i++)
getch(); printf("*");
} quay v chng trnh chnh printf("\n");
thc hin lnh k tip }
Dng File Edit Search Run Compile Debug Project Option Window Help
1 #include <stdio.h>
2 #include <conio.h>
3
4 // khai bao prototype
5 int power(int, int);
6
7 // ham tinh so mu
8 int power(int ix, int in)
9 {
10 int i, ip = 1;
11 for(i = 1; i <= in; i++)
12 ip *= ix;
13 return ip;
14 }
15
16 void main(void)
17 {
18 printf("2 mu 2 = %d.\n", power(2, 2));
19 printf("2 mu 3 = %d.\n", power(2, 3));
20 getch();
}
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
2 mu 2 = 4.
2 mu 3 = 8.
_
void main(void)
{ gi thc hin hm power
printf("2 mu 2 = %d.\n", power(2, 2)); int power(int ix, int in)
{
printf("2 mu 3 = %d.\n", power(2, 3)); int i, ip = 1;
getch(); for(i = 1; i <= in; i++)
} quay v chng trnh ip *= ix;
chnh thc hin lnh k return ip;
tip }
Kt qu in ra mn hnh
Nhap vao 1 so nguyen: 3
3 la so le.
3 la so duong.
_
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 70
V d 6:
Dng File Edit Search Run Compile Debug Project Option Window Help
1 #include <stdio.h>
2 #include <conio.h>
3
4 #define PI 3.14
5
6 // khai bao prototype
7 float area();
8
9 //khai bao bien toan cuc
10 float frad;
11
12 void main(void)
13 {
14 printf("Nhap vao ban kinh hinh cau : ");
15 scanf("%f", &frad);
16 printf("Dien tich hinh cau: %10.3f.\n", area());
17 getch();
18 }
19
20 // ham tinh dien tich hinh cau
21 float area()
22 {
23 return (4*PI*frad*frad);
24 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Kt qu in ra mn hnh
So lon nhat la: 6.10 Thm vo dng 8 gi tr c = 10
_ Sa li dng 9: MAX(a, b) thnh MAX(MAX(a, b), c)
Chy li chng trnh, quan st v nhn xt kt qu
7.3 Bi tp
1. Vit hm tnh n!
2. Vit hm tnh tng S = 1+2+.+n.
3. Vit hm kim tra s nguyn t.
4. Vit hm tnh s hng th n trong dy Fibonacci.
5. Vit hm tm s ln nht trong 2 s.
Bi 8 :
MNG V CHUI
8.1 Mc tiu
Sau khi hon tt bi ny hc vin s hiu v vn dng cc kin thc k nng c bn sau:
- ngha, cch khai bo mng, chui.
- Nhp, xut mng, chui.
- Khi to mng chui.
- Mt s k thut thao tc trn mng, chui.
- Dng mng lm tham s cho hm.
- Mt s hm x l chui
8.2 Ni dung
8.2.1 Mng
L tp hp cc phn t c cng d liu. Gi s bn mun lu n s nguyn tnh trung
bnh, bn khng th khai bo n bin lu n gi tr ri sau tnh trung bnh.
V d 1 : bn mun tnh trung bnh 10 s nguyn nhp vo t bn phm, bn s khai bo 10
bin: a, b, c, d, e, f, g, h, i, j c kiu int v lp thao tc nhp cho 10 bin ny nh sau:
printf("Nhap vao bien a: ");
scanf("%d", &a);
10 bin bn s thc hin 2 lnh trn 10 ln, sau tnh trung bnh:
(a + b + c + d + e + f + g + h + i + j)/10
iu ny ch ph hp vi n nh, cn i vi n ln th kh c th thc hin c. V vy
khi nim mng c s dng
8.2.1.1 Cch khai bo mng
V d 2 : int ia[10]; vi int l kiu mng, ia l tn mng, 10 s phn t mng
ngha: Khai bo mt mng s nguyn gm 10 phn t, mi phn t c kiu int.
ia
10 phn t
8.2.1.2 Tham chiu n tng phn t mng
Sau khi mng c khai bo, mi phn t trong mng u c ch s tham chiu. Ch
s bt u t 0 n n-1 (vi n l kch thc mng). Trong v d trn, ta khai bo mng 10 phn
t th ch s bt u t 0 n 9.
0 1 2 3 4 5 6 7 8 9
ia
ia[2] ia[7]
Kt qu in ra mn hnh
Nhap vao gia tri n: 3 Bn c th gp 2 lnh for thnh mt va nhp va tnh tng, a
Nhap vao phan tu thu 1: 7 hng 21 sau hng 16 v b cc hng 19, 20, 21.
Nhap vao phan tu thu 2: 3 Chy v quan st kt qu.
Nhap vao phan tu thu 3: 6
Trung binh cong: 5.33
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 74
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao phan tu thu 1: 1.2 Bn chy li chng trnh v th li vi s liu khc.
Nhap vao phan tu thu 2: 3 Quan st kt qu.
Nhap vao phan tu thu 3: 4.6
Nhap vao phan tu thu 4: -9
Tong : 8.80
_
Sa dng 5 thnh #define MAX 4. Chy chng trnh v nhp cc s 1.2, 3.5, 6.5, 4.
Quan st kt qu.
Kt qu in ra mn hnh
Nhap vao so tien: 246 Bn chy li chng trnh v th li vi s liu khc.
4 t 50 ng Quan st kt qu.
1 t 25 ng
2 t 10 ng
0 t 5 ng
1 t 1 ng
_
5 hng
10 ct
8.2.1.10 Tham chiu n tng phn t mng 2 chiu
Sau khi c khai bo, mi phn t trong mng 2 chiu u c 2 ch s tham chiu,
ch s hng v ch s ct. Ch s hng bt u t 0 n s hng 1 v ch s ct bt u t 0
n s ct 1. Tham chiu n mt phn t trong mng 2 chiu ia: ia[ch s hng][ch s ct]
ia 0 1 2 3 4 5 6 7 8 9
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 77
0
1
2
3
4
15 6
4 7
_
khc phc tnh trng ngi dng nhp vo cp ma trn > MAX, Bn xem li
mc 3.1.4.
8.2.1.13 S dng bin kiu khc trong mng 2 chiu
Nh mc 3.1.5.
8.2.1.14 Khi to mng 2 chiu
V d 11 : V ch H ln.
Dng File Edit Search Run Compile Debug Project Option Window Help
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 79
Kt qu in ra mn hnh
Nhap vao mot so: 12 Chy li chng trnh v th li vi s liu khc.
Nhap vao mot so: 45 Thc hin mt s thay i sau:
Nhap vao mot so: 3 - Di chuyn dng int a[MAX]; ln sau dng s 10
Nhap vao mot so: 0 - Sa dng int max(int, int); thnh int max(int);
So lon nhat la: 45 - Sa dng int max(int a[], int n); thnh int max(int n);
_ - Sa dng num = max(a, i); thnh num = max(i);
Chy li chng trnh, quan st, nhn xt v nh gi kt qu.
Kt qu in ra mn hnh
0 1 2
0
1 1*3+2
2 2*3+1
Ging nh mng 1 chiu khi truyn mng 2 chiu sang hm cng khng to bn
sao mi.
8.2.2 Chui
Chui c xem nh l mt mng 1 chiu gm cc phn t c kiu char nh mu t, con s
v bt c k t c bit nh +, -, *, /, $, #
Theo quy c, mt chui s c kt thc bi k t null ('\0' : k t rng).
V d: chui "Infoworld" c lu tr nh sau:
I n f o w o r l d \0
K t kt thc chui
8.2.2.1 Cch khai bo chui
V d 17 : char cname[30];
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 85
ngha: Khai bo chui cname c chiu di 30 k t. Do chui kt thc bng k t null,
nn khi bn khai bo chui c chiu di 30 k t ch c th cha 29 k t.
V d 18 : Nhp vo in ra tn
Dng File Edit Search Run Compile Debug Project Option Window Help
1 /* Chuong trinh nhap va in ra ten*/
2
3 #include <stdio.h>
4 #include <conio.h>
5
6 void main(void)
7 {
8 char cname[30];
9 printf("Cho biet ten cua ban: ");
10 scanf("%s", cname);
11 printf("Chao ban %s\n", cname);
12 getch();
13 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Cho biet ten cua ban: Minh Chy li chng trnh v th nhp tn: Mai Lan, Thanh Nhi
Chao ban Minh Quan st kt qu.
_
Lu : khng cn s dng ton t a ch & trong cname trong lnh scanf("%s",
fname), v bn thn fname l a ch.
Kt qu in ra mn hnh
Cho biet ten cua ban: Mai Lan Chy li chng trnh vo th nhp tn: Doan Trang
Chao ban Mai Lan Quan st kt qu.
_
Chiu di ti a ca chui khi to bng s k t + 1 (k t null). Vi chui chao c
chiu di l 9.
14. Vit chng trnh nhp vo mt chui gm cc ch ci (a -> z, A -> Z). Hy m xem
c bao nhiu nguyn m a, i, e, o, u.
15. Gi s s phng trong mt khch sn c cho bi hng s NUM_ROOM. Vit:
a. Mt khai bo dy thch hp theo di phng no cn trng.
b. Mt hm tm phng no cn trng.
c. Vit chng trnh n gin qun l phng khch sn theo dng mt trnh n
chn cng vic gm c 4 mc nh sau:
- Tm phng trng.
- Tr phng.
- Lit k nhng phng cn trng.
- Lit k nhng phng thu.
- Kt thc.
16. Vit chng trnh m t vn bn ca mt bc in tn. Nhp liu bao gm 1 hay
nhiu dng cha mt s t, mi t cch nhau khong trng. In ra ha n tnh tin vi mi t
gi 100 ng, ph tr thm 50 ng cho t di qu 8 k t. Ha n c dng sau:
So tu : 10
So tu co kich thuoc binh thuong : 8 x 100 = 800 dong
So tu co kch thuoc > 8 ki tu : 2 x 150 = 300 dong
Tong cong : 1100 dong
17. Vit chng thng k xem c bao nhiu ngi h "Ly", "Tran" trong 1 danh sch
cho trc. Nu khng c thng bo "Khng c nguoi nao thuoc ho .".
18. Vit chng trnh nhp vo 1 chui, sau chp sang chui khc mt chui con t
chui ban u c s k t ch nh.
V d: Chui ban u "Le Thuy Doan Trang". Nu s k t ch nh l 2 th chui ch
s l "Le"
19. Vit chng trnh nhp vo 1 chui, sau chp sang chui khc mt chui con t
chui ban u vi v tr bt u v s k t ch nh.
V d: Chui ban u "Le Thuy Doan Trang". Nu v tr ban u l 14 v s k t ch
nh l 5 th chui ch s l "Trang"
20. Vit chng trnh nhp vo 1 chui ngun, v d "Nguyen Minh Long", sau nhp
vo 1 chui con, v d "Minh", chng trnh s xc nh v tr bt u ca chui con v tr no
trong chui ngun. Kt qu in ra mn hnh nh sau:
- Chuoi nguon la : Nguyen Minh Long
- Chuoi con la : Minh
- Vi tri bat dau cua chuoi con la : 8
21. Vit chng thc hin cc yu cu sau:
- Nhp vo 1 chui bt k, v d : "Nguyen Minh Long
- Mun xa t v tr no, v d : 8
- Mun xa bao nhieu k t, v d : 5
Kt qu in ra man hinh:
- Chuoi nguon la : Nguyen Minh Long
- Chuoi sau khi xoa : Nguyen Long
Bi 9 :
CON TR
9.1 Mc tiu
Sau khi hon tt bi ny hc vin s hiu v vn dng cc kin thc k nng c bn sau:
- ngha, cch khai bo con tr
- S dng con tr trong mng, chui
- Truyn mng v chui gia cc hm qua con tr
- X l mng d dng qua con tr
9.2 Ni dung
a ch vng nh
2015
2016
2017 *px l ni dung ca px v *py l ni dung
1203 px
2018 ca py. Nn khi thc hin 2 php cng gn
2019 *px += 10 v *py += 10 th gi tr ca ix
1207 py
2020 s l 16 v gi tr iy s l 17.
2021
2022
9.2.3 Truyn a ch sang hm
V d 2:
Dng File Edit Search Run Compile Debug Project Option Window Help
1 /* Khoi tao 2 so */
2
3 #include <stdio.h>
4 #include <conio.h>
5
6 void init (int, int);
7
8 void main(void)
9 {
10 int ix, iy;
11 init(&ix, &iy);
12 printf("x = %d, y = %d\n", ix, iy);
13 getch();
14 }
15
16 void init(int *px, int *py)
17 {
18 *px = 3; //gan 3 cho noi dung cua px
19 *py = 5; //gan 5 cho noi dung cua py
20 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
x = 3, y = 5 Chy chng trnh v quan st kt qu.
_
iarray 245
12
246
iarray + 1 247
ptr 247 5
248
iarray + 2 249
6
250
iarray + 3 251
9
252
9.2.6 Con tr v chui
V d 5:
Dng File Edit Search Run Compile Debug Project Option Window Help
1 /* Chuong trinh nhap va in ra ten*/
2
3 #include <stdio.h>
4 #include <conio.h>
5
6 void main(void)
7 {
8 char *cgreeting = "Chao ban";
9 char cname[30];
10 puts("Cho biet ten cua ban: ");
11 gets(cname);
12 puts(cgreeting);
13 puts(cname);
14 getch();
15 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Cho biet ten cua ban: Chy chng trnh v quan st kt qu.
Minh
Chao ban
Minh
_
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 94
9.3 Bi tp
Lm li cc bi tp bi Mng v chui s dng bin con tr.
Bi 10 :
CC KIU D LIU T TO
10.1 Mc tiu
Sau khi hon tt bi ny hc vin s hiu v vn dng cc kin thc k nng c bn sau:
- ngha, cch khai structure, emum
- Nhp, xut structure.
- Khi to structure, enum
- Mt s k thut thao tc trn structure, enum
- Dng struct tham s cho hm.
10.2 Ni dung
10.2.1 Structure
i vi mng, ch c th lu nhiu thng tin c cng kiu d liu. Nhng vi structure ta c
th lu thng tin nh mt mng c nhiu kiu d liu khc nhau.
10.2.1.1 Khai bo kiu structure
V d 1: khai bo mt structure v thng tin nhn vin
t kha tn struct
struct nhanvien
{
Cc thnh int manv; cc phn t ca struct
phn c char hoten[30];
bc trong mc };
du chm phy kt thc struct
nhanvien int manv char hoten[30]
V d trn nh ngha kiu d liu mi c tn l struct nhanvin. Mi bin kiu ny gm 2
phn t: bin nguyn c tn l manv v bin chui c tn hoten.
struct phi vit bng ch thng
10.2.1.2 Cch khai bo bin c kiu structure
V d 2: struct nhanvien nv; hoc nhanvien nv;
Khai bo bin nv c kiu struct nhanvien
va to structure nhanvien va khai bo bin nv
struct nhanvien
{
int manv;
char hoten[30];
} nv;
10.2.1.3 Tham chiu cc phn t trong structure
nv manv hoten[30]
nv.manv nv.hoten
tham chiu n manv trong nv ta vit nh sau: nv.manv (l bin c kiu int)
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 100
i vi bin khai bo kiu con tr nhanvien *nv th tham chiu n phn t manv:
nv -> manv.
V d 3: Nhp v in danh sch nhn vin.
Dng File Edit Search Run Compile Debug Project Option Window Help
1 /* Danh sach nhan vien */
2
3 #include <stdio.h>
4 #include <conio.h>
5 #include <stdlib.h>
6
7 #define MAX 50
8
9 void main(void)
10 {
11 struct nhanvien
12 {
13 int manv;
14 char hoten[30];
15 };
16 nhanvien snv[MAX];
17 char ctam[10];
18 int i, in;
19 printf("Nhap vao so nhan vien: ");
20 gets(ctam);
21 in = atoi(ctam);
22
23 //Nhap danh sach nhan vien
24 for(i = 0; i < in; i++)
25 {
26 printf("Nhap vao ma nhan vien thu %d: ", i + 1);
27 gets(ctam);
28 snv[i].manv = atoi(ctam);
29 printf("Nhap vao ho ten: ");
30 gets(snv[i].hoten);
31 }
32
33 //in danh sach nhan vien
34 for(i = 0; i < in; i++)
35 printf("%5d %s\n", snv[i].manv, snv[i].hoten);
36 getch();
37 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao so nhan vien: 2 Chy v th li chng trnh vi d liu khc.
Nhap vao ma nhan vien thu 1: 123 Quan st kt qu.
Nhap vao ho ten: Le Thuy Doan Trang
Nhap vao ma nhan vien thu 2: 35
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 101
Kt qu in ra mn hnh
Nhap vao so nhan vien: 3 Chy v th li chng trnh vi d liu khc.
Nhap vao ma nhan vien thu 1: 123 Quan st kt qu.
Nhap vao ho ten: Le Thuy Doan Trang
Nhap vao ma nhan vien thu 2: 35
Nhap vao ho ten: Le Nguyen Tuan Anh
123 Le Thuy Doan Trang
35 Le Nguyen Tuan Anh
_
Kt qu in ra mn hnh
Nhap vao so nhan vien: 3 Chy v th li chng trnh vi d liu khc.
Nhap vao ma nhan vien thu 1: 123 Quan st kt qu.
Nhap vao ho ten: Le Thuy Doan Trang
Nhap vao ma nhan vien thu 2: 35
Nhap vao ho ten: Le Nguyen Tuan Anh
123 Le Thuy Doan Trang
35 Le Nguyen Tuan Anh
_
Bn lu rng khi truyn struct sang hm, khng to bn sao mng mi. V vy
struct truyn sang hm c dng tham bin. Ngha l gi tr ca cc phn t trong struct s
b nh hng nu c s thay i trn chng.
V d 7: Sa li v d 6, t dng 20 n dng 32 nh sau:
//Ham nhap tung nhan vien
nhanvien newnv()
{
nhanvien snv;
printf("Ma nhan vien: ");
gets(ctam);
snv.manv = atoi(ctam);
printf("Ho ten: ");
gets(snv.hoten);
return (snv);
}
cc gi tr lit k
cc gi tr c bc trong mc
Cc tn th (SUN, MON SAT) trong day s c nh s ln lt t 0 n 6 (SUN
l 1, MON l 2 SAT l 6). Nu bn mun bt u bng gi tr khc th gn gi tr mong mun
vo v tr k tip s tng ln 1.
enum phi vit bng ch thng
Bi 11 :
TP TIN
11.1 Mc tiu
Sau khi hon tt bi ny hc vin s hiu v vn dng cc kin thc k nng c bn sau:
- ngha ca vic s dng tp tin (file)
- M, ng file
- Ghi, c file s nguyn, mng, chui.
- Mt s hm x l tp tin.
11.2 Ni dung
Kt qu in ra mn hnh
Nhap vao so nhan vien: 2 Chy v th li chng trnh vi d liu khc.
Nhap vao ma nhan vien thu 1: 123 Quan st kt qu.
Nhap vao ho ten: Le Thuy Doan Trang
Nhap vao ma nhan vien thu 2: 35
Nhap vao ho ten: Le Nguyen Tuan Anh
123 Le Thuy Doan Trang
35 Le Nguyen Tuan Anh
_
Bi 12 :
QUY
12.1 Mc tiu
Sau khi hon tt bi ny hc vin s hiu v vn dng cc kin thc k nng c bn sau:
- ngha, phng php hot ng ca quy.
- C th thay vng lp bng quy.
12.2 Ni dung
Bt c mt hm no c th triu gi hm khc, nhng y mt hm no c th t
triu gi chnh mnh. Kiu hm nh th c gi l hm quy.
Phng php quy thng dng ph bin trong nhng ng dng m cch gii quyt c th
c th hin bng vic p dng lin tip cng gii php cho nhng tp hp con ca bi ton.
V d 1: tnh n!
n! = 1*2*3**(n-2)*(n-1)*n vi n >= 1 v 0! = 1.
Dng File Edit Search Run Compile Debug Project Option Window Help
1 /* Ham tinh giai thua */
2
3 #include <stdio.h>
4 #include <conio.h>
5
6 void main(void)
7 {
8 int in;
9 long giaithua(int);
10 printf("Nhap vao so n: ");
11 scanf("%d", &in);
12 printf("%d! = %ld.\n", in, giaithua(in));
13 getch();
14 }
15
16 long giaithua(int in)
17 {
18 int i;
19 long ltich = 1;
20 if (in == 0)
21 return (1L);
22 else
23 {
24 for (i = 1; i <= in; i++)
25 ltich *= i;
26 return (ltich);
27 }
28 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kt qu in ra mn hnh
Nhap vao so n: 5 Th li chng trnh vi s liu khc.
5! = 120.
_
Vi n! = 1*2*3**(n-2)*(n-1)*n,
ta vit li nh sau: (1*2*3**(n-2)*(n-1))*n = n*(n-1)! = n*(n-1)*(n-2)!
Ta vit li hm giaithua bng quy nh sau:
Dng File Edit Search Run Compile Debug Project Option Window Help
1 /* Ham tinh giai thua */
2
3 long giaithua(int in)
4 {
5 int i;
6 if (in == 0)
7 return (1L);
8 else
9 return (in * giaithua(in 1));
10 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
5! 5! =120
5 * 4! 5 * 4! = 120
4 * 3! 4 * 3! = 24
3 * 2! 3 * 2! = 6
2 * 1! 2 * 1! = 2
1 * 0! 1 * 0! = 1
Kt qu in ra mn hnh
Nhap vao so n: 10 Th li chng trnh vi s liu khc.
Fibonacci(10) = 55.
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 117
_
S dng quy hay vng lp
Phng php quy khng phi bao gi cng l gii php hu hiu nht.Gii php
vng lp c hiu qu v mt thi gian v vng nh. Cn vi quy mi ln gi quy my phi
dnh mt s vng nh tr cc tr, thng s v bin cc b. Do , quy tn nhiu vng nh,
thi gian truyn i mc, thit lp vng nh trung gian v tr v kt qu Nhng s dng
phng php quy trng chng trnh p mt hn vng lp v tnh thuyt phc ca n. iu
ct li khi thit t chng trnh phi lm th no hm quy c th chm dt thng qua iu
kin c bn.
12.3 Bi tp
1. Vit hm quy tnh tng n s nguyn dng u tin:
tong (n) = n + tong (n 1)
Bi 13 :
TRNH SON THO CA BORLAND C
BC c h thng menu nhiu cp. chn mt mc trong Menu bn n phm F10 (kch hot
Menu), dng cc phm mi tn di chuyn vt sng n mc mun chn n Enter hoc n phm c k
t i mu (phm chn nhanh mu ). C th chn nhanh mc menu trn thanh menu chnh bn n
t hp phm Alt + phm c k t mu . V d: n t hp phm Alt + F kch hot menu File.
13.1 M tp tin son tho mi
Chn menu File -> chn mc New -> to file son tho mi c tn mc nh l
NONAME00.CPP, NONAME01.CPP ty theo s ln mc New c chn.
13.2 Lu tp tin
Save File As
E:\BORLANDC\BIN\NONAME00.CPP OK
Files
..\
Cancel
<========================> Help
E:\BORLANDC\BIN\NONAME00.CPP
Directory 12:00am
+ Chn ng dn cn lu tp tin hp Files, chn ..\ tr v th mc cha th mc hin ti.
+ t tn tp tin hp Save File As
+ Chn OK
+ Hoc c th g [ a:][ng dn]<tn tp tin>, chn OK.
Dng phm TAB chuyn i vt sng gia cc mc trong hp thoi.
V d: mun lu tp tin c tn BT_IF1.CPP vo th mc D:\BAITAPC
+ Bn g vo hp Save File As D: -> Enter (OK), danh sch cc th mc, tp tin ca D hin th
hp Files, chn th mc BAITAPC hp Files, g tn BT_IF1.CPP vo hp Save File As, chn OK.
+ Hoc nu bn nh r ng dn, g vo hp Save File As D:\BAITAPC\BT_IF1, chn OK.
13.2.2 Nu l tp tin lu t nht 1 ln hoc c m bng lnh Open:
+ n F2 hoc chn menu File -> Save, ni dung tp tin hin hnh s c cp nht nu
c thay i.
+ Chn menu File -> Save As, xut hin hp thoi Save File As, thc hin cc bc nh
mc 2.1 (ngha l bn mun lu ni dung tp tin hin hnh vi ng dn, tn tp tin khc).
Name
D:\BAITAPC\*.CPP OK
Files
BT_IF1.CPP Replace
BT_FOR1.CPP
..\ Cancel
<========================> Help
D:\BAITAPC\*.CPP
BT_IF1.CPP 486 Oct 17, 2002 11:04am
+ Chn ng dn cn m tp tin hp Files, chn ..\ tr v th mc cha th mc hin ti.
+ Chn tp tin cn m hp Files.
+ Chn OK
+ Hoc c th g [ a:][ng dn]<tn tp tin>, chn OK.
V d: mun m tp tin c tn BT_IF1.CPP cha trong th mc D:\BAITAPC
+ Bn g vo hp Name D: -> Enter (OK), danh sch cc th mc, tp tin ca D hin th
hp Files, chn th mc BAITAPC hp Files, chn tp tin BT_IF1.CPP, chn OK.
+ Hoc bn c th g vo hp Name D:\BAITAPC\*.CPP hin th danh sch cc tp
tin c phn m rng CPP hp Files, chn tp tin BT_IF1.CPP, chn OK.
+ Hoc nu bn nh r ng dn, g vo hp Name D:\BAITAPC\BT_IF1.CPP, chn OK.
13.4 Cc phm, t hp phm thng dng
son tho
Alt F3 ng tp tin ti ca s hin hnh
F2 Lu tp tin hin hnh
F6 Chuyn i qua li gia cc ca s ang son tho
F5 Chuyn i ca s son tho maximize restore
Alt Backspace Phc hi li thao tc trc
Ctrl K H n / hin du khi
Ctrl Q F Tm kim
Ctrl L Lp li ln tm kim sau cng
Ctrl Q A Tm kim v thay th
Ctrl Q [, Xc nh cp ngoc bao 1 khi lnh
Ctrl Q ]
F1 Gi gip
Shift F1 Hin ca s gip theo mc
Hin ca s gip v hm, ton t tung ng
Ctrl F1
ti v tr con tr.
13.5 Ghi mt khi ra a
nh du chn khi bng cc phm thao tc trn khi. n t hp phm Ctrl - K - W, xut
hin hp thoi Write Block to File, thc hin cc bc nh lu tp tin.
13.6 Chn ni dung file t a vo v tr con tr
Di chuyn con tr n v tr cn chn ni dung, n t hp phm Ctrl - K - R, xut hin hp
thoi Read Block from File, thc hin cc bc nh m tp tin.
13.7 Tm kim vn bn trong ni dung son tho
n t hp phm Ctrl - Q - F hoc chn menu Search -> Find, hp thoi Find Text xut hin:
+ G ni dung cn tm vo hp Text to Find.
+ Nu cn nh du / b chn cc mc sau:
- Case-sensitive: phn bit ch hoa ch thng.
- Whole words only: tm vn bn ng ring mt t.
- Forward: Tm xui.
- Backward: Tm ngc.
+ Chn OK.
Khi tm xong, mun tm tip n t hp phm Ctrl - L hoc chn menu Search -> Search again.
13.8 Tm v thay th vn bn trong ni dung son tho
n t hp phm Ctrl - Q - A hoc chn menu Search -> Replace, hp thoi Find Text xut hin:
+ G ni dung cn thay th vo hp Text to Find.
+ G ni dung mi vo hp New Text.
+ Nu cn nh du /b chn cc mc sau:
- Case-sensitive: phn bit ch hoa ch thng.
- Whole words only: tm vn bn ng ring mt t.
- Forward: Tm xui.
- Backward: Tm ngc.
+ Chn OK thay th tng vn bn c tm thy, chn Change All thay th tt c.
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 122
13.9 Sa li c php
Khi bin dch chng trnh, nu thnh cng bn s nhn c thng bo t ca s Compile
(dng cui): Success: Press any key, ngc li l thng bo li Error: Press any key.
Nu l thng bo li, khi n phm bt k ca s Message xut hin cha danh sch cc li.
Thng bo li u tin c lm sng v dng c li trong chng trnh cng c lm sng.km
theo du cho bit trnh bin dch pht hin v tr li. Dng phm mi tn di chuyn n cc
thng bo li khc, bn s thy vt sng trong chng trnh cng s chuyn n dng cha li
tng ng. Nu bn Enter ti dng thng bo li no th con tr s chuyn vo ca s son tho
ti dng cha li tng ng.
V d: In ra "Hello".
File Edit Search Run Compile Debug Project Option Window Help
#include <stdio.h>
#include <conio.h>
void main(void)
{
printf("Hello";
gech();
}
Message
Compiling HELLO.CPP
Error HELLO.CPP 5: Function call missing )
Error HELLO.CPP 6: Function 'gech' should have a prototype
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Vt sng nm thng bo li u tin v dng cha li tng ng trong chng trnh cng c
lm sng: Li dng 5, khng ng ngoc hm printf.
13.10 Chy tng bc
13.10.1 Mi ln 1 bc
mi bc thc hin ta phi bn phm F7. Vi ln bm F7 u tin, dng u tin trong chng
trnh (dng main()) s c lm sng, dng c lm sng ny c gi l dng chun b thc hin, v
n s c thc hin ln bm phm F7 tip theo. Mi ln bm phm F7 dng ang uc lm sng s
c thc hin, sau tr v mu bnh thng, v ty theo ni dung ca dng m mt dng lnh tip
theo no s c lm sng chun b thc hin bc tip theo.
Ta cng c th dng phm F8 thay cho F7 vi nhng dng khng c li gi hm c khai bo
trong chng trnh. S khc nhau gia F7 v F8 ch xy ra khi dng c lm sng c li gi hm c
khai bo trong chng trnh.
Nh vy nh chy tng bc, ta c th d dng nm c cc li logic trong chng trnh.
13.10.2 Ti lp li qu trnh g ri
Bm Ctrl-F2 hoc vo menu Run chn Program reset. Khi b nh dng cho vic g ri s c
gii ta, khng c dng no c lm sng v kt thc qu trnh g ri.
Bi 14 :
CC H M
14.1 Khi nim
Cc ch s c bn ca mt h m l cc ch s dng biu din mi s trong h m y.
H m thng gp nht l h thp phn (h 16). Nhng do bn cht nh phn ca cc thit b
in t cho nn hu ht dng biu din d liu v cc php i s u thc hin bng h nh phn
(h 2). H bt phn (h 8) rt t dng v h thp phn (h 10) l h chng ta ang s dng biu
din mt con s no trong cuc sng hng ngy.
V d 1: H nh phn gm 2 ch s : 0, 1
H bt phn gm 8 ch s : 0, 1, 2, 3, 4, 5, 6, 7
H thp phn gm 10 ch s : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
H thp lc phn gm 16 ch s : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Cc ch s trong mt h m c sp xp theo quy tc: Bt k c s N nguyn dng
no, c N k hiu khc nhau biu din cc s trong h thng. Gi tr ca N k hiu ny c
sp xp t 0 n N-1.
V d 2: H nh phn c c s N = 2 : cc ch s c nh t 0..1
H bt phn c c s N = 8 : cc ch s c nh t 0..7
H thp phn c c s N = 10 : cc ch s c nh t 0..9
H thp lc phn c c s N = 16 : cc ch s c nh t 0..9, A..F
Do h thp lc phn c 16 ch s, m trong h thng ch vit ch biu din c 9 ch
s, v vy ngi ta chn cc k t A..F biu din 10..15 v n cng c xem nh 1 ch s
(A, BF) thay v phi vit 10, 1115 (2 ch s)
14.2 Quy tc
biu din mt s ca mt h m, ta dng ch s t gc di phi s .
011012 : biu th s nh phn.
0828 : biu th s bt phn.
2316 : biu th s thp lc phn.
i vi h thp phn ta c th ghi ch s hoc khng ghi (nhm hiu), v s thp phn l s
m ta s dng quen thuc hng ngy. Do , ta s dng cng thc sau chuyn i t cc h
m sang h thp phn (c s 10) :
trong ,
- b : l c s h m.
- a0an : l cc ch s trong mt h m.
- X : l s thuc mt h m c s b.
11 2 11 chia 2 = 5 d 1
1 5 2
5 chia 2 = 2 d 1
1 2 2
2 chia 2 = 1 d 0
0 1 2
1 0 1 chia 2 = 0 d 1
V d 6: X = 90
90 chia 2 = 2 d 0
90 2
45 chia 2 = 1 d 1
0 45 2
1 22 2 22 chia 2 = 0 d 0
0 11 2 11 chia 2 = 5 d 1
1 5 2
5 chia 2 = 2 d 1
1 2 2
0 1 2 2 chia 2 = 1 d 0
1 0 1 chia 2 = 0 d 1
1011010
Hanoi Aptech Computer Education Center
2 kt qu h nh phn 10110102
Gio trnh Lp trnh C cn bn Trang 126
V d 10: X = 88
88 8 88 chia 8 = 11 d 0
0 11 8 11 chia 8 = 1 d 3
3 1 8
1 chia 8 = 0 d 1
1 0
1308 kt qu h bt phn 1308
Chuyn i t h 10 sang h 16
V d 13: X = 3904
V d 14: X = 29
29 16 29 chia 16 = 1 d 13
13 1 16 S 13 tng ng
1 chia 16 = 0 d 1
1 0 trong h 16 l D
(xem bng (**))
1D16 kt qu h thp lc phn 1D16
Chuyn i t h 16 sang h 2
V d 17: X = B16 , chuyn sang h 2 ta tra trong bng (**)
X = 10112
Din gii : B16
10112 = 10112
Bi 15 :
BIU THC V PHP TON
15.1 Biu thc
L s phi hp ca nhng ton t v ton hng.
V d 1:
a+b
b = 1 + 5 * 2/i
a = 6 % (7 + 1)
x++ * 2/4 + 5 power(i, 2)
Ton hng s dng trong biu thc c th l hng s, bin, hm.
15.2 Php ton
Trong C c 4 nhm ton t chnh yu sau y:
15.2.1 Php ton s hc
+ : cng p dng trn tt c cc ton hng c kiu d liu char, int
: tr float, double (k c long, short, unsigned)
* : nhn
/ : chia
% : ly phn d p dng trn cc ton hng c kiu d liu char, int, long
* Th t u tin: o du +, ( ) *, / , % +,
V d 2:
10%4 = 2 (10 chia 4 d 2); 9%3 = 0 (9 chia 3 d 0)
3 * 5 + 4 = 19
6+2/23=4
7 + 2 * ((4 + 3) * 4 + 8) = 65
ch s dng cp ngoc () trong biu thc, cp ngoc n c thc hin theo th t
u tin t trong ra ngoi.
15.2.2 Php quan h
> : ln hn
>= : ln hn hoc bng
< : nh hn
<= : nh hn hoc bng
== : bng
!= : khc
* Th t u tin: > , >= , < , <= == , !=
Kt qu ca php ton quan h l s nguyn kiu int, bng 1 nu ng, bng 0 nu sai.
Php ton quan h ngoi ton hng c s dng l s cn c s dng vi kiu d liu char.
* Th t u tin gia ton t s hc v ton t quan h
Ton t s hc Ton t quan h
V d 3:
4 > 10 c gi tr 0 (sai)
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 129
4 >= 4 c gi tr 1 (ng)
3 == 5 c gi tr 0 (sai)
2 <= 1 c gi tr 0 (sai)
6 != 4 c gi tr 1 (ng)
63<4 c gi tr 1 (ng), tng ng (6 3) < 4
2 * 4 < 3 + 2 c gi tr 0 (sai), tng ng (2 * 4) < (3 + 2)
15.2.3 Php ton lun l
! : NOT (php ph nh)
&&: AND (php v)
|| : OR (php hoc)
* Th t u tin: ! && ||
V d 4:
!(2 <= 1) c gi tr 1 (ng)
5 && 10 c gi tr 1 (ng)
!6 c gi tr 0 (sai)
1 && 0 c gi tr 0 (sai)
1 || 0 c gi tr 1 (ng)
* Th t u tin gia cc ton t:
! Ton t s hc Ton t quan h && ||
a/bc 2 * b + 3 * (a c) a * (b + (c 4 * 3))
a+c/a c * (b / a) 5*a6/b
a%b (a * b) % c 5%b%c
2. Gi s x, y, z l bin kiu float vi x = 8.8, y = 3.5 v z = 5.2. Xc nh gi tr cc biu thc sau:
x+y+z z / (y + x) x/yz*y
5 * y + 6 * (x z) (z / y) + x 2.5 * x / z (y + 6)
x/z 2*y/3*z 5 * 6 / ((x + y ) / z)
x%z 2 * y / (3 * z) x / y*(6 + ((zy)+3.4))
3. Cho chng trnh C vi cc khai bo v khi to cc bin nh sau:
int i = 8, j = 5;
float x = 0.005, y = 0.01;
char c = 'c', d = 'd';
Hy xc nh gi tr tr v ca cc biu thc sau:
(3 * i 2 * j) % (4 * d c) c<d
2 * ((i / 4) + (6 * (j 3)) % (i + j 4)) x >= 0
(i 7 * j) % (c + 3 * d) / (x y) x<y
(i + j) * 1 j != 6
++i c == 99
i++ d != 100
i++ + 5 5 * (i + j + 1) > 'd'
++i + 5 (3 * x + y) == 0
j 2 * x + (y == 0)
j !(i < j)
j + i !(d == 100)
j 5 !(x < 0)
++x (i > 0) && (j < 6)
y-- (i > 0) !! (j < 5)
i >= j (x > y) && (i > 0) || (j < 5)
4. Cho chng trnh c cc khai bo bin v khi to nh sau:
int i = 8, j = 5, k;
float x = 0.005, y = 0.01, z;
char a, b, c = 'c', d = 'd';
Xc nh gi tr cc biu thc gn sau:
k = (i + j * 4) z=i/j i %= j
x = (x + y * 1.2) a=b=d i += (j 3)
i=j y =x k = (j = = 5) ? i : j
k = (x + y) x *= 2 k = (j > 5) ? i : j
k=c i /= j i += j *= i /= 2
i = j = 1.1 i += 2 a = (c < d) ? c : d
z=k=x z = (x >= 0) ? x : 0 i = (j > 0) ? j : 0
k=z=x z = (y >= 0) ? y : 0 i = (i*9*(3+(8*j/3)))
Bi 16 :
MT S HM CHUN THNG DNG
16.1.1 atof
double atof(const char *s); Phi khai bo math.h hoc stdlib.h
Chuyn i 1 chui sang gi tr double.
V d: float f;
char *str = "12345.67";
f = atof(str);
Kt qu f = 12345.67;
16.1.2 atoi
int atoi(const char *s); Phi khai bo stdlib.h
Chuyn i 1 chui sang gi tr int.
V d: int i;
char *str = "12345.67";
i = atoi(str);
Kt qu i = 12345
16.1.3 itoa
char *itoa(int value, char *string, int radix); Phi khai bo stdlib.h
Chuyn i s nguyn value sang chui string theo c s radix.
V d: int number = 12345;
char string[25];
itoa(number, string, 10); //chuyn i number sang chui theo c s 10
Kt qu string = "12345";
itoa(number, string, 2); //chuyn i number sang chui theo c s 2
Kt qu string = "11000000111001";
16.1.4 tolower
int tolower(int ch); Phi khai bo ctype.h
i ch hoa sang ch thng.
V d: int len, i;
char *string = "THIS IS A STRING";
len = strlen(string);
for (i = 0; i < len; i++)
string[i] = tolower(string[i]); //i t k t trong string thnh ch thng
16.1.5 toupper
int toupper(int ch); Phi khai bo ctype.h
i ch thng sang ch hoa.
V d: int len, i;
char *string = "this is a string";
len = strlen(string);
for (i = 0; i < len; i++)
string[i] = toupper(string[i]); //i t k t trong string thnh ch thng
16.2 Cc hm x l chui k t
16.2.1 strcat
char *strcat(char *dest, const char *src); Phi khai bo string.h
Thm chui src vo sau chui dest.
16.2.2 strcpy
char *strcpy(char *dest, const char *src); Phi khai bo string.h
Chp chui src vo dest.
V d: char destination[25];
char *blank = " ", *c = "C++", *borland = "Borland";
strcpy(destination, borland); //chp chui borland vo destination
strcat(destination, blank); //thm chui blank vo sau chui destination
strcat(destination, c); //thm chui c vo sau chui destination
16.2.3 strcmp
int *strcmp(const char *s1, const char *s2); Phi khai bo string.h
So snh chui s1 vi chui s2. Kt qu tr v:
< 0 nu s1 < s2
= 0 nu s1 = s2
> 0 nu s1 > s2
V d: char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "aaa";
strcmp(buf1, buf2); //kt qu tr v - 1
strcmp(buf1, buf3); //kt qu tr v 0
strcmp(buf2, buf3); //kt qu tr v 1
16.2.4 strcmpi
int *strcmp(const char *s1, const char *s2); Phi khai bo string.h
So snh chui s1 vi chui s2 khng phn bit ch hoa, ch thng. Kt qu tr v:
< 0 nu s1 < s2
= 0 nu s1 = s2
> 0 nu s1 > s2
V d: char *buf1 = "aaa", *buf2 = "AAA";
strcmp(buf1, buf2); //kt qu tr v 0
16.2.5 strlwr
char *strlwr(char *s); Phi khai bo string.h
Chuyn chui s sang ch thng
V d: char *s = "Borland C";
s = strlwr(s); //kt qu s = "borland c"
16.2.6 strupr
char *strupr(char *s); Phi khai bo string.h
Chuyn chui s sang ch hoa
V d: char *s = "Borland C";
s = strlwr(s); //kt qu s = "BORLAND C"
Hanoi Aptech Computer Education Center
Gio trnh Lp trnh C cn bn Trang 134
16.2.7 strlen
int strlen(const char *s); Phi khai bo string.h
Tr v di chui s.
V d: char *s = "Borland C";
int len_s;
len_s = strlen(s); //kt qu len_s = 9
16.3 Cc hm ton hc
16.3.1 abs
int abs(int x); Phi khai bo stblib.h
Cho gi tr tuyt i ca s nguyn x.
V d: int num = - 123;
num = abs(num); //kt qu num = 123
16.3.2 labs
long int labs(long int x); Phi khai bo stblib.h
Cho gi tr tuyt i ca s nguyn di x.
V d: int num = - 12345678L;
num = labs(num); //kt qu num = 12345678
16.3.3 rand
int rand(void); Phi khai bo stblib.h
Cho 1 gi tr ngu nhin t 0 n 32767
V d: int num;
randomize(); //dng hm ny khi u b s ngu nhin
num = rand(); //kt qu num = 1 con s trong khong 0..32767
16.3.4 random
int random(int num); Phi khai bo stblib.h
Cho 1 gi tr ngu nhin t 0 n 32767
V d: int n;
randomize();
n = random(100); //kt qu n = 1 con s trong khong 0..99
16.3.5 pow
double pow(double x, double y); Phi khai bo math.h
Tnh x m y
V d: double x = 2.0, y = 3.0, z;
z = pow(x, y); //kt qu z = 8.0
16.3.6 sqrt
double sqrt(double x); Phi khai bo math.h
Tnh cn bc 2 ca x.
V d: double x = 4.0, y;
y = sqrt(x); //kt qu y = 2.0
16.4.1 rewind
void rewind(FILE *stream); Phi khai bo stdio.h
a con tr v u file.
16.4.2 ftell
long ftell(FILE *stream); Phi khai bo stdio.h
Tr v v tr con tr file hin ti.
16.4.3 fseek
int fseek(FILE *stream, long offset, int whence); Phi khai bo stdio.h
Di chuyn con tr file n v tr mong mun
long offset: ch ra s byte k t v tr trc n v tr bt u c
int whence: ch ra im xut pht tnh offset gm cc gi tr sau: SEEK_SET
(u tp tin), SEEK_CUR (ti v tr con tr hin hnh), SEEK_END (cui tp tin).