Professional Documents
Culture Documents
BI 1 :
1.1
Smith
Nguyen
Studio.
MC LC
Trang 1
Mc tiu ................................................................................................................................ 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
BI 2 :
2.1
Mc tiu .............................................................................................................................. 12
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
BI 3 :
3.1
Mc tiu .............................................................................................................................. 18
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
BI 4 :
4.1
Mc tiu .............................................................................................................................. 21
4.2
Ni dung.............................................................................................................................. 21
Thanghv
Trang 2
Bi tp ................................................................................................................................. 25
BI 5 :
5.1
Mc tiu .............................................................................................................................. 26
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
BI 6 :
6.1
Mc tiu .............................................................................................................................. 51
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 :
7.1
HM ......................................................................................................... 65
Mc tiu .............................................................................................................................. 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
HanoiAptech Computer Education Center
Thanghv
Trang 3
Bi tp ................................................................................................................................. 71
BI 8 :
8.1
Mc tiu .............................................................................................................................. 72
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 :
9.1
CON TR ................................................................................................ 90
Mc tiu .............................................................................................................................. 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
Thanghv
Trang 4
Mc tiu .............................................................................................................................. 99
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
10.3
Bi tp ............................................................................................................................... 108
Bi tp ............................................................................................................................... 113
12.2
Ni dung............................................................................................................................ 114
12.3
Bi tp ............................................................................................................................... 117
Thanghv
Trang 5
13.6
13.7
13.8
13.9
14.2
Bi tp ............................................................................................................................... 130
Thanghv
Trang 6
Thanghv
Smith
Nguyen Studio.
Bi 1 :
Trang 7
Thanghv
1.2.1.3
Trang 8
Process
Output
# Bi tp
Xc nh Input, Process, Output ca 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.
HanoiAptech Computer Education Center
Thanghv
1.2.3.2
Trang 9
S dng lu (Flowchart)
Hnh ng (Activity)
D liu vo (Input)
X l (Process)
D liu ra (Output)
Quyt nh (Decision), s dng iu kin
Lung x l (Flow lines)
Gi CT con, hm (Procedure, Function)
Bt u, kt thc (Begin, End)
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
C ph, nc si
Gi tr a, b
Ha c ph vo nc si
Chia b cho a
B ng vo
Kt qu lng
Nghim x
Khuy u hn hp
Kt thc
Kt thc
C ph sn sng
Kt thc
HanoiAptech Computer Education Center
Thanghv
V d 9: Cng 2 s
Trang 10
V d 10: so snh 2 s
Bt u
Bt u
a, b
S a, S b
c=a+b
Khng
S a c bng
S b khng?
C
Kt thc
S a bng S b
S a khng bng S b
Bt u
im
Bt u
Khng
im >=0 v
im <=10 ?
Thng = 0 Lon
1 Lon
C
im hp l
im khng hp l
Kt thc
Thng = 24 Lon?
Bng
Bt u
Kt thc
S
V d 14: Kim tra tnh hp l ca im
S > 0 ?
Bt u
S dng
Khng
S < 0 ?
im
C
S m
Khng
S khng
Sai
im >=0 v
im <=10 ?
ng
Kt thc
HanoiAptech Computer Education Center
Kt thc
Thanghv
# Bi tp
Trang 11
Thanghv
Smith
Nguyen Studio.
Bi 2 :
Trang 12
Khi ng
1 []
NONAME00.CPP
Thanh Menu
Hp ng
Tn tp tin
S ca ca s
Hp ni rng ca s
Thanh trt dc
Thanh trt ngang
Thanh chc nng
1:1
Thanghv
2.2.1.2
Thot
Trang 13
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
2
3
4
5
6
7
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 :
9 Cc t include, stdio.h, void, main, printf phi vit bng ch thng.
9 Chui trong nhy kp cn in ra "Bn c th vit ch HOA, thng ty, ".
9 Kt thc cu lnh phi c du chm phy.
9 Kt thc tn hm khng c du chm phy hoc bt c du g.
9 Ghi ch phi t trong cp /* . */.
9 Thn hm phi c bao bi cp { }.
9 Cc cu lnh trong thn hm phi vit tht vo.
HanoiAptech Computer Education Center
Thanghv
Trang 14
Ctrl F9: Dch v chy chng trnh. Alt F5: Xem mn hnh kt qu.
) Kt qu in ra mn hnh
Bai hoc C dau tien.
_
dng bn va sa c thm \n, \n l k hiu xung dng s dng trong lnh printf. Sau y
l mt s k hiu khc.
+ Cc k t iu khin:
\n
\t
\r
\a
+ Cc k t c bit:
\\ : In ra du \
\" : In ra du "
\' : In ra du '
) 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
2
3
4
5
6
7
8
9
Alt - F9 Compile
F9 Make
F10 Menu
Thanghv
Trang 15
) 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.
V d 2
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao mot so: 15
So ban vua nhap la: 15.
_
Dng th 7: int i; l lnh khai bo, mu t i gi l tn bin. Bin l mt v tr trong b
nh dng lu tr gi tr no m chng trnh s ly s dng. Mi bin phi thuc mt kiu
d liu. Trong trng hp ny ta s dng bin i kiu s nguyn (integer) vit tt l int.
Dng th 9: scanf("%d", &i). S dng hm scanf nhn t ngi s dng mt tr no
. Hm scanf trn c 2 i mc. i mc "%d" c gi l chui nh dng, cho bit loi d
kin m ngi s dng s nhp vo. Chng hn, y phi nhp vo l s nguyn. i mc th 2
&i c du & i u gi l address operator, du & phi hp vi tn bin cho hm scanf bin em
tr g t bn phm lu vo bin i.
Dng th 10: printf("So ban vua nhap la: %d.\n", i);. Hm ny c 2 i mc. i mc
th nht l mt chui nh dng c cha chui vn bn So ban vua nhap la: v %d (k hiu khai
bo chuyn i dng thc) cho bit s nguyn s c in ra. i mc th 2 l i cho bit gi tr ly
t bin i in ra mn hnh.
Thanghv
2.2.2.3
V d 3
Trang 16
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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.
_
Dng th 12:
V d 4
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* Chuong trinh nhap vao ban kinh hinh tron. Tinh dien tich */
#include <stdio.h>
#include <conio.h>
#define PI
3.14
void main(void)
{
float fR;
printf("Nhap vao ban kinh hinh tron: ");
scanf("%f", &fR);
printf("Dien tich hinh tron: %.2f.\n", 2*PI*fR);
getch();
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
Thanghv
Trang 17
) 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;
Thanghv
Trang 18
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
T kha l t c ngha xc nh dng khai bo d liu, vit cu lnh Trong C c cc
t kha sau:
asm
const
else
for
interrupt
return
sizeof
void
volatile
break
continue
enum
goto
long
short
switch
while
typedef
static
near
huge
extern
default
case
union
struct
pascal
if
far
do
cdecl
unsigned
signed
register
int
float
double
char
) Cc t kha phi vit bng ch thng
3.2.2 Tn
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.
HanoiAptech Computer Education Center
Thanghv
TT
1
2
3
4
5
6
7
8
9
10
11
Kiu d liu
(Type)
unsigned char
char
enum
unsigned int
short int
int
unsigned long
long
float
double
long double
Trang 19
Kch thc
(Length)
1 byte
1 byte
2 bytes
2 bytes
2 bytes
2 bytes
4 bytes
4 bytes
4 bytes
8 bytes
10 bytes
Min gi tr
(Range)
0 n 255
128 n 127
32,768 n 32,767
0 n 65,535
32,768 n 32,767
32,768 n 32,767
0 n 4,294,967,295
2,147,483,648 n 2,147,483,647
3.4 * 1038 n 3.4 * 1038
1.7 * 10308 n 1.7 * 10308
3.4 * 104932 n 1.1 * 104932
3.2.4 Ghi ch
Trong khi lp trnh cn phi ghi ch gii thch cc bin, hng, thao tc x l gip cho
chng trnh r rng d hiu, d nh, d sa cha v ngi khc c vo d hiu. Trong C c
cc ghi ch sau: // hoc /* ni dung ghi ch */
V d 3 :
void main()
{
int a, b;
//khai bao bien t kieu int
a = 1;
//gan 1 cho a
b =3;
//gan 3 cho b
/* thuat toan tim so lon nhat la
neu a lon hon b thi a lon nhat
nguoc lai b lon nhat */
if (a > b) printf("max: %d", a);
else printf("max: %d", b);
}
Khi bin dch chng trnh, C gp cp du ghi ch s khng dch ra ngn ng my.
Tm li, i vi ghi ch dng // dng ghi ch mt hng v dng /* . */ c th ghi ch
mt hng hoc nhiu hng.
3.2.5 Khai bo bin
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
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
Smith
Nguyen Studio.
Bi 4 :
Trang 21
Trang 22
) Kt qu in ra mn hnh
Bai hoc C dau tien.
_
) Kt qu in ra mn hnh
Ma dinh dang \" in ra dau ".
_
V d 3:
gi s bin i c gi tr = 5
xut gi tr bin i
printf("So ban vua nhap la: %d . \n", i);
i mc l bin (kiu int)
k t iu khin
chui k t
m nh dng (kiu int)
) Kt qu in ra mn hnh
So ban vua nhap la: 5.
_
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
printf("Tong cua 2 so %5d va %3d la %1d . \n", a, b, a+b);
B rng trng
Trang 23
) Kt qu in ra mn hnh
7 va 4 la 11.
Tong cua 2 so
_
2 k t (mc d nh dng l 1)
3 k t
5 k t
V d 6:
sa li v d 5
printf("Tong cua 2 so %-5d va %-3d la %-1d . \n", a, b, a+b);
) 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
sa li v d 4
printf("Tong cua 2 so %02d va %02d la %04d . \n", a, b, a+b);
) Kt qu in ra mn hnh
Tong cua 2 so 07 va 04 la 0011.
_
thm 2 s 0 trc -> 4 k t
thm 1 s 0 trc -> 2 k t
thm 1 s 0 trc -> 2 k t
V d 8: gi s int a = 6, b = 1234, c = 62
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
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
165
_
1234
2
62
965
Trang 24
) Kt qu in ra mn hnh
6.40 1234.56 62.30
_
7 k t
) Kt qu in ra mn hnh
6.4 1234.6
165.0
2.0
_
62.3
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
165.00 2.00
_
62.34
965.00
4.2.2 Hm scanf
nh dng khi nhp liu.
C php
Trang 25
Smith
Nguyen Studio.
Bi 5 :
Trang 26
Lnh
Khi lnh
Lu
Vo
bthc lun l
Trang 27
Sai
ng
khi lnh
Ra
Ngn ng C
- 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);
c. M t bng lu
Trang 28
Bt u
Nhp a, b
max = a
b>a
Sai
ng
max = b
So lon nhat = max
Kt thc
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so a : 10
Nhap vao so b : 8
So lon nhat = 10.
_
Trang 29
Ngn ng C
- int ia, ib, itam;
- printf("Nhap vao so a: ");
scanf("%d", &ia);
- printf("Nhap vao so b: ");
scanf("%d", &ib);
- if (ia > ib)
{
itam = ia;
ia = ib;
ib = itam;
}
- printf("%d, %d\n", ia, ib);
c. M t bng lu
Bt u
Nhp a, b
a>b
Sai
ng
tam = a
a=b
b = tam
In a, b
Kt thc
Trang 30
scanf("%d", &ia);
printf("Nhap vao so b: ");
scanf("%d", &ib);
if (ia>ib)
{
itam = ia;
//hoan vi a va b
ia = ib;
ib = itam;
}
printf("%d, %d.\n", ia, ib);
getch();
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Cho chy li chng trnh v th li vi:
a = 1, b = 8
a = 2, b = 2
Quan st v nhn kt qu
Nhap vao so a : 10
Nhap vao so b : 8
8, 10
_
5.2.2.2
Dng 2 (if )
Sai
ng
khi lnh 1
khi lnh 2
Ra
Ngn ng C
Trang 31
Bt u
Nhp a, b
Sai
a= b
ng
a bang b
a khac b
Kt thc
/* 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 - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so a : 10
Nhap vao so b : 8
a khac b.
Hanoi Aptech Computer Education Center
Trang 32
Quan st v nhn xt kt qu
Ngn ng C
- Nu c >= a v c <= z th
c = c 32
in c ra mn hnh
Ngc li
in ra thng bo " K t bn va nhp l: c "
- char c;
- printf("Nhap vao 1 ki tu: ");
scanf("%c", &c);
- if (c >= 'a' && c <= 'z')
{
c = c 32;
printf("Ki tu hoa la: %c.\n", c);
};
else
printf("Ki tu ban vua nhap la: %c.\n", c);
c. M t bng lu
Bt u
Nhp c
c >= 'a' v c <= 'z'
Sai
ng
c = c 32
Ki tu hoa = c
Ki tu vua nhap = c
Kt thc
Trang 33
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Cho chy li chng trnh v th li vi:
c = '!', c = '2', c = 'A', c = 'u'
Quan st v nhn xt kt qu
Cu trc else if
Lu
Vo
BTLL 1
ng
Sai
BTLL 2
ng
Hanoi Aptech Computer Education Center
Sai
BTLL n-1
ng
Sai
Trang 34
Ngn ng C
- int ia, ib;
- printf("Nhap vao so a: ");
scanf("%d", &ia);
- printf("Nhap vao so b: ");
scanf("%d", &ib);
- if (ia > ib)
printf("a lon hon b.\n");
else if (ia < ib)
printf("a nho hon b.\n");
else
printf("a bang b.\n");
- Nhp vo gi tr b
- Nu a > b th
in ra thng bo "a ln hn b"
Ngc li Nu a < b th
in ra thng bo "a nh hn b"
Ngc li th
in ra thng bo "a bng b"
c. M t bng lu
Bt u
Nhp a, b
a>b
ng
"a lon hon b"
Sai
a<b
Sai
ng
"a nho hon b"
Kt thc
Trang 35
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so a : 5
Nhap vao so b : 7
a nho hon b
_
Ngn ng C
- char c;
- printf("Nhap vao 1 ki tu: ");
scanf("%c", &c);
- if (c >= 'a' && c <= 'z')
{
c = c 32;
printf("Ki tu hoa la: %c.\n", c);
};
else if(c >= 'A' && c <= 'Z')
{
c = c + 32;
printf("Ki tu thuong la: %c.\n", c);
Trang 36
};
else if(c >= '0' && c <= '9')
printf("Ki tu Ban vua nhap la so %c.\n", c);
else
printf("Ban da nhap ki tu %c.\n", c);
Sai
ng
c = c 32
Ki tu hoa = c
Sai
ng
c = c + 32
Ki tu thuong=c
ng
Ktu nhap la so c
Kt thc
Sai
Trang 37
};
else if(c >= 'A' && c <= 'Z')
//hoac if(c >= 65 && c <= 90)
{
c = c + 32;
//doi thanh chu thuong
printf("Ki tu thuong la: %c.\n", c);
};
else if(c >= '0' && c <= '9')
//hoac if(c >= 48 && c <= 57)
printf("Ki tu Ban vua nhap la so %c.\n", c);
else
printf("Ban da nhap ki tu %c.\n", c);
getch();
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao mot ki tu: g
Ki tu hoa la: G.
_
5.2.2.4
Cu trc if lng
if (n > 0)
if (a > b)
x = a;
else
x = b;
Mc d Bn vit lnh else thng hng vi if (n > 0), nhng lnh else y c hiu i km
vi if (a > b), v n nm gn vi if (a > b) nht v if (a > b) cha c else. d nhn v d hiu
hn Bn vit li nh sau:
if (n > 0)
if (a > b)
x = a;
else
x = b;
if (n > 0)
{
if (a > b)
x = a;
}
else
x = b;
Trang 38
Lu
Tng t 3 dng trn. Nhng trong mi khi lnh c th c mt (nhiu) cu trc if 3
dng trn.
V d 10: Vit chng trnh nhp vo im ca mt hc sinh. In ra xp loi hc tp ca hc
sinh . (Cch xp loi. Nu im >= 9, Xut sc. Nu im t 8 n cn 9, Gii. Nu im t 7 n
cn 8, Kh. Nu im t 6 n cn 7, TBKh. Nu im t 5 n cn 6, TBnh. Cn li l Yu).
a. Phc ha li gii
im s nhp vo nu hp l (0 <= im <= 10), bn tip tc cng vic xp loi, ngc
li thng bo "Nhp im khng hp l". Vic xp loi bn s dng cu trc else if.
b. M t quy trnh x l (gii thut)
Ngn ng t nhin
- Khai bo bin diem kiu s thc
- Nhp vo im s
Ngn ng C
- 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
printf("Ban nhap diem khong hop le.\n");
c. M t bng lu
Bt u
Nhp diem
diem >= 0
v diem <= 10
ng
diem >=9
Sai
Sai
diem >=8
ng
Hanoi Aptech Computer Education Center
ng
Sai
diem >=7
ng
Sai
diem >=6
Sai
Trang 39
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao diem so: 6.5
Xep loai = TBKha.
_
e. Bn thm v chng trnh
Hanoi Aptech Computer Education Center
Trang 40
Trong chng trnh trn cu trc else if c lng vo trong cu trc dng 2, trong
cu trc else if ta khng cn t trong khi v tt c cc if trong cu trc ny u c else, nn
else printf("Nhap diem khong hop le.\n") ng nhin l thuc v if (fdiem >= 0 && fdiem <=
10). Gi s trong cu trc else if khng c dng else printf("Xep loai = Yeu.\n") th khi dng
else printf("Nhap diem khong hop le.\n") s thuc v cu trc else if ch khng thuc v if
(fdiem >=0 && fdiem <= 10). i vi trng hp bn cn phi t cu trc else if vo trong
{}, th khi dng else printf("Nhap diem khong hop le.\n) s thuc v if (fdiem >= 0 &&
fdiem <= 10).
V d 11: Vit chng trnh nhp vo 3 s nguyn a, b, c. Tm v in ra s ln nht.
a. Phc ha li gii
Trc tin bn so nu a>b, m a>c th a ln nht, ngc li c ln nht, cn nu a<=b, m
c>b th b ln nht, ngc li c ln nht.
b. M t quy trnh x l (gii thut)
Ngn ng t nhin
- Khai bo 3 bin a, b, c kiu s nguyn
- Nhp vo s a
Ngn ng C
- 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);
- Nhp vo s b
- Nhp vo s c
- Nu a > b th
- Nu a > c th
a ln nht
Ngc li th
c ln nht
Ngc li
- Nu b > c th
b ln nht
Ngc li th
c ln nht
c. M t bng lu
Bt u
Nhp a, b, c
Sai
Sai
c ln nht
b>c
ng
a>b
ng
Sai
b ln nht
c ln nht
Kt thc
a>c
ng
a ln nht
Trang 41
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so a: 4
Nhap vao so b: 5
Nhap vao so c: 3
5 lon nhat.
_
C php lnh
Trang 42
case gi tr n : lnh n;
[break;]
}
Lu
Vo
Biu thc
...
= gi tr 1 ?
ng
lnh 1
C
break ?
Khng
= gi tr 2 ?
ng
lnh 2
C
break ?
Khng
= gi tr n ?
ng
lnh n
break ?
Khng
Ra
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 - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so 1, 2 hoc 3: 2
**
_
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
Trang 44
};
else
printf("Thang khong hop le.\n");
getch();
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Cho chy li chng trnh v th li vi:
thang = 7, thang = 1, thang = 13, thang = -4
Quan st v nhn xt kt qu
case gi tr n : lnh n;
break;
default
: lnh;
[break;]
}
Lu
Vo
Biu thc
...
= gi tr 1 ?
ng
lnh 1
break ?
Khng
= gi tr 2 ?
ng
lnh 2
Trang 45
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so 1, 2 hoc 3: 3
***
_
b. Bn thm v chng trnh
Hanoi Aptech Computer Education Center
Trang 46
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 - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao thang: 4
Quy 2.
_
Trang 47
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
-------------------------MAIN MENU
Hanoi Aptech Computer Education Center
-------------------------1. File
2. Edit
3. Search
Chon muc tuong ung: 1
-------------------------MENU FILE
-------------------------1. New
2. Open
Chon muc tuong ung: 2
Ban da chon chuc nang Open File
_
Trang 48
Quan st kt qu.
* Thm cc thnh phn sau vo chng trnh:
- Thm mc Save vo menu File.
- To menu Edit gm 4 chc nng: Copy,
Cut, Paste, Clear.
- To menu Search gm 2 chc nng: Find,
Replace.
Chy li chng trnh v th vi nhiu mc
chn khc nhau.
Quan st kt qu.
5.3 Bi tp
5.3.1 S dng lnh if
1. Vit li chng trnh v d 3, s dng cu trc if dng 2.
2. Vit li chng trnh v d 11, s dng cu trc if dng 1.
3. Vit li chng trnh v d 11, s dng cu trc if dng 2.
4. Vit chng trnh nhp vo s nguyn dng, in ra thng bo s chn hay l.
Hng dn: Nhp vo s nguyn dng x. Kim tra nu x chia chn cho hai th x l s
chn (hoc chia cho 2 d 0) ngc li l s l.
5. Vit chng trnh nhp vo 4 s nguyn. Tm v in ra s ln nht.
Hng dn: Ta c 4 s nguyn a, b, c, d. Tm 2 s nguyn ln nht x, y ca 2 cp (a, b)
v (c, d). Sau so snh 2 s nguyn x, y tm ra s nguyn ln nht.
6. Vit chng trnh gii phng trnh bc 2: ax2 + bx + c = 0, vi a, b, c nhp vo t
bn phm.
Hng dn: Nhp vo 3 bin a, b, c.
Tnh Delta = b*b - 4*a*c
Nu Delta < 0 th
Phng trnh v nghim
Ngc li
Nu Delta = 0 th
x1 = x2 = - b/(2*a)
Ngc li
x1 = (- b - sqrt(Delta))/(2*a)
x2 = (- b + sqrt(Delta))/(2*a)
Ht Nu
Ht Nu
7. Vit chng trnh nhp vo gi pht giy (hh:mm:ss). Cng thm s giy nhp vo
v in ra kt qu di dng hh:mm:ss.
Hng dn: Nhp vo gi pht giy vo 3 bin gio, phut, giay v nhp v giy cng thm
vo bin them:
Nu giay + them < 60 th
giay = giay + them
Ngc li
Hanoi Aptech Computer Education Center
Trang 49
Trang 50
18. Vit chng trnh nhp vo 3 s nguyn ri in ra mn hnh theo th t tng dn.
Smith
Nguyen Studio.
Bi 6 :
Trang 51
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
6.2.1 Lnh for
Vng lp xc nh thc hin lp li mt s ln xc nh ca mt (chui hnh ng)
C php lnh
for (biu thc 1; biu thc 2; biu thc 3)
khi lnh;
) t kha for phi vit bng ch thng
# Nu khi lnh bao gm t 2 lnh tr ln th phi t trong du { }
Lu
Vo
iu kin
Sai
ng
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 (;)
Trang 52
+ Nu biu thc 2 khng c, vng for c xem l lun lun ng. Mun thot khi
vng lp for phi dng mt trong 3 lnh break, goto hoc return.
+ Vi mi biu thc c th vit thnh mt dy biu thc con phn cch nhau bi du
phy. Khi cc biu thc con c xc nh t tri sang phi. Tnh ng sai ca dy biu thc
con trong biu thc th 2 c xc nh bi biu thc con cui cng.
+ Trong thn for (khi lnh) c th cha mt hoc nhiu cu trc iu khin khc.
+ Khi gp lnh break, cu trc lp su nht s thot ra.
+ Trong thn for c th dng lnh goto thot khi vng lp n v tr mong mun.
+ Trong thn for c th s dng return tr v mt hm no .
+ Trong thn for c th s dng lnh continue chuyn n u vng lp (b qua cc
cu lnh cn li trong thn).
V d 1: Vit chng trnh in ra cu "Vi du su dung vong lap for" 3 ln.
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Vi du su dung vong lap for.
Vi du su dung vong lap for.
Vi du su dung vong lap for.
_
) C du chm phy sau lnh for(i=1; i<=3; i++); cc lnh thuc vng lp for s
khng c thc hin.
V d 2: Vit chng trnh nhp vo 3 s nguyn. Tnh v in ra tng ca chng.
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 }
Trang 53
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so thu 1: 5
Nhap vao so thu 2: 4
Nhap vao so thu 3: 2
Tong: 11.
_
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Alt - F9 Compile
F9 Make
) Kt qu in ra mn hnh
Nhap vao so n : 5
Tong: 9.
_
F10 Menu
Trang 54
) 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
2
3
4
5
6
7
8
9
10
11
12
/* Doc vao 1 loat ktu tren ban phim. Ket thuc khi gap dau cham */
#include <stdio.h>
#define DAU_CHAM
'.'
void main(void)
{
char c;
for(; (c = getchar()) != DAU_CHAM; )
putchar(c);
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Bn thay cc dng t 10 n 11 bng cu lnh:
for(; (c = getchar()) != DAU_CHAM; putchar(c));
Chy li chng trnh, quan st v nhn xt kt qu.
a
a
4
4
.
_
1
2
3
4
5
6
7
8
/* Doc vao 1 loat ktu tren ban phim, dem so ktu nhap vao. Ket thuc khi gap dau cham */
#include <stdio.h>
#include <conio.h>
#define DAU_CHAM
'.'
void main(void)
Trang 55
9 {
char c;
10
int idem;
11
for(idem = 0; (c = getchar()) != DAU_CHAM; )
12
idem++;
13
printf("So ki tu: %d.\n", idem);
14
getch();
15
16 }
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
afser.
So ki tu: 5.
_
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* Doc vao 1 loat ktu tren ban phim, dem so ktu nhap vao. Ket thuc khi gap dau cham */
#include <stdio.h>
#include <conio.h>
#define DAU_CHAM
'.'
void main(void)
{
char c;
int idem = 0;
for(; ;)
{
c = getchar();
if (c == DAU_CHAM)
//nhap vao dau cham
break;
//thoat vong lap
idem++;
}
printf("So ki tu: %d.\n", idem);
getch();
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
afser.
So ki tu: 5.
_
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Trang 56
/* Nhap vao 1 day so nguyen tu ban phim den khi gap so 0 thi dung. In ra tong cac so
nguyen duong */
#include <stdio.h>
#include <conio.h>
void main(void)
{
int in, itong = 0;
for(; ;)
{
printf("Nhap vao 1 so nguyen: ");
scanf("%d", &in);
if (in < 0)
continue;
//in < 0 quay nguoc len dau vong lap
if (in == 0)
break;
//in = 0 thoat vong lap
itong += in;
}
printf("Tong: %d.\n", itong);
getch();
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao 1 so nguyen: -8
Nhap vao 1 so nguyen: 9
Nhap vao 1 so nguyen: -7
Nhap vao 1 so nguyen: 3
Nhap vao 1 so nguyen: 0
Tong: 12
_
Trang 57
Vo
Sai
biu thc
ng
khi lnh
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
2
3
4
5
6
7
8
9
10
11
12
13
14
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Vi du su dung vong lap while.
Vi du su dung vong lap while.
Vi du su dung vong lap while.
_
Trang 58
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Bn thay cc dng t 11 n 12 bng cu lnh:
while(is = is+i, i++ < in);
Chy li chng trnh, quan st v nhn xt kt qu.
Nhap vao so n : 5
Tong: 15.
_
khiEducation
lnh
Hanoi Aptech Computer
Center
ng
biu thc
) Thc hin
khi lnh
Trang 59
+ 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao password: 1123
Nhap vao password: 12346
Nhap vao password: 12345
1
2
3
4
5
6
7
8
void main(void)
{
9
10
11
12
13
14
15
16
17
18
19
20
21 }
Trang 60
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Bn li chng trnh vi s liu khc.
Nhap vao nam hien tai: 2002
Quan st, nh gi v nhn xt kt qu.
Nhap vao nam sinh: 1980
Ban 22 tuoi, chuc ban vui ve (:>
Ban co muon tiep tuc? (Y/N)
_ (nu g y hoc Y tip tc thc hin
chng trnh, ngc li g cc phm
khc chng trnh s thot)
6.2.6 Vng lp lng nhau
V d 18: V hnh ch nht c bng cc du '*'
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
) Kt qu in ra mn hnh
Hanoi Aptech Computer Education Center
Alt - F9 Compile
F9 Make
F10 Menu
Trang 61
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
0000000000
1111111111
2222222222
3333333333
4444444444
5555555555
6666666666
7777777777
8888888888
9999999999
_
Trang 62
- Khi gi vng lp while, dowhile, nu biu thc sai vng lp while s khng c
thc hin ln no nhng vng lp dowhile thc hin c 1 ln.
Trang 63
32. Vit chng trnh nhp vo N s nguyn, m xem c bao nhiu s m, bao nhiu s
dng v bao nhiu s khng.
Trang 64
Smith
Nguyen Studio.
Bi 7 :
Trang 65
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <conio.h>
// khai bao prototype
void line();
// ham in 1 dong dau
void line()
{
int i;
for(i = 0; i < 19; i++)
printf("*");
printf("\n");
}
void main(void)
{
line();
printf("* Minh hoa ve ham *");
line();
getch();
}
F1 Help
) Kt qu in ra mn hnh
*****************
* Minh hoa ve ham *
*****************
_
Hanoi Aptech Computer Education Center
Alt - F9 Compile
F9 Make
F10 Menu
Trang 66
Dng 8 n dng 14: nh ngha hm line, hm ny khng tr v gi tr, thc hin cng vic
in ra 19 du sao.
Dng 5: khai bo prototype, sau tn hm phi c du chm phy
Trong hm line c s dng bin i, bin i l bin cc b ch s dng c trong phm vi hm line.
Dng 18 v 20: gi thc hin hm line.
* Trnh t thc hin chng trnh
void main(void)
{
line();
printf("* Minh hoa ve ham *");
line();
getch();
}
void line()
{
int i;
for(i = 0; i < 19; i++)
printf("*");
printf("\n");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <conio.h>
// khai bao prototype
int power(int, int);
// ham tinh so mu
int power(int ix, int in)
{
int i, ip = 1;
for(i = 1; i <= in; i++)
ip *= ix;
return ip;
}
void main(void)
{
printf("2 mu 2 = %d.\n", power(2, 2));
printf("2 mu 3 = %d.\n", power(2, 3));
getch();
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
Trang 67
) Kt qu in ra mn hnh
2 mu 2 = 4.
2 mu 3 = 8.
_
truyn gi tr vo hm
gi thc hin hm power
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <conio.h>
// khai bao prototype
void time(int & , int &);
// ham doi phut thanh gio:phut
void time(int &ig, int &ip)
{
ig = ip / 60;
ip %= 60;
}
void main(void)
{
int igio, iphut;
17
18
19
20
21
22 }
Trang 68
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so phut: 185
03:05
_
truyn gi tr vo hm
iphut = 185
void main(void)
{
int igio, iphut;
printf("Nhap vao so phut : ");
scanf("%d", &iphut);
igio = #
gi thc hin hm time
time(igio, iphut);
}
7.2.2 Tham s dng tham bin v tham tr
V d 4:
void thamtri(int ix, int iy)
{
ix += 1; //cong ix them 1
iy += 1; //cong iy them 1
}
void thambien(int &ix, int &iy)
{
ix += 1; //cong ix them 1
iy += 1; //cong iy them 1
}
Kt qu in ra:
void main(void)
{
int ia = 5, ib = 5;
thamtri(ia, ib);
printf("a = %d, b = %d", ia, ib); a = 5, b = 5
thambien(ia, ib);
printf("a = %d, b = %d", ai, ib); a = 6, b = 6
}
Trang 69
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <stdio.h>
#include <conio.h>
// khai bao prototype
void oddeven();
void negative();
//khai bao bien toan cuc
int inum;
void main(void)
{
printf("Nhap vao 1 so nguyen : ");
scanf("%d", &inum);
oddeven();
negative();
getch();
}
// ham kiem tra chan le
void oddeven()
{
if (inum % 2)
printf("%d la so le.\n", inum);
else
printf("%d la so chan.\n", inum);
}
//ham kiem tra so am
void negative()
{
if (inum < 0)
printf("%d la so am.\n", inum);
else
printf("%d la so duong.\n", inum);
}
F1 Help
) 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
Alt - F9 Compile
F9 Make
F10 Menu
Trang 70
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <conio.h>
#define PI 3.14
// khai bao prototype
float area();
//khai bao bien toan cuc
float frad;
void main(void)
{
printf("Nhap vao ban kinh hinh cau : ");
scanf("%f", &frad);
printf("Dien tich hinh cau: %10.3f.\n", area());
getch();
}
// ham tinh dien tich hinh cau
float area()
{
return (4*PI*frad*frad);
}
F1 Help
) Kt qu in ra mn hnh
Alt - F9 Compile
F9 Make
F10 Menu
Trang 71
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <conio.h>
#define MAX(x, y) (x > y) ? x : y
void main(void)
{
float a = 4.5, b = 6.1;
printf("So lon nhat la: %5.2f.\n", MAX(a, b));
getch();
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) 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.
Trang 72
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
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
ia
ia[2]
Hanoi Aptech Computer Education Center
ia[7]
Trang 73
c d liu t mng
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao gia tri n: 3
Nhap vao phan tu thu 1: 7
Nhap vao phan tu thu 2: 3
Nhap vao phan tu thu 3: 6
Trung binh cong: 5.33
Trang 74
K thut Sentinal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 }
F1 Help
Trang 75
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao phan tu thu 1: 1.2
Nhap vao phan tu thu 2: 3
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.
8.2.1.7
Khi to mng
1
2
3
4
5
6
7
8
9
10
/* Nhap vao so tien va doi tien ra cac loai 50, 25, 10, 5, 1 */
#include <stdio.h>
#include <conio.h>
#define MAX 5
void main(void)
{
int itien[MAX] = {50, 25, 10, 5, 1}; //Khai bao va khoi tao mang voi 5 phan tu
int i , isotien, ito;
11
12
13
14
15
16
17
18
19
20 }
Trang 76
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Bn chy li chng trnh v th li vi s liu khc.
Quan st kt qu.
Trong v d trn gi s ta khai bo int itien[] = {50, 25, 10, 5, 1}. Khi trnh bin dch
s m s mc trong danh sch khi to v dng con s lm kch thc mng.
8.2.1.9
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
Trang 77
ia[3][2]
ia[1][5]
ia[4][8]
ia[3][2] l phn t ti hng 3 ct 2 trong mng 2 chiu xem nh l mt bin kiu int.
8.2.1.11 Nhp d liu cho mng 2 chiu
for (i = 0; i < 5; i++)
//vng for c gi tr i chy t 0 n 4 cho hng
for (ij = 0; ij < 10; ij++)
//vng for c gi tr ij chy t 0 n 9 cho ct
{
printf("Nhap vao phan tu ia[%d][%d]: ", i + 1, ij + 1);
scanf("%d", &ia[i][ij]);
}
* Th t nhp d liu vo mng 2 chiu
ia
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
8.2.1.12 c d liu t mng 2 chiu
V d 9 : in gi tr cc phn t mng 2 chiu ra mn hnh.
for (i = 0; i < 5; i++)
//vng for c gi tr i chy t 0 n 4 cho hng
{
for (ij = 0; ij < 10; ij++)
//vng for c gi tr ij chy t 0 n 9 cho ct
printf("%3d ", ia[i][ij]);
printf("\n");
//xung dng in hng k tip
}
V d 10 : Vit chng trnh nhp vo 1 ma trn s nguyn n x n. In ra ma trn va nhp
vo v ma trn theo th t ngc li.
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 }
Trang 78
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao cap ma tran: 2
Nhap vao phan tu ia[1][1]: 7
Nhap vao phan tu ia[1][2]: 4
Nhap vao phan tu ia[2][1]: 6
Nhap vao phan tu ia[2][2]: 15
7 4
6 15
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Trang 79
Alt - F9 Compile
F9 Make
) Kt qu in ra mn hnh
Bn sa li chng trnh in ra cha C, B
! !
! !
!!!!!
! !
! !
_
1
2
3
4
5
6
7
8
9
10
11
12
F10 Menu
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Trang 80
int i, imax;
imax = ia[0];
for (i = 1; i < in; i++)
if (imax < ia[i])
imax = ia[i];
return imax;
void main(void)
{
int ia[MAX];
int i = 0, inum;
do
{
printf("Nhap vao mot so: ");
scanf("%d", &ia[i]);
} while (ia[i++] != 0);
i--;
inum = max(ia, i);
printf("So lon nhat la: %d.\n", inum);
getch();
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao mot so: 12
Nhap vao mot so: 45
Nhap vao mot so: 3
Nhap vao mot so: 0
So lon nhat la: 45
_
) Bn lu rng khi truyn mng sang hm, khng to bn sao mng mi. V vy
mng truyn sang hm c dng tham bin. Ngha l gi tr ca cc phn t trong mng s b
nh hng nu c s thay i trn chng.
Hanoi Aptech Computer Education Center
Trang 81
V d 14 : Tm s ln nht ca 3 mng a, b, c
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
) Kt qu in ra mn hnh
Hanoi Aptech Computer Education Center
Alt - F9 Compile
F9 Make
F10 Menu
Trang 82
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* cong ma tran */
#include <stdio.h>
#include <conio.h>
#define MAX 20
//Khai bao prototype
void input(float);
void output(float);
void add(float, float, float);
float max(float);
//khai bao bien toan cuc
int in;
//ham tim so lon nhat trong mang 2 chieu
float max(float fa[][MAX])
{
float fmax;
fmax = fa[0][0];
//cho phan tu dau tien la max
for (int i = 0; i < in; i++)
for (int ij = 0; ij < in; ij++)
if (fmax < fa[i][ij])
//neu so dang xet > max
fmax = fa[i][ij];
//gan so nay cho max
return fmax;
//tra ve ket qua so lon nhat
}
//ham nhap lieu mang 2 chieu
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Trang 83
) Kt qu in ra mn hnh
Hanoi Aptech Computer Education Center
Alt - F9 Compile
F9 Make
F10 Menu
Trang 84
Ma tran a:
5.20 4.00
7.10 9.00
Ma tran b:
12.00 3.40
9.60 11.00
Ma tran c:
17.20 7.40
16.70 20.00
So lon nhat cua ma tran c la: 20.00
_
0
1
2
1*3+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
\0
K t kt thc chui
8.2.2.1
V d 17 : char cname[30];
Hanoi Aptech Computer Education Center
Trang 85
1
2
3
4
5
6
7
8
9
10
11
12
13
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Cho biet ten cua ban: Minh
Chao ban Minh
_
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Trang 86
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Cho biet ten cua ban:
Mai Lan
Chao ban
Mai Lan
_
Khi to chui
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Cho biet ten cua ban: Mai Lan
Chao ban Mai Lan
_
Mng chui
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 }
Trang 87
int ithang;
printf("Nhap vao thang (1-12): ");
scanf("%d", &ithang);
printf("%s.\n", cthang[ithang-1]);
getch();
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao thang (1-12): 2
February
_
8.3 Bi tp
1. Vit hm tm s ln nht, nh nht trong mt mng n s nguyn.
2. Vit hm sp xp tng dn, gim dn ca mt dy s cho trc.
3. Vit hm tch tn v h lt t mt chui cho trc.
4. Vit hm ct b khong trng tha gia, hai u.
5. Vit hm chuyn i 1 chui sang ch thng v 1 hm chuyn i sang ch HOA.
6. Vit hm chuyn i 1 chui sang dng Title Case (k t u ca mi t l ch HOA,
cc k t cn li ch thng)
7. Vit chng trnh nhp vo 1 chui v in ra chui o ngc.
V d: Nhp vo chui "Lap trinh C can ban"
In ra "nab nac C hnirt paL"
8. Vit chng trnh nhp vo mt chui k t ri m xem trong chui c bao nhiu
ch 'th'.
9. Bit rng nm 0 l nm Canh thn (nm k nhau c chu k l 3, nm hp nhau c chu
k l 4). Hy vit chng trnh cho php g vo nm dng lch (v d 1997), xut ra nm m
lch (inh su) v cc nm k v hp.
C 12 chi: T, Su, Dn, Mo, Thn, T, Ng, Mi, Thn, Du, Tut, Hi.
C 10 can: Gip, t, Bnh, inh, Mu, K, Canh, Tn, Nhm, Qu.
10. Vit chng trnh nhp vo 3 ch s (305, 6, 28). Cho bit dng ch m t gi tr con
s . V d 305 -> ba trm l nm.
11. Vit chng trnh nhp vo mt chui sau in ra mn hnh mi dng l mt t. V
d chui "Lap trinh C". Kt qu in ra
Lap
trinh
C
12. Vit chng trnh nhp vo mt chui cc k t, k s, khong trng v du chm
cu. Cho bit chui trn gm bao nhiu t.
13. Vit chng trnh nhp vo mt chui k t. Kim tra xem chui c i xng
khng?
Hanoi Aptech Computer Education Center
Trang 88
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
Trang 89
Smith
Nguyen Studio.
Bi 9 :
Trang 90
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
9.2.1 Con tr?
Con tr dng truy cp bin thng qua a ch bin v chng trnh tham kho bin
gin tip qua a ch ny.
9.2.2 Khi bo bin con tr
V d 1:
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* Cong hang so */
#include <stdio.h>
#include <conio.h>
void main(void)
{
int ix = 6, iy = 7;
int *px, *py;
printf("x = %d, y = %d\n", ix, iy);
px = &ix;
py = &iy;
*px += 10;
*py += 10;
printf("x = %d, y = %d\n", ix, iy);
getch();
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
x = 6, y = 7
x = 16, y = 17
_
Trang 91
iy (dng 11 v 12),v vy khi ni dung ca bin con tr *px v *py thay i th ni dung ca
ix, iy cng thay i theo.
a ch vng nh
1203
1204
1205
1206
1207
1208
1209
1210
a ch vng nh
2015
2016
2017
2018
2019
2020
2021
2022
ix
iy
1203
px
1207
py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* Khoi tao 2 so */
#include <stdio.h>
#include <conio.h>
void init (int, int);
void main(void)
{
int ix, iy;
init(&ix, &iy);
printf("x = %d, y = %d\n", ix, iy);
getch();
}
void init(int *px, int *py)
{
*px = 3;
//gan 3 cho noi dung cua px
*py = 5;
//gan 5 cho noi dung cua py
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
Trang 92
) Kt qu in ra mn hnh
x = 3, y = 5
_
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Alt - F9 Compile
) Kt qu in ra mn hnh
12 15 16 19
_
F9 Make
F10 Menu
Trang 93
iarray + 1
247
iarray + 2
iarray + 3
245
246
247
248
249
250
251
252
12
5
6
9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Alt - F9 Compile
) Kt qu in ra mn hnh
Cho biet ten cua ban:
Minh
Chao ban
Minh
_
F9 Make
F10 Menu
Trang 94
cgreeting l bin con tr c khi to bng pht biu char *cgreeting = "Chao ban" thay
v char cgreeting[] = "Chao ban". C hai cch u cho cng kt qu v u dnh s byte cho
chui km theo k t null. i vi mng a ch ca k t u tin ca mng s l tn mng, cn
con tr s c thm bin con tr tr n tn cgreeting.
cgreeting
1502
1502
1503
cgreeting
1502
1503
1504
1504
1505
1505
1506
1506
1507
1507
1508
1508
1509
1509
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao thang (1-12): 2
February
_
Trang 95
cthang[0]
cthang[1]
cthang[2]
cthang[3]
cthang[4]
cthang[5]
cthang[6]
cthang[7]
cthang[8]
cthang[9]
cthang[10]
cthang[11]
0
J
F
M
A
M
J
J
A
S
O
N
D
1
a
e
a
p
a
u
u
u
e
c
o
e
2
n
b
r
r
y
n
l
g
p
t
v
c
3
u
r
c
i
\0
e
y
u
t
o
e
e
4
a
u
h
l
5
r
a
\0
\0
6
y
r
7
\0
y
\0
\0
s
e
b
m
m
t
m
e
b
b
\0
b
r
e
e
e
\0
r
r
\0
\0
\0
\0
1010
1018
1027
1033
1039
1043
1048
1053
1060
1070
1078
1087
1010 J
1018 F
1027 M
1033 A
1039 M
1043 J
1048 J
1053 A
1060 S
1070 O
1078 N
1087 D
a
e
a
p
a
u
u
u
e
c
o
e
n
b
r
r
y
n
l
g
p
t
v
c
u
r
c
i
\0
e
y
u
t
o
e
e
a
u
h
l
r
a
\0
\0
y
r
\0
y
\0
\0
s
e
b
m
m
t
m
e
b
b
\0
b
r
e
e
e
\0
r
r
\0
\0
\0
\0
1
2
3
4
5
6
7
/* Nhap danh sach ten va sap xep theo thu tu tang dan*/
#include <stdio.h>
#include <conio.h>
#inlcude <string.h>
#define MAXNUM 5
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#define MAXLEN 10
Trang 96
void main(void)
{
char cname[MAXNUM][MAXLEN];
char *cptr[MAXNUM];
char *ctemp;
int i, ij, icount = 0;
//mang chuoi
//mang con tro tro den chuoi
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao ten nguoi thu 1: Minh
Nhap vao ten nguoi thu 2: Lan
Nhap vao ten nguoi thu 3: Anh
Nhap vao ten nguoi thu 4: Trang
Nhap vao ten nguoi thu 5: Quan
Danh sach sau khi sap xep:
Ten nguoi thu 1: Anh
Ten nguoi thu 2: Lan
Ten nguoi thu 3: Minh
Ten nguoi thu 4: Quan
Ten nguoi thu 5: Trang
_
Hanoi Aptech Computer Education Center
Trang 97
1010
1016
1022
1028
1034
1010
1016
1022
1028
1034
M
L
A
T
Q
i
a
n
r
u
n
n
h
a
a
h
\0
\0
n
n
\0
g
\0
\0
1022
1016
1010
1034
1028
1010
1016
1022
1028
1034
M
L
A
T
Q
i
a
n
r
u
n
n
h
a
a
h
\0
\0
n
n
\0
g
\0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* In ma trn*/
#include <stdio.h>
#include <conio.h>
#define ROWS 4
#define COLS 5
void main(void)
{
int itable[ROWS][COLS] =
\0
Trang 98
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
20
21
30
31
_
22
23
32
33
24
25
34
35
26
27
36
37
28
29
38
39
Smith
Nguyen Studio.
Bi 10 :
Trang 99
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]
manv
nv.manv
hoten[30]
nv.hoten
tham chiu n manv trong nv ta vit nh sau: nv.manv (l bin c kiu int)
Hanoi Aptech Computer Education Center
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so nhan vien: 2
Nhap vao ma nhan vien thu 1: 123
Nhap vao ho ten: Le Thuy Doan Trang
Nhap vao ma nhan vien thu 2: 35
Hanoi Aptech Computer Education Center
Trang 101
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao bien so xe: 62F5-1152
Xe dang ki o tinh Long An
_
) Dng 22 i chui sang s nguyn, v d trn sau khi dng ny thc hin gi tr
ca in = 62.
Hanoi Aptech Computer Education Center
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Trang 102
44
45
46
47
48
49
50 }
Trang 103
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so nhan vien: 3
Nhap vao ma nhan vien thu 1: 123
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
_
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Trang 104
char ctam[10];
for(int i = 0; i < in; i++)
{
printf("Nhap vao ma nhan vien thu %d: ", i + 1);
gets(ctam);
snv[i].manv = atoi(ctam);
printf("Nhap vao ho ten: ");
gets(snv[i].hoten);
}
}
//Ham in danh sach ra man hinh
void output(nhanvien snv[], int in)
{
for(i = 0; i < in; i++)
printf("%5d %s\n", snv[i].manv, snv[i].hoten);
}
void main(void)
{
nhanvien snv[MAX];
char ctam[10];
int i, in;
printf("Nhap vao so nhan vien: ");
gets(ctam);
in = atoi(ctam);
input(snv, in);
output(snv, in);
getch();
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so nhan vien: 3
Nhap vao ma nhan vien thu 1: 123
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
_
Trang 105
) 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);
}
//Ham nhap danh sach nhan vien
void input(nhanvien snv[], int in)
{
for(int i = 0; i < in; i++)
{
printf("Nhap vao nhan vien thu %d: ", i + 1);
snv[i] = newnv();
}
}
Trang 106
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Trang 107
break;
case CHU_NHAT:
fLuongNgay = fLuongCB * PHU_TROI_CN;
break;
}
fTongLuong += fLuongNgay * igio;
} while (ngay != CHU_NHAT);
printf("Tong luong tuan = %8.2f dong.\n", fTongLuong);
getch();
}
//ham chon ngay ke tiep
ngay_tuan ngay_mai(ngay_tuan en)
{
ngay_tuan engay_ke;
switch(en)
{
case CHU_NHAT : engay_ke = THU_HAI;
case THU_HAI : engay_ke = THU_BA;
case THU_BA
: engay_ke = THU_TU;
case THU_TU
: engay_ke = THU_NAM;
case THU_NAM : engay_ke = THU_SAU;
case THU_SAU : engay_ke = THU_BAY;
case THU_BAY : engay_ke = CHU_NHAT;
}
return (engay_ke);
}
F1 Help
break;
break;
break;
break;
break;
break;
break;
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao luong can ban: 250
Nhap vao so gio lam viec tu Thu hai den Chu nhat:
Nhap vao gio lam viec ngay Thu Hai: 7
Nhap vao gio lam viec ngay Thu Ba: 8
Nhap vao gio lam viec ngay Thu Tu: 6
Nhap vao gio lam viec ngay Thu Nam: 7
Nhap vao gio lam viec ngay Thu Sau: 8
Nhap vao gio lam viec ngay Thu Bay: 7
Nhap vao gio lam viec ngay Chu Nhat: 6
Tong luong tuan = 14625.00 dong.
_
10.3 Bi tp
Trang 108
Smith
Nguyen Studio.
Bi 11 :
Trang 109
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
11.2.1 V d ghi, c s nguyn
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//mo file
//ghi file
//dong file
Trang 110
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so n: 10
1 2 3 4 5 6 7 8 9 10
_
) T kha FILE phi vit bng ch in hoa. S dng fopen, fwrite, fread, fclose phi
khai bo #include <stdio.h>, NULL phi vit hoa.
11.2.2 Ghi, c mng
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 }
Trang 111
f = fopen("array.dat", "rb");
fread(ib, sizeof(ib), 1, f);
for (i = 0; i < 10; i++)
printf("%d ", ib[i]);
fclose(f);
getch();
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao mot so: 3
Nhap vao mot so: 6
Nhap vao mot so: 8
Nhap vao mot so: 1
Nhap vao mot so: 9
3 6 8 1 9
_
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 }
Trang 112
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so nhan vien: 2
Nhap vao ma nhan vien thu 1: 123
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
_
11.3 Bi tp
Trang 113
Smith
Nguyen Studio.
Bi 12 :
Trang 114
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Alt - F9 Compile
F9 Make
F10 Menu
Trang 115
) Kt qu in ra mn hnh
Nhap vao so n: 5
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
2
3
4
5
6
7
8
9
10
Alt - F9 Compile
F9 Make
F10 Menu
2 * giaithua(1) = 2 *
1 =
3 * giaithua(2) = 3 *
2 =
4 * giaithua(3) = 4 *
6 =
24
5 * giaithua(4) = 5 * 24 = 120
Trang 116
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
Th t gi quy
nh tr theo th t ngc li
V d 2: Dy s Fibonacci
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, Bt u bng 0 v 1, cc s tip theo bng tng hai s i trc.
Dy Fibonacci c khai bo quy nh sau:
Fibonacci(0) = 0
Fibonacci(1) = 1
Fibonacci(n) = Fibonacci(n 1) + Fibonacci(n 2)
Dng File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Alt - F9 Compile
) Kt qu in ra mn hnh
Nhap vao so n: 10
Fibonacci(10) = 55.
F9 Make
F10 Menu
Trang 117
Smith
Nguyen Studio.
Bi 13 :
Trang 118
OK
Files
..\
Cancel
<========================>
E:\BORLANDC\BIN\NONAME00.CPP
Directory
Help
12:00am
Trang 119
D:\BAITAPC\*.CPP
OK
Files
BT_IF1.CPP
Replace
BT_FOR1.CPP
..\
Cancel
<========================>
Help
D:\BAITAPC\*.CPP
BT_IF1.CPP
11:04am
Home
End
PgUp (Page Up)
PgDn (Page Down)
Ctrl PgUp
Ctrl PgDn
Chc nng
Di chuyn con tr sang tri mt k t
Di chuyn con tr sang phi mt k t
Di chuyn con tr ln trn mt dng
Di chuyn con tr xung di mt dng
Di chuyn con tr v u dng
Di chuyn con tr v cui dng
Lt li li mt trang mn hnh
Lt ti mt trang mn hnh
Di chuyn con tr v u tp tin
Di chuyn con tr v cui tp tin
Backspace ()
Del (Delete)
Ins (Insert)
Enter
Trang 120
Xa mt k t bn tri con tr
Xa mt k t ti v tr con tr
Chuyn i gia ch ghi chn v ghi
Xung mt dng
Chc nng
nh du chn mt k t bn phi
nh du chn mt k t bn tri
nh du chn mt hng trn v tr con tr
nh du chn mt hng ti v tr con tr
nh du chn t u hng n v tr con tr
nh du chn t v tr con tr n cui hng
nh du chn mt trang lui mn hnh
nh du chn mt trang ti mn hnh
nh du chn mt t bn tri
nh du chn mt t bn phi
nh du chn t v tr con tr n cui tp tin
nh du chn t v tr con tr n u tp tin
13.4.3 Cc thao tc xa
Phm
Backspace ()
Del (Delete)
Ctrl Y
Ctr K Y
Ctrl Q Y
Ctrl T
Insert
Chc nng
Xa mt k t bn tri con tr
Xa mt k t ti v tr con tr
Xa dng ti v tr con tr
Xa khi
Xa t v tr con tr n cui dng
Xa mt t ti v tr con tr
Bt / tt ch vit chn /
Chc nng
Sao chp khi chn vo Clipboard
Ct khi chn vo Clipboard
Xa khi chn
Dn thng tin t Clipboard vo v tr con tr
c thng tin t tp tin vo ca s son tho
Ghi thng tin t ca s son tho vo tp tin
Chc nng
To tp tin mi hoc np tp tin t a vo ca s
Alt F3
F2
F6
F5
Alt Backspace
Ctrl K H
Ctrl Q F
Ctrl L
Ctrl Q A
Ctrl Q [,
Ctrl Q ]
F1
Shift F1
Ctrl F1
Trang 121
son tho
ng tp tin ti ca s hin hnh
Lu tp tin hin hnh
Chuyn i qua li gia cc ca s ang son tho
Chuyn i ca s son tho maximize restore
Phc hi li thao tc trc
n / hin du khi
Tm kim
Lp li ln tm kim sau cng
Tm kim v thay th
Xc nh cp ngoc bao 1 khi lnh
Gi gip
Hin ca s gip theo mc
Hin ca s gip v hm, ton t tung ng
ti v tr con tr.
13.9 Sa li c php
Trang 122
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 - 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.
Trang 123
Smith
Nguyen Studio.
Bi 14 :
Trang 124
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.
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 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.
: biu th s thp lc phn.
2316
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.
Bng cc gi tr tng ng h thp phn, nh phn, bt phn, thp lc phn. (**)
Thp phn
0
1
2
3
4
5
Nh phn
0000
0001
0010
0011
0100
0101
Bt phn
0
1
2
3
4
5
Thp lc phn
0
1
2
3
4
5
Trang 125
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
6
7
10
11
12
13
14
15
16
17
6
7
8
9
A
B
C
D
E
F
V d 4:
X = 11
11
chia
chia
chia
chia
kt qu h nh phn
10112
V d 6:
11
X = 90
90
45
22
11
1
1
1011010
Hanoi Aptech Computer Education
Center
2
10112
90
chia
45
chia
22
chia
11
chia
chia
chia
chia
kt qu h nh phn
10110102
Trang 126
V d 8:
Chuyn i t h 10 sang h 8
V d 9:
1094
6
X = 1094
8
136
17
1094
chia
= 136
136
chia
17
17
chia
chia
kt qu h bt phn
21068
21068
V d 10: X = 88
88
11
1308
88
chia
11
11
chia
chia
kt qu h bt phn
1308
Trang 127
= 16 + 13
= 29
Chuyn i t h 10 sang h 16
V d 13: X = 3904
3904 16
0
3904
chia
16 = 244
244
chia
16 =
15
15
chia
16 =
244 16
4
15 16
15
F4016
d 15
kt qu h thp lc phn
F4016
29
chia
16 =
d 13
chia
16 =
S 15 tng ng
trong h 16 l F
(xem bng (**))
V d 14: X = 29
29 16
13
16
1D16
kt qu h thp lc phn
1D16
S 13 tng ng
trong h 16 l D
(xem bng (**))
Smith
Nguyen Studio.
Bi 15 :
Trang 128
*
/
%
:
:
:
:
:
cng
tr
nhn
chia
ly phn d
* 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
:
:
:
:
:
:
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
V d 3:
4 > 10
Ton t quan h
c gi tr 0 (sai)
4 >= 4
3 == 5
2 <= 1
6 != 4
63<4
2 * 4 < 3 + 2
Trang 129
c gi tr 1 (ng)
c gi tr 0 (sai)
c gi tr 0 (sai)
c gi tr 1 (ng)
c gi tr 1 (ng), tng ng (6 3) < 4
c gi tr 0 (sai), tng ng (2 * 4) < (3 + 2)
Ton hng b
Khc 0
Bng 0
Khc 0
Bng 0
* Th t u tin: ! &&
!a
0 (sai)
0 (sai)
1 (ng)
1 (ng)
a && b
1 (ng)
0 (sai)
0 (sai)
0 (sai)
a || b
1 (ng)
1 (ng)
1 (ng)
0 (sai)
||
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
&&
||
: v (AND)
: hoc (OR)
: hoc loi tr (XOR)
: dch phi
: dch tri
: o
Bit a
Bit b
0
0
1
0
0
1
1
1
~a
1
1
0
0
V d 5:
a = 13
i ra h nh phn
b = 10
i ra h nh phn
1101
1101
& 1010
| 1010
= 1000
= 1111
= 8
= 15
Hanoi Aptech Computer Education Center
a&b
0
0
0
1
a|b
0
1
1
1
a^b
0
1
1
0
1101
1010
1101
^ 1010
= 0111
= 7
Trang 130
1. Php ton gn
Php gn l thay th gi tr hin ti ca bin bng mt gi tr mi.
Cc php gn: =, +=, =, *=, /=, %=, <<=, >>=, &=, |=, ^=.
V d 6: ta c gi tr i = 3
i=i+3
i=6
i += 3
i=6i=i+3
i *= 3
i=9i=i*3
2. Php ton tng, gim: ++,
Ton t ++ s cng thm 1 vo ton hng ca n, ton t s tr i 1.
V d 7: ta c gi tr n = 6
+ Sau php tnh ++n hoc n++, ta c n = 7.
+ Sau php tnh n hoc n , ta c n = 5.
* S khc nhau gia ++n v n++, n v n
+ Sau php tnh x = ++n + 2, ta c x = 9. (n tng 1 cng vi 2 ri gn cho x)
+ Sau php tnh x = n++ + 2, ta c x = 8. (n cng vi 2 gn cho x ri mi tng 1)
15.2.6 u tin ca cc php ton
u tin
Cc php ton
Trnh t kt hp
Tri sang phi
( ) [ ] ->
1
Phi sang tri
! ~ & * ++ (type) sizeof
2
Tri sang phi
* / %
3
Tri
sang phi
+
4
Tri sang phi
<< >>
5
Tri sang phi
< <= > >=
6
Tri sang phi
== !=
7
Tri sang phi
&
8
Tri sang phi
^
9
Tri sang phi
|
10
Tri sang phi
&&
11
Tri sang phi
||
12
Phi sang tri
? :
13
Phi sang tri
= += = *= /= %= <<= >>= &= ^= |=
14
Tri sang phi
,
15
Lu :
- Php o () dng 2, php tr () dng 4
- Php ly a ch (&) dng 2, php AND bit (&) dng 8
- Php ly i tng con tr (*) dng 2, php nhn (*) dng 3.
15.3 Bi tp
1. Gi s a, b, c l bin kiu int vi a = 8, b = 3 v c = 5. Xc nh gi tr cc biu thc sau:
a+b+c
a%c*2
a * (a % b)
a/bc
a+c/a
a%b
Trang 131
2 * b + 3 * (a c)
c * (b / a)
(a * b) % c
a * (b + (c 4 * 3))
5*a6/b
5%b%c
z / (y + x)
(z / y) + x
2*y/3*z
2 * y / (3 * z)
x/yz*y
2.5 * x / z (y + 6)
5 * 6 / ((x + y ) / z)
x / y*(6 + ((zy)+3.4))
z=i/j
a=b=d
y =x
x *= 2
i /= j
i += 2
z = (x >= 0) ? x : 0
z = (y >= 0) ? y : 0
i %= j
i += (j 3)
k = (j = = 5) ? i : j
k = (j > 5) ? i : j
i += j *= i /= 2
a = (c < d) ? c : d
i = (j > 0) ? j : 0
i = (i*9*(3+(8*j/3)))
Smith
Nguyen Studio.
Bi 16 :
Trang 132
Trang 133
16.2 Cc hm x l chui k t
16.2.1 strcat
char *strcat(char *dest, const char *src);
16.2.6 strupr
char *strupr(char *s);
Chuyn chui s sang ch hoa
V d: char *s = "Borland C";
s = strlwr(s);
Hanoi Aptech Computer Education Center
16.2.7 strlen
Trang 134
//kt qu len_s = 9
16.3 Cc hm ton hc
16.3.1 abs
int abs(int x);
//kt qu z = 8.0
16.3.6 sqrt
double sqrt(double x);
Tnh cn bc 2 ca x.
V d: double x = 4.0, y;
y = sqrt(x);
//kt qu y = 2.0
16.4 Cc hm x l file
Trang 135
16.4.1 rewind
void rewind(FILE *stream);
a con tr v u file.
16.4.2 ftell
long ftell(FILE *stream);