Cấu trúc lệnh khối
3.2. Cấu trúc rẽ nhánh
3.2.1. Cấu trúc if, if else
3.2.2. Cấu trúc lựa chọn switch
3.3. Cấu trúc lặp
3.3.1. Vòng lặp for
3.3.2. Vòng lặp while
3.4. Các lệnh thay đổi cấu trúc lập trình
3.4.1. continue
3.4.2. break
50 trang |
Chia sẻ: Mr Hưng | Lượt xem: 846 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Tin học đại cương - Phần III: Lập trình - Chương 3: Các cấu trúc lập trình trong ngôn ngữ C, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
*IT1110 Tin học đại cươngPhần III Lập trình Nguyễn Bá Ngọc*Chương 3:Các cấu trúc lập trình trong ngôn ngữ CNgô Văn LinhBộ môn Hệ thống thông tinViện Công nghệ thông tin và Truyền thôngĐại học Bách Khoa Hà Nội*Nội dung chương này3.1. Cấu trúc lệnh khối3.2. Cấu trúc rẽ nhánh3.2.1. Cấu trúc if, if else3.2.2. Cấu trúc lựa chọn switch3.3. Cấu trúc lặp3.3.1. Vòng lặp for3.3.2. Vòng lặp while 3.4. Các lệnh thay đổi cấu trúc lập trình 3.4.1. continue3.4.2. break*Nội dung chương này3.1. Cấu trúc lệnh khối3.2. Cấu trúc rẽ nhánh3.2.1. Cấu trúc if, if else3.2.2. Cấu trúc lựa chọn switch3.3. Cấu trúc lặp3.3.1. Vòng lặp for3.3.2. Vòng lặp while 3.4. Các lệnh thay đổi cấu trúc lập trình 3.4.1. continue3.4.2. break*3.1. Cấu trúc lệnh khốiThể hiện cấu trúc tuần tựLệnh khối là dãy các câu lệnh được đặt trong cặp dấu ngoặc nhọn {}{ lenh_1; lenh_2; . lenh_n;}*Ví dụ lệnh khối#include#include#includevoid main(){ float r, cv, dt; // Khai bao 3 bien thuc printf("\n Nhap vao ban kinh r = "); scanf("%f",&r); cv = 2*M_PI*r; // Tinh chu vi dt = M_PI*r*r; // Tinh dien tich printf("\nChu vi = %10.2f\nDien tich = %10.2f",cv, dt); getch();}*3.1. Cấu trúc lệnh khối (tiếp)Lệnh khối lồng nhau:Trong một lệnh khối có thể chứa lệnh khối khácSự lồng nhau là không hạn chế{ lenh; { lenh; ... } } *3.1. Cấu trúc lệnh khối - ví dụ#include #include void main()//Noi dung cua ham main() cung la mot khoi lenh{ // khai bao bien int c; c = 10; printf(“Gia tri cua c = %d day la c ngoai”,c);// bat dau mot khoi lenh khac { int c; c = 10; printf(“\n Gia tri cua c = %d day la c trong”,c);printf(“\n Tang gia tri cua c them 10 don vi”); c = c + 10; printf(“\n Gia tri cua c = %d day la c trong”,c); } printf(“\n Gia tri cua c = %d day la c ngoai”,c); getch();}// ket thuc khoi lenh cua ham main()*3.1. Cấu trúc lệnh khối - ví dụ (tiếp)Kết quả: Gia tri cua c = 10 day la c ngoai Gia tri cua c = 10 day la c trong Tang gia tri cua c them 10 don vi Gia tri cua c = 20 day la c trong Gia tri cua c = 10 day la c ngoai*Nội dung chương này3.1. Cấu trúc lệnh khối3.2. Cấu trúc rẽ nhánh3.2.1. Cấu trúc if, if else3.2.2. Cấu trúc lựa chọn switch3.3. Cấu trúc lặp3.3.1. Vòng lặp for3.3.2. Vòng lặp while 3.4. Các lệnh thay đổi cấu trúc lập trình 3.4.1. continue3.4.2. break*3.2. Cấu trúc rẽ nhánh3.2.1. Cấu trúc if, if...else3.2.2. Cấu trúc lựa chọn switch*3.2.1. Cấu trúc if, if elseCú pháp cấu trúc ifif (bieu_thuc_dieu_kien) lenh;Cú pháp cấu trúc if elseif (bieu_thuc_đieu_kien) lenh_1;else lenh_2;*3.2.1. Cấu trúc if, if else (tiếp)if(biểu thức điều kiện) lệnh 1;lệnh kế tiếp;biểu thức điều kiện?lệnh 1lệnh kế tiếp!=0==0biểu thức điều kiện?lệnh 1lệnh 2lệnh kế tiếpif(biểu thức điều kiện) lệnh 1;else lệnh 2;lệnh kế tiếp;!=0=0*3.2.1. Cấu trúc if, if else (tiếp)#include #include void main(){ // khai bao bien float a, b; float max; printf(“ Nhap gia tri a va b: “); scanf(“%f %f”,&a,&b); if(a#includevoid main(){ int n; printf("Hay cho toi mot so nguyen"); scanf("%d",&n); switch(n) { case 0: printf("\n So khong"); break; case 1: printf("\nSo mot"); break; case 2: printf("\nSo hai"); break; default: printf("\nKhong fai 0,1,2"); } getch(); }*3.2.2. Cấu trúc lựa chọn switch (tiếp)Trong ví dụ trên, khi chạy chương trình thì sẽ như thế nào?Nếu ta bỏ break đi thì sao?*3.2.2. Cấu trúc lựa chọn switch (tiếp)Kết quả khi chạy chương trình:*3.2.2. Cấu trúc lựa chọn switch (tiếp)Nếu ta bỏ break đi:*3.2.2. Cấu trúc lựa chọn switch-Luyện tậpTrong 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, 12. Riêng tháng hai có thể có 28 hoặc 29 ngày.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.*3.2.2. Cấu trúc lựa chọn switch (tiếp)#include #include int main () { int thang; clrscr(); printf("\n Nhap vao thang trong nam "); scanf("%d",&thang); switch(thang) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf("\n Thang %d co 31 ngay ",thang); break; case 4: case 6: case 9: case 11: printf("\n Thang %d co 30 ngay ",thang); break; case 2: printf ("\ Thang 2 co 28 hoac 29 ngay"); break; default : printf("\n Khong co thang %d", thang); break; } getch(); return 0; } *3.2.2. Cấu trúc lựa chọn switch (tiếp)#include #include int main () { int thang; clrscr(); do { printf("\n Nhap vao thang trong nam "); scanf("%d",&thang); } while(thang 12); switch(thang) { case 2: printf ("\ Thang 2 co 28 hoac 29 ngay"); break; case 4: case 6: case 9: case 11: printf("\n Thang %d co 30 ngay ",thang); break; default : printf("\n Thang %d co 31 ngay ", thang); break; } getch(); return 0; } *Nội dung chương này3.1. Cấu trúc lệnh khối3.2. Cấu trúc rẽ nhánh3.2.1. Cấu trúc if, if else3.2.2. Cấu trúc lựa chọn switch3.3. Cấu trúc lặp3.3.1. Vòng lặp for3.3.2. Vòng lặp while 3.4. Các lệnh thay đổi cấu trúc lập trình 3.4.1. continue3.4.2. break*3.3. Cấu trúc vòng lặp3.3.1. Vòng lặp for3.3.2. Vòng lặp while*3.3.1. Vòng lặp forMục đíchDù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 xác định.Cú pháp:for(bieu_thuc_1;bieu_thuc_2;bieu_thuc_3){ day_cac_lenh;}Trong đó:bieu_thuc_1: Khởi tạo giá trị ban đầu cho vòng lặpbieu_thuc_2: Điều kiện tiếp tục vòng lặpbieu_thuc_3: Thực hiện bước tăng của vòng lặpChú ý các biểu thức 1, 2, 3 có thể có hoặc không*3.3.1. Vòng lặp for (tiếp)*3.3.1. Vòng lặp for - ví dụĐưa ra màn hình các số nguyên lẻ nhỏ hơn 100#include #include void main(){ int i; for(i = 1;i#include void main(){ int i; for(i = 1;i#include void main(){ float diem; printf("Chuong trinh nhap diem sinh vien\n"); printf("Nhap diem (0 10) { printf("\nBan nhap khong dung!\n"); printf("Ban hay nhap lai (0#include void main(){ float diem; clrscr(); printf("Chuong trinh nhap diem sinh vien\n"); do { printf("Nhap diem (0 10) printf("\nBan nhap khong dung!\n"); } while (diem 10); printf("\nDiem ban vua nhap la: %.2f", diem); getch();}*3.3.2. Vòng lặp while - kết quả (tiếp)*Nội dung chương này3.1. Cấu trúc lệnh khối3.2. Cấu trúc rẽ nhánh3.2.1. Cấu trúc if, if else3.2.2. Cấu trúc lựa chọn switch3.3. Cấu trúc lặp3.3.1. Vòng lặp for3.3.2. Vòng lặp while 3.4. Các lệnh thay đổi cấu trúc lập trình 3.4.1. continue3.4.2. break*3.4. Các lệnh thay đổi cấu trúc lập trìnhcontinuebreak*3.4. Các lệnh thay đổi cấu trúc lập trìnhĐối với các lệnh lặp:while, do{...} while, hoặc forThay đổi việc thực hiện lệnh trong vòng lặp C cung cấp 2 lệnh:continue;break;*3.4. Các lệnh thay đổi cấu trúc lập trình (tiếp)continueBỏ qua việc thực hiện các câu lệnh nằm sau lệnh continue trong thân vòng lặp.Chuyển sang thực hiện một vòng lặp mớibreakThoát khỏi vòng lặp ngay cả khi biểu thức điều kiện của vòng lặp vẫn còn được thỏa mãn.*3.4. Các lệnh thay đổi cấu trúc lập trình (tiếp)Ví dụ:#include #include void main(){ int i; for(i = 1;i#include#include void main(){ int N, i, OK = 1; printf("\nNhap gia tri N : "); scanf("%d", &N); if (N<2) printf("\nSo %d khong la so nguyen to va khong la hop so.", N); else{ for (i=2; i<=(int)sqrt(N); i++) if (N%i == 0) { OK = 0; break; } if (OK) printf("\nSo %d la so nguyen to.", N); else printf("\nSo %d la hop so.", N);} getch();}*Bài tậpBài 1: Lập chương trình giải phương trình bậc hai: ax2 + bx + c = 0 với a, b, c nhập vào từ bàn phím.Bài 2: Viết chương trình nhập một số nguyên n từ bàn phím và đưa ra n! (theo 3 cách)Bài 3: Viết chương trình nhập một số nguyên dương n từ bàn phím, đưa ra tổng các số từ 1 đến n (theo 3 cách)*Bài tập (tiếp)Bài 4: Viết chương trình nhập một số nguyên dương n từ bàn phím, đưa ra tổng các số chẵn từ 1 đến n (theo 3 cách)Bài 5: Viết chương trình kiểm tra một số nguyên nhập từ bàn phím có phải là số nguyên tố hay không ?Bài 6: Lập trình tính tổngS = 1 + ½ + 1/3 +...+ 1/nvới n là số nguyên dương nhập từ bàn phím*Bài tập (tiếp)Bài 7: Viết chương trình nhập vào 2 số nguyên dương từ bàn phím và đưa ra ước số chung lớn nhất của chúng.Bài 8: Viết chương trình nhập vào 2 số nguyên từ bàn phím và đưa ra bội số chung nhỏ nhất của chúng.*
Các file đính kèm theo tài liệu này:
- phan3_laptrinhc_chuong3_cautruclaptrinhc_0703.ppt