第 1 页
goupee.vn Trường Đại Học Bách Khoa Hà Nội goupee.com Viện: Điện Tử - Viễn Thông Bộ Môn: Điện tử - Kỹ thuật máy tính Ngôn ngữ lập trình C/C++ Phần 2: Ngôn ngữ lập trình C cuu duong than cong . comChương 3: Các cấu trúc điều khiển lệnh 1 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 2 页
goupee.vn goupee.com Nội dung chính 1. Giới thiệu 2. Các cấu trúc rẽ nhánh 3. Các cấu trúc lặp cuu duong than cong . com 2 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 3 页
goupee.vn goupee.com 1. Giới thiệu Có 3 loại cấu trúc điều khiển các lệnh cơ bản: Cấu trúc tuần tự : là cách tổ chức các lệnh thành từng khối. Phần cấu trúc khối lệnh đã được trình bầy trong chương 1. Cấu trúc rẽ nhánh: có các cấu trúc if và switch. Cấu trúc lặp : có các cấu trúc for, while, do while. cuu duong than cong . com 3 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 4 页
goupee.vn goupee.com 1. Giới thiệu: các cấu trúc điều khiển S1 S1 S1 S2 C C S3 S2 S3 cuu duong than cong . com Cấu trúc tuần tự Cấu trúc rẽ nhánh Cấu trúc lặp 4 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 5 页
goupee.vn2. Các cấu trúc rẽ nhánh goupee.com Giới thiệu Cấu trúc rẽ nhánh có thể chia làm hai loại: - Cấu trúc rẽ một trong hai nhánh : như cấu trúc if, if..else và lệnh (? :). - Cấu trúc rẽ một, hai hoặc nhiều nhánh : cấu trúc switch..case. Trong hai cấu trúc này thì cấu trúc hai nhánh tổng quát hơn vì nó có thể áp dụng cho mọi loại biểu thức điều kiện rẽ nhánh và cấu trúc này cho phép lồng nhau để tạo thành các cấu trúc rẽ nhiều nhánh. Còn cấu trúc rẽ nhiều nhánh switch chỉ có thể áp dụng với biểu thức điều kiện rẽ nhánhcuu duong than cong . com kiểu số nguyên. 5 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 6 页
goupee.vn2. Các cấu trúc rẽ nhánh goupee.com 2.1 Lệnh if Dạng 1: Cú pháp: if (btđk) Lệnh A ; Ý nghĩa: btđk≠0 Đ cuu duong than cong . comLệnh A 6 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 7 页
goupee.vn2. Các cấu trúc rẽ nhánh goupee.com 2.1 Lệnh if • Dạng 2: • Cú pháp: if (btđk) lệnh 1 ; else lệnh 2 ; • Ý nghĩa: btđk≠0 § cuu duong than cong . comLệnh 1 Lệnh 2 7 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 8 页
goupee.vn2. Các cấu trúc rẽ nhánh goupee.com 2.1 Lệnh if Dạng 3: Hàm (? :) Cú pháp: (btđk) ? <bt1> : <bt2> ; Ý nghĩa: hàm trên tương đương với các lệnh: if (btđk) return bt1 ; else return bt2 ; cuu duong than cong . com 8 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 9 页
goupee.vn2. Các cấu trúc rẽ nhánh goupee.com 2.1 Lệnh if VD1: Viết chương trình tìm giá trị bé nhất của ba số a, b, c cho trước. #include <stdio.h> void main(){ //Cách 2 //Cách 3 int a = 10, b = 15, c= 8; if (a<b) m= (a<b) ? ((a<c) ?a:c) : int m; if (a<c) m=a; ((b<c)? b : c); else m=c; else //Cách 1 if (b<c) m=b; m = a; else m=c; if (b < m) m = b; if (c < m) m = c;cuu duong than cong . com printf (“Gia tri be nhat m = %d”, m); }// end main 9 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 10 页
goupee.vn2. Các cấu trúc rẽ nhánh goupee.com 2.1 Lệnh switch..case Cú pháp: switch (biểu thức điều kiện) { case hằng số 1 : câu lệnh 1 case hằng số 2 : câu lệnh 2 … [default : câu lệnh nhánh default] } Biểu thức điều kiện là một biểu thức số học nhận giá trị nguyên. Hằng số 1, hằng số 2,… là các hằng số chọn kiểu số nguyên khác nhau, tương ứng cho các nhánh chọn case khác nhau. Đây là các hằng số mà giá trị biểu thức điều kiện có thể nhận. Nhánh default là nhánh lựa chọn mặc định khi không có nhánh nào kháccuu duong than cong . com được chọn. Nhánh này là không bắt buộc phải có. 10 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 11 页
goupee.vn2. Các cấu trúc rẽ nhánh goupee.com 2.1 Lệnh switch..case Ý nghĩa: Bước 1 : tính giá trị biểu thức điều kiện Bước 2 : so sánh giá trị này với các hằng số trong các nhánh case. Nếu giá trị này bằng với hằng số chọn trong nhánh case nào thì câu lệnh trong nhánh đấy được thực hiện. Nếu không có nhánh case nào được thực hiện và có nhánh default thì câu lệnh nhánh default sẽ được thực hiện. Lưu ý: Để kết thúc việc thi hành của một nhánh chọn của cấu trúc switch, ta phải có lệnh break ở cuối của nhánh đó. Nếu không có lệnh break, chương trình sẽ tiếp tục được thi hành ở nhánh kế tiếp. Điều này được áp dụng khi có nhiều giá trị của biểu thức điều kiệncuu duong than cong . com cùng áp dụng cho một trường hợp. 11 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 12 页
goupee.vn2. Các cấu trúc rẽ nhánh goupee.com 2.1 Lệnh switch..case Ví dụ: #include <stdio.h> #include <conio.h> void main() { char ch; printf("Nhap gia tri ch="); scanf("%c",&ch); switch (ch){ case 'a': printf("Ki tu a da duoc nhap");break; case 'b': printf("Ki tu b da duoc nhap");break; default: printf("Ki tu khac a va b da duoc nhap"); } cuu duong than cong . com getch(); } 12 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 13 页
goupee.vn goupee.com 3. Các cấu trúc lặp Lệnh for Lệnh while Lệnh do … while cuu duong than cong . com 13 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 14 页
goupee.vn goupee.com Lệnh for - Cú pháp: for (lệnh 1; btđk; lệnh 2) lệnh 3 ; - Trong đó: + Lệnh 1: lệnh khởi tạo giá trị ban đầu cho biến chạy + btđk: là biểu thức logic xác định điểm dừng của vòng lặp. Chừng nào btđk<>0 thì còn thi hành vòng lặp. + lệnh 2: là lệnh thay đổi giá trị biến chạy + lệnh 3: lệnh thân vòng lặp.cuu duong than cong . com 14 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 15 页
goupee.vn goupee.com Lệnh for Ý nghĩa hoạt động Lệnh 1 btđk≠0 Đ Lệnh 2 Lệnh 3 cuu duong than cong . com 15 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 16 页
goupee.vnLệnh for – Ví dụ 1: Tính căn bậc 2 của 10 số goupee.com nguyên dương đầu tiên #include <stdio.h> #include <conio.h> #include <math.h> /*Thu vien toan hoc, chua ham sqrt tinh can bac 2*/ void main() { int i; float kqua; for (i=1 ; i<=10 ; i++) { kqua = sqrt(i); printf("Can bac 2 cua %d = %f \n", i, kqua); } cuu duong than cong . com getch(); } //Ket thuc chuong trinh 16 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 17 页
goupee.vnLệnh for – Ví dụ 2: Tính căn bậc 2 của một sốgoupee.com nhập từ bàn phím #include <stdio.h> #include <math.h> /*Thu vien toan hoc, chua ham tinh can bac 2*/ main() { int x; float ketqua; int i; char ch; for (; ;) { printf("\nHay nhap mot so nguyen :"); scanf("%d",&x); ketqua = pow(x,1.0/2); printf("Can bac 2 cua %d = %f \n", x, ketqua); printf("Tiep tuc khong? Y/N");ch= getche();cuu duong than cong . com if (ch == 'n' || ch == 'N') break; } } //Ket thuc chuong trinh 17 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 18 页
goupee.vn goupee.com Lệnh while - Cú pháp: while (btđk) lệnh A ; - Nguyên tắc hoạt động btđk≠0 Đ cuu duong than cong . comLệnh A 18 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 19 页
goupee.vnLệnh while goupee.com Ví dụ: tính BSCNN của 2 số #include <stdio.h> #include <conio.h> void main() { unsigned int a,b,x,y; printf("nhap 2 so x, y : "); scanf("%u%u", &x,&y); a = x; b = y; if (a*b==0) printf("Khong tim bsc cua 0"); else { while (a!=b) if (a>b) a -= b; else b -= a;cuu duong than cong . com printf("boi so chung nho nhat la %u", x*y/a); } getch(); } 19 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
第 20 页
goupee.vn goupee.com Lệnh do … while - Cú pháp: do lệnh A while (btđk) ; - Nguyên tắc hoạt động Lệnh A btđk≠0 cuu duong than cong . comĐ 20 fb.com/goupee.vn CuuDuongThanCong.com https://fb.com/tailieudientucntt
评论 (0)
暂无评论。快来抢沙发吧!