intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

TIN HỌC ĐẠI CƯƠNG - Bài 8: Các cấu trúc lập trình trong C

Chia sẻ: Tran Quang Chien | Ngày: | Loại File: PDF | Số trang:20

109
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Cấu trúc lệnh khối (2) • Lệnh khối lồng nhau: – Trong một lệnh khối có thể chứa lệnh khối khác – Sự lồng nhau là không hạn chế { lenh; { lenh; ... } … } • C cho phép khai báo biến trong lệnh khối, nhƣng phần khai

Chủ đề:
Lưu

Nội dung Text: TIN HỌC ĐẠI CƯƠNG - Bài 8: Các cấu trúc lập trình trong C

  1. Nội dung TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG 8.1. Cấu trúc lệnh khối 8.2. Cấu trúc rẽ nhánh 8.2.1. Cấu trúc if, if … else TIN HỌC ĐẠI CƢƠNG 8.2.2. Cấu trúc lựa chọn switch Bài 8. Các cấu trúc lập trình trong C 8.3. Cấu trúc lặp 8.3.1. Vòng lặp for 8.3.2. Vòng lặp while 8.4. Các lệnh thay đổi cấu trúc lập trình Đỗ Bá Lâm 8.4.1. continue 8.4.2. break lamdb-fit@mail.hut.edu.vn 2 1
  2. 8.1. Cấu trúc lệnh khối 8.1. Cấu trúc lệnh khối (2) • Thể hiện cấu trúc tuần tự • Lệnh khối lồng nhau: – Trong một lệnh khối có thể chứa lệnh khối khác • Lệnh khối là dãy các câu lệnh đƣợc đặt trong cặp dấu ngoặc nhọn {} – Sự lồng nhau là không hạn chế { { lenh; lenh_1; { lenh_2; lenh; …. ... lenh_n; } } • C cho phép khai báo biến trong lệnh khối, … nhƣng phần khai báo phải nằm trƣớc câu lệnh. } 3 4 2
  3. 8.1. Cấu trúc lệnh khối (2) 8.1. Cấu trúc lệnh khối (2) • Ví dụ: • Ví dụ (tiếp): #include #include // bat dau mot khoi lenh khac { void main() int c; //Noi dung cua ham main() cung la mot khoi lenh c = 10; { printf(“\n Gia tri cua c = %d day la c trong”,c); // khai bao bien printf(“\n Tang gia tri cua c them 10 don vi”); c = c + 10; int c; printf(“\n Gia tri cua c = %d day la c trong”,c); c = 10; } printf(“Gia tri cua c = %d day la c ngoai”,c); printf(“\n Gia tri cua c = %d day la c ngoai”,c); getch(); }// ket thuc khoi lenh cua ham main() 5 6 3
  4. 8.1. Cấu trúc lệnh khối (2) Nội dung • 8.1. Cấu trúc lệnh khối • Kết quả: • 8.2. Cấu trúc rẽ nhánh Gia tri cua c = 10 day la c ngoai – 8.2.1. Cấu trúc if, if … else Gia tri cua c = 10 day la c trong – 8.2.2. Cấu trúc lựa chọn switch Tang gia tri cua c them 10 don vi • 8.3. Cấu trúc lặp – 8.3.1. Vòng lặp for Gia tri cua c = 20 day la c trong – 8.3.2. Vòng lặp while Gia tri cua c = 10 day la c ngoai • 8.4. Các lệnh thay đổi cấu trúc lập trình – 8.4.1. continue – 8.4.2. break 7 8 4
  5. 8.2.1. Cấu trúc if, if … else Kết hợp lệnh khối • Cú pháp cấu trúc if if (bieu_thuc_dieu_kien) { if (bieu_thuc_dieu_kien) lenh_11; lenh; lenh _12; } • Cú pháp cấu trúc if … else if (bieu_thuc_đieu_kien) if (bieu_thuc_đieu_kien) { lenh_21; lenh_1; lenh_22; else } else lenh_2; { lenh_31; lenh_32; } 9 10 5
  6. 8.2.1. Cấu trúc if, if … else (2) 8.2.1. Cấu trúc if, if … else (tiếp) • Ví dụ: Bài toán tìm số lớn nhất trong 2 số thực a và b: • Ví dụ (tiếp): if(a
  7. 8.2.2. Cấu trúc lựa chọn switch 8.2.2. Cấu trúc lựa chọn switch (2) • Cú pháp cấu trúc switch • Giá trị của biểu thức kiểm tra (bieu_thuc) switch (bieu_thuc) phải là số nguyên: { – Phải có kiểu dữ liệu là char, int, long. case gia_tri_1: lenh_1; [break]; • Tƣơng ứng các giá trị sau case (gia_tri_1, case gia_tri_2: lenh_2; [break]; gia_tri_2,…) cũng phải là số nguyên. … case gia_tri_n: lenh_n; [break]; [default: lenh_n+1; [break];] } 13 14 7
  8. 8.2.2. Cấu trúc lựa chọn switch (3) 8.2.2. Cấu trúc lựa chọn switch (4) • Ví dụ (tiếp): • Ví dụ: Nhập vào số nguyên không âm, đƣa switch(a % 7) ra ngày trong tuần tƣơng ứng (theo số dƣ { case 0: printf(“ Chu nhat”); break; khi chia cho 7). case 1: printf(“ Thu Hai”); break; #include case 2: printf(“ Thu Ba”); break; #include case 3: printf(“ Thu Tu”); break; void main() case 4: printf(“ Thu Nam”); break; { case 5: printf(“ Thu Sau”); break; int a; case 6: printf(“ Thu Bay”); break; printf(“\nNhap mot gia tri so nguyen } khong am: “); getch(); scanf(“%d”,&a); } 15 16 8
  9. 8.2.2. Cấu trúc lựa chọn switch (5) 8.2.2. Cấu trúc lựa chọn switch (6) #include • Bài tập: #include void main () – Trong một năm các tháng có 30 ngày là 4, 6, { int thang; clrscr(); 9, 11 còn các tháng có 31 ngày là 1, 3, 5, 7, 8, printf("\n Nhap vao thang trong nam "); 10, 12. Riêng tháng hai có thể có 28 hoặc 29 scanf("%d",&thang); switch(thang) ngày. { – Hãy viết chƣơng trình nhập vào 1 tháng, sau case 1: đó đƣa ra kết luận tháng đó có bao nhiêu case 3: case 5: ngày. case 7: case 8: case 10: case 12: printf("\n Thang %d co 31 ngay ",thang); break; 17 18 9
  10. Nội dung 8.2.2. Cấu trúc lựa chọn switch (7) case 4: • 8.1. Cấu trúc lệnh khối case 6: • 8.2. Cấu trúc rẽ nhánh case 9: – 8.2.1. Cấu trúc if, if … else case 11: – 8.2.2. Cấu trúc lựa chọn switch printf("\n Thang %d co 30 ngay ",thang); break; • 8.3. Cấu trúc lặp case 2: – 8.3.1. Vòng lặp for printf ("\ Thang 2 co 28 hoac 29 ngay"); – 8.3.2. Vòng lặp while break; default : • 8.4. Các lệnh thay đổi cấu trúc lập trình printf("\n Khong co thang %d", thang); – 8.4.1. continue break; – 8.4.2. break } getch(); } 19 20 10
  11. 8.3.1. Vòng lặp for 8.3.1. Vòng lặp for (2) • Mục đích • Ví dụ: Đƣa ra màn hình các số nguyên lẻ nhỏ hơn 100 – Dùng để thực hiện lặp đi lặp lại một công việc nào đó #include với số lần lặp xác định. #include • Cú pháp: void main() for(bieu_thuc_1;bieu_thuc_2;bieu_thuc_3) { { int i; day_cac_lenh; for(i = 1;i
  12. 8.3.1. Vòng lặp for (3) 8.3.1. Vòng lặp for (4) • Kết quả thực hiện • Ví dụ: Đƣa ra màn hình các số nguyên lẻ nhỏ hơn 100 1 3 5 7 9 11 13 15 17 19 #include #include 21 23 25 27 29 31 33 35 37 39 void main() 41 43 45 47 49 51 53 55 57 59 { int i; 61 63 65 67 69 71 73 75 77 79 for(i = 1;i
  13. 8.3.2. Vòng lặp while 8.3.2. Vòng lặp while (2) • Mục đích: • while và do{…} while: – Dùng để thực hiện lặp đi lặp lại một công việc nào đó với số lần lặp không xác định. – while: • Cú pháp: Có 2 dạng: • Kiểm tra điều kiện vòng lặp (tức là giá trị của biểu thức) trƣớc rồi mới thực hiện lệnh. while (bieu_thuc) • Các lenh sau while có thể không đƣợc thực hiện { lần nào. lenh; – do{…} while: } hoặc • Thực hiện lenh trƣớc rồi mới kiểm tra dieu_kien do của vòng lặp. { • Các lenh sau while đƣợc thực hiện ít nhất 1 lần lenh; dù bieu_thuc có giá trị nhƣ thế nào. } while (bieu_thuc); 25 26 13
  14. 8.3.2. Vòng lặp while (4) 8.3.2. Vòng lặp while (3) • Ví dụ: Nhập vào điểm của một sinh viên, #include #include nếu điểm đó không  [0, 10] thì thông báo void main() cho ngƣời dùng nhập lại. { float diem; clrscr(); • Cách làm: printf(“Chuong trinh nhap diem sinh vien\n"); printf("Nhap diem (0
  15. 8.3.2. Vòng lặp while (5) 8.3.2. Vòng lặp while (5) #include void main() { float diem; clrscr(); printf(“Chuong trinh nhap diem sinh vien\n"); do { printf("Nhap diem (0
  16. Sửa bài xác định ngày trong tháng Sửa bài xác định ngày trong tháng (2) #include case 4: #include case 6: int main () case 9: { case 11: int thang; clrscr(); printf("\n Thang %d co 30 ngay ",thang); do { printf("\n Nhap vao thang trong nam "); break; scanf("%d",&thang); default : } printf("\n Thang %d co 31 ngay ", thang); while(thang < 1 || thang > 12); break; } switch(thang) getch(); { return 0; case 2: } printf ("\ Thang 2 co 28 hoac 29 ngay"); break; 31 32 16
  17. Nội dung 8.4. Các lệnh thay đổi cấu trúc lập trình • 8.1. Cấu trúc lệnh khối • Đối với các lệnh lặp: • 8.2. Cấu trúc rẽ nhánh – while, do{...} while, hoặc for – 8.2.1. Cấu trúc if, if … else • Thay đổi việc thực hiện lệnh trong vòng – 8.2.2. Cấu trúc lựa chọn switch lặp  C cung cấp 2 lệnh: • 8.3. Cấu trúc lặp – continue; – 8.3.1. Vòng lặp for – 8.3.2. Vòng lặp while – break; • 8.4. Các lệnh thay đổi cấu trúc lập trình – 8.4.1. continue – 8.4.2. break 33 34 17
  18. 8.4. Các lệnh thay đổi cấu trúc lập trình 8.4. Các lệnh thay đổi cấu trúc lập trình • Ví dụ: • continue #include #include – Bỏ qua việc thực hiện các câu lệnh nằm sau void main() lệnh continue trong thân vòng lặp. { int i; – Chuyển sang thực hiện một vòng lặp mới for(i = 1;i
  19. 8.4. Các lệnh thay đổi cấu trúc lập trình #include #include void main() { • Ví dụ: Nhập vào 1 số nguyên. Kết luận số int N, i, OK = 1; đó là số nguyên tố hay là hợp số? printf("\nNhap gia tri N : "); scanf("%d", &N); if (n
  20. #include #include void main() { Câu hỏi ? int N, i, OK = 1; printf("\nNhap gia tri N : "); scanf("%d", &N); if (n
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2