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

Bài giảng Tin học đại cương: Bài 8 - ĐH Bách khoa Hà Nội

Chia sẻ: Khang Duy | Ngày: | Loại File: PDF | Số trang:10

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

Bài 8 Cấu trúc lập trình trong C thuộc bài giảng "Tin học đại cương", cùng nắm kiến thức trong chương này thông qua các các nội dung sau: cấu trúc lệnh khối, cấu trúc rẽ nhánh, cấu trúc lặp, các lệnh thay đổi cấu trúc lập trình.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Tin học đại cương: Bài 8 - ĐH Bách khoa Hà Nội

  1. TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Nội dung 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 Phần 3. Lập trình 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ài 8. Các cấu trúc lập trình trong C 8.4.1. continue 8.4.2. break 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: • Lệnh khối là dãy các câu lệnh được đặt trong cặp – Trong một lệnh khối có thể chứa lệnh khối khác dấu ngoặc nhọn {} – Sự lồng nhau là không hạn chế { { lenh_1; lenh; 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 1
  2. 8.1. Cấu trúc lệnh khối (2) 8.1. Cấu trúc lệnh khối (2) • Ví dụ: #include • Ví dụ (tiếp): #include // bat dau mot khoi lenh khac //Noi dung cua ham main() cung la mot khoi lenh { void main() int c; 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”); int c; c = c + 10; 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 8.1. Cấu trúc lệnh khối (2) Nội dung • Kết quả: • 8.1. Cấu trúc lệnh khối Gia tri cua c = 10 day la c ngoai • 8.2. Cấu trúc rẽ nhánh – 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 Gia tri cua c = 20 day la c trong – 8.3.1. Vòng lặp for Gia tri cua c = 10 day la c ngoai – 8.3.2. Vòng lặp while • 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 2
  3. 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 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): #include if(a
  4. 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 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ụ: Nhập vào số nguyên không âm, đưa ra • Ví dụ (tiếp): ngày trong tuần tương ứng (theo số dư khi switch(a % 7) chia cho 7). { #include case 0: printf(“ Chu nhat”); break; #include case 1: printf(“ Thu Hai”); break; case 2: printf(“ Thu Ba”); break; void main() case 3: printf(“ Thu Tu”); break; { case 4: printf(“ Thu Nam”); break; int a; case 5: printf(“ Thu Sau”); break; printf(“\nNhap mot gia tri so nguyen case 6: printf(“ Thu Bay”); break; khong am: “); } scanf(“%d”,&a); getch(); } 15 16 4
  5. 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, 9, { 11 còn các tháng có 31 ngày là 1, 3, 5, 7, 8, 10, int thang; clrscr(); printf("\n Nhap vao thang trong nam "); 12. Riêng tháng hai có thể có 28 hoặc 29 ngày. scanf("%d",&thang); switch(thang) – Hãy viết chương trình nhập vào 1 tháng, sau đó { đưa ra kết luận tháng đó có bao nhiêu ngày. case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf("\n Thang %d co 31 ngay ",thang); break; 17 18 8.2.2. Cấu trúc lựa chọn switch (7) Nội dung case 4: • 8.1. Cấu trúc lệnh khối case 6: case 9: • 8.2. Cấu trúc rẽ nhánh case 11: – 8.2.1. Cấu trúc if, if … else printf("\n Thang %d co 30 ngay ",thang); – 8.2.2. Cấu trúc lựa chọn switch break; case 2: • 8.3. Cấu trúc lặp printf ("\ Thang 2 co 28 hoac 29 ngay"); – 8.3.1. Vòng lặp for break; – 8.3.2. Vòng lặp while default : • 8.4. Các lệnh thay đổi cấu trúc lập trình printf("\n Khong co thang %d", thang); break; – 8.4.1. continue } – 8.4.2. break getch(); } 19 20 5
  6. 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 đó với #include 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
  7. 8.3.2. Vòng lặp while 8.3.2. Vòng lặp while (2) • Mục đích: – Dùng để thực hiện lặp đi lặp lại một công việc nào đó với • while và do{…} while: 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 while (bieu_thuc) thức) trước rồi mới thực hiện lệnh. { • Các lenh sau while có thể không được thực hiện lần lenh; nào. } – 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 dù lenh; bieu_thuc có giá trị như thế nào. } while (bieu_thuc); 25 26 8.3.2. Vòng lặp while (3) 8.3.2. Vòng lặp while (4) • Ví dụ: Nhập vào điểm của một sinh viên, nếu #include điểm đó không  [0, 10] thì thông báo cho #include void main() 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
  8. 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 12); printf("\n Thang %d co 31 ngay ", thang); break; switch(thang) } { getch(); case 2: printf ("\ Thang 2 co 28 hoac 29 ngay"); return 0; break; } 31 32 8
  9. 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 – 8.2.2. Cấu trúc lựa chọn switch • Thay đổi việc thực hiện lệnh trong vòng lặp • 8.3. Cấu trúc lặp  C cung cấp 2 lệnh: – 8.3.1. Vòng lặp for – continue; – 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 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 lệnh void main() continue trong thân vòng lặp. { int i; – Chuyển sang thực hiện một lần lặp mới for(i = 1;i
  10. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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