Vòng lặp for, while, do…while

Phát biểu được lặp đi lặp lại nhiều lần, 3 yếu tố diễn đạt vòng lặp: Xác định các dữ liệu khởi tạo, xác định các điều kiện còn thực thi, xác định nội dung của một lần thực thi.
Các lệnh lặp: for trong c, while trong c, do while trong c.

Lệnh For:

Cú pháp: for ( khởi tạo; điều kiện ; biểu thức) việc_thực hiện;
Giải thích:
Khởi tạo: là toán tử gán để tạo giá trị ban đầu cho biến điều khiển.
Điều kiện: biểu thức điều kiện để thực hiện vòng lặp.
Biểu thức: biểu thức tăng giá trị của biến điều khiển của vòng lặp.
Ví dụ: viết chương trình nhập vào số n và tính tổng: 1+2+3+…+n.

<!--

#include <stdio.h>

void main()
{
	int n;
	int tong=0;
	printf("\nMoi nhap n: \t");
	scanf("%d", &n);

	for(int i=0; i<=n; i++)
        {
             tong +=i;
        }
        printf("\nTong La: %d", tong);
}

-->

Một số ví dụ thay đổi biến điều khiển vòng lặp.

Thay đổi biến điều khiển từ 1 đến 100, mỗi lần tăng 1:

<!--
     for(i = 1; i <=100; i++)
-->

Thay đổi biến điều khiển từ 100 đến 1, mỗi lần giảm 1:

   
<!--   
    for(i = 100; i >= 1; i--)
-->

Thay đổi biến điều khiển từ 7 đến 77, mỗi lần tăng 7:

<!--
     for(i = 7; i <= 77; i+=7)
-->

Thay đổi biến điều khiển từ 20 đến 2, mỗi lần giảm 2:

<!--    
     for(i = 20; i >= 2; i –= 2)
-->
Câu lệnh while :

Cú pháp : while ( điều kiện) các lệnh cần lặp;
Cách thực hiện: Kiểm tra điều kiện, nếu đúng (!=0) thì thực hiện các lệnh. Cho đến khi nào điều kiện sai (=0) thoát khỏi while
Ví dụ: Viết chương trình in ra chữ lap trinh C 10 lần.

<!--

#include<stdio.h>

void main()
{
	int i = 1;
	while (i	{
		printf("Lap trình C");
		printf("\n");
		i++;
	}
}

-->
Câu lệnh do while:

Cú pháp : do lệnh 1 ; while ( biểu thức 1 ) ;
Nguyên tắc thực hiện :

  • Bước 1: Máy thực hiện câu lệnh 1.
  • Bước 2: Sau đó tính giá trị của biểu thức 1 , nếu giá trị của biểu thức 1 sai thì ch ương tr ình thoát ra khỏi vòng lặp. Nếu giá trị của biểu thức 1 đúng thì quay lại b ước 1.

Chú ý:
while : Ðiều kiện được kiểm tra trước, nếu đúng mới thực hiện.
do while : Câu lệnh được thực hiện trước khi kiểm tra. Câu lệnh bao giờ cũng thực hiện ít nhất là 1 lần.
Ví dụ: Viết chương trình nhập và tử số và mẫu số của một phân số, kiểm tra mẫu nhập là số 0 thì nhập lại.

<!--

#include<stdio.h>

void main()
{
	int tu, mau;

	printf("\nNhap tu so: ");
	scanf("%d",&tu);
	do
	{
		printf("\nNhap mau so: ");
		scanf("%d",&mau);
	}
	while(mau==0);

}

-->

Kết luận:
Vậy là chúng ta đã tìm hiểu cách tổng quát về vòng lặp trong C, tổng kết lại như sau:
Vòng lặp for thường sử dụng khi biết được số lần lặp xác định.
Vòng lặp thường while, do…while sử dụng khi không biết rõ số lần lặp.
Khi gọi vòng lặp while, do…while, nếu biểu thức sai vòng lặp while sẽ không được thực hiện lần nào, nhưng vòng lặp do…while thực hiện được 1 lần.
Số lần thực hiện ít nhất của while là 0 và của do…while là 1
Các lệnh lặp for, while, do…while có thể lồng vào chính nó, hoặc lồng vào lẫn nhau. Nếu không cần thiết không nên lồng vào nhiều cấp dễ gây nhầm lẫn khi lập trình cũng như kiểm soát chương trình.

Bài tập đề nghị:
1.Viết chương trình tính tổng các số nguyên từ 1 đến n, với n được nhập vào từ bàn phím.
2.Viết chương trình tính tổng S:

  • S = 1 + 1/2 + 1/3 + …. + 1/n
  • S = n!
  • S= 1! + 2! + 3! + … + n!
VN:F [1.9.22_1171]
Rating: 8.0/10 (60 votes cast)
Vòng lặp for, while, do...while, 8.0 out of 10 based on 60 ratings
Chuyên mục: Lập Trình, Lập Trình C/ C++
Tagged: , , .

10 Comments

  1. Ái chà ….! được đấy… thèn bạn cố lên nhá..!

  2. Naro

    hehe bài viết khá hay!!!!! cảm ơn!!!!! :))

  3. cjncog

    bai nay hay lam ! thanks ban nhieu

  4. toan

    mình muốn biết giá trị của 3 ẩn X,Y,Z với điều kiện
    24*X*Y+16*X*X*Z-6*Y*Y-12*X*Y*Y+6*Z=0
    thì viết code thế nào vậy mọi người
    thank you very much!

  5. Koizumi

    Cuối cùng cũng phân biệt dc. Cảm ơn bài viết nhìu lắm :)

  6. boyphonui_kcr

    đợi mình xíu nha…xẻ làm và up lên cho

  7. tieuyeu

    Help me… Viet chuog trih tinh tong cac so nguyen tu 1=>N Vs N nhap tu ban fim…thi lam sao vay…

    • Bạn dùng for lặp bước nhảy là i và giới hạn là n, khai báo biến tổng ví dụ t=0. Sau đó kiểm tra trong for, nếu thỏa là SNT thì cộng i vào trong tổng sau đó trả về t.

  8. Tuan Anh

    Một số nguyên n được gọi là số “hoàn hảo” nếu tổng của tất cả các ước dương của nó(ngoại trừ chính nó) bằng n (ví dụ: 6 = 1 +2 +3, 28 = 1 +2 +4 +7 +14).
    Viết một chương trình đầy đủ để liệt kê tất cả số hoàn hảo trong khoảng từ A đến B. A và B là các số nguyên đầu vào từ bàn phím. Lặp lại quá trình cho đến khi người sử dụng đầu vào 0 cho cả A và B.
    Có thánh nào giúp e với :3

  9. hướng dẫn cho mình cách viết chương trình để xuất ra màn hình các ước của 1 số nguyên dương với… biết là sử dụng vòng lặp for ;)

Để lại comment của bạn