Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Cấu trúc lặp for. Hiều về cấu trúc for

  1. #1
    Ngày gia nhập
    11 2007
    Bài viết
    153

    Red face Cấu trúc lặp for. Hiều về cấu trúc for

    em mới học cấu trúc lặp nested for nên chẳng hiểu gì mong mọi người giúp đỡ vd:
    Code:
    #include <stdio.h>
    #include <conio.h>
    
    void main()
    clrscr();
    {
    int dong,cot,a,b;
    printf(\n nhap so dong va so cot can tinh");
    scanf("%d%d",&dong,&cot);
    
    for (a=1;a<=dong;a++)
    {
    
    printf("\n");
    for (b=1;b<=cot;b++)
    { printf("*\t);
    }
    getch();
    }
    }
    vậy trong cấu trúc nested for cái nào được thực hiện trước và thứ tự thự hiện các bước của nó như thế nào ạ? có phải là lệnh printf trong for đầu tiên được thực hiện đầu tiên là xuống dòng hay lệnh trong for bên trong làm trước rồi quay lên làm lệnh nào đó phía trên đúng không ạ??
    Rất mong các bác giúp em với em xin cảm ơn ạ.

    ------------
    Đặt code vào tag nha bạn. ht961711
    Đã được chỉnh sửa lần cuối bởi comeonbaby : 23-11-2007 lúc 09:33 AM.

  2. #2
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    Bạn xem kĩ lại nha.
    Vòng lặp for ban đầu chạy trước, thực hiện 1 lần lệnh printf("\n"). Sau đó câu lệnh printf("*\t") chạy với số lần tương ứng với giá trị biến "cot". Cứ thế chạy với số lần của giá trị biến "dong"-1.
    Đây là cơ bản, bạn nên chạy debug để thử sẽ rõ.
    Nhắc nhở bạn đặt code vào tag. Và đặt tiêu đề bài viết đúng nội quy diễn đàn. Thân!!!!
    Không biết ghi gì luôn ...

  3. #3
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Code:
    1. for (a=1;a<=dong;a++)
    2. {
    3.   printf("\n");
    4.   for (b=1;b<=cot;b++)
    5.   { 
    6.     printf("*\t);
    7.   }
    8.   getch();
    9. }
    Thực sự thì việc sử dụng và hiểu vòng for rất dễ dàng vấn đề là bạn có chịu hiểu và có hiểu nó theo cách dễ dàng hay không mà thôi.

    Dr có cắt nguyên cái nested for của bạn và có đánh số thứ tự để giải thích cho bạn dễ hiểu hơn.

    Dòng thứ nhất:
    Bạn phải hiểu for là gì: (Là cho cái gì đó để có được nhiều hơn cái gì đó, phải không bạn?)
    Có 3 biểu thức điều kiện trong for: exp1; exp2; exp3; được phân cách bởi một dấu ;. Mỗi biểu thức điều kiện này có thể chứa vài ba biểu thức được phân cách bởi dấu phảy, miễn sao tuân theo quy luật:

    - exp1: Đây là điều kiện cho, cho a=1. Biểu thức này chỉ được thực hiện ở vòng for đầu tiên của chu trình for.
    - exp2: Đây là điều kiện giới hạn của việc cho. a<=dong. Biểu thức này kiển tra trước khi một vòng lặp for chạy.
    - exp3: Đây là biểu thức tính toán của for. Nó được thực hiện cuối cùng của mỗi vòng lặp for.

    Dòng thứ 2: Đánh dấu điểm bắt đầu một công việc sẽ thực hiện mỗi khi cho.
    Dòng thứ 9: Đánh dấu điểm kết thúc thực hiện công việc mỗi khi cho.

    Dòng thứ 3: Thực hiện lệnh printf("\n"); mỗi khi điều kiện exp2 thoả mãn.

    Từ dòng 4 đến 7: Sẽ thực hiện cho tiếp mỗi khi điều kiện exp2 còn thoả mãn. Tức là cứ thằng a<=dong thì bắt đầu thực hiện cả một chu trình for khi nào điều kiện b<=cot vẫn còn thỏa mãn.
    Chỗ này hơi khó giải thích nhưng nếu bạn ngồi vẽ lên một tờ giấy với các dòng và các cột đan xen nhau, sẽ dễ hiểu hơn rất nhiều. (Một cách học thông minh nhất mà chúng ta đã vứt bỏ nó ngay khi học lên đến lớp 4 đó là học bằng cách đếm bằng bàn tay, bàn chân và viết ra giấy những gì mình đang còn suy nghĩ.)

    Dòng thứ 8: Bạn đặt hàm getch() tại đó để làm gì chứ? Mới for có một lần mà đã đòi get là sao?

    Thế nào? Bạn có thể dễ dàng hiểu vấn đề này bằng cách rất đơn giản đó là: Cho đi cái gì đó trước để nhận về một lượng lớn cái gì đó đằng sau nó. Rất gần với cuộc sống của chúng ta. Phải không bạn.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  4. #4
    Ngày gia nhập
    11 2007
    Bài viết
    153

    Cảm ơn bác Dr rất nhiều em hiểu rồi hóa ra là nó làm tuần tự nhau.!

  5. #5
    Ngày gia nhập
    10 2007
    Nơi ở
    Thành phố Hồ Chí Minh
    Bài viết
    2

    Bạn hãy chạy từng dòng lệnh (F8 đó) để hiểu về for hơn .
    Trong topic [C]Những chương trình C cơ bản có mấy bài tập rất hay về vòng lặp for như in hình chữ nhật ,tổ chức nhập ma trận ...làm mấy bài tập đó xong thì bạn có thể hiểu for .

Các đề tài tương tự

  1. Trả lời: 0
    Bài viết cuối: 07-07-2013, 07:29 PM
  2. Bài tập về cấu trúc trong c | Cấu trúc sinh viên???
    Gửi bởi dddzzzjjjiii trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 14
    Bài viết cuối: 21-07-2012, 05:06 PM
  3. Chiếu trúc, Chiếu trúc cao cấp, Hàng Sản xuất tại Việt Nam: Giá rẻ nhất thị trường
    Gửi bởi tqt.tranquoctuan trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 13-05-2012, 08:33 PM
  4. cấu trúc bảng băm là cấu trúc như thế nào?
    Gửi bởi minh_quang1202 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 06-01-2011, 07:03 PM
  5. Cấu trúc file excel | Cấu trúc file xls. Giúp mình với?
    Gửi bởi knightofit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 02-04-2009, 10:44 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn