Câu lệnh for:

Một phần của tài liệu Tổng quan về ngôn ngữ C potx (Trang 40 - 43)

Để thực hiện các công việc lặp đi lặp lại hay làm việc với các phần tử mảng, nếu ta viết từng lệnh một thì sẽ không hiệu quả.

• Dạng :

công việc ; /* đây là thân của chu trình */

• Sự hoạt động của câu lệnh for : 1. Thực hiện biểu thức khởi tạo. 2. Kiểm tra biểu thức điều kiện

- nếu biểu thức điều kiện đúng thì thực hiện công việc bên trong chu trình for. - nếu biểu thức điều kiện sai thì thoát ra khỏi lệnh for .

3. Tính biểu thức 3, quay trở lại bước 2.

Ví dụ : Để đưa ra màn hình các số từ 1 đến 10, mỗi số trên một dòng : #include <stdio.h> #include <conio.h> main() { int i; for(i=1;i<=10;i++) printf(“\n%d”,i); getch(); return 0; } Ví dụ : #include <stdio.h> #include <conio.h> main() {

Biểu thức khởi tạo

Biểu thức điều kiện

Thực hiện công việc

Thay đổi điều kiện T

int i,n,sohang,tong=0; printf(“\nNhap n:”); scanf(“%d”,&n);

printf(“\nNhap vao %d so nguyen :”,n); for(i=1;i<=n;i++)

{

printf(“\nSo thu %d : ”,i); scanf(“%d”,&sohang); tong+=sohang; } printf(“\nTong = %d”,tong); getch(); return 0; }

Các biểu thức trong ngoặc vuông có thể có, có thể không nhưng các dấu chấm phẩy, ngoặc đơn bắt buộc phải có mặt. Các biểu thức cùng loại được ngăn cách nhau bởi dấy phẩy.

Với C++ ta có thể khai báo biến tạm thời ở một khối lệnh {}. Trong vòng lặp for có thể khai báo biến trong biểu thức đầu tiên của biểu thức khởi tạo.

Khi biểu thức 2 vắng mặt thì nó xem như luôn đúng. Biểu thức 2 có thể gồm nhiều biểu thức nhưng tính đúng sai của nó là tính đúng sai của biểu thức cuối cùng.

Để ra khỏi vòng lặp ta dùng các lệnh break, goto hoặc return trong thân chu trình. Ví dụ : vòng lặp for sau đây không có biểu thức thay đổi điều kiện:

for(count=0;count<10;) printf(“\n%d”,count++);

Thậm chí ta có thể viết vòng lặp for không có cả ba biểu thức trên. Ta cũng có thể tạo vòng lặp for không có câu lệnh nào trong vòng lặp, mọi công việc đã được thực hiện trong câu lệnh for. Khi đó câu lệnh rỗng sẽ là dấu chấm phẩy đứng một mình trên một dòng. Tuy nhiên ta không nên làm như vậy.

• Các vòng for lồng nhau :

Phía trong các thân của vòng for có thể có những vòng for khác. Ví dụ : for(i=1;i<10;i++) { for(j=1;j<10;j++) printf(“%3d”,i+j); printf(”\n”); }

Khi gặp lệnh break trong vòng lặp for thì máy sẽ ra khỏi vòng lặp for sâu nhất chứa lệnh này.

Một phần của tài liệu Tổng quan về ngôn ngữ C potx (Trang 40 - 43)