Gi¸o tr×nh tin häc c¬ së II - N
gôn ngữ
C
53
S=pt=1; k=2;
while(k<=n){
pt /=k;
S+=pt;
k++;
}
printf("\nGia tri tong S = %8.4f",S);
}
Ví dụ 4.5: Viết chương trình nhập số nguyên dương n từ bàn phím, hãy kiểm tra và
thông báo ra màn hình số đó có là số nguyên tố hay không ?
IV.5.
Cấu trúc do .. while
Cấu trúc while mà chúng ta khảo sát ở trên luôn while kiểm tra điều kiện lặp trước khi
thực hiện thân của nó. Tức là đòi hỏi trước khi vào cấu trúc while chúng ta phải xác lập
được điều kiện lặp cho nó.
Có lẽ bạn cũng đồng ý rằng có những cấu trúc lặp mà thân của nó phải thực hiện ít
nhất một lần, tức bước lặp đầu tiên được thực hiện mà không cần điều kiện gì, sau đó các
bước lặp tiếp theo sẽ được xem xét tuỳ vào trạng thái của bước lặp trước đó. Với tình
huống như thế thì while không thuận lợi bằng một cấu trúc điều khiển khác mà
C cung
cấp, đó là cấu trúc do while.
Cấu trúc của do while:
do
S;
while ();
Trong cú pháp trên S là 1 câu lệnh là thân của vòng lặp,
là biểu thức điều kiện có
vai trò kiểm soát vòng lặp.
Sự hoạt động của cấu trúc do while
bước 1: thực hiện câu lệnh S
bước 2: kiểm tra giá trị biểu thức , nếu có giá trị ‘đúng’ ( khác 0) thì lặp lại
bước 1, nếu ‘sai’ (=0) thì kết thúc vòng lặp.
Gi¸o tr×nh tin häc c¬ së II - N
gôn ngữ
C
54
Ví dụ 5.1: Viết chương trình cho phép người sử dụng nhập một ký tự trên bàn phím, in kí
tự và mã của nó ra màn hình, kết thúc chương trình khi người dùng bấm phím ESC (mã
27)
Giải: tương tự như ví dụ 4.2 nhưng ở đây chúng ta sử dụng cấu trúc do, vậy có chương
trình
// In ki tu
#include
#include
#include
const int ESC =27; // ma phim ESC
void main(){
int ch;
do{
printf(“\n Hay nhap mot ki tu : “)
ch = getch()
printf("\nKi tu %c co ma %d",ch,ch);
}while(ch!=ESC)
}
Ví dụ 5.2: Chương trình tính tổng sin(x ) theo công thức khai triển Taylor:
Các bạn biết rằng sin(x) được tính theo tổng chuỗi vô hạn đan dấu như sau:
Chia sẻ với bạn bè của bạn: