Professional Documents
Culture Documents
MC LC
BI 1 :
1.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
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................................................................................................................................. 47
5.3.1 S dng lnh if ............................................................................................................... 47
5.3.2 S dng lnh switch ....................................................................................................... 48
5.4
Bi tp lm thm................................................................................................................ 49
BI 6 :
6.1
Mc tiu .............................................................................................................................. 50
6.2
Ni dung.............................................................................................................................. 50
6.2.1 Lnh for........................................................................................................................... 50
6.2.2 Lnh break...................................................................................................................... 55
6.2.3 Lnh continue................................................................................................................. 55
6.2.4 Lnh while....................................................................................................................... 55
6.2.5 Lnh dowhile .............................................................................................................. 57
6.2.6 Vng lp lng nhau ........................................................................................................ 59
6.2.7 So snh s khc nhau ca cc vng lp ....................................................................... 60
6.3
Bi tp................................................................................................................................. 60
BI 7 :
7.1
HM.........................................................................................................63
Mc tiu .............................................................................................................................. 63
7.2
Ni dung.............................................................................................................................. 63
7.2.1 Cc v d v hm............................................................................................................ 63
7.2.2 Tham s dng tham bin v tham tr........................................................................... 66
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 3
Bi tp................................................................................................................................. 69
BI 8 :
8.1
Mc tiu .............................................................................................................................. 70
8.2
Ni dung.............................................................................................................................. 70
8.2.1 Mng................................................................................................................................ 70
8.2.1.1 Cch khai bo mng............................................................................................... 70
8.2.1.2 Tham chiu n tng phn t mng .................................................................... 70
8.2.1.3 Nhp d liu cho mng .......................................................................................... 71
8.2.1.4 c d liu t mng ............................................................................................... 71
8.2.1.5 S dng bin kiu khc.......................................................................................... 72
8.2.1.6 K thut Sentinal.................................................................................................... 72
8.2.1.7 Khi to mng......................................................................................................... 73
8.2.1.8 Khi to mng khng bao hm kch thc.......................................................... 74
8.2.1.9 Mng nhiu chiu ................................................................................................... 74
8.2.1.10 Tham chiu n tng phn t mng 2 chiu ....................................................... 74
8.2.1.11 Nhp d liu cho mng 2 chiu ............................................................................. 75
8.2.1.12 c d liu t mng 2 chiu .................................................................................. 75
8.2.1.13 S dng bin kiu khc trong mng 2 chiu........................................................ 76
8.2.1.14 Khi to mng 2 chiu ........................................................................................... 76
8.2.1.15 Dng mng 1 chiu lm tham s cho hm ........................................................... 77
8.2.1.16 Dng mng 2 chiu lm tham s cho hm ........................................................... 80
8.2.2 Chui ............................................................................................................................... 82
8.2.2.1 Cch khai bo chui ............................................................................................... 82
8.2.2.2 Hm nhp (gets), xut (puts) chui....................................................................... 83
8.2.2.3 Khi to chui......................................................................................................... 84
8.2.2.4 Mng chui.............................................................................................................. 84
8.3
Bi tp................................................................................................................................. 85
BI 9 :
9.1
CON TR ................................................................................................87
Mc tiu .............................................................................................................................. 87
9.2
Ni dung.............................................................................................................................. 87
9.2.1 Con tr? .......................................................................................................................... 87
9.2.2 Khi bo bin con tr .................................................................................................... 87
9.2.3 Truyn a ch sang hm ............................................................................................... 88
9.2.4 Con tr v mng............................................................................................................. 89
9.2.5 Con tr tr n mng trong hm ................................................................................. 89
9.2.6 Con tr v chui............................................................................................................. 90
9.2.7 Khi to mng con tr tr n chui ........................................................................... 91
9.2.8 X l con tr tr n chui ........................................................................................... 92
9.2.9 Con tr tr n con tr.................................................................................................. 94
9.3
Bi tp................................................................................................................................. 95
Trang 4
Mc tiu .............................................................................................................................. 96
10.2 Ni dung.............................................................................................................................. 96
10.2.1 Structure ......................................................................................................................... 96
10.2.1.1 Khai bo kiu structure ......................................................................................... 96
10.2.1.2 Cch khai bo bin c kiu structure ................................................................... 96
10.2.1.3 Tham chiu cc phn t trong structure.............................................................. 96
10.2.1.4 Khi to structure .................................................................................................. 98
10.2.1.5 Structure lng nhau................................................................................................ 99
10.2.1.6 Truyn structure sang hm ................................................................................. 100
10.2.2 Enum ............................................................................................................................. 102
10.2.2.1 nh ngha kiu enum .......................................................................................... 102
10.2.2.2 Cch khai bo bin c kiu enum ....................................................................... 102
10.2.2.3 S dng enum trong chng trnh .....................................................................103
10.3
Bi tp............................................................................................................................... 104
BI 11 : TP TIN .................................................................................................106
11.1
Bi tp............................................................................................................................... 109
BI 12 : QUY .................................................................................................110
12.1
12.2
Ni dung............................................................................................................................ 110
12.3
Bi tp............................................................................................................................... 113
Trang 5
13.6
13.7
13.8
13.9
Sa li c php................................................................................................................. 118
14.2
Bi tp............................................................................................................................... 126
Trang 6
Trang 7
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
1.2.1 Ngn ng lp trnh (Programming Language)
Phn ny chng ta s tm hiu mt s khi nim cn bn v thut ton, chng trnh, ngn
ng lp trnh. Thut ng "thut gii" v "thut ton" d nhin c s khc nhau song trong nhiu
trng hp chng c cng ngha.
1.2.1.1
Trang 8
1.2.1.3
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.
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 9
1.2.3.2
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
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 10
V d 9: Cng 2 s
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 ?
Khng
S khng
im
C
S m
Sai
im >=0 v
im <=10 ?
ng
Kt thc
Kt thc
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.
Trang 12
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 Khi ng v thot BorlandC
2.2.1.1
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
Trang 13
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
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.
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 14
) 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
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.
Trang 16
2.2.2.3
V d 3
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
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;
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:
void
sizeof
return
asm
interrupt
const
else
for
volatile
switch
short
long
break
continue
enum
goto
while
typedef
static
near
case
default
extern
huge
union
struct
pascal
if
cdecl
do
far
unsigned
signed
register
int
char
double
float
) 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.
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 19
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
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
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
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
Trang 21
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
Trang 22
) Kt qu in ra mn hnh
Bai hoc C dau tien.
_
V d 2: printf("Ma dinh dang \\\" in ra dau \" . \n");
k t iu khin
k t c bit
chui k t
) 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
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("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
Trang 26
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 Lnh v khi lnh
5.2.1.1
Lnh
Khi lnh
Trang 27
Lu
Vo
bthc lun l
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);
Trang 28
c. M t bng lu
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
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
- int ia, ib;
- printf("Nhap vao so a: ");
scanf("%d", &ia);
- printf("Nhap vao so b: ");
Trang 31
scanf("%d", &ib);
- if (ia == ib)
printf("a bang b\n");
else
printf("a khac b\n");
- Nu a = b th
in ra thng bo "a bng b"
Ngc li (cn khng th)
in ra thng bo "a khc b"
c. M t bng lu
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.
_
Trang 32
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
F1 Help
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
Sai
BTLL n-1
Sai
ng
khi lnh 1
khi lnh 2
Ra
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
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);
};
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);
Trang 36
c. M t bng lu
Bt u
Nhp c
Sai
ng
c = c 32
Ki tu hoa = c
Sai
ng
c = c + 32
Ki tu thuong=c
Sai
ng
Ktu nhap la so c
Kt thc
Trang 37
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;
Lu
Tng t 3 dng trn. Nhng trong mi khi lnh c th c mt (nhiu) cu trc if 3
dng trn.
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 38
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");
diem >= 0
v diem <= 10
ng
diem >=9
Sai
ng
Sai
diem >=8
ng
Sai
diem >=7
ng
Sai
diem >=6
ng
Xuat sac
Gioi
Kha
TBKha
Sai
diem >=5
ng
TBinh
Sai
Yeu
Kt thc
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 39
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao diem so: 6.5
Xep loai = TBKha.
_
Trang 40
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
b>c
c ln nht
ng
a>b
ng
Sai
b ln nht
a>c
c ln nht
ng
a ln nht
Kt thc
Trang 41
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 - 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.
_
case gi tr n : lnh n;
[break;]
}
Trang 42
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
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so 1, 2 hoc 3: 2
**
_
Trang 43
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
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao thang: 4
Quy 2.
_
Trang 44
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
C
break ?
Khng
= gi tr n ?
ng
lnh n
C
break ?
Khng
gi tr 1, 2 n
lnh n
break ?
Khng
Ra
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 45
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so 1, 2 hoc 3: 3
***
_
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
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 - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
-------------------------MAIN MENU
-------------------------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
_
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.
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 48
Trang 49
Trang 50
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
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
ng
khi lnh
Sai
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 (;)
+ 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.
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 51
+ 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
Trang 52
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
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so n : 5
Tong: 9.
_
) 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.
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 53
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
9
10
11
12
13
/* 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;
for(idem = 0; (c = getchar()) != DAU_CHAM; )
idem++;
Trang 54
14
printf("So ki tu: %d.\n", idem);
15
getch();
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
/* 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>
Trang 55
6
7 void main(void)
8 {
int in, itong = 0;
9
for(; ;)
10
{
11
printf("Nhap vao 1 so nguyen: ");
12
scanf("%d", &in);
13
if (in < 0)
14
continue;
//in < 0 quay nguoc len dau vong lap
15
if (in == 0)
16
break;
//in = 0 thoat vong lap
17
itong += in;
18
}
19
printf("Tong: %d.\n", itong);
20
getch();
21
22 }
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 56
Lu
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 57
6 void main(void)
7 {
int i = 0, in, is = 0;
8
printf("Nhap vao so n: ");
9
scanf("%d", &in);
10
while (i++ < in)
11
is = is + i;
//hoac is += i;
12
printf("Tong: %d", is);
13
getch();
14
15 }
F1 Help
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.
_
khi lnh
ng
biu thc
Sai
) Thc hin
khi lnh
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)
Ra
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 58
+ 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
9
10
11
12
13
14
15
16
void main(void)
{
unsigned char choi;
int inamhtai, inamsinh;
do
{
printf("Nhap vao nam hien tai: ");
scanf("%d", inamhtai);
printf("Nhap vao nam sinh: ");
scanf("%d", inamsinh);
Trang 59
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
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao chieu dai: 10
Nhap vao chieu rong: 5
**********
**********
**********
**********
**********
_
Trang 60
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 61
Trang 62
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 63
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
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
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
*****************
* Minh hoa ve ham *
*****************
_
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 64
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 65
) 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;
Trang 66
17
18
19
20
21
22 }
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 67
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
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao 1 so nguyen: 3
3 la so le.
3 la so duong.
_
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 68
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
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao ban kinh hinh cau: 3.2
Dien tich hinh cau: 128.614
_
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 69
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 70
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]
ia[7]
Trang 71
8.2.1.3
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 72
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
Alt - F9 Compile
F9 Make
F10 Menu
Trang 73
) 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
11
12
13
14
15
16
17
18
/* 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;
printf("Nhap vao so tien: ");
scanf("%d", &isotien);
//Nhap vao so tien
for (i = 0; i < MAX; i++)
{
ito = isotien/itien[i];
//Tim so to cua loai tien thu i
printf("%4d to %2d dong\n", ito, itien[i]);
isotien = isotien%itien[i]; //So tien con lai sau khi da loai tru cac loai tien da co
}
Trang 74
19
getch();
20 }
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
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.
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 75
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Trang 76
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 }
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
1
2
3
4
5
6
7
8
9
10
Trang 77
11
{1, 0, 0, 0, 1}};
12 void main(void)
13 {
int i , ij;
14
for (i = 0; i < MAX; i++)
15
16
{
17
for (ij = 0; ij < MAX; ij++)
18
if (H[i][ij])
19
printf("!");
20
else
21
printf(" ");
22
printf("\n");
23
}
24
getch();
25 }
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) 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
13
14
15
16
17
18
19
20
21
22
23
24
Trang 78
25
26
27
28
29
30
31
32
33
34
35 }
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.
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
Trang 79
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
int input(int);
//ham tim phan tu lon nhat trong mang 1 chieu
int max(int ia[], int in)
{
int i, imax;
imax = ia[0];
//cho phan tu dau tien la max
for (i = 1; i < in; i++)
if (max < ia[i])
//neu so dang xet > max
max = ia[i];
//gan so nay cho max
return imax;
//tra ve ket qua so lon nhat
}
//ham nhap lieu vao mang 1 chieu
int input(int ia[])
{
int i = 0;
do
{
printf("Nhap vao mot so: ");
scanf("%d", &ia[i]);
} while (ia[i++] != 0);
i--;
return i;
}
void main(void)
{
int ia[MAX], ib[MAX], ic[MAX];
int inum1, inum2, inum3;
printf("Nhap lieu cho mang a: \n");
inum1 = max(ia, input(ia));
printf("Nhap lieu cho mang b: \n");
inum2 = max(ib, input(ib));
printf("Nhap lieu cho mang c: \n");
inum3 = max(ic, input(ic));
printf("So lon nhat cua mang a: %d, b: %d, c: %d.\n", inum1, inum2, inum3);
getch();
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap lieu cho mang a:
Nhap vao mot so: 12
Nhap vao mot so: 45
Nhap vao mot so: 3
Nhap vao mot so: 0
Nhap lieu cho mang b:
Nhap vao mot so: 5
Nhap vao mot so: 15
Nhap vao mot so: 0
Trang 80
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
/* 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
void input(float fa[][MAX])
{
for (int i = 0; i < in; i++)
for (int ij = 0; ij < in; ij++)
{
printf("Nhap vao ptu[%d][%d]: ", i, ij);
scanf("%f", &fa[i, j]);
}
}
//ham in mang 2 chieu ra man hinh
void output(float fa[][MAX])
{
for (int i = 0; i < in; i++)
Trang 81
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
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao cap ma tran : 2
Nhap lieu ma tran a:
Nhap vao ptu[0][0] : 5.2
Nhap vao ptu[0][1] : 4
Nhap vao ptu[1][0] : 7.1
Nhap vao ptu[1][1] : 9
Nhap lieu ma tran b:
Nhap vao ptu[0][0] : 12
Nhap vao ptu[0][1] : 3.4
Nhap vao ptu[1][0] : 9.6
Nhap vao ptu[1][1] : 11
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
_
Trang 82
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];
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
2
3
4
5
6
7
8
9
10
Trang 83
F1 Help
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
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Cho biet ten cua ban:
Mai Lan
Chao ban
Mai Lan
_
Trang 84
8.2.2.3
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
Alt - F9 Compile
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao thang (1-12): 2
February
_
Trang 85
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?
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.
Trang 86
Trang 87
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
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 88
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 89
) 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
F9 Make
F10 Menu
) Kt qu in ra mn hnh
12 15 16 19
_
Trang 90
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
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Cho biet ten cua ban:
Minh
Chao ban
Minh
_
Trang 91
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 92
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
Trang 93
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
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
_
Trang 94
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
\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] =
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
Trang 95
) 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
Trang 96
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]
manv
nv.manv
hoten[30]
nv.hoten
tham chiu n manv trong nv ta vit nh sau: nv.manv (l bin c kiu int)
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 97
) 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
Trang 98
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.
Trang 99
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
Trang 100
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
Trang 101
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
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
_
) 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.
Trng TH GII TIN HC 39 Nguyn Sn H, P5, Q3 T: 8.344.480 Website: www.infoworldschool.com
Trang 102
Trang 103
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
Trang 104
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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.
_
Trang 105
4. Xy dng cu trc gm: H tn, ngy sinh, trng, s bo danh, im thi. Trong ,
im thi l cu trc gm 3 mn: Ton, L, Ha. Nhp liu vo khong 10 th sinh, tm v in ra
cc th sinh c tng im 3 mn >= 15.
5. Vit chng trnh to lp v tm kim d liu. Ni dung yu cu gm: Nhp h v tn,
a ch (gm: Qun, phng, t), tui, lng. Tm kim nhng ngi Qun 3 c tui di 30
thu nhp t 500.000 tr ln v in ra mn hnh.
Trang 106
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
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
//Doc file
f = fopen("int_data.dat", "rb");
while(fread(&i, sizeof(int), 1, f) == 1)
printf("%d ", i);
fclose(f);
getch();
}
F1 Help
Alt - F9 Compile
F9 Make
F10 Menu
Trang 107
) 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
Trang 108
22
23
24
25
26
27
28
29
30
31
32
33 }
exit(0);
}
fwrite(ia, sizeof(ia), 1, f);
fclose(f);
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
Trang 109
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 }
}
fwrite(&in, sizeof(int), 1, f);
//ghi so nhan vien vao file
for(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);
fwrite(&snv[i], sizeof(nhanvien), 1, f);
//ghi tung nhan vien vao file
}
fclose(f);
//doc danh sach nhan vien tu file va in ra
f = fopen("struct.dat", "rb");
fread(&in, sizeof(int), 1, f);
//doc so nhan vien
for(i = 0; i < in; i++)
{
fread(&snv1[i], sizeof(nhanvien, 1, f);
//doc tung nhan vien in ra man hinh
printf("%5d %s\n", snv[i].manv, snv[i].hoten);
}
getch();
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
_
Trang 110
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
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 111
) Kt qu in ra mn hnh
Th li chng trnh vi s liu khc.
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 112
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
F9 Make
F10 Menu
) Kt qu in ra mn hnh
Nhap vao so n: 10
Fibonacci(10) = 55.
_
Trang 113
Trang 114
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
13.2.1 Nu l tp tin son tho mi cha lu
n phm F2 hoc chn menu File -> Save hoc chn menu File -> Save As s xut hin hp
thoi Save File As
Save File As
E:\BORLANDC\BIN\NONAME00.CPP
OK
Files
..\
Cancel
<========================>
E:\BORLANDC\BIN\NONAME00.CPP
Directory
Help
12:00am
Trang 115
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
Trang 116
Backspace ()
Del (Delete)
Ins (Insert)
Enter
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
Trang 117
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
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.
Trang 118
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 - 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 119
Trang 120
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.
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:
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)
V d 2:
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.
Bng cc gi tr tng ng h thp phn, nh phn, bt phn, thp lc phn. (**)
Thp phn
0
1
2
3
4
5
6
Nh phn
0000
0001
0010
0011
0100
0101
0110
Bt phn
0
1
2
3
4
5
6
Thp lc phn
0
1
2
3
4
5
6
Trang 121
0111
1000
1001
1010
1011
1100
1101
1110
1111
7
10
11
12
13
14
15
16
17
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
10112
90
chia
45
chia
22
chia
11
chia
chia
90
45
22
11
chia
chia
10110102
kt qu h nh phn
10110102
Trang 122
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 123
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
S 13 tng ng
trong h 16 l D
(xem bng (**))
1D16
Trang 124
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
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)
Trang 125
4 >= 4
3 == 5
2 <= 1
6 != 4
63<4
2 * 4 < 3 + 2
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
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 126
a%c*2
2 * b + 3 * (a c)
a * (a % b)
a * (b + (c 4 * 3))
Trang 127
a+c/a
a%b
c * (b / a)
(a * b) % c
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)))
Trang 128
Bi 16 :
MT S HM CHUN THNG DNG
16.1 Cc hm chuyn i d liu
16.1.1 atof
double atof(const char *s);
Trang 129
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);
Trang 130
16.2.7 strlen
int strlen(const char *s);
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);
//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
Trang 131
16.4 Cc hm x l file
16.4.1 rewind
void rewind(FILE *stream);
a con tr v u file.
16.4.2 ftell
long ftell(FILE *stream);