Mô tả:
Ngoân Ngöõ
Laäp trình C
c
u
D
g
N
NgDucThuan@DHTS
n
a
u
h
T
ThS.Nguyeãn Ñöùc Thuaàn
Boä Moân Heä Thoáng Thoâng Tin
Ñ.H Thuyû Saûn
Chöông
n
1:
Toång quan veà ngoân ngöõ C
I. Giôùi thieäu :
giaû : Brian W.Kernighan + Dennis M.Ritchie
¨ Ñaàu nhöõng naêm 70 taïi phoøng thí nghieäm BELL
¨ Muïc ñích ban ñaàu laø phaùt trieån heä ñieàu haønh UNIX
¨ 90 % chöông trình nguoàn UNIX hieän nay vieát baèng C
¨ 1978 : Cuoán giaùo trình laäp trình C ñöôïc phoå bieán
¨ 1983 : ANSI ñöa ra 1 chuaån cho C
¨ Coù nhieàu chöông trình dòch C :
n
a
u
¨ Taùc
c
u
n
n
n
Turbo C
MSC, VC
Lattice C
D
g
N
Bordland Inc
Microsoft
Lattice
NgDucThuan@DHTS
h
T
Chöông
n
Toång quan veà ngoân ngöõ C
1:
III. Giôùi thieäu moâi tröôøng Turbo C:
n
a
u
¨ Töông
töï moâi tröôøng Turbo Pascal
¨ Caùc thö muïc quan troïng khi caøi ñaët baèng ñóa phaàn
meàm chuaån:
c
u
Thö muïc goác chöông trình dòch
INCLUDE
LIB
D
g
N
NgDucThuan@DHTS
BGI
h
T
BIN
Chöông
n
1:
Toång quan veà ngoân ngöõ C
II. Tính chaát ñaëc tröng:
n
a
u
¨ Duøng
ñeå vieát heä ñieàu haønh, quaûn lyù CSDL
¨ Caøi ñaët deã daøng, höõu hieäu ñoái vôùi caùc caáu hình maùy
¨ Khaû chuyeån, söû duïng roäng raõi
¨ Khoâng coù caùc pheùp toaùn xöû lyù tröïc tieáp caùc ñoái töôïng
hôïp thaønh nhö xaâu, danh saùch, baûng,..
¨ Coù caùc keát caáu ñieàu khieån cô baûn : caùc leänh tuaàn töï,
choïn, laëp
¨ Cung caáp con troû, cho pheùp goïi ñeä qui
¨ Nhöôïc : moät soá pheùp toaùn thöïc hieän theo thöù töï chöa
ñuùng
c
u
D
g
N
NgDucThuan@DHTS
h
T
Chöông
n
1:
Toång quan veà ngoân ngöõ C
3.1 Thöïc hieän chöông trình:
n
a
u
¨ Bieân
soaïn chöông trình trong moâi tröôøng Turbo
C -> Ctrl+ F9
¨ Caøi ñaët caáu hình:
n
c
u
Option - > Directories :
Include Directories:
C:\TC30\INCLUDE
Library directories
C:\TC30\LIB
Output Directories:
C:\TEMP
D
g
N
NgDucThuan@DHTS
h
T
Chöông
n
1:
Toång quan veà ngoân ngöõ C
IV. Caáu truùc cô baûn 1 chöông trình C:
¨ Ví
n
a
u
duï : Chöông trình hieän chöõ Hello
/* Chuong trinh vi du 1 */
#include
#include
Void main () {
printf (“ Hello,\n”);
getch();
}
D
g
c
u
N
NgDucThuan@DHTS
h
T
Chöông
n
1:
Toång quan veà ngoân ngöõ C
4.1 Ñònh nghiaõ haøm:
¨
n
a
u
Moät chöông trình C bao goàm nhieàu haøm:
h
T
Haøm baét ñaàu chöông trình C laø haøm main()
(chæ coù duy nhaát 1 haøm main() trong 1 chöông trình)
Haøm naøy goïi caùc haøm coù maët trong ch.trình thöïc hieän
n
Haøm Printf(); hieån thò chuoãi, haøm thuoäc
thö vieän stdio.h
n
Haøm getch(): chôø goõ 1 kyù töï, thuoäc thö vieän
conio.h
n
c
u
D
g
N
NgDucThuan@DHTS
Chöông
n
1:
Toång quan veà ngoân ngöõ C
4.2 Khai baùo file tieâu ñeà:
n
a
u
¨ Khi
söû duïng caùc haøm thö vieän chuaån phaûi khai
baùo caùc file chöùa ñaàu chöông trình:
n
Cuù phaùp
c
u
#include < teân file>
Ví duï :
D
g
#include
#include
N
NgDucThuan@DHTS
h
T
Chöông
n
1:
Toång quan veà ngoân ngöõ C
4.3 Doøng chuù thích
¨ Cuù
n
a
u
phaùp:
/* noäi dung chuù thích */
Chuù yù : Noäi dung chuù thích coù theå goàm nhieàu doøng
Hoaëc ghi chuù chæ treân 1 doøng, baét ñaàu bôûi //
Ví duï : 1. / * Hom nay bat dau hoc C
co hieu khong?
*/
n
c
u
D
g
N
2. printf(“Day la vi du “); //in thong bao
NgDucThuan@DHTS
h
T
Chöông
n
1:
Toång quan veà ngoân ngöõ C
4.5 Daáu keát thuùc caâu leänh:
¨ Keát
n
thuùc moãi caâu leänh laø daáu chaám phaåy : ;
c
u
Ví duï : printf ( “ Hello ! How are you ? \n”);
D
g
n
a
u
h
T
Caùch duy nhaát ñeå hoïc 1 ngoân ngöõ laäp trình môùi laø
vieát nhieàu chöông trình baèng ngoân ngöõ ñoù
Brian W Kernighan
N
NgDucThuan@DHTS
Chöông
n
1:
Toång quan veà ngoân ngöõ C
5. Moät vaøi lôøi veà haøm Printf()
¨
n
a
u
Haøm hieån thò caùc bieåu thöùc ra maøn hình
n
n
Bieåu thöùc soá :
ví duï printf (“Day la so : %d”, 2);
Bieåu thöùc chuoãi :
§
§
Kyù töï ñaët giöõa 2 daáu nhaùy ñôn
chuoãi ñaët giöõa 2 daáu nhaùy keùp
D
g
c
u
h
T
Haøm Printf söû duïng caùc kyù töï ñeå ñònh daïng in ra;
Ví duï Printf (“%s di giua hoang hon vao thu %d”,”toi”,3);
N
NgDucThuan@DHTS
Chöông
n
n
Caùc yeáu toá cô baûn cuûa ngoân ngöõ C
1. Töø vöïng duøng trong C:
1.1Taäp Kyù töï
n
n
n
n
2:
n
a
u
26 chöõ caùi hoa/thöôøng
10 chöõ soá
Caùc daáu ngaên caùch: . ; , ,space
c
u
h
T
1.2 Teân (identifier): Daõy kyù töï baét ñaàu laø 1 chöõ caùi,
_,
¨ Ñoä
D
g
N
daøi cöïc ñaïi : 32
¨ Phaân bieät kyù töï hoa, kyù töï thöôøng
NgDucThuan@DHTS
Chöông
n
2:
Caùc yeáu toá cô baûn cuûa ngoân ngöõ C
1.3 Töø khoaù : Turbo C ñaõ ñònh nghóa 1 soá
töø khoaù:
¨ asm
¨ const
break
continue
case
int
D
g
¨.
h
T
char
interrupt
c
u
n
a
u
..
Khoâng ñöôïc xaây döïng teân bieán, haèng, kieåu truøng
vôùi töø khoaù ñaõ coù
N
NgDucThuan@DHTS
Chöông
n
2:
Caùc yeáu toá cô baûn cuûa ngoân ngöõ C
1.4 Caùc kieåu döõ lieäu:
¨4
n
a
u
kieåu cô baûn : char, int, float, double
Teân
YÙ nghóa
Phaïm
vi
Kích thöôùc
char
Kyù töï
-128:
127
1 byte
int
Soá
nguyeân
-32768:32767
float
s.Thöïc daáùu,
ñoäng
+/-3.4E-38
+-/3.4E+38
4
double
s.Thöïc daáu
chaám ñoäng,
cxaùc keùp
+/- 1.7 E-3.8
+/- 1.7 E308
8
D
g
c
u
N
NgDucThuan@DHTS
h
T
2
Chöông
n
n
n
n
n
2:
Caùc yeáu toá cô baûn cuûa ngoân ngöõ C
BiÕn kiÓu char cã ®é dµi 1 byte dïng ®Ó biÓu diÔn 1 ký tù trong b¶ng
m· ASCII, thùc chÊt lµ mét sè nguyªn kh«ng dÊu cã gi¸ trÞ tõ 0 ®Õn
255.
BiÕn kiÓu int cã gi¸ trÞ lµ c¸c sè nguyªn vµ cã thÓ cã 3 lo¹i : int, long
int, usnigned int (viÕt t¾t lµ int, long vµ unsigned t-¬ng øng).
BiÕn kiÓu float biÓu diÔn c¸c sè thùc víi ®é chÝnh x¸c ®¬n.
BiÕn kiÓu double biÓu diÔn c¸c sè thùc víi ®é chÝnh x¸c kÐp.
Sau ®©y lµ b¶ng gi¸ trÞ cã thÓ cña c¸c kiÓu c¬ b¶n cña C:
n
a
u
KiÓu
char
int
long
usigned
float
double
Ph¹m vi
0 .. 255
-32768 .. 32767
-2147483648 .. 2147484647
0
.. 65535
3.4e-38
.. 3.4e+38
1.7e-308
.. 1.7e+308
D
g
c
u
N
h
T
KÝch th-íc
1 byte
2 bytes
4 bytes
2 bytes
4 bytes
8 byte
C¸c tiÒn tè short, long, signed(ngÇm ®Þnh ®èi víi char,int) hay
unsigned ®Ó më réng hay thu hÑp ph¹m vi
NgDucThuan@DHTS
Chöông
n
2:
Caùc yeáu toá cô baûn cuûa ngoân ngöõ C
n
a
u
1.5 Khai baùo bieán
¨ Cuù
phaùp:
;
Ví duï :
int num;
char holot, ten;
1.6 Khai baùo haèng
¨ Coù 2 caùch khai baùo haèng:
c
u
D
g
N
NgDucThuan@DHTS
h
T
Chöông
n
2:
Caùc yeáu toá cô baûn cuûa ngoân ngöõ C
A. Duøng toaùn töû #define
¨ Cuù
phaùp: #define
Ví duï : #define
#define
#define
thuysan
“Vietnam”
xd ‘\n’
MAXLINE 80
c
u
n
a
u
h
T
Khi bieân dòch, chöông trình dòch thay theá moïi teân haèng bôûi giaù trò
n
D
g
B. Duøng töø khoaù const
Cuù phaùp: const
¨ Ví duï : const
int MAXLINE = 100 ;
§ const
char DHTS[18] = “ TIN HOC”
N
Chöông trình dòch caáp phaùt vuøng nhôù ñeå löu tröõ giaù trò
NgDucThuan@DHTS
Chöông
n
2:
Caùc yeáu toá cô baûn cuûa ngoân ngöõ C
Haèng nguyeân (int)
¨ Phaïm
vi giaù trò : -32768 ñeán +32767
¨ Bieåu dieãn : Coù theå bieâu dieãn döôùi daïng :
Heä thaäp phaân
n Heä baùt phaân : theâm kyù töï 0 (ôû ñaàu)
n Heä thaäp luïc phaân : theâm 0x (ôû ñaàu)
n
n
D
g
Haèng nguyeân daøi (long int)
¨ Ñöôïc
h
T
vduï: 198
vduï: 0306
vdu: 0xc6
c
u
n
a
u
vieát töông töï nhö haèng nguyeân nhöng theâm
kyù töï l hay L vaøo cuoái
vd: 1234567L
¨ Chuù
N
yù : Moät haèng soá nguyeân vöôït khoûi phaïm vi giaù trò cho
pheùp cuûa haøng nguyeân cuõng ñöôïc hieåu laø haèng nguyeân
daøi
NgDucThuan@DHTS
Chöông 2: Caùc yeáu toá cô baûn cuûa ngoân ngöõ C
n
Haèng thöïc:
¨ Haèng
thöïc daáu phaåy tónh :
¨ Haèng thöïc daáu phaåy ñoäng:
n
Haèng kyù töï:
Vd: -395.12
Vd: 12.3E+3
¨ Bieåu
n
a
u
h
T
dieãn baèng kyù hieäu ñaët giöõa 2 daáu nhaùy ñôn
¨ Bieåu dieãn baèng ‘\ ’
n
n
Ví duï : ‘A’
Haèng xaâu kyù töï:
¨ Bieåu
‘\65’
c
u
D
g
N
‘\0x41’
dieãn baèng xaâu kyù töï ñaët giöõa 2 daáu nhaùy keùp
¨ Haèng xaâu kyù töï löu tröõ trong 1 maûng kyù töï cuoái laø
kyù töï NUL (‘\0’)
NgDucThuan@DHTS
Chöông 2: Caùc yeáu toá cô baûn cuûa ngoân ngöõ C
n
n
a
u
Moät soá haèng kyù töï ñaëc bieät
Haèng (vieát)
‘\’’
‘\”’
‘\\’
‘\n’
‘\0’
‘\t’
Kyù töï
‘
“
\
\n
\0
h
T
YÙ nghóa
Daáu nhaùy ñôn
c
u
Daáu nhaùy keùp
D
g
N
Daáu \
Kyù töï xuoáng doøng
Kyù töï NUL
Kyù töï tab
NgDucThuan@DHTS
- Xem thêm -