Lp trình nâng cao - Chương 4 - Ngô Công Thng 1
Chương 4. Lnh vào/ra d liu
các cu trúc điu khin chương trình
I.Lnhvào/radliu
II.Lnhlachn
III.Lnhlp
IV.Lnhbreakvàcontinue
Lp trình nâng cao - Chương 4 - Ngô Công Thng 2
I. Lnh vào/ra d liu
1. Khai báo thư vin m vào/ra d liu
2. Lnh ly d liu vào t bàn phím
3. Lnh đưa d liu ra màn hình
4. Kết hp gia lnh printf scanf để t chc
ly d liu vào t bàn phím
Lp trình nâng cao -Chương 4 -Ngô Công Thng 3
I.1. Khai báo thư vin hàm vào/ra d liu
Để th s dng các lnh vào/ra d liu ca
C khi lp trình trên DOS/ Windows/ Linux ta
phi khai báo s dng thư vin m stdio:
#include<stdio.h>
Lp trình nâng cao - Chương 4 - Ngô Công Thng 4
I.2. Lnh ly d liu vào t bàn phím
Để ly d liu t bàn phím vào biến ta dùng lnh
scanf theo cú pháp sau:
scanf(đặc t kiu dl, địa ch các ô nh);
Trong đó: 1) đặc t kiu dl là hng xâu ký t điu
khin ch cha các đặc t chuyn dng d liu, mi
đặc t tương ng vi mt địa ch ô nh;
2) địa ch các ô nh phân tách nhau bi du chm
phy. S dng toán t & để ly địa ch ô nh ca
biến, ví d &a
Lp trình nâng cao - Chương 4 - Ngô Công Thng 5
I.2. Lnh ly d liu vào t bàn phím
3) Đặc t chuyn dng d liu có cu trúc chung như sau:
%[*][w]Ký t chuyn dng
- Nếu có du * thì trường vào vn được dò đọc nh thường
nhưng giá tr ca nó không được lưu vào b nh. Đặc t cha
du * s không có ô nh tương ng.
- w là mt s xác định chiu dài cc đại ca trường vào.
Nếu không có tham s w hoc nếu tham s này ln hơn hoc
bng độ dài trường vào thì toàn b trường vào s được đọc,
ni dung ca nó được dch và được đưa vào ô nh tương ng.
Nếu w nh hơn độ dài ca trường vào tương ng thì ch phn
đầu ca trường vào có độ dài bng w được đọc, được dch
được gán vào ô nh tương ng. Phn còn li s được ng
cho đặc t tiếp theo. Ví d: vdch4_01.cpp
Lp trình nâng cao - Chương 4 - Ngô Công Thng 6
I.2. Lnh ly d liu vào t bàn phím
4)Kýtchuyndngxác địnhchthc
đọcdliutrêndòngvàocũngnhưphương
phápchuyndchthôngtin đọcđượctrước
khigánnóchocác địachtương ng.
Lp trình nâng cao - Chương 4 - Ngô Công Thng 7
Các t chuyn dng d liu dùng cho scanf
t
chuyn dng
Ý nghĩa
cĐọcmtkýt,đốitương nglàônhkiuchar
dĐọcmtgiátrint, đốitương nglàônhkiuint
ld Đọcmtgiátrlong, đốitương nglàônhkiulong
oĐọcmtgiátrkiuinth8, đốitương nglàônhkiuint
lo Đọcmtgiátrkiulongh8, đốitương nglàônhkiulong
xĐọcmtgiátrkiuinth16, đốitương nglàônhkiuint
lx Đọcmtgiátrkiulongh16, đốitương nglàônhkiulong
f hoc e Đọcmtgiátrkiufloat, đốitương nglàônhkiufloat
lf hoc le Đọcmtgiátrkiudouble, đốitương nglàônhkiudouble
sĐọcmtxâukýt,đốitương nglàmngcácônhkiuchar
Lp trình nâng cao -Chương 4 -Ngô Công Thng 8
Các t chuyn dng d liu dùng cho scanf
Kýtchuyn
dng
Ý nghĩa
[dãy t]Đọccáckýtchotikhigpmtkýtkhôngthuctpcác
ttronghaidu[]. Đốitương ng địachcamngcácônh
kiuchar.Khongtrngcũng đượcxemlàkýt.
[^dãykýt]Đọccáckýtchotikhigpmtkýtthuctpcáckýttrong
haidu[]. Đốitương ng địachcamngcácônhkiu
char.Khongtrngcũng đượcxemlàkýt.
d:
int a;
scanf(“%d”, &a);
Lp trình nâng cao -Chương 4 -Ngô Công Thng 9
I.3. Lnh đưa d liu ra màn hình
Cú pháp:
printf(dk,các d liu cn đưa ra);
Trong đó: 1) dk là hng xâu ký t điu khin
cha:
+ Các ký t điu khin, ví d như \n, \t’, \b’
+ Các đặc t chuyn dng và to khuôn d liu, mi
đặc t dùng cho mt d liu tương ng cn đưa ra
màn hình.
+ Các ký t thông thường.
2) Các d liu cn đưa ra có th là hng, biến, biu
thc. Có bao nhiêu d liu đưa ra thì phi có by
nhiêu đặc t chuyn dng.
Lp trình nâng cao - Chương 4 - Ngô Công Thng 10
Đặc t chuyn dng d liu
Cutrúcchung:
%[-][fw][.pp]Ký t chuyn dng
-Nếukhôngcódutr-thìdliuđượccănphi
trongschtrênmànhìnhdànhchodliu,còn
thachđể trng.Vidliulàs,nếufwbtđầu
bngs0thìcchtrngsđượcđinđầybng
cács0.
-Nếucódutrthìdliusđượccăntrái,cácch
thaluôn để trng.
Vídtrênmáyvidliucnđưaralà-2503