MUC LUC Chương: LƯU ĐỎ THUẬT TỐN 1 ¡1 CÁC KÝ HIỆU G2515 18 13 0 9k3 1g 103 200 610 T000 Tá nành 1 cuc i BAN: r6 e ƠỎ 1 0? ‹ c nẽ 1 6n 1:8 .dÄdHẬ, , 1 LA Xuat HEU nh ˆẻẻ::»5ÝÝ.- 1 đ.‹?.^ .H Ơ 2 NA 7a 2 x9 \06400)200‹4:)2 0055 2 1.2.1 Cấu trúc điều khiển tuần tự -c<ccecsreeseezexee ¬- 1.2.2 Cầu trúc điều khiến rẽ nhánh if -5-ce+cczeeeersxeerseeeee 3 1.2.3 Cấu trúc điều khiển rẽ nhánh if else -5-s-c<ccsezeeszxs 3
1.2.4 Cau trúc điều khiển vịng lặp csccsccseesxerxereeeeeree 4
1a .4{‹:::Ỏ::ÂẢ Ơ 4
Chương2 LẬP TRÌNH VỚI NGƠN NGỮ C 12
2.1 CÁC LỆNH CƠ BẢN TRONG C -S5SSScseseeerreerrrrrrre 12
QL Bat na 12
Trang 32.1.3 NBAp LGU ccceecccsssssssecesscssssssssssssssessesssecesssesssssseceessessensenseneeven 12 2.1.4 Xuất liệu S 2c SH ch ch gen 12
PB cĩ .Ị 13
» NG.s sa dAẬẲHH,HẬ})H 13 2.2 CẤU TRÚC ĐIỀU KHIỂN .02 26C 2222 rerrerrsrxeee 13 2.2.1 Cu trúc điều khiển rẽ nhánh ïf -s+ceezscczzczvrseee 13 2.2.2 Cấu trúc điều khiển rẽ nhánh if else - 13 2.2.3 Cấu trúc điều khiển vịng lặp se sex cegeersrrsrxreeee 13
' No (ei:00/)02 062i n Ơ 14
2.4 CÁC KIÊU DỮ LIỆU CƠ BẢN .2 2S/cscccecveerverrkseresreeee 14 "5 NMh co ca A4 14 2.5.1 Ứng Dụng Ì -5-52 ©2222 CS crEezresrsersrreeceeree 14 2.5.2 Ứng dụng 2 22 <-©csczE v32 EExeerrevrscre 15 2.5.3 Ung dung 3 ccccccsessscssessessssssscsssscscstesssessssssessessesssessevssesssecseen 1€ 2.5.4 Ứng dụng 4 St CS HE EkxvckEsrevkered 1€ 2.6 BÀI TẬP CHƯNG 2 22- 2< SH EEsEECeE2eeE2Eecrvre 17
Chương3 CÁC CẤU TRÚC ĐIÊU KHIỂN 18
SN HN! in: nh «a4 18
Trang 43.8 3.8.1 CAU LENH BREAK VA CONTINUE scesccsssessssccssssscstsssesssessesessees Cau Lémnh break 017 3.8.2 Câu Lệnh Continue cee ccescsseeossscescoesssecsnussserssnsseeseanees 3.9 Chuong4 HAM 4.1 4.2 4.3 4.4 4.5 4.5.1 4.5.2 4.6 Chuong5 MANG MOT CHIEU £ 5.1 5.2 5.3 5.4 5.5 5.5.1 5.5.2 5.5.3 :Ptuy ,ƠỎ VÀ 90 ẫĂ ,ƠỎ 478) 5 — ,ƠỎ KIÊN TRÚC :4ƠT CHƯƠNG TRÌNH C -©c<+vs<ceccceee Chương trình I - <c<< s22 B44 3100 01g n0 ng Chương trình 2 c9 11 100 0 1 00013 ch ng 0 7 ƠỎ 4:98) ớg ƠƠ HINH ẢNH MĂNG MỘT CHIỀU s-5<c<cnSeeeseesrrrrree CHỈ SĨ CÁC PHÀN TỬ TRONG MANG MỘT CHIÊU KHAI BẢO MẢNG MỘT CHIỀU 75< 7< csccrrrerererrrre CÁC KỸ THUẬT CƠ BẢN TRÊN MẢNG MỘT CHIÊU
Hàm nhập mảng một chiều 5-5-S5+cserrerrerree
Hàm xuất mảng một chiều .- -5<csccecsrererrsrrreee
Kỹ thuật đặt lính canh . s+ + eieeerieeriesrsererree
Trang 5
5.5.4 KY thudt dat CO NIGU .eceeeseseesesesessssscesesececsesecseseseeeeesesees 55 5.5.5 KY thuat d€m oc ccscsscssescscsesseseseccsecvssessessecsesssesuceasesecenses 55 5.5.6 KY thudt tinh tong cece cccsssescsesccesseccceseecececesacesneeesssesssees 56 5.5.7 KY thudt sap X€p cc ceccscsssssecccsessessssssescesseossesseccsesasecsneceseeess 56 5.6 BÀI TẬP 2S HH TH TH E111 xeecre 57
Chường6 MA TRAN 82
6.1 KHAL NEM cccecscscsssssscsocesecsssescsssssssessssssusessancasscescaseercesescnueseeraseeess 82 6.2 HINH ANH MA TRAN .cccssssssesssessessssesessscsssscessscssssuccessuseecenssssensnsves 82 0.3 CHỈ SỐ CÁC PHẢN TỬ TRONG MA TRẬN s - 82 6.4 KHAI BẢO MA TRẬN -s+2-.< CS CErSEEecErrkeveeeorreesrreeerre 83 6.5 CAC KY THUAT CO BAN TREN MA TRẬN -s-cccee 83
6.5.1 Ham mhap m@ tran oe ceseseeecssssneceescececcssseescenssesssssensassees 83
6.5.2 Ham xudt ma tran ccsccsssscscscsecccssesecesscsescereacaceseseceescssesessces 84
€.5.3 Kỹ thuật dat linh camh occ ccesscscscsssessesseccecececsecseeseesees 85
6.5.4 Kỹ thuật đặt cờ hiệu - -G- SG SH S1 Hee cerseeeeeeesee 86
6.5.5 Kỹ thuật đếm c LH StSHHTH T22 SE tr cerrrsereerreeea 86 6.5.6 _ Kỹ thuật tính tổng -. occcccscrreeveeerrceee —- 87 6.5.7 Ky thudt sp x€p occ cesccsssesssssesscsssessessseessessseesseessseesssvess 87
ah <6 H HH.H H ,.: 89
Chircug 7 MA TRAN VUONG 102
7.1 KHÁI NIỆM Q 2,2 2H21 eeerree 102 7.2 HÌNH VẼ 2 ScrHHHTEH He Hee 102
Trang 67.3 CAC TINH CHAT TREN MA TRẬN VUƠNG 102
7.4 CAC KY THUAT CƠ BẢN TRÊN MA TRẬN VUƠNG 106
7.4.1 Hàm nhập ma trận -. ĩ- G- 2< ĂGẠ SH ng kg ve 106
7.4.2 Hàm xuấtma 0a 107
7.4.3 Kỹ thuật đặt lính canh .-s-s-cce che ve seeesee 108
74.4 Kỹ thuật đặt cờ hiệu Q2 SG ng An se egseeceeeesse 108
TAS Kỹ thuậtđếm 109
7.4.6 KY thuat tinh tong sscssscescseecesseecsecssceseeseesssssesseeseens 109
7.4.7 KY thuat sp XOp i cccccccccsccsssessescssvecuecessesseceesnesssessseeseeasees 110 l1 loa 110 Chương8_ TRỪU TƯỢNG HĨA DỮ LIỆU 115 #1 KHÁI NIỆM s-SsCES2SrEEEEeEEkEEZeeSEeSEeoreeceeccerceer 115 ch) nễ4ả4ŸÝ Ồ 115 83 CAC KIEU DU LIEU CO BAN .0-cccceccrerveerretrrssrsee 116 Án ẻẽ 116 ISEYNN: ẽ 117 8.3.2 Điểm trong mặt phẳng Oxy 22s27ceccseSecceececceereccz 118
8.3.4 Điểm trong khơng gian 0.2717 119
8.3.5 nh) 120
8.3.6 Đa thÚC ào Ă se eseceee 121
TY 10 122
8.3.§ Đường thăng trong mặt phẳng Oxy 124
Trang 78.4 PHUGNG PHAP LUAN GIAI QUYET BAI TOAN BANG PHUONG PHAP TRUU TƯỢNG HĨA DỮ LIỆU 2.22 e- xvecereevesree 126 8.5 CÁC CHƯƠNG TRÌNH .c255occS2csecrrrrrrerreerrererrrreee 127 8.6 BÀI TẬP CÁU TRÚC THƠNG DỰNG ccsccccceccee 133 SÀNG dđ:,ÄHẠH})H 133 SN VN , 134 SN n6 .V.ẬäẬằẬHỆ)H)H 135 8.6.4 Hỗn số -S 2s ve S22 nHHrrxgzererrrerrrerreecre 137 la 138
8.6.6 Diém trong mặt phẳng Oxy cccccccsccecrerrs 140 8.6.7 Điểm trong khơng gian OXyz - 2-5©csccse+recrsvecee 141
8.6.8 Đường trịn trong mặt phẳng OXxy s- co cccreeecreca 143
8.6.9 Hình cầu trong khơng gian OxyzZ - -sccscreereereeee 144 8.6.10 Tam giác trong mặt phẳng Oxy 147
can oồ-.'ễ°®' d 150 8.7 CÁC BÀI TẬP KHÁC -4 S222 se seo CEecEEEEx Eerkerressscee 151
Chương9 MẢNG CÁU TRÚC 2 5-ceecseeveeesesece 158
9.1 MẢNG MỘT CHIỀU CẦU TRÚC 25 ©2cscccrevreveercrr 158 9.1.1 Mảng một chiều tọa độ điểm -2- 2s ccccecreerzerrssccee 158
9.1.2 Mảng một chiều phân sỐ -52scS2scv 2k txerrreersrrsee 159
9.1.3 Mảng một chiều số phức 2 csscScv+zs2sec2zesreerree 161
9.14 Mảng một chiều các đường trịn -2-22ccccccceersecces 161
9.1.5 Mảng một chiều các đường thẳng -. -sccscszccc 162
Trang 810.9.6 Ky Thudt Sap Xép uu ecccescscsccssecseseeseecsecseecerenssssssessessneses 194
HN: — ,ƠỎ 197
Chương 11 KỸ THUẬT LẬP TRÌNH CON TRỎ 201
it.) KHÁI NT .Ả ,ƠỎ 201 11.2 CÚ PHÁP HS THnHterrerekkereerreerrereserkeeree 201 mm na 201 11.4 HAI TỐN TỬ CƠ BẢN - -sccsse+rerererrrsererksorksreee 202 iƯnGn .ố ẽ 202 II VN Lam 202 11.5 CAP PHÁT VÀ THU HƠI BỘ NHỚ -sccc-eccce 202 11.5.1 Cấp phát bộ nhớ sc-s+s<csersresrrsrrstreererksersred 202 11.5.2 Thu hồi bộ nhớ -5sc7cSkctS | ceecetecsenneeneesnensees 202 Noo 6ì oto (0n 69 5a e 203 In) vo oi 203 11.8 CÁC BÀI TẬP C211 1111511 111193 1112711444274 rkLd 203
Chương 12 DANH SÁCH LIÊN KẾT 206
Trang 910.9.6 KY Thuat Sap Xép ie ccsscscessssssesccsssessccssecssssssseesseessseenee 194
10.10 BAL TAP cscsecscsssesssssssscsssesnsssseseenasstnsevnantestasteensensensessannese 197
Chương 11 KỸ THUẬT LẬP TRÌNH CON TRỎ 201
I11 KHÁI NIỆM -s 22c certrerrrereerrreee A ƠỎ 201 TA »sn l ƠỎ 201 I9 (6:00) cn34-:44-:i1)1 201 11.4 06996026 6 ae 202 P NnG ch 202 11.42 Tốn tử* ơƠỎ 202 11.5 CẤP PHÁT VÀ THU HỘI BỘ NHỚ 2.55cccscrscreereeceee 202 11.5.1 Cấp phát bộ nhớ - se crtkteegkvrxEExeerersreered 202 ¡1.5.2 Thu hỗồi bộ nhớ 5ccS2 c cssueecaseessvessseessees 202 I9 9o (0n (09 203 IƯ G1 s0 203 118 CÁC BÀI TẬP "% 203
Chương 12 DANH SÁCH LIÊN KÉT 206
Trang 1012.1.6 Thêm một node vào đầu danh sách - -5 -ess 209
12.1.7 Duyệt danh sách liên kết -.- thi 210
12.1.8 Nhập danh sách liên kết -sevc<ccseeerresersrrree 211
12.1.9 Chương trình minh họa - + seSseeeenesrre 212 ph n: ae 215 12.22_ DANH SÁCH LIÊN KÉT KÉP -5-ccscecsexrrerreeee 229 TP NNG: 0 7a .Aa 229 5Ä ‹ 7 seseeeeseceatecessesesens 229 sac na 230 12.2.4 Khởi tạo danh sách liên kết -<cece«sexeerersreeee 231 xố 232
12.2.6 Thém mét node vao dau danh sách - «-s-s<sssess 233
(12.2.7 Duryét danh sách liên kết -s-cc<csevsrreerzrerrrrre 234 ˆ_.12.2.8§ Nhập danh sách liên kết kép -«+c+-e<scseserersres 235 12.2.9 Chương trình minh họa R 236
PIN: ác A 239
12.3 DANH SÁCH LIÊN KÉT ĐƠN VỊNG -.cesceecesre 240 12.4 DANH SÁCH LIÊN KÉT KÉP VỊNG .-. ccs-csessrr 240
Chương 13 CÂY NHỊ PHÂN 241
13.1 HỈNH ANH CÂY NHỊ PHẦN . + ccccrsesrseeeeersexersrree 241
13.2 406 1a 241
13.3 CAC KY THUAT CO BAN TREN CAY NHỊ PHẢN 243 13.3.1 Kỹ thuật đặt lính canh -ececccscerrrrrrserrerrre 243
Trang 1113.3.2 KY thudt d€m oe esescsssscsessssssscccscssesessecccssseenssesececeeceees 244 13.3.3 Kỹ thuật tính tốn 5-5 <©e< sex crsseseeescerece 244 13.3.4 Kỹ thuật đặt cờ hiệu 2 2-cs server cestersreeecee 245 13.4 CÁC THAO TÁC CƠ BẢN TRÊN CÂY c -ccccsc- 245 13.5 BÀI TẬP CƠ BẢN Là chung e 246
13.5.1 Cây nhị phân các số nguyên cccczz++t2r2rvccczee 246 13.5.2 Cây nhị phân các phân sỐ -2- 2 <6 cs+rsreerxeceei 249 13.5.3 Cac Bai Tap Khác -cccS Seo regkreersee 251 13.6 BAI TAP NANG CAO cceccscccsssteccsssccessecsesssosesssseccossessuccseecensensces 253
CAC DE THI TOT NGHIEP CAO DANG VA TUYEN SINH 254
13.7 DE THỊ HỒN CHỈNH ĐẠI HỌC KHỐ 2001 254 13.8 ĐÈ THỊ HỒN CHỈNH KHỐ 2000 2-.5-ccscceseccee 258 13.9 DE TOT NGHIEP KHOA 1 cỉìnneeeeeereeeeeeei 263 13.10 DE TOT NGHIEP KHOA 2 sssescssssssessssessseesessessssoesevsesscesesaecsveres 265 13.11 DE TOT NGHIEP KHOA 3 cssessccsscesssseccosssesesesseesscssasecesssssecsessnees 269 13.12 DE TOT NGHIEP KHOA 4 uu ceccescscsscsscscssecsesccessececcecccacscescncseceeces 271 13.13 ĐỀ TĨT NGHIỆP VỮNG TÀU 2 5< ece<czxecetrecee 272 13.14 ĐẺ TĨT NGHIỆP ĐỒNG NAI 5.- 5Q SSc tegkerreeeerrce, 273 13.15 ĐẺ TĨT NGHIỆP CƠ SỞ MINH TRIẾT 2 5< ccevecsese 274
Trang 13Lưu Đồ Thuật Tốn 11.35 Xửlý 1.1.6 Điều kiện
1.2 CẤU TRÚC ĐIÊU KHIỂN
Trang 174 Lưu Đồ Thuật Tốn Bài T8 Bai 19 Bai 20 Bai 21 Bai 22 Bai 23 Bai 24 Rai 25 Bai 26 Bai 27 Bai 28 2 4 2n x x x Tin n 50) =l+——+—+-.-+ 2 4! (2n)! 3 5 ntl x x
Tinh INN S(a)=T ext or te =l+x+—+—t+ -+ (2n + DỊ
Liệt kê tất cả "ước số” của số nguyên đương n
Tính tổng tất cả "ước số” của số nguyên dương n
Tính tích tất cả "ước số” của số nguyên dương n Đếm số lượng "ước số” của số nguyên dương n Liệt kê tất cả "ước số lẻ” của số nguyên dương n
Tính tổng tất cả "ước số chẵn” của số ¡:guyên dương n
Tính tích tất cả "ước số /ẻ” của số nguyên : zng n
Đếm số lượng "ước số chẵn” của số nguyên dương n Cho số nguyên dương n Tính tổng các ước số nhỏ hơn
chính nĩ
Bai 29 Tìm ước số lẻ lớn nhất của số nguyên dương n Ví dụ n=100 ước lẻ lớn nhất của 100 là 25
/ài 38) Cho số nguyên dương n Kiểm tra số nguyên dương n } t cĩ phải là số hồn thiện hay khơng?
Trang 18
Lưu Đồ Thuật Tốn
“Bãi 31 ”Cho số nguyên dương n Kiểm tra số nguyên dương n cĩ phải là số nguyên tố hay khơng?
Bái 32_-“Cho số nguyên dương n Kiểm tra số nguyên dương n cĩ phải là số chính phương hay khơng?
Bai 33 Tính sone y2e aeons cĩ n dấu căn
Bai 34, Tính Sợ) = 1| +|n>L+-Íz-2+ -Ú2 + Jĩ cĩ n dấu căn
Bai 35 Tính s(n) = 1+ 2+ aed cĩ n dấu căn
Bài 36 Tính Sớœ)= |nh-|@:-¬[@ -2)0 J2-JE cĩ n dấu
Bài 37 Tinh S()=4|n + “[n -1+ 15 + 2 cĩ n-1 dấu căn
Bài 38 Tính SG) ="Nia+ lÍn-1+ 1/2 + Jĩ cĩ n dấu căn
Bài 39 Tính SG) = “jnH@ -)HJ2- VD cĩ n dấu căn
Trang 19Lưu Đồ Thuật Tốn ~ Bài 40 Tính S(n)= fe ee! + yx” teeyaxr tvx con dau can Bài 4l Tinh S(n)= cĩ n dấu phân số l+— 1+ l+ ] 1 tea 1+]
Bai 42 Cho n là số nguyên đương Hãy tìm giá trị nguyên
dương k lớn nhất sao cho S(k)<n Trong đĩ chuỗi S(k) dudc
định nghĩa nhu sau: S(k)=1+2+3+ -+k
Trang 20Luu D6 Thuat Toan
Kho Bai 5Q@/ Hãy tìm chữ số đảo ngược của số nguyên dương n mys 1w 1 ow ˆ
(Bai 51 Tìm chữ số lớn nhất của số nguyên dương n
‘ | Bai 52 Tìm chữ số nhỏ nhất của số nguyên dương n \ (Bài $3 Hãy đếm số lượng chữ số lớn nhất của số nguyên dương n Bài 54 Hãy đếm số lượng chữ số nhỏ nhất của số nguyên dương n Bài 5Š Hãy đếm số lượng chữ số đầu tiên của số nguyên dương n Bài 5ĩ Hãy kiểm tra số nguyên dương n cĩ tồn chữ số lẻ hay khơng? Bài 57 Hãy kiếm tra số nguyên dương n cĩ tồn chữ số chẵn hay khơng? Bài 58 Hãy kiểm tra số nguyên dương n cĩ tồn chữ số chẵn hay khơng?
Bài 59.) Hãy kiểm tra số nguyên dương n cĩ phải là số đối xứng hay khơng? ề
Bai 60 Hãy kiểm tra các ch ữ số của số nguyên dương n cĩ tăng dần từ trái sang phải hay khơng?
Trang 21
Luu D6 Thuat Tốn
2 Bài 61 Hãy kiểm tra các chữ số của số nguyên dương n cĩ
\ giảm dần từ trái sang phải hay khơng?
Bai 62 Cho hai số nguyên dương a và b Hãy vẽ lưu đồ tìm tước chung lớn nhất của hai giá trị này
Bai 63 Cho hai số nguyên dương a và b Hãy vẽ lưu đồ tìm bội chung nhỏ nhất của hai giá trị này
Bai 64 Giài phương trình ax+b=0
Trang 22Lưu Đỗ Thuật Tốn Bai 72.- Bai 73, soe we Bai 78 Bai 75 Bai 76, 2 3 a x nx Tinh Sam) =-x+ Oro tee FD ¬ 2 4 2n í =-I+2_.Ä_ + nti X — Tinh S(xz,n) =-1+ 1 AI + -+(-]) on) ’ xì 5 |! 2n+l
Tah Ses texe srg CD" Oren
Kiểm tra số nguyên 4 byte cĩ dạng 2Ý hay khơng?
Kiểm tra số nguyên 4 byte cĩ dạng 3! hay khơng?
Trang 24
Lập Trình Với Ngơn Ngữ C 21.5 Xửlý Tốn tử xử lý đơn giản nhất trong lập trình là tốn tử gán | operator = 2.1.6 Điêu kiện
| (<biểu thức điều kiện>) 22_ CÁU TRÚC ĐIÊU KHIỂN
2.2.1 Cấu trúc điểu khiển rẽ nhánh iƑ 1£ (<biêu thức điều kiện rẽ nhánh») { } 2.2.2 Cấu trúc điều khiển rẽ nhánh iƒ else if (<biéu thức điều kiện rẽ nhánh>)
Trang 25Lập Tĩnh Với Ngơn Ngữ C }
1.3 CAC THU VIEN CO BAN
- Thu vién stdio.h (standard input output library)
- Thu vién conio.h (console input output library)
~ Thu vién math.h (mathematics library)
2.4 CÁC KIỂU DU LIEU CO BAN
STT Tên Kiểu Từ Khĩa | M& Dinh Dang | Kich Thudc
Trang 29Các Câu Trúc Điêu Kiên
CHUONG 3 CÁC CÁU TRÚC ĐIÊU KHIỂN
3.1 KHÁINIỆM
Trong một chương trình C chúng ta cĩ nhiều câu lệnh được
sáp xếp theo một thứ tự nhất định Thơng thường các câu lệnh được thực hiện lần lượt theo thứ tự từ trên xuống dưới (thật sự đây
là cầu trúc điều khiển tuần tự và được hiểu một cách mặc định
trong ngơn ngữ C nếu khơng cĩ khai báo dùng cấu trúc điều khiển
khác) Các cấu trúc điều khiển cho phép chúng ta thay đổi thứ tự
thực hiện các câu lệnh nĩi trên Như vậy việc sử dụng các cấu trúc
diều khiển trong chương trình giúp chúng ta thực hiện các cầu lệnh trong chương trinh theo ý của mình chứ khơng cứng nhắc là tr trên xuơng dưới
Phân loại Câu Trúc Điều Khiên:
Câu trúc điêu khién ré nhanh (if, if else, switch)
Cấu trúc điều khiển lap (for, while, do while)
Trang 30
Cac Cau Trúc Điều Kiên
Ngồi ra trong C cịn cung câp cho ta lệnh nhảy khơng điều kiện soio Nhưng lệnh này được khuyến cáo là khơng nên dùng
trong các chương trình do đĩ khơng đê cập trong cuơn sách này
z CAL TĐÚC ĐIÊU KHIỂN RẼ NHÁNH ¡f
ta}
Cấu trúc điều khiển if£ cho phép lựa chọn thực hiện một lệnh hay khơi lệnh đi sau câu trúc điều khiên i£ hay khơng, việc
Trang 31Cac Cau Trúc Điều Kién } scanf (“%f" ,&b); printf(*"Nhập c: “); scanf (“%£" ,&c) ; ln = a; if (ln<b) ln = b; if (ln<c) ln = c; princtf(*số lớn nhất trong 3 số %10.3f, $10.3f, %10.3f, là: 10.3f”,a,b,c,ln) ; getch(); 3.3 CAU TRUC DIEU KHIEN RE NHANH if else
Cấu trúc điều khiển rẽ nhánh if else cho phép lựa chọn một
trong hai nhánh lệnh của chương trình và việc lựa chọn này tùy thuộc giá trị trả về của biều thức điều kiện
Trang 32Các Câu Trúc Điều Kiền
Bài 83 Viết chương trình nhập vào hai số thực
Kiểm tra xem chúng cĩ cùng dấu hay khơng #include <stdio.h> #include <conio.h> void main () { float a, b; clrscr(); printf(“Nhap a: “); scanf (“%f" ,&a); printf(“Nhdp b: "); scant (“%t£",&b); if (a*b>0) print£(“%10.3f va %10.3f£ cùng đấu”,a,b); else printf ("%10.3f£ va $%10.3£ trái đầu”,a,b); getch();
Ghỉ Chú: Nếu sau ¡f hoặc else chỉ cĩ một lệnh thì khơng cần
phải đề lệnh ấy trong khối lệnh “{ }”
Sự lồng nhau cua cau tric chon if,if else
Ngơn ngữ C cho phép chúng ta sử dụng các cấu trúc chọn
Trang 33Các Câu Trúc Điều Kiên #include <stdio.h> #include <conio.h> void main() { float a, b; float x; clrscer(); printf(“Nhap a: ”); scanf (“t£" ,&a); printf(“Nhap b: ”); scanf (“%f£" ,&b); if (a==0) { if (b==0) printf(“PT Cố Vơ SỐ Nghiệm”) ; else print£(*Phương Trình Vơ Nghiệm”) ; } else { x = -b/a; printf(“PT C6 Nghiém 1a: %£",x); getch() ; Ghi Chú: Khi sử dụng cấu trúc ¡f¡f else nên xác định các khơi lệnh một cách rõ ràng
3.4 CAUTRUC DIEU KHIEN switch
Câu trúc điều khiển switch cho phép căn cứ vảo giá trị của biểu thức nguyên để chọn một trong nhiều cách nhảy Nĩ cĩ dạng
sau
Trang 34
Cac Cau Truc Diéu Kién switch (biéu_thtrc_chon) { case Giá Trị 1: Lệnh 1; Lệnh 2; break; case Giá Tri 2: Lệnh 1; Lệnh 2; break; default: Lệnh 1; Lệnh 2; ‘break; “x4 GHI CHÚ
Biêu thức chọn trong câu trúc điều khiển switch sé duoc
tính tốn, ước lượng và so sánh với các giá trị trong tương ứng với
các mệnh đê case
Nếu giá trị của biểu thức bằng Giá Trị ¡ thì khối lệnh của
mệnh đề case ¡ được thực hiện
Nếu giá trị của biểu thức khơng bằng với bất kì Giá Trị ¡
nào trong các mệnh để case thì khơi lệnh tương ứng với khĩa
default được thực hiện
Trang 35
Các Cấu Trúc Điều Kiển
Mỗi khơi lệnh của mỗi mệnh để case thường được kết thúc bởi một câu lệnh break
Việc thực hiện khối lệnh sau khi so sánh giá trị của biểu
thức bằng Giá Trị ¡ như sau: thực hiện tất cả những lệnh ngay sau mệnh để case của Giá Trị ¡ trên cho đến khi gặp từ khĩa
break
Trang 36
Các Câu irúc Điều Kiến break; case 7: case 8: case 9: print £ ("Qui ba") ; break; case 10: case ll: case 12: printf ("Qui bon") ; break; } getch(); 3.5 CAU TRUC DIEU KHIEN LAP while while <diéu_kién_ld&p> { Lệnh l1; Lệnh 2; NHẬN XÉT 1 Các lệnh trong khối lệnh của vịng lặp while sẽ được thực hiện ít nhất một lần
2 Điều kiện lặp của vịng lặp while thường được cập nhật
sau mỗi lần thực hiện khối lệnh hay cĩ một biến cố nào thuận lợi
Xây ra
Trang 37
Các Câu Trúc Điều Kiên Bai 86 Tính S=1°+2°743°+ -+N? #include <stdio.h> #include <conio.h> void main() { int S; int 1; int N; printf(“Nhap N: "”); scanf (“tda”" , &N) ; S = 0; i=l; while (i<=N) { S = S + i*i*i; 1 = 1 + 1; } getch(); print£f("\n Tổng là: $%đ“,S); + +n > 10000
Trang 38Cac Cau Tnic Diéu Kién n++; S = S + Nn; ) printf(*số N là: %đ“,n); getch () ; 3.6 CẤU TRÚC LẶP for for (biểu thức 1; biểu thức 2; biểu thức 3) { Lệnh 1; Lệnh 2; Lệnh n; } Ý nghĩa thơng thường của các biểu thức trên là:
Biểu thức ]: thường dùng để khởi tạo biến đếm của vịng
lặp Biểu thức này cĩ thể cĩ hoặc khơng cĩ cũng được
Biểu thức 2: thường dùng để kiểm tra điều kiện của vịng lặp Biểu thức này bắt buộc phải cĩ (nếu bỏ qua biểu thức nảy ta
phải dùng nĩ với từ khĩa break)
Biểu thức 3: thường dùng đề điều khiển biến đếm của vịng
Trang 40Các Câu Trúc Điều Kiên #include <stdio.h> #include <conio.h> void main() { int S; int i; S = 0; 1 = 1; for(;;) print£ (*Tơng N = %d”,S); getch ();
Phân Tích Sự Hoạt Động Của Cấu Trúc Lap for
Cầu trúc lặp for làm việc theo các bước sau:
Bước 1: Xác định biểu thức 1
Bước 2: Xác định biểu thức 2
Bước 3: Tùy thuộc vào giá trị của biểu thức 2, chương trình sẽ thực thì một trong hai nhánh:
Bước 3.1 Nếu biểu thức 2 cĩ giá trị 0 (sai), chương trình sẽ
-„_ thốt khỏi for và chuyên tới câu lệnh sau khơi lệnh của Íor