Giáo trình môn Lập trình C căn bản | trường Đại học Huế

Bài 1: Ngôn ngữ lập trình và phương pháp lập trình. Bài 2: Làm quen lập trình C qua các ví dụ đơn giản. Bài 3: Các thành phần trong ngôn ngữ lập trình C. Bài 4:Nhập | Xuất dữ liệu . Bài 5: Cấu trúc rẽ nhánh có điều kiện.Bài 6: Cấu trúc vòng lặp . Bài 7:Hàm. Bài 8: Mảng và chuỗi . Bài 9: Con trỏ . Bài 10: Các kiểu dữ liệu tự tạo . Bài 11: Tập tin. Bài 12: Đệ quy. Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!

lO MoARcPSD| 47704698
Giáo trình Lp tnh Cn bn Trang 1
MC LC
BÀI 1 : NGÔN NG LP TNH & PHƯƠNG PHÁP LẬP TNH ...................... 7
1.1 Mục tiêu .................................................................................................................... ............ 7
1.2 Lý thuyết ............................................................................................................................... 7
1.2.1 Ngôn ng lp trình (Programming Language) ............................................................. 7
1.2.1.1 Thut gii (Algorithm) ............................................................................................. 7
1.2.1.2 Chương trình (Program) ......................................................................................... 7
1.2.1.3 Ngôn nglp trình (Programming language) ....................................................... 8
1.2.2 c bước lp trình ........................................................................................................... 8
1.2.3 K thut lp trình ............................................................................................................ 8
1.2.3.1 I-P-O Cycle (Input-Pprocess-Output Cycle) (Quy trình nhập-x lý-xut) ........ 8
1.2.3.2 Sdng lưu ồ (Flowchart) ..................................................................................... 9
BÀI 2 : LÀM QUEN LP TRÌNH C QUA C D ĐƠN GIN ...................... 12
2.1 Mục tiêu .................................................................................................................... .......... 12
2.2 Nội dung .............................................................................................................................. 12
2.2.1 Khi ng và thoát BorlandC ....................................................................................... 12
2.2.1.1 Khởi ng ................................................................................................................ 12
2.2.1.2 Thoát ........................................................................................................................ 13
2.2.2 c ví d ơn gin ......................................................................................................... 13
2.2.2.1 Ví d1 ......................................................................................................... ............. 13
2.2.2.2 Ví d2 ..................................................................................................................... . 15
2.2.2.3 Ví d3 ...................................................................................................................... 16
2.2.2.4 Ví d4 ..................................................................................................................... . 16
BÀI 3 : C THÀNH PHN TRONG NGÔN NG C ......................................... 18
3.1 Mục tiêu .................................................................................................................... .......... 18
3.2 Nội dung .............................................................................................................................. 18
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 2
HanoiAptech Computer Education Center Thanghv
3.2.1 T khóa ........................................................................................................................... 18
3.2.2 Tên ................................................................................................................................... 18
3.2.3 Ki u d liu .................................................................................................................... 18
3.2.4 Ghi chú ............................................................................................................................ 19
3.2.5 Khai o biến ................................................................................................................. 19
3.2.5.1 Tên biến ................................................................................................................... 19
3.2.5.2 Khai o biến .......................................................................................................... 19
3.2.5.3 Vừa khai báo vừa khởi gán .................................................................................... 20
3.2.5.4 Phạm vi của biến ..................................................................................................... 20
BÀI 4 : NHP / XUT D LIU .......................................................................... 21U
4.1 Mục tiêu .............................................................................................................................. 21
4.2 Nội dung .............................................................................................................................. 21
4.2.1 m printf ...................................................................................................................... 21
4.2.2 m scanf ....................................................................................................................... 24
4.3 Bài tập ................................................................................................................................. 25
BÀI 5 : CU TRÚC R NHÁNH ĐIU KIN ................................................ 26
5.1 Mục tiêu .................................................................................................................... .......... 26
5.2 Nội dung .............................................................................................................................. 26
5.2.1 Lnh và khi lnh ........................................................................................................... 26
5.2.1.1 Lệnh ......................................................................................................................... 26
5.2.1.2 Khối lệnh ................................................................................................................. 2 6
5.2.2 Lnh if ............................................................................................................................. 26
5.2.2.1 Dạng 1 (if thiếu) .............................................................................................. ........ 26
5.2.2.2 Dạng 2 (if ) ......................................................................................................... 30
5.2.2.3 Cấu trúc else if ....................................................................................... ................. 33
5.2.2.4 Cấu trúc if lng ....................................................................................................... 37
5.2.3 Lnh switch ..................................................................................................................... 41
5.2.3.1 Cấu trúc switch…case (switch thiếu) .................................................................... 41
5.2.3.2 Cấu trúc switch…case…default (switch ) ........................................................ 44
5.2.3.3 Cấu trúc switch lng ............................................................................................... 46
5.3 Bài tập ................................................................................................................................. 48
5.3.1 S dng lnh if ............................................................................................................... 48
5.3.2 S dng lnh switch ....................................................................................................... 49
5.4 Bài tập làm thêm ............................................................................................................ .... 49
BÀI 6 : CU TRÚC VÒNG LP .......................................................................... 51
6.1 Mục tiêu .................................................................................................................... .......... 51
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 3
6.2 Nội dung .............................................................................................................................. 51
6.2.1 Lệnh for ........................................................................................................................... 51
6.2.2 Lệnh break .................................................................................................................. .... 56
6.2.3 Lệnh continue ................................................................................................................. 56
6.2.4 Lnh while....................................................................................................................... 56
6.2.5 Lệnh do…while .............................................................................................................. 58
6.2.6 Vòng lp lng nhau ........................................................................................................ 60
6.2.7 So sánh s khác nhau ca các vòng lp ....................................................................... 61
6.3 Bài tập ................................................................................................................................. 62
BÀI 7 : M ......................................................................................................... 65
7.1 Mục tiêu .................................................................................................................... .......... 65
7.2 Nội dung .............................................................................................................................. 65
7.2.1 c dv hàm ............................................................................................................ 65
7.2.2 Tham s dạng tham biến và tham tr ........................................................................... 68
7.2.3 S dng biến toàn cc ................................................................................................... 69
7.2.4 ng dn hướng #define ............................................................................................... 71
7.3 Bài tập ................................................................................................................................. 71
BÀI 8 : MNG CHUI ................................................................................... 72
8.1 Mục tiêu .............................................................................................................................. 72
8.2 Nội dung .................................................................................................................... .......... 72
8.2.1 Mng ................................................................................................................................ 72
8.2.1.1 ch khai báo mảng ............................................................................................... 72
8.2.1.2 Tham chiếu ến từng phn tmảng .................................................................... 72
8.2.1.3 Nhp dliu cho mảng .......................................................................................... 73
8.2.1.4 Đọc dliu từ mảng ............................................................................................... 73
8.2.1.5 Sdng biến kiểu khác .......................................................................................... 74
8.2.1.6 Kthuật Sentinal .................................................................................................... 74
8.2.1.7 Khởi tạo mảng ......................................................................................................... 75
8.2.1.8 Khởi tạo mảng không bao m ch thưc .......................................................... 76
8.2.1.9 Mảng nhiu chiu ................................................................................................... 76
8.2.1.10 Tham chiếu ến từng phần tmảng 2 chiều ....................................................... 76
8.2.1.11 Nhp dliu cho mng 2 chiu ............................................................................. 77
8.2.1.12 Đc dliu từ mảng 2 chiu .................................................................................. 77
8.2.1.13 Sdng biến kiu khác trong mảng 2 chiu ........................................................ 78
8.2.1.14 Khởi tạo mảng 2 chiu ........................................................................................... 78
8.2.1.15 Dùng mảng 1 chiều làm tham s cho hàm ........................................................... 79
8.2.1.16 Dùng mảng 2 chiều làm tham s cho hàm ........................................................... 82
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 4
HanoiAptech Computer Education Center Thanghv
8.2.2 Chui ............................................................................................................................... 84
8.2.2.1 ch khai báo chui ............................................................................................... 84
8.2.2.2 m nhập (gets), xuất (puts) chui ....................................................................... 85
8.2.2.3 Khởi tạo chui ......................................................................................................... 86
8.2.2.4 Mảng chui .............................................................................................................. 86
8.3 Bài tập ................................................................................................................................. 87
BÀI 9 : CON TR ................................................................................................ 90
9.1 Mục tiêu .................................................................................................................... .......... 90
9.2 Nội dung .................................................................................................................... .......... 90
9.2.1 Con tr? .......................................................................................................................... 90
9.2.2 Khái báo biến con tr .................................................................................................... 90
9.2.3 Truyn a ch sang m ............................................................................................... 91
9.2.4 Con tr và mng ............................................................................................................. 92
9.2.5 Con tr tr ến mng trong m ................................................................................. 92
9.2.6 Con tr và chui ............................................................................................................. 93
9.2.7 Khi to mng con tr tr ến chui ........................................................................... 94
9.2.8 X lý con tr tr ến chui ........................................................................................... 95
9.2.9 Con tr tr ến con tr .................................................................................................. 97
9.3 Bài tập ................................................................................................................................. 98
I 10 : C KIU D LIU T TO ................................................................. 99
10.1 Mục tiêu .................................................................................................................... .......... 99
10.2 Nội dung .............................................................................................................................. 99
10.2.1 Structure .........................................................................................................................
99
10.2.1.1 Khai o kiu structure ......................................................................................... 99
10.2.1.2 Cách khai báo biến kiu structure ................................................................... 99
10.2.1.3 Tham chiếu các phn tử trong structure .............................................................. 99
10.2.1.4 Khởi tạo structure ................................................................................................ 101
10.2.1.5 Structure lng nhau .............................................................................................. 102
10.2.1.6 Truyn structure sang hàm ................................................................................. 103
10.2.2 Enum .............................................................................................................................
105
10.2.2.1 Đnh nghĩa kiu enum .......................................................................................... 105
10.2.2.2 Cách khai báo biến kiu enum ....................................................................... 106
10.2.2.3 Sdng enum trong chương trình ..................................................................... 106
10.3 Bài tp ............................................................................................................................... 108
I 11 : TP TIN ................................................................................................. 109
11.1 Mc tiêu ............................................................................................................................ 109
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 5
11.2 Nội dung ............................................................................................................................ 109
11.2.1 Ví d ghi, c s nguyên .............................................................................................. 109
11.2.2 Ghi, c mng .............................................................................................................. 110
11.2.3 Ghi, c structure ........................................................................................................ 111
11.2.4 c mode khác m tp tin ..................................................................................... 112
11.2.5 Mt s hàm thao tác trên file khác ............................................................................. 112
11.3 Bài tp ............................................................................................................................... 113
I 12 : ĐỆ QUY ................................................................................................. 114
12.1 Mục tiêu ............................................................................................................................ 114
12.2 Nội dung .................................................................................................................... ........ 114
12.3 Bài tp ............................................................................................................................... 117
I 13 : TRÌNH SON THO CA BORLAND C .............................................. 118
13.1 Mở tập tin son tho mới ................................................................................................ 118
13.2 Lưu tp tin ........................................................................................................................ 118
13.2.1 Nếu là tp tin son tho mi chưa lưu ....................................................................... 118
13.2.2 Nếu là tp tin ã lưu ít nht 1 ln hoc ược m bng lnh Open: ........................ 118
13.3 Mở tập tin ......................................................................................................................... 119
13.4 c pm, t hợp phím thưng dùng ............................................................................. 119
13.4.1 c phím di chuyn con tr ........................................................................................ 119
13.4.2 c pm thao tác trên khi ........................................................................................ 120
13.4.3 c thao tác xóa ........................................................................................................... 120
13.4.4 c thao tác copy, di chuyn ....................................................................................... 120
13.4.5 c thao tác kc ......................................................................................................... 120
13.5 Ghi một khối ra ĩa ......................................................................................................... 121
13.6 Chèn ni dung file tĩa vào v trí con tr ................................................................... 121
13.7 Tìm kiếm văn bản trong ni dung soạn thảo ................................................................ 121
13.8 Tìm và thay thế văn bn trong ni dung son tho ...................................................... 121
13.9 Sửa li cú pháp ................................................................................................................. 122
13.10 Chy từng bước ............................................................................................................... 122
13.11 Sdụng Help (Giúp) .................................................................................................. 122
I 14 : C H ĐẾM ........................................................................................ 124
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 6
HanoiAptech Computer Education Center Thanghv
14.1 Ki nim ................................................................................................................... ...... 124
14.2 Quy tắc .............................................................................................................................. 124
14.3 Chuyn i giữa các h ................................................................................................... 125
14.3.1 Chuyn i gia h 2 và h 10 .................................................................................... 125
14.3.2 Chuyn i gia h 8 và h 10 .................................................................................... 126
14.3.3 Chuyn i gia h 16 và h 10 .................................................................................. 126
14.3.4 Chuyn i gia h 2 và h 16 .................................................................................... 127
I 15 : BIU THC PHÉP TOÁN ............................................................... 128
15.1 Biu thức ................................................................................................................... ........ 128
15.2 Phép toán .......................................................................................................................... 128
15.2.1 Phép toán s hc ........................................................................................................... 128
15.2.2 Phép quan h ................................................................................................................ 128
15.2.3 Phép toán lun lý .......................................................................................................... 129
15.2.4 Phép toán trên bit (bitwise) ......................................................................................... 129
15.2.5 Các phép toán kc ...................................................................................................... 130
15.2.6 Độ ưu tiên ca các phép toán ...................................................................................... 130
15.3 Bài tp ............................................................................................................................... 130
I 16 : MT S M CHUN THƯỜNG NG ............................................. 132
16.1 c hàm chuyn i dliu ........................................................................................... 132
16.1.1 atof .................................................................................................................................
132 16.1.2 atoi
................................................................................................................................. 132 16.1.3
itoa ................................................................................................................................. 132
16.1.4 tolower ...........................................................................................................................
132
16.1.5 toupper ..........................................................................................................................
132
16.2 c hàm xlý chui tự .............................................................................................. 133
16.2.1 strcat ..............................................................................................................................
133 16.2.2 strcpy
............................................................................................................................. 133 16.2.3
strcmp ............................................................................................................................ 133
16.2.4 strcmpi .......................................................................................................................... 133
16.2.5 strlwr .............................................................................................................................
133 16.2.6 strupr
............................................................................................................................. 133 16.2.7 strlen
.............................................................................................................................. 134
16.3 c m toán hc ............................................................................................................ 134
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 7
16.3.1 abs ..................................................................................................................................
134 16.3.2 labs
................................................................................................................................. 134 16.3.3
rand ............................................................................................................................... 134 16.3.4
random .......................................................................................................................... 134
16.3.5 pow ................................................................................................................................ 134
16.3.6 sqrt .................................................................................................................................
134
16.4 c hàm x lý file ............................................................................................................ 135
16.4.1 rewind ............................................................................................................................
135 16.4.2 ftell
................................................................................................................................. 135 16.4.3
fseek ............................................................................................................................... 135
Bài 1 :
NGÔN NG LP TNH & PHƯƠNG PHÁP LP TNH
1.1 Mc tiêu
Sau khi hoàn tất i này học vn s hiu và vn dng các kiến thức kĩ năng cơ bn sau: -
Ý nghĩa, các bước lập tnh.
- c nh dliu vào, ra.
- Phân tích các bài toán ơn gin.
- Khái niệm sonh, lặp.
- Th hin bài toán bằng lưu .
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 8
HanoiAptech Computer Education Center Thanghv
1.2 thuyết
1.2.1 Ngôn ng lp trình (Programming Language)
Phn y cng ta s tìm hiu một s khái nim căn bản vthuật toán, cơng trình,
ngôn nglp tnh. Thut ng"thuật giải" và "thuật toán" dĩ nhn có sự khác nhau song trong
nhiều trường hợp chúng có cùng nghĩa.
1.2.1.1 Thut gii (Algorithm)
Là một y các thao tác xác nh tn một i tượng, sao cho sau khi thực hiện một s hu
hạn các bước thì ạt ược mục tiêu. Theo R.A.Kowalski thì bn chất ca thut giải: Thut giải = Logic
+ Điu khin
* Logic: Đây là phần khá quan trng, nó tr lời câu hi "Thuật gii làm gì, giải quyết
vn gì?", những yếu tố trong bài toán có quan h với nhau như thế nào v.v ây bao gồm nhng
kiến thức chuyên môn bạn phi biết ể có th tiến hành giải bài toán.
Ví dụ 1: Để giải một bài toán nh diện tích hình cu, bn không còn nh công thức
nh hình cầu thì bạn không th viết chương trình cho y giải i toán y ược.
* Điều khiển: Thành phần y tr lờiu hi: giải thut phải làm như thế o?. Chính
cách thức tiến hành áp dụng thành phn logic ể gii quyết vấn .
1.2.1.2 Chương trình (Program)
Là một tập hợp các mô tả, các pt biểu, nằm trong một h thống qui ước v ý nghĩa và th
tự thực hiện, nhằm iều khiển y tính m vic. Theo Niklaus Wirth thì:
Chương tnh = Thut toán + Cu trúc dliệu
Các thut toán và cơng trình u có cu trúc dựa tn 3 cấu trúc iều khiển cơ bn:
* Tun tự (Sequential): c bước thực hiện tuần tự một cách chính xác ttn
xuống, mỗi bước chỉ thực hiện úng một lần.
* Chn lc (Selection): Chọn 1 trong 2 hay nhiều thao tác ể thực hin.
* Lp lại (Repetition): Một hay nhiều bước ược thực hiện lp lại một số lần.
Mun trở thành lp tnh viên chuyên nghiệp bn y làm úng trình tự ể có thói quen tốt và
thun lợi sau y tn nhiều mặt ca một người làm y nh. Bạn hãy làm theo các bước sau:
Tìm, xây dựng thuật giải (trên giy) viết chương trình tn y
dch chương trình chạy và thử cơng trình
1.2.1.3 Ngôn ng lp trình (Programming language)
Ngôn ngữ lp tnh h thng các ký hiệu tuân theo các qui ước v ngpháp và ngnga,
dùng xây dựng thành các chương tnh cho y tính.
Một chương tnh ược viết bng một ngôn ng lập trình c thể (ví d Pascal, C…) gi là
chương tnh ngun, chương tnh dịch làm nhim v dịch chương tnh ngun thành chương tnh
thực thi ược trên y tính.
1.2.2 c bước lp trình
Bước 1: Phân ch vn và xác ịnh cácc im. (xác nh I-P-O) Bước 2: Lp
ra giải pháp. (ưa ra thuật giải)
Bước 3: Cài ặt. (viết cơng trình)
Bước 4: Chạy thử chương trình. (dịch chương tnh)
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 9
Bước 5: Kiểm chứng và hoàn thin chương tnh. (thnghiệm bằng nhiều s liu và ánh
giá)
1.2.3 K thut lp trình
1.2.3.1 I-P-O Cycle (Input-Pprocess-Output Cycle) (Quy trình nhp-xử lý-xuất)
Quy trình xlý cơ bn ca y tính gm I-P-O.
Ví d2: Xác nh Input, Process, Output của việc làm 1 ly nước chanh nóng Input
: ly, ường, chanh, nước nóng, mung.
Process : - cho hn hợp ường, chanh, ớc nóng vào ly.
- dùng mung khuấy u.
Output : ly chanh nóng ã sn sàng dùng.
Ví d3: Xác nh Input, Process, Output ca chương trình nh tiền lương công nn tháng
10/2002 biết rng lương = lương căn bản * ny công
Input : lương căn bn, ngày công
Process : nn lương căn bn với ny công
Output : lương
Ví d4: Xác ịnh Input, Process, Output ca cơng trình giải phương trình bậc nht ax +
b = 0
Input : h s a, b
Process : chia b cho a Output
: nghiệm x
Ví d5: Xác ịnh Input, Process, Output ca cơng trình tìm s lớn nhất của 2 số a và b.
Input : a, b
Process : Nếu a > b thì Output = a lớn nht
Ngược li Output = b lớn nhất
Bài tp
c nh Input, Process, Output của các chương tnh sau:
1. Đổi từ tin VND sang tiền USD.
2. Tính iểm trung bình của hc sinh gm các môn Toán, Lý, Hóa.
3. Giải phương trình bậc 2: ax
2
+ bx + c = 0
4. Đổi từ sang radian và i từ radian sang
(công thức α/π = a/180, với α: radian, a: ộ)
5. Kiểm tra 2 số a, b ging nhau hay kc nhau.
1.2.3.2 S dng lưu
Để d hơn v quy trình xlý, các n lp trình ưa ra dạng lưu ể minh họa từng
bước q tnh xử một vn (bài toán).
Hình dng (symbol)
nh ng (Activity)
I
nput
O
utput
rocess
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 10
HanoiAptech Computer Education Center Thanghv
Dữ liệu vào (Input)
Xử lý (Process)
Dữ liệu ra (Output)
Quyết nh (Decision), sdng iu kin
Lung x lý (Flow lines)
Gọi CT con, hàm… (Procedure, Function…)
Bt u, kết thúc (Begin, End)
Điểm ghép nối (Connector)
Ví dụ 6: Chun b phê Ví dụ 7: tả ví d 3 Ví d8: Mô t ví dụ 4
Ví dụ 9: Cng 2 s Ví d10: so sánh 2 số
B
t
u
K
ế
t thúc
LCB, ngày công
Nhân LCB v
i ny công
K
ế
t qu
l
ươ
ng
Giá tr
a, b
Chia b cho a
Nghi
m x
K
ế
t thúc
B
t
u
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 11
Ví d11: Kim tranh hợp l của iểm
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 12
HanoiAptech Computer Education Center Thanghv
Ví dụ 14:
Kiểm
tra nh hợp lệ ca iểm Bài tập
V lưu cho các chương trình sau:
1. Đổi từ tin VND sang tiền USD.
2. Tính iểm trung bình của hc sinh gm các môn Toán, Lý, Hóa.
3. Giải phương trình bậc 2: ax
2
+ bx + c = 0
4. Đổi từ sang radian và i từ radian sang
(công thức α/π = a/180, với α: radian, a: ) 5.
Kiểm tra 2 s a, b ging nhau hay khác nhau.
Ví d
13
Ki
:
m tra lo
i s
B
t
u
K
ế
t thúc
S
S
d
ươ
ng
S
> 0 ?
Có
S
< 0 ?
S
âm
Có
S
không
Không
Không
B
t
u
K
ế
t thúc
Sai
Đ
i
m
Đ
úng
Đ
i
m >=0 và
Đ
i
m <=10 ?
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 13
Bài 2 :
LÀM QUEN LP TNH C QUA CÁC D ĐƠN GIN
2.1 Mc tiêu
Sau khi hoàn tất i y học vn s hiu và vn dụng các kiến thức kĩ năng cơ bn sau: -
Ngôn ngữ C.
- Một s thao tác cơ bn ca tnh soạn tho C.
- ch lp tnh trên C.
- Tiếp cn một số lệnh ơn giản thông qua các ví dụ. - Nắm bắt ược một số k ng ơn giản.
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 14
HanoiAptech Computer Education Center Thanghv
2.2 Ni dung
2.2.1 Khi ng thoát BorlandC
2.2.1.1 Khi ng
Nhp lnh tại dấu nhắc DOS: gõ BC (Enter) (nếu ường dẫn ã ược cài ặt bằng lệnh path
trong ó có chứa ường dẫn ến thư mục chứa tập tin BC.EXE). Nếu ường dn ca ược cài t ta tìm
xem thư mục BORLANDC nằm ở ổ ĩa o. Sau ó ta gõ lệnh sau:
<ổ ĩa>:\BORLANDC\BIN\BC (Enter)
Nếu bn mun vừa khởi ng BC vừa soạn thảo chương trình với một tập tin cón do chúng
ta t, thì gõ lnh: BC [ường dẫn]<tên file cn soạn tho>, nếu n file cần son thảo ã có thì ược
nạp n, nếu chưa có sẽ ược tạo mới.
Khởi ng ti Windows: Bạn vào menu Start, chn Run, bn gõ vào hộp Open 1 trong các
dòng lnh n nhập tại DOS. Hoặc bạn vào Window Explorer, chn ĩa chứa thư mc
BORLANDC, vào thư mục BORLANDC, vào thư mục BIN, khởi ng tp tin BC.EXE.
Ví d: Bạn D:\BORLANDC\BIN\BC E:\BAITAP_BC\VIDU1.CPP
Câu lnh trên có nghĩa khởi ng BC và np tập tin VIDU1.CPP chứa trong thư mc
BAITAP_BC trong ĩa E. Nếu tập tin y không có sẽ ược to mới. n hình sau khi khởi ng
thành công
File Edit Search Run Compile Debug Project Option Window Help
[]
NONAME00.CPP
1 []
Thanh Menu
Hộp óng Tên tp tin Số ca cửa sổ
Hp nới rng cửa s
Đây là vùng soạn thảo chương trình
Tp tin ca lưu
Thanh trượt dc Ta
hàng:ct Thanh trượt ngang
Thanh chức năng
* 1:1
F1 Help F2 Save F3 Open Alt - F9 Compile F9 Make F10 Menu
2.2.1.2 Thoát
n phím F10 (kích hoạt Menu), chọn menu File, chọn
Quit; Hoặc n t hợp phím Alt X.
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 15
2.2.2 c ví d ơn gin
2.2.2.1 Ví d 1
Dòng
File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
/* Chuong trinh in ra cau bai hoc C dau tien */
#include <stdio.h>
void main(void)
{
printf("Bai hoc C dau
tien."); }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kết quả in ra màn hình
Bai hoc C dau tien. _
ng thứ 1: bắt ầu bng /* và kết thúc bằng */ cho biết hàng y hàng diễn giải (c thích).
Khi dịch và chạy chương tnh, dòng y không ược dch và cũng không thi hành lệnh gì c. Mục
ích ca việc ghi c này giúp cơng trình rõ ng hơn. Sau này bạn c li chương trình biết cơng
trình làm gì.
ng th2: chứa pt biểu tin xlý #include <stdio.h>. Vì trong chương trình này ta sử dng
hàm thư viện ca C printf, do ó bạn cn phi có khai báo của m thư vin này báo cho trình
biên dch C biết. Nếu không khai o chương trình s báo li.
Dòng thứ 3: hàng trng viết ra với ý m cho bảng cơng trình thoáng, d c.
ng thứ 4: void main(void) thành phần chính ca mọi cơng trình C (bạn có th viết main()
hoc void main() hoặc main(void)). Tuy nhn, bn nên viết theo dng void main(void) cơng
trình rõng hơn. Mọi chương trình C u bắt u thi hành thàm main. Cặp du ngoc () cho biết
ây là khi m (function). m void main(void) có từ khóa void u tiên cho biết hàm này không
tr vgiá trị, tkhóa void trong ngoc ơn cho biết hàm này không nhn vào i số. ng th5
và 7: cp du ngoặc c {} giới hn thân ca hàm. Thân hàm bắt ầu bằng du { và kết thúc bằng
dấu }.
ng thứ 6: printf("Bai hoc C dau tien.");, chỉ thị cho y in ra chui tự nằm trong nháy
kép (""). ng y ược gi là một câu lệnh, kết thúc một câu lệnh trong C phải là dấu chấm phy
(;).
Chú ý:
Các từ include, stdio.h, void, main, printf phi viết bằng chthường.
Chui trong nháy kép cn in ra "Bạn có thể viết chHOA, thường tùy,
ý". Kết thúc câu lnh phi có du chấm phy.
Kết thúc n hàm không có dấu chm phẩy hoc bất cứ du gì. Ghi
chú phi ặt trong cp /* …. */.
Thân m phi ược bao bởi cp { }.
Các câu lnh trong thân hàm phải viết thụt vào.
Bạn nhập on cơng trình trên vào y. Dịch, chạy và quan sát kết qu.
Ctrl F9: Dịch và chạy chương trình. Alt F5: Xem n hình kết qu.
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 16
HanoiAptech Computer Education Center Thanghv
Sau khi bạn nhập xong oạn chương trình vào y. Bạn n và giữ phím Ctrl, gõ F9 dch
và chạy chương trình. Khi ó bn thấy chương trình chớp rt nhanh và không thấy kết quả gì c.
Bn n và giphím Alt, gõ F5 xem kết qu, khi xem xong, bn n phím bất k quay v n
hình son thảo chương trình.
Bây gibn sửa li dòng th6 bng câu lnh printf("Bai hoc C dau tien.\n");, sau ó dịch và chy
lại cơng tnh, quan sát kết qu.
Kết quả in ra màn hình
Bai hoc C dau tien.
_
dòng bạn vừa sửa có thêm \n, \nký hiu xung dòng sử dng trong lnh printf. Sau ây là một
s ký hiệu kc.
+ Các kí tự iều khiển:
\n : Nhy xung dòng kế tiếp canh v ct u tiên.
\t : Canh ct tab ngang.
\r : Nhảy v u hàng, không xung ng.
\a : Tiếng kêu bip. + c tự c bit: \\ : In ra
dấu \
\" : In ra du "
\' : In ra du '
Bây gibạn sửa lại dòng th6 bằng câu lệnh printf("\tBai hoc C dau tien.\a\n");, sau ó dch và
chạy lại cơng trình, quan sát kết qu.
Kết quả in ra màn hình
_
Bai hoc C dau tien.
Khi chạy chương tnh bạn nghe tiếng bip pt ra tloa.
Mỗi khi chạy chương trình bạn thy rt bất tin trong việc xem kết qu phi n t hợp pm
Alt F5. Để khc phc nh trạng này bạn sửa lại cơng trình như sau:
Dòng
File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
/* Chuong trinh in ra cau bai hoc C dau tien */
#include <stdio.h>
#include <conio.h>
void main(void)
{
printf("\t\tBai hoc C \rdau tien.\n");
getch();
}
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 17
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kết quả in ra màn hình
dau tien. _
Bai hoc C
Dòng th 3: chứa phát biểu tin x lý #include <conio.h>. Vì trong chương trình y ta s
dụng m thư vin ca C là getch, do ó bạn cn phi có khai o ca hàm thư viện này báo cho
trình bn dịch C biết. Nếu không khai o chương trình s báo li.
ng th8: getch();, chờ nhận 1 ký tbất kỳ từ n phím, nng không in ra n hình.
Vì thế ta sdụng m y khi chạy chương trình xong s dừng lại n hình kết quả, sau ó ta
n phím bt ks quay lại màn hình soạn tho.
Bạn nhập on cơng trình trên vào y. Dịch, chạy và quan sát kết qu.
2.2.2.2 Ví d 2
Dòng
File Edit Search Run Compile Debug Project Option Window Help
1
2
3
4
5
6
7
8
9
10
11
12
/* Chuong trinh nhap va in ra man hinh gia tri bien*/
#include <stdio.h>
#include <conio.h>
void main(void)
{
int i;
printf("Nhap vao mot so: ");
scanf("%d", &i);
printf("So ban vua nhap la: %d.\n", i);
getch();
}
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kết quả in ra màn hình
Nhap vao mot so: 15
So ban vua nhap la: 15.
_
ng th7: int i; lệnh khai báo, mẫu tự i gi là n biến. Biến là một vtrí trong b nhdùng
lưu trgiá trị nào ó cơng trình s ly sử dng. Mỗi biến phi thuc mt kiểu dliệu. Trong
trường hợp này ta sdụng biến i kiểu s nguyên (integer) viết tắt là int.
ng th9: scanf("%d", &i). Sdụng hàm scanf nhn tngười sdụng một tr nào ó. Hàm
scanf trên có 2i mục. Đối mc "%d" ược gọi là chui nh dạng, cho biết loi dkin nời
sdụng s nhp vào. Chẳng hạn, ở ây phải nhập vào là số nguyên. Đi mục thứ 2 &i có du & iu
gi address operator, du & phối hợp với tên biến cho hàm scanf biến em trị gõ từ bàn phím lưu
vào biến i.
ng th10: printf("So ban vua nhap la: %d.\n", i);. Hàm này có 2 i mục. Đối mục thnht
một chui ịnh dạng có chứa chui văn bản So ban vua nhap la: và %d (ký hiệu khai báo chuyn
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 18
HanoiAptech Computer Education Center Thanghv
i dng thức) cho biết s nguyên s ược in ra. Đối mục thứ 2 i cho biết giá trị lấy tbiến i ể in ra
n hình.
Bạn nhập on cơng tnh trên vào y. Dịch, chy và quan sát kết qu.
2.2.2.3 Ví d 3
Dòng
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 2 so a, b in ra tong*/
#include <stdio.h>
#include <conio.h>
void main(void)
{ int
a, b;
printf("Nhap vao so a: ");
scanf("%d", &a);
printf("Nhap vao so b: ");
scanf("%d", &b);
printf("Tong cua 2 so %d va %d la %d.\n", a, b, a+b);
getch();
}
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kết quả in ra màn hình
Nhap vao so a: 4
Nhap vao so b: 14
Tong cua 2 so 4 va 14 la 18.
_
ng thứ 12: printf("Tong cua 2 so %d va %d la %d.\n", a, b, a+b);
Bạn nhập on cơng trình trên vào y. Dịch, chạy và quan sát kết qu.
2.2.2.4 Ví d 4
Dòng
File Edit Search Run Compile Debug Project Option Window Help
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 19
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)
{
floa
t 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-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kết quả in ra màn hình
Nhap vao ban kinh hinh tron: 1
Dien tich hinh tron: 6.28 _
ng th5: #define PI 3.14, dùng chỉ thị define ể ịnh nghĩa hng s PI giá tr 3.14. Trưc
define phi du # và cuing không có du chm phy.
Dòng th12: printf("Dien tich hinh tron: %.2f.\n", 2*PI*fR);. m này 2 i mục. Đối
mc thnht một chuỗi ịnh dạng có chứa chuỗi văn bản Dien tich hinh tron: và %.2f (ký hiệu
khai o chuyển i dng thức) cho biết dng s chấm ng s ược in ra, trong ó .2 nghĩa là in ra với
2 số lẻ. Đi mục th2biu thức hằng 2*PI*fR;
Bạn nhập on cơng trình tn vào y. Dịch, chạy và quan sát kết qu.
lO MoARcPSD|47704698
Giáo trình Lp tnh Cn bn Trang 20
HanoiAptech Computer Education Center Thanghv
Bài 3 :
CÁC THÀNH PHN TRONG NGÔN NG C
3.1 Mc tiêu
Sau khi hoàn tt bài này hc vn s hiu và vn dng các kiến thức kĩ năng cơ bn sau: -
Khái niệm từ khóa
- Các kiểu dữ liu
- Cách ghi c
- Đặt tên biến
- Khai báo biến.
- Phm vi sử dng biến.
3.2 Ni dung
3.2.1 T khóa
T khóa tcó ý nghĩa c ịnh dùng khai báo dữ liu, viết câu lệnh… Trong C có các t
khóa sau:
asm const else for interrupt return sizeof void break
continue enum goto long short switch volatile
case default extern huge near static typedef while
cdecl do far if pascal struct union
char double float int register signed
unsigned
c từ khóa phải viết bng chthường
3.2.2 Tên
Khái niệm tên rt quan trng trong quá trình lập trình, nó không những th hiện rõ ý nghĩa trong
chương trình còn dùng xác ịnh cáci lượng khác nhau khi thực hin chương trình. Tên thường
ược t cho hằng, biến, mảng, con tr, nn Chiu i ti a của n 32 ký tự.
Tên biến hợp lệmột chuỗi ký tự liên tục gm: tchữ, s và du gch dưới.
tự ầu ca tên phải là chữ hoc du gch dưới. Khi t tên không ược t trùng với các từ khóa.
Ví d 1 :
| 1/163

Preview text:

lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 1 MỤC LỤC BÀI 1 :
NGÔN NGỮ LẬP TRÌNH & PHƯƠNG PHÁP LẬP TRÌNH ...................... 7 1.1
Mục tiêu .................................................................................................................... ............ 7 1.2
Lý thuyết ............................................................................................................................... 7
1.2.1 Ngôn ngữ lập trình (Programming Language) ............................................................. 7
1.2.1.1 Thuật giải (Algorithm) ............................................................................................. 7
1.2.1.2 Chương trình (Program) ......................................................................................... 7
1.2.1.3 Ngôn ngữ lập trình (Programming language) ............................. .......................... 8
1.2.2 Các bước lập trình ........................................................................................................... 8
1.2.3 Kỹ thuật lập trình ............................................................................................................ 8
1.2.3.1 I-P-O Cycle (Input-Pprocess-Output Cycle) (Quy trình nhập-xử lý-xuất) ........ 8
1.2.3.2 Sử dụng lưu ồ (Flowchart) ..................................................................................... 9 BÀI 2 :
LÀM QUEN LẬP TRÌNH C QUA CÁC VÍ DỤ ĐƠN GIẢN ...................... 12 2.1
Mục tiêu .................................................................................................................... .......... 12 2.2
Nội dung .............................................................................................................................. 12
2.2.1 Khởi ộng và thoát BorlandC ....................................................................................... 12
2.2.1.1 Khởi ộng ................................................................................................................ 12
2.2.1.2 Thoát ....................................................................................................................... . 13
2.2.2 Các ví dụ ơn giản ......................................................................................................... 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 BÀI 3 :
CÁC THÀNH PHẦN TRONG NGÔN NGỮ C ......................................... 18 3.1
Mục tiêu .................................................................................................................... .......... 18 3.2
Nội dung .............................................................................................................................. 18 lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 2
3.2.1 Từ khóa ........................................................................................................................ ... 18
3.2.2 Tên ................................................................................................................................... 18
3.2.3 Kiểu dữ liệu .................................................................................................................... 18
3.2.4 Ghi chú ..................................................................................................................... ....... 19
3.2.5 Khai báo biến ................................................................................................................. 19
3.2.5.1 Tên biến ................................................................................................................... 19
3.2.5.2 Khai báo biến .............................................................................. ............................ 19
3.2.5.3 Vừa khai báo vừa khởi gán .................................................................................... 20
3.2.5.4 Phạm vi của biến ..................................................................................................... 20 BÀI 4 :
NHẬP / XUẤT DỮ LIỆU .......................................................................... 21 U 4.1
Mục tiêu .............................................................................................................................. 21 4.2
Nội dung ........................................................................................................ ...................... 21
4.2.1 Hàm printf .................................................................................................................. .... 21
4.2.2 Hàm scanf .......................................................................... ............................................. 24 4.3
Bài tập ................................................................................................................................. 25 BÀI 5 :
CẤU TRÚC RẼ NHÁNH CÓ ĐIỀU KIỆN ................................................ 26 5.1
Mục tiêu .................................................................................................................... .......... 26 5.2
Nội dung .............................................................................................................................. 26
5.2.1 Lệnh và khối lệnh ........................................................................................................... 26
5.2.1.1 Lệnh ......................................................................................................................... 26
5.2.1.2 Khối lệnh ................................................................................................................. 2 6
5.2.2 Lệnh if ....................................................................................................................... ...... 26
5.2.2.1 Dạng 1 (if thiếu) .............................................................................................. ........ 26
5.2.2.2 Dạng 2 (if ủ) ......................................................................................................... 30
5.2.2.3 Cấu trúc else if ....................................................................................... ................. 33
5.2.2.4 Cấu trúc if lồng ....................................................................................................... 37
5.2.3 Lệnh switch .................................................................................... ................................. 41
5.2.3.1 Cấu trúc switch…case (switch thiếu) .................................................................... 41
5.2.3.2 Cấu trúc switch…case…default (switch ủ) ...................................................... .. 44
5.2.3.3 Cấu trúc switch lồng ............................................................................................... 46 5.3
Bài tập ................................................................................................................................. 48
5.3.1 Sử dụng lệnh if ............................................................................................................... 48
5.3.2 Sử dụng lệnh switch ................................................................... .................................... 49 5.4
Bài tập làm thêm ............................................................................................................ .... 49 BÀI 6 :
CẤU TRÚC VÒNG LẶP .......................................................................... 51 6.1
Mục tiêu .................................................................................................................... .......... 51
HanoiAptech Computer Education Center Thanghv lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 3 6.2
Nội dung .............................................................................................................................. 51
6.2.1 Lệnh for .................................................................................................................... ....... 51
6.2.2 Lệnh break .................................................................................................................. .... 56
6.2.3 Lệnh continue ................................................................................................................. 56
6.2.4 Lệnh while................................................................................................................... .... 56
6.2.5 Lệnh do…while .............................................................................................................. 58
6.2.6 Vòng lặp lồng nhau ........................................................................................................ 60
6.2.7 So sánh sự khác nhau của các vòng l ặp ....................................................................... 61 6.3
Bài tập ................................................................................................................................. 62 BÀI 7 :
HÀM ......................................................................................................... 65 7.1
Mục tiêu .................................................................................................................... .......... 65 7.2
Nội dung .............................................................................................................................. 65
7.2.1 Các ví dụ về hàm ............................................................................................................ 65
7.2.2 Tham số dạng tham biến và tham trị ........................................................................... 68
7.2.3 Sử dụng biến toàn cục ................................................................................................... 69
7.2.4 Dùng dẫn hướng #define ............................................................................................... 71 7.3
Bài tập ................................................................................................................................. 71 BÀI 8 :
MẢNG VÀ CHUỖI ................................................................................... 72 8.1
Mục tiêu .................................................................................................. ............................ 72 8.2
Nội dung .................................................................................................................... .......... 72
8.2.1 Mảng ................................................................................................................................ 72
8.2.1.1 Cách khai báo mảng ............................................................................................... 72
8.2.1.2 Tham chiếu ến từng phần tử mảng .................................................................... 72
8.2.1.3 Nhập dữ liệu cho mảng .......................................................................................... 73
8.2.1.4 Đọc dữ liệu từ mảng ............................................................................................... 73
8.2.1.5 Sử dụng biến kiểu khác .......................................................................................... 74
8.2.1.6 Kỹ thuật Sentinal .................................................................................................... 74
8.2.1.7 Khởi tạo mảng ......................................................................................................... 75
8.2.1.8 Khởi tạo mảng không bao hàm kích thước .......................................................... 76
8.2.1.9 Mảng nhiều chiều ................................................................................................... 76
8.2.1.10 Tham chiếu ến từng phần tử mảng 2 chiều ....................................................... 76
8.2.1.11 Nhập dữ liệu cho mảng 2 chiều ............................................................................. 77
8.2.1.12 Đọc dữ liệu từ mảng 2 chiều .................................................................................. 77
8.2.1.13 Sử dụng biến kiểu khác trong mảng 2 chiều ........................................................ 78
8.2.1.14 Khởi tạo mảng 2 chiều ........................................................................................... 78
8.2.1.15 Dùng mảng 1 chiều làm tham số cho hàm ........................................................... 79
8.2.1.16 Dùng mảng 2 chiều làm tham số cho hàm ........................................................... 82 lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 4
8.2.2 Chuỗi ............................................................................................................................... 84
8.2.2.1 Cách khai báo chuỗi ............................................................................................... 84
8.2.2.2 Hàm nhập (gets), xuất (puts) chuỗi ....................................................................... 85
8.2.2.3 Khởi tạo chuỗi ......................................................................................................... 86
8.2.2.4 Mảng chuỗi .............................................................................................................. 86 8.3
Bài tập ................................................................................................................................. 87 BÀI 9 :
CON TRỎ ................................................................................................ 90 9.1
Mục tiêu .................................................................................................................... .......... 90 9.2
Nội dung .................................................................................................................... .......... 90
9.2.1 Con trỏ? ..................................................................................... ..................................... 90
9.2.2 Khái báo biến con trỏ .................................................................................................... 90
9.2.3 Truyền ịa chỉ sang hàm ............................................................................................... 91
9.2.4 Con trỏ và mảng ............................................................................................................. 92
9.2.5 Con trỏ trỏ ến mảng trong hàm ................................................................................. 92
9.2.6 Con trỏ và chuỗi ............................................................................................................. 93
9.2.7 Khởi tạo mảng con trỏ trỏ ến chuỗi ........................................................................... 94
9.2.8 Xử lý con trỏ trỏ ến chuỗi ........................................................................................... 95
9.2.9 Con trỏ trỏ ến con trỏ .................................................................................................. 97 9.3
Bài tập ................................................................................................................................. 98
BÀI 10 : CÁC KIỂU DỮ LIỆU TỰ TẠO ................................................................. 99
10.1 Mục tiêu .................................................................................................................... .......... 99
10.2 Nội dung ...................................................................................................................... ........ 99
10.2.1 Structure ....................................................................................................................... .. 99
10.2.1.1 Khai báo kiểu structure ......................................................................................... 99
10.2.1.2 Cách khai báo biến có kiểu structure ................................................................... 99
10.2.1.3 Tham chiếu các phần tử trong structure .............................................................. 99
10.2.1.4 Khởi tạo structure ................................................................................................ 101
10.2.1.5 Structure lồng nhau .............................................................................................. 102
10.2.1.6 Truyền structure sang hàm ................................................................................. 103 10.2.2 Enum
........................................................................................................................ ... .. 105
10.2.2.1 Định nghĩa kiểu enum .......................................................................................... 105
10.2.2.2 Cách khai báo biến có kiểu enum ....................................................................... 106
10.2.2.3 Sử dụng enum trong chương trình ..................................................................... 106
10.3 Bài tập ............................................................................................................................... 1 08
BÀI 11 : TẬP TIN ................................................................................................. 109
11.1 Mục tiêu ..................................................................................................................... ....... 109
HanoiAptech Computer Education Center Thanghv lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 5
11.2 Nội dung ............................................................................................................................ 109
11.2.1 Ví dụ ghi, ọc số nguyên .............................................................................................. 109
11.2.2 Ghi, ọc mảng .............................................................................................................. 110
11.2.3 Ghi, ọc structure ........................................................................................................ 111
11.2.4 Các mode khác ể mở tập tin ..................................................................................... 112
11.2.5 Một số hàm thao tác trên file khác ............................................................................. 112
11.3 Bài tập ............................................................................... ................................................ 113
BÀI 12 : ĐỆ QUY ................................................................................................. 114
12.1 Mục tiêu ............................................................................................................................ 114
12.2 Nội dung .................................................................................................................... ........ 114
12.3 Bài tập ........................................................................................................................... .... 117
BÀI 13 : TRÌNH SOẠN THẢO CỦA BORLAND C .............................................. 118
13.1 Mở tập tin soạn thảo mới ................................................................................................ 118
13.2 Lưu tập tin ................................................................................................................. ....... 118
13.2.1 Nếu là tập tin soạn thảo mới chưa lưu ....................................................................... 118
13.2.2 Nếu là tập tin ã lưu ít nhất 1 lần hoặc ược mở bằng lệnh Open: ........................ 118
13.3 Mở tập tin ......................................................................................................................... 119
13.4 Các phím, tổ hợp phím thường dùng ............................................................................. 119
13.4.1 Các phím di chuyển con trỏ ........................................................................................ 119
13.4.2 Các phím thao tác trên khối ........................................................................................ 120
13.4.3 Các thao tác xóa ........................................................................................................... 120
13.4.4 Các thao tác copy, di chuyển ....................................................................................... 120
13.4.5 Các thao tác khác ......................................................................................................... 120 13.5
Ghi một khối ra ĩa ......................................................................................................... 121 13.6
Chèn nội dung file từ ĩa vào vị trí con trỏ ................................................................... 121
13.7 Tìm kiếm văn bản trong nội dung soạn thảo ................................................................ 121
13.8 Tìm và thay thế văn bản trong nội dung soạn thảo ...................................................... 121
13.9 Sửa lỗi cú pháp ............................................................................................................. .... 122
13.10 Chạy từng bước ............................................................................................................... 122
13.11 Sử dụng Help (Giúp ỡ) .................................................................................................. 122
BÀI 14 : CÁC HỆ ĐẾM ........................................................................................ 124 lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 6
14.1 Khái niệm ................................................................................................................... ...... 124
14.2 Quy tắc .............................................................................................................................. 124 14.3
Chuyển ổi giữa các hệ ........................................................................................ ........... 125
14.3.1 Chuyển ổi giữa hệ 2 và hệ 10 .................................................................................... 125
14.3.2 Chuyển ổi giữa hệ 8 và hệ 10 .................................................................................... 126
14.3.3 Chuyển ổi giữa hệ 16 và hệ 10 .................................................................................. 126
14.3.4 Chuyển ổi giữa hệ 2 và hệ 16 .................................................................................... 127
BÀI 15 : BIỂU THỨC VÀ PHÉP TOÁN ............................................................... 128
15.1 Biểu thức ................................................................................................................... ........ 128
15.2 Phép toán ................................................................................................................... ....... 128
15.2.1 Phép toán số học ............................................................................................ ............... 128
15.2.2 Phép quan hệ ................................................................................................................ 128
15.2.3 Phép toán luận lý .......................................................................................................... 129
15.2.4 Phép toán trên bit (bitwise) ......................................................................................... 129
15.2.5 Các phép toán khác ...................................................................................................... 130
15.2.6 Độ ưu tiên của các phép toán ...................................................................................... 130
15.3 Bài tập ...................................................................... ......................................................... 130
BÀI 16 : MỘT SỐ HÀM CHUẨN THƯỜNG DÙNG ............................................. 132 16.1
Các hàm chuyển ổi dữ liệu ........................................................................ ................... 132
16.1.1 atof ........................................................................................................................ ....... .. 132 16.1.2 atoi
................................................................................................................................. 132 16.1.3 itoa
................................................................................................................................. 132
16.1.4 tolower ..................................................................................................................... ... ... 132
16.1.5 toupper ........................................................................................................................ .. 132
16.2 Các hàm xử lý chuỗi ký tự .............................................................................................. 133
16.2.1 strcat ............................................................................................................................ .. 133 16.2.2 strcpy
............................................................................................................................. 133 16.2.3 strcmp
............................................................................................................................ 133
16.2.4 strcmpi ..................................................................................................................... ..... 133
16.2.5 strlwr ...................................................................................................................... .... ... 133 16.2.6 strupr
...................................................................................................... ....................... 133 16.2.7 strlen
.............................................................................................................................. 134

16.3 Các hàm toán học ............................................................................................................ 134
HanoiAptech Computer Education Center Thanghv lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 7
16.3.1 abs ......................................................................................................................... ....... .. 134 16.3.2 labs
................................................................................................................................. 134 16.3.3
rand ........................................................................................................................ ....... 134 16.3.4 random
.......................................................................................................................... 134
16.3.5 pow ......................................................................................................................... ....... 134
16.3.6 sqrt ........................................................................................................................ ...... ... 134
16.4 Các hàm xử lý file ............................................................................................................ 135
16.4.1 rewind ...................................................................................................................... .... .. 135 16.4.2 ftell
................................................................................................................................. 135 16.4.3
fseek ............................................................................................................................... 135 Bài 1 :
NGÔN NGỮ LẬP TRÌNH & PHƯƠNG PHÁP LẬP TRÌNH 1.1 Mục tiêu
Sau khi hoàn tất bài này học viên sẽ hiểu và vận dụng các kiến thức kĩ năng cơ bản sau: -
Ý nghĩa, các bước lập trình.
- Xác ịnh dữ liệu vào, ra.
- Phân tích các bài toán ơn giản.
- Khái niệm so sánh, lặp.
- Thể hiện bài toán bằng lưu ồ. lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 8 1.2 Lý thuyết
1.2.1 Ngôn ngữ lập trình (Programming Language)
Phần này chúng ta sẽ tìm hiểu một số khái niệm căn bản về thuật toán, chương trình,
ngôn ngữ lập trình. Thuật ngữ "thuật giải" và "thuật toán" dĩ nhiên có sự khác nhau song trong
nhiều trường hợp chúng có cùng nghĩa.
1.2.1.1 Thuật giải (Algorithm)
Là một dãy các thao tác xác ịnh trên một ối tượng, sao cho sau khi thực hiện một số hữu
hạn các bước thì ạt ược mục tiêu. Theo R.A.Kowalski thì bản chất của thuật giải: Thuật giải = Logic + Điều khiển *
Logic: Đây là phần khá quan trọng, nó trả lời câu hỏi "Thuật giải làm gì, giải quyết
vấn ề gì?", những yếu tố trong bài toán có quan hệ với nhau như thế nào v.v… Ở ây bao gồm những
kiến thức chuyên môn mà bạn phải biết ể có thể tiến hành giải bài toán.
Ví dụ 1: Để giải một bài toán tính diện tích hình cầu, mà bạn không còn nhớ công thức
tính hình cầu thì bạn không thể viết chương trình cho máy ể giải bài toán này ược. *
Điều khiển: Thành phần này trả lời câu hỏi: giải thuật phải làm như thế nào?. Chính
là cách thức tiến hành áp dụng thành phần logic ể giải quyết vấn ề.
1.2.1.2 Chương trình (Program)
Là một tập hợp các mô tả, các phát biểu, nằm trong một hệ thống qui ước về ý nghĩa và thứ
tự thực hiện, nhằm iều khiển máy tính làm việc. Theo Niklaus Wirth thì:
Chương trình = Thuật toán + Cấu trúc dữ liệu
Các thuật toán và chương trình ều có cấu trúc dựa trên 3 cấu trúc iều khiển cơ bản: *
Tuần tự (Sequential): Các bước thực hiện tuần tự một cách chính xác từ trên
xuống, mỗi bước chỉ thực hiện úng một lần. *
Chọn lọc (Selection): Chọn 1 trong 2 hay nhiều thao tác ể thực hiện. *
Lặp lại (Repetition): Một hay nhiều bước ược thực hiện lặp lại một số lần.
Muốn trở thành lập trình viên chuyên nghiệp bạn hãy làm úng trình tự ể có thói quen tốt và
thuận lợi sau này trên nhiều mặt của một người làm máy tính. Bạn hãy làm theo các bước sau:
Tìm, xây dựng thuật giải (trên giấy) → viết chương trình trên máy →
dịch chương trình → chạy và thử chương trình
1.2.1.3 Ngôn ngữ lập trình (Programming language)
Ngôn ngữ lập trình là hệ thống các ký hiệu tuân theo các qui ước về ngữ pháp và ngữ nghĩa,
dùng ể xây dựng thành các chương trình cho máy tính.
Một chương trình ược viết bằng một ngôn ngữ lập trình cụ thể (ví dụ Pascal, C…) gọi là
chương trình nguồn, chương trình dịch làm nhiệm vụ dịch chương trình nguồn thành chương trình
thực thi ược trên máy tính.
1.2.2 Các bước lập trình
Bước 1: Phân tích vấn ề và xác ịnh các ặc iểm. (xác ịnh I-P-O) Bước 2: Lập
ra giải pháp. (ưa ra thuật giải)
Bước 3: Cài ặt. (viết chương trình)
Bước 4: Chạy thử chương trình. (dịch chương trình)
HanoiAptech Computer Education Center Thanghv lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 9
Bước 5: Kiểm chứng và hoàn thiện chương trình. (thử nghiệm bằng nhiều số liệu và ánh giá)
1.2.3 Kỹ thuật lập trình
1.2.3.1 I-P-O Cycle (Input-Pprocess-Output Cycle) (Quy trình nhập-xử lý-xuất)
Quy trình xử lý cơ bản của máy tính gồm I-P-O. I nput O utput P rocess
Ví dụ 2: Xác ịnh Input, Process, Output của việc làm 1 ly nước chanh nóng Input
: ly, ường, chanh, nước nóng, muỗng. Process
: - cho hỗn hợp ường, chanh, nước nóng vào ly.
- dùng muỗng khuấy ều. Output
: ly chanh nóng ã sẵn sàng ể dùng.
Ví dụ 3: Xác ịnh Input, Process, Output của chương trình tính tiền lương công nhân tháng
10/2002 biết rằng lương = lương căn bản * ngày công Input
: lương căn bản, ngày công
Process : nhân lương căn bản với ngày công Output : lương
Ví dụ 4: Xác ịnh Input, Process, Output của chương trình giải phương trình bậc nhất ax + b = 0 Input : hệ số a, b Process
: chia – b cho a Output : nghiệm x
Ví dụ 5: Xác ịnh Input, Process, Output của chương trình tìm số lớn nhất của 2 số a và b. Input : a, b
Process : Nếu a > b thì Output = a lớn nhất
Ngược lại Output = b lớn nhất  Bài tập
Xác ịnh Input, Process, Output của các chương trình sau:
1. Đổi từ tiền VND sang tiền USD.
2. Tính iểm trung bình của học sinh gồm các môn Toán, Lý, Hóa.
3. Giải phương trình bậc 2: ax2 + bx + c = 0
4. Đổi từ ộ sang radian và ổi từ radian sang ộ
(công thức α/π = a/180, với α: radian, a: ộ)
5. Kiểm tra 2 số a, b giống nhau hay khác nhau.
1.2.3.2 Sử dụng lưu ồ
Để dễ hơn về quy trình xử lý, các nhà lập trình ưa ra dạng lưu ồ ể minh họa từng
bước quá trình xử lý một vấn ề (bài toán). Hình dạng (symbol) Hành ộng (Activity) lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 10 Dữ liệu vào (Input) Xử lý (Process) Dữ liệu ra (Output)
Quyết ịnh (Decision), sử dụng iều kiện Luồng xử lý (Flow lines)
Gọi CT con, hàm… (Procedure, Function…)
Bắt ầu, kết thúc (Begin, End)
Điểm ghép nối (Connector)
Ví dụ 6: Chuẩn bị cà phê Ví dụ 7: Mô tả ví dụ 3
Ví dụ 8: Mô tả ví dụ 4 B ắ t ầ u B ắ t ầ u LCB, ngày công Giá tr ị a, b Nhân LCB v ớ i ngày công Chia –b cho a K ế t qu ả l ươ ng Nghi ệ m x K ế t thúc K ế t thúc
Ví dụ 9: Cộng 2 số Ví dụ 10: so sánh 2 số
HanoiAptech Computer Education Center Thanghv lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 11
Ví dụ 11: Kiểm tra tính hợp lệ của iểm lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 12
Ví d 13 : Ki ể m tra lo ạ i s ố B ắ t ầ u S ố Có B ắ t ầ u S ố > 0 ? S ố d ươ ng K hông Đ i ể m Có S ố < 0 ? S ố âm Không Sai Đ i ể m >=0 và Đ i ể m <=10 ? S ố không Đ úng K ế t thúc Ví dụ 14: K ế t thúc Kiểm
tra tính hợp lệ của iểm  Bài tập
Vẽ lưu ồ cho các chương trình sau:
1. Đổi từ tiền VND sang tiền USD.
2. Tính iểm trung bình của học sinh gồm các môn Toán, Lý, Hóa.
3. Giải phương trình bậc 2: ax2 + bx + c = 0
4. Đổi từ ộ sang radian và ổi từ radian sang ộ
(công thức α/π = a/180, với α: radian, a: ộ) 5.
Kiểm tra 2 số a, b giống nhau hay khác nhau.
HanoiAptech Computer Education Center Thanghv lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 13 Bài 2 :
LÀM QUEN LẬP TRÌNH C QUA CÁC VÍ DỤ ĐƠN GIẢN 2.1 Mục tiêu
Sau khi hoàn tất bài này học viên sẽ hiểu và vận dụng các kiến thức kĩ năng cơ bản sau: - Ngôn ngữ C.
- Một số thao tác cơ bản của trình soạn thảo C. - Cách lập trình trên C.
- Tiếp cận một số lệnh ơn giản thông qua các ví dụ. - Nắm bắt ược một số kỹ năng ơn giản. lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 14 2.2 Nội dung
2.2.1 Khởi ộng và thoát BorlandC 2.2.1.1 Khởi ộng
Nhập lệnh tại dấu nhắc DOS: gõ BC (Enter) (nếu ường dẫn ã ược cài ặt bằng lệnh path
trong ó có chứa ường dẫn ến thư mục chứa tập tin BC.EXE). Nếu ường dẫn chưa ược cài ặt ta tìm
xem thư mục BORLANDC nằm ở ổ ĩa nào. Sau ó ta gõ lệnh sau:
<ổ ĩa>:\BORLANDC\BIN\BC (Enter)
Nếu bạn muốn vừa khởi ộng BC vừa soạn thảo chương trình với một tập tin có tên do chúng
ta ặt, thì gõ lệnh: BC [ường dẫn], nếu tên file cần soạn thảo ã có thì ược
nạp lên, nếu chưa có sẽ ược tạo mới.
Khởi ộng tại Windows: Bạn vào menu Start, chọn Run, bạn gõ vào hộp Open 1 trong các
dòng lệnh như nhập tại DOS. Hoặc bạn vào Window Explorer, chọn ổ ĩa chứa thư mục
BORLANDC, vào thư mục BORLANDC, vào thư mục BIN, khởi ộng tập tin BC.EXE.
Ví dụ: Bạn gõ D:\BORLANDC\BIN\BC E:\BAITAP_BC\VIDU1.CPP
Câu lệnh trên có nghĩa khởi ộng BC và nạp tập tin VIDU1.CPP chứa trong thư mục
BAITAP_BC trong ổ ĩa E. Nếu tập tin này không có sẽ ược tạo mới. Màn hình sau khi khởi ộng thành công
File Edit Search Run Compile Debug Project Option Window Help [] NONAME00.CPP 1 [↑] Thanh Menu
Hộp óng Tên tập tin Số của cửa sổ
Hộp nới rộng cửa sổ
Đây là vùng soạn thảo chương trình Tập tin chưa lưu Thanh trượt dọc Tọa ộ hàng:cột Thanh trượt ngang Thanh chức năng * 1:1
F1 Help F2 Save F3 Open Alt - F9 Compile F9 Make F10 Menu 2.2.1.2 Thoát
Ấn phím F10 (kích hoạt Menu), chọn menu File, chọn Quit;
Hoặc ấn tổ hợp phím Alt – X.
HanoiAptech Computer Education Center Thanghv lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 15
2.2.2 Các ví dụ ơn giản 2.2.2.1 Ví dụ 1
Dòng File Edit Search Run Compile Debug Project Option Window Help
1 /* Chuong trinh in ra cau bai hoc C dau tien */ 2 #include 3 4 void main(void) 5 { 6 printf("Bai hoc C dau 7 tien."); }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kết quả in ra màn hình Bai hoc C dau tien. _
Dòng thứ 1: bắt ầu bằng /* và kết thúc bằng */ cho biết hàng này là hàng diễn giải (chú thích).
Khi dịch và chạy chương trình, dòng này không ược dịch và cũng không thi hành lệnh gì cả. Mục
ích của việc ghi chú này giúp chương trình rõ ràng hơn. Sau này bạn ọc lại chương trình biết chương trình làm gì.
Dòng thứ 2: chứa phát biểu tiền xử lý #include . Vì trong chương trình này ta sử dụng
hàm thư viện của C là printf, do ó bạn cần phải có khai báo của hàm thư viện này ể báo cho trình
biên dịch C biết. Nếu không khai báo chương trình sẽ báo lỗi.
Dòng thứ 3: hàng trắng viết ra với ý ồ làm cho bảng chương trình thoáng, dễ ọc.
Dòng thứ 4: void main(void) là thành phần chính của mọi chương trình C (bạn có thể viết main()
hoặc void main() hoặc main(void)). Tuy nhiên, bạn nên viết theo dạng void main(void) ể chương
trình rõ ràng hơn. Mọi chương trình C ều bắt ầu thi hành từ hàm main. Cặp dấu ngoặc () cho biết
ây là khối hàm (function). Hàm void main(void) có từ khóa void ầu tiên cho biết hàm này không
trả về giá trị, từ khóa void trong ngoặc ơn cho biết hàm này không nhận vào ối số. Dòng thứ 5
và 7: cặp dấu ngoặc móc {} giới hạn thân của hàm. Thân hàm bắt ầu bằng dấu { và kết thúc bằng dấu }.
Dòng thứ 6: printf("Bai hoc C dau tien.");, chỉ thị cho máy in ra chuỗi ký tự nằm trong nháy
kép (""). Hàng này ược gọi là một câu lệnh, kết thúc một câu lệnh trong C phải là dấu chấm phẩy (;).  Chú ý:
 Các từ include, stdio.h, void, main, printf phải viết bằng chữ thường.
 Chuỗi trong nháy kép cần in ra "Bạn có thể viết chữ HOA, thường tùy,
ý".  Kết thúc câu lệnh phải có dấu chấm phẩy.
 Kết thúc tên hàm không có dấu chấm phẩy hoặc bất cứ dấu gì.  Ghi
chú phải ặt trong cặp /* …. */.
 Thân hàm phải ược bao bởi cặp { }.
 Các câu lệnh trong thân hàm phải viết thụt vào.
Bạn nhập oạn chương trình trên vào máy. Dịch, chạy và quan sát kết quả.
Ctrl – F9: Dịch và chạy chương trình. Alt – F5: Xem màn hình kết quả. lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 16
Sau khi bạn nhập xong oạn chương trình vào máy. Bạn Ấn và giữ phím Ctrl, gõ F9 ể dịch
và chạy chương trình. Khi ó bạn thấy chương trình chớp rất nhanh và không thấy kết quả gì cả.
Bạn Ấn và giữ phím Alt, gõ F5 ể xem kết quả, khi xem xong, bạn ấn phím bất kỳ ể quay về màn
hình soạn thảo chương trình.
Bây giờ bạn sửa lại dòng thứ 6 bằng câu lệnh printf("Bai hoc C dau tien.\n");, sau ó dịch và chạy
lại chương trình, quan sát kết quả.
Kết quả in ra màn hình Bai hoc C dau tien. _
Ở dòng bạn vừa sửa có thêm \n, \n là ký hiệu xuống dòng sử dụng trong lệnh printf. Sau ây là một số ký hiệu khác.
+ Các kí tự iều khiển:
\n : Nhảy xuống dòng kế tiếp canh về cột ầu tiên. \t : Canh cột tab ngang.
\r : Nhảy về ầu hàng, không xuống hàng.
\a : Tiếng kêu bip. + Các kí tự ặc biệt: \\ : In ra dấu \ \" : In ra dấu " \' : In ra dấu '
Bây giờ bạn sửa lại dòng thứ 6 bằng câu lệnh printf("\tBai hoc C dau tien.\a\n");, sau ó dịch và
chạy lại chương trình, quan sát kết quả.
Kết quả in ra màn hình Bai hoc C dau tien. _
Khi chạy chương trình bạn nghe tiếng bip phát ra từ loa.
Mỗi khi chạy chương trình bạn thấy rất bất tiện trong việc xem kết quả phải ấn tổ hợp phím
Alt – F5. Để khắc phục tình trạng này bạn sửa lại chương trình như sau:
Dòng File Edit Search Run Compile Debug Project Option Window Help
1 /* Chuong trinh in ra cau bai hoc C dau tien */ 2 #include 3 #include 4 5 void main(void) 6 { 7
printf("\t\tBai hoc C \rdau tien.\n"); 8 getch(); 9 }
HanoiAptech Computer Education Center Thanghv lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 17
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kết quả in ra màn hình Bai hoc C dau tien. _
Dòng thứ 3: chứa phát biểu tiền xử lý #include . Vì trong chương trình này ta sử
dụng hàm thư viện của C là getch, do ó bạn cần phải có khai báo của hàm thư viện này ể báo cho
trình biên dịch C biết. Nếu không khai báo chương trình sẽ báo lỗi .
Dòng thứ 8: getch();, chờ nhận 1 ký tự bất kỳ từ bàn phím, nhưng không in ra màn hình.
Vì thế ta sử dụng hàm này ể khi chạy chương trình xong sẽ dừng lại ở màn hình kết quả, sau ó ta
ấn phím bất kỳ sẽ quay lại màn hình soạn thảo.
Bạn nhập oạn chương trình trên vào máy. Dịch, chạy và quan sát kết quả. 2.2.2.2 Ví dụ 2
Dòng File Edit Search Run Compile Debug Project Option Window Help
/* Chuong trinh nhap va in ra man hinh gia tri bien*/ 1 #include 2 #include 3 4 void main(void) 5 { 6 7 int i;
8 printf("Nhap vao mot so: "); 9 scanf("%d", &i); 10
printf("So ban vua nhap la: %d.\n", i); 11 getch(); 12 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kết quả in ra màn hình Nhap vao mot so: 15 So ban vua nhap la: 15. _
Dòng thứ 7: int i; là lệnh khai báo, mẫu tự i gọi là tên biến. Biến là một vị trí trong bộ nhớ dùng
lưu trữ giá trị nào ó mà chương trình sẽ lấy ể sử dụng. Mỗi biến phải thuộc một kiểu dữ liệu. Trong
trường hợp này ta sử dụng biến i kiểu số nguyên (integer) viết tắt là int.
Dòng thứ 9: scanf("%d", &i). Sử dụng hàm scanf ể nhận từ người sử dụng một trị nào ó. Hàm
scanf trên có 2 ối mục. Đối mục "%d" ược gọi là chuỗi ịnh dạng, cho biết loại dữ kiện mà người
sử dụng sẽ nhập vào. Chẳng hạn, ở ây phải nhập vào là số nguyên. Đối mục thứ 2 &i có dấu & i ầu
gọi là address operator, dấu & phối hợp với tên biến cho hàm scanf biến em trị gõ từ bàn phím lưu vào biến i.
Dòng thứ 10: printf("So ban vua nhap la: %d.\n", i);. Hàm này có 2 ối mục. Đối mục thứ nhất
là một chuỗi ịnh dạng có chứa chuỗi văn bản So ban vua nhap la:%d (ký hiệu khai báo chuyển lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 18
ổi dạng thức) cho biết số nguyên sẽ ược in ra. Đối mục thứ 2 là i cho biết giá trị lấy từ biến i ể in ra màn hình.
Bạn nhập oạn chương trình trên vào máy. Dịch, chạy và quan sát kết quả. 2.2.2.3 Ví dụ 3
Dòng File Edit Search Run Compile Debug Project Option Window Help
1 /* Chuong trinh nhap vao 2 so a, b in ra tong*/ 2 #include 3 #include 4 5 void main(void) 6 { int 7 a, b; 8 printf("Nhap vao so a: "); 9 scanf("%d", &a); 10 printf("Nhap vao so b: "); 11 scanf("%d", &b); 12
printf("Tong cua 2 so %d va %d la %d.\n", a, b, a+b); 13 getch(); 14 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kết quả in ra màn hình Nhap vao so a: 4 Nhap vao so b: 14 Tong cua 2 so 4 va 14 la 18. _
Dòng thứ 12: printf("Tong cua 2 so %d va %d la %d.\n", a, b, a+b);
Bạn nhập oạn chương trình trên vào máy. Dịch, chạy và quan sát kết quả. 2.2.2.4 Ví dụ 4
Dòng File Edit Search Run Compile Debug Project Option Window Help
HanoiAptech Computer Education Center Thanghv lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 19
/* Chuong trinh nhap vao ban kinh hinh tron. Tinh dien tich */ 1 #include 2 #include 3 4 #define PI 3.14 5 6 void main(void) 7 { 8 floa 9 t fR;
10 printf("Nhap vao ban kinh hinh tron: "); 11 scanf("%f", &fR); 12
printf("Dien tich hinh tron: %.2f.\n", 2*PI*fR); 13 getch(); 14 }
F1 Help Alt-F8 Next Msg Alt-F7 Prev Msg Alt - F9 Compile F9 Make F10 Menu
Kết quả in ra màn hình
Nhap vao ban kinh hinh tron: 1 Dien tich hinh tron: 6.28 _
Dòng thứ 5: #define PI 3.14, dùng chỉ thị define ể ịnh nghĩa hằng số PI có giá trị 3.14. Trước
define phải có dấu # và cuối dòng không có dấu chấm phẩy .
Dòng thứ 12: printf("Dien tich hinh tron: %.2f.\n", 2*PI*fR);. Hàm này có 2 ối mục. Đối
mục thứ nhất là một chuỗi ịnh dạng có chứa chuỗi văn bản Dien tich hinh tron:%.2f (ký hiệu
khai báo chuyển ổi dạng thức) cho biết dạng số chấm ộng sẽ ược in ra, trong ó .2 nghĩa là in ra với
2 số lẻ. Đối mục thứ 2 là biểu thức hằng 2*PI*fR;
Bạn nhập oạn chương trình trên vào máy. Dịch, chạy và quan sát kết quả. lO M oARcPSD| 47704698
Giáo trình Lập trình C căn bản Trang 20 Bài 3 :
CÁC THÀNH PHẦN TRONG NGÔN NGỮ C 3.1 Mục tiêu
Sau khi hoàn tất bài này học viên sẽ hiểu và vận dụng các kiến thức kĩ năng cơ bản sau: - Khái niệm từ khóa - Các kiểu dữ liệu - Cách ghi chú - Đặt tên biến - Khai báo biến.
- Phạm vi sử dụng biến. 3.2 Nội dung 3.2.1 Từ khóa
Từ khóa là từ có ý nghĩa xác ịnh dùng ể khai báo dữ liệu, viết câu lệnh… Trong C có các từ khóa sau: asm const else for interrupt return sizeof void break continue enum goto long short switch volatile case default extern huge near static typedef while cdecl do far if pascal struct union char double float int register signed unsigned
 Các từ khóa phải viết bằng chữ thường 3.2.2 Tên
Khái niệm tên rất quan trọng trong quá trình lập trình, nó không những thể hiện rõ ý nghĩa trong
chương trình mà còn dùng ể xác ịnh các ại lượng khác nhau khi thực hiện chương trình. Tên thường
ược ặt cho hằng, biến, mảng, con trỏ, nhãn… Chiều dài tối a của tên là 32 ký tự.
Tên biến hợp lệ là một chuỗi ký tự liên tục gồm: Ký tự chữ, số và dấu gạch dưới. Ký
tự ầu của tên phải là chữ hoặc dấu gạch dưới. Khi ặt tên không ược ặt trùng với các từ khóa. Ví dụ 1 :
HanoiAptech Computer Education Center Thanghv