Bài 16. Vòng lặp for trong C

Bài số 14 trong 69 bài của series Học C Không Khó

Vòng lặp for trong C là nội dung chúng ta sẽ tiếp tục tìm hiểu trong bài học này. Vòng lặp cùng với cấu trúc if else là các cấu trúc điều khiển có trong hầu hết mọi chương trình phần mềm. Việc sử dụng vòng lặp cho phép chúng ta có thể giải quyết các công việc có sự lặp lại bằng những dòng code rất ngắn gọn. Chúng ta cùng tìm hiểu vòng lặp for ngay nhé.

Video hướng dẫn vòng lặp for trong C

Cú pháp vòng lặp for trong C

Hình ảnh dưới đây cho ta cú pháp của vòng lặp C và trình tự hoạt động của vòng lặp for.

  • B1. Khởi tạo giá trị biến lặp, chỉ thực hiện 1 lần duy nhất
  • B2. Kiểm tra điều kiện lặp, nếu điều kiện sai => Chuyển sang B5
  • B3. Thực hiện nội dung lặp ở trong thân vòng lặp
  • B4. Cập nhật giá trị biến lặp => Quay lại B2
  • B5. Kết thúc vòng lặp
Cú pháp của vòng lặp for trong C
Cú pháp vòng lặp C, nguồn: overiq.com

Flowchart của vòng lặp for

Sơ đồ khối của vòng lặp for
Sơ đồ khối của vòng lặp for trong C

Chi tiết giải thích quy trình hoạt động của vòng lặp for có ở video bài học cũng như ví dụ dưới đây.

Code minh họa vòng lặp for trong C

Bài tập 1.

/*
In ra 3 dòng chữ “Hoc C ba dao tai Lap trinh khong kho!”
*/
Lời giải:

Kết quả chạy:

Bài tập 2.

/*
In ra các số trong [a, b] biết 0 < a <= b
*/
Lời giải:

Kết quả chạy chương trình:

Bài tập 3.

/*
Tính tổng các số trong [a, b] với 0 < a <= b
*/
Lời giải:

Kết quả chạy:

Bài tập luyện tập vòng lặp for

  1. Nhập vào số nguyên dương n, 0 < n < 10. In ra hình vuông được tạo thành bởi các ký tự “*” có kích thước n x n.
  2. Viết chương trình in ra bảng cửu chương
Các bài viết trong SeriesBài trước: Bài 15. Tìm số lớn nhất trong 3 số a, b, cBài sau: Bài 17. Tính tổng các số chẵn trong đoạn a b

31 COMMENTS

  1. #include
    int main(){
    printf(“BANG CUU CHUONG\n”);
    for(int i = 1; i<=10 ; i++)
    {
    for(int j = 1; j<=10 ; j++){
    int k=(i*j);
    printf(" %d x %d = %d\n", i, j, k);
    }
    printf("\n");
    }
    }

  2. In ra hình vuông n*n:
    #include
    int main(){
    int n;
    printf(“nhap gia tri cua canh hinh vuong: “); scanf(“%d”, &n);
    if (n > 0 && n < 10)
    {
    for(int i = 1; i <= n ; i++) // i sẽ biểu thị cho số hàng
    {
    for(int j =1; j <= n; j++) // j sẽ biểu thị cho số cột
    {
    printf(" * ");
    }
    printf("\n"); // lệnh này giúp ta xuống hàng
    }
    }
    }

  3. bang cuu chuong :
    #include
    int main () {
    int i,a;
    for (a=1;a<=10;a++) {
    printf ("*\n");
    for(i=1;i<=10;i++){
    printf("%d*%d=%d\n",a,i,a*i);
    }
    }
    }

  4. Em gửi code bài chạy bảng cửu chương ạ.
    #include
    int main ()
    {
    int t;
    printf(“\t\t\tBANG CUU CHUONG\n\n”);
    for(int i=1; i<10;i++)
    {
    for(int j=1;j<=5;j++)
    {
    t=j*i;
    printf("%d * %d = %d\t ",j,i,t);
    }
    }
    printf("\n\n");
    for(int i=1; i<10;i++)
    {
    for(int j=6;j<=10;j++)
    {
    t=j*i;
    printf("%d * %d = %d\t ",j,i,t);
    }
    }
    return 0;
    }

  5. #include
    int main()
    {
    int a;
    printf(“Chuong trinh ve hinh vuong do dai canh a (0<a<10).\n");
    do
    {
    printf("Nhap do dai canh hinh vuong: "); scanf("%d",&a);
    printf("\n");
    }
    while(a=10);
    for(int i=0;i<a;i++)
    {
    printf("\t\t");
    for(int j=0; j<a;j++)
    {
    printf("*");
    }
    printf("\n");
    }
    return 0;
    }

  6. Em code bài vẽ hình vuông ạ.
    #include
    int main()
    {
    int a;
    do
    {
    printf(“Chuong trinh ve hinh vuong do dai canh a (0<a<10).\n");
    printf("Nhap do dai canh hinh vuong: "); scanf("%d",&a);
    printf("\n");
    }
    while(a=10);
    for(int i=0;i<a;i++)
    {
    printf("\t\t");
    for(int j=0; j<a;j++)
    {
    printf("*");
    }
    printf("\n");
    }
    return 0;
    }

    • Bạn hơi hình như có vấn đề ở chỗ i++ hình như máy ko đọc đc hay sao ý.Máy mình cx không chạy đc

  7. Dạ thầy ơi, Thầy xem giúp em code bị sai ở đâu mà không chạy được
    #include “stdio.h”
    #include “math.h”
    int main()
    {
    int a,b,c;
    printf(“\nNhap vao a va b=”);
    scanf(“%d%d”,&a,&b);
    if (((0<a)&&(a<=b))==1)
    {for (a<=c;c<=b;c++)
    {printf("\n gia tri cua c=%d",c);
    }
    }else
    {printf("\n gia tri khong hop le");
    }
    }

  8. Bài viết hình vuông như thế này đúng k a. Khi chạy mà hình vuông đúng n x n mà sao nó lệch lệch a nhỉ ><. CODE:
    #include
    #include
    int main(){
    int a;
    printf(“Nhap so nguyen duong a : “);
    scanf(“%d”, &a);

    // Ham xu li
    if (a > 0 && a <= 10)
    {
    for (int i = 1; i <= a; i++)
    {
    printf("\n*");
    for (int i = 1; i 10″);
    }

    getch();
    }

    • Đây hả a
      [spoiler title=” “]
      #include
      #include
      int main(){

      int a;
      printf(“Nhap so nguyen duong a : “);
      scanf(“%d”, &a);

      // Ham xu li
      if (a > 0 && a <= 10)
      {

      for (int i = 1; i <= a; i++)
      {
      printf("\n*");
      for (int i = 1; i 10″);
      }

      getch();
      }
      [/spoiler]

    • [spoiler title=” “]
      #include
      #include
      int main(){
      int a;
      printf(“Nhap so nguyen duong a : “);
      scanf(“%d”, &a);

      // Ham xu li
      if (a > 0 && a <= 10) { for (int i = 1; i <= a; i++) { for (int i = 1; i 10″){ printf("*"); } printf("\n"); } getch(); } [/spoiler] Như này mới đúng chứ.

  9. Viết chương trình tìm số nguyên dương n thỏa
    mãn điều kiện sau:
    S(n) = 1 + 2 + 3 + … + n ≤ 2018
    Giúp e câu này với ạ

    • int sum(int n)
      {
      if(n==1) return 1;
      return n+sum(n-1);
      }
      Đây nha bạn cái này mình dùng hàm con còn hàm chính bạn tự khai báo nha

  10. Em viết code y chang phần đầu bài học của anh là for ( int i = 0; i<3 ; i++){
    printf("Lap trinh khong kho");
    }
    thì nó int ra 3 lần
    còn ở vòng while: int i = 0
    While( i<3 ){
    printf("Lap trinh khong kho")
    i++
    }
    thì nó lại int ra vô hạng luôn ạ, rất nhiều chữ Lap trinh khong khó mà nó cứ int hoài k ngừng luôn.Nhìn sơ thì nguyên lý hoạt động nó giống nhau mà k hiểu sao 1 cái thì in ra 3 lần 1 cái in k đếm đc hết.
    Anh giải thích cho e hiểu phần while và for này đc k ạ

    • Vô lý quá, code em đăng lên đây ko chuẩn sao mà anh xem được. Đến dấu ; còn thiếu thì sao mà chạy

    • Bạn phải cho điều kiện dừng trong while là i++; thì i lập đến 3 lần thì nó sẽ dừng nhé, không có đk nó lặp vô tận là phải r nà ^^

LEAVE A REPLY

Please enter your comment!
Please enter your name here