Vòng lặp trong lập trình C

78
Vòng lặp trong lập trình C

Mục tiêu của bài học

  • Tìm hiểu về vòng lặp ‘for’ trong C
  • Làm việc với toán tử dấu phẩy (,)
  • Tìm hiểu về các vòng lặp lồng nhau
  • Tìm hiểu về vòng lặp ‘while’ và ‘dowhile’
  • Làm việc với các lệnh break và continue
  • Tìm hiểu về hàm exit()

Vòng lặp là gì?

Một đoạn mã lệnh trong chương trình thực hiện lặp đi lặp lại cho đến khi một điều kiện xác định được thỏa mãn

3 kiểu cấu trúc vòng lặp

  • Vòng lặp for
  • Vòng lặp while
  • Vòng lặp do….while

Vòng lặp while

Cú pháp

while (<dieukien>)
<câulệnh>;

Ví dụ 1:
Tính tổng 100 số nguyên dương đầu tiên​

Vòng lặp while

Cú pháp:

for (<initialize counter>; <conditional test>; <re-evaluate >)
{
statement1;
statement2;
…
}
  • initialize counter
  • conditional test
  • re-evaluation parameter

Vòng lặp do…while

Cú pháp:

do{
statement;
} while (condition);
  • Trong vòng lặp do while phần thân của vòng lặp được thực thi trước khi biểu thức điều kiện được kiểm tra
  • Khi điều kiện mang giá trị False, vòng lặp do while sẽ được kết thúc, và điều khiển chuyển đến lệnh xuất hiện ngay sau lệnh while

Ví dụ:
Cho người dùng nhập vào 1 số, cho đến khi gặp số 0. In ra màn hình số số nguyên và tổng các số nguyên mà họ đã nhập​

Các lệnh chuyển điều khiển

return expression

  • Lệnh return được sử dụng để trở về từ một hàm
  • Thực hiện lệnh return để trở về vị trí mà tại đó hàm được gọi
  • Lệnh return có thể có một giá trị đi cùng, giá trị này được trả về cho chương trình gọi

goto label

  • Lệnh goto chuyển điều khiển đến một câu lệnh bất kỳ khác bên trong cùng một hàm trong một chương trình C
  • Điều này thật ra vi phạm đến qui luật của một ngôn ngữ lập trình cấu trúc.
  • Chúng làm giảm độ tin cậy của chương trình và chương trình khó bảo trì.

break statement

  • Lệnh break được sử dụng để kết thúc một mệnh đề case trong câu lệnh switch
  • Nó cũng có thể được sử dụng để kết thúc ngang giữa vòng lặp
  • Khi gặp lệnh break, vòng lặp sẽ kết thúc ngay và điều khiển được chuyển đến lệnh kế tiếp bên ngoài vòng lặp

Ví dụ:

#include <stdio.h>
main (){
int count1, count2;
for(count1 = 1, count2 = 0;
count1 <=100; count1++){
printf("Enter %d count2: ",
count1);
scanf("%d", &count2);
if(j==100) break;
}
}

continue statement

  • Lệnh continue dùng để bắt đầu thực hiện lần lặp kế tiếp của vòng lặp
  • Khi gặp lệnh continue, các câu lệnh còn lại trong thân vòng lặp bị bỏ qua và điều khiển được chuyển đến lần lặp kế tiếp

Ví dụ:

#include <stdio.h>
main () {
int num;
for(num = 1;num<=100; num++){
if(num % 9 == 0)
continue;
printf("%d\t",num);
}
}

hàm exit()

  • Hàm exit() được sử dụng để thoát khỏi chương trình
  • Sử dụng hàm này sẽ kết thúc ngay chương trình và điều khiển được chuyển về cho hệ điều hành

Ví dụ:

#include <stdio.h>
main () {
int num;
for(num = 1;num<=100; num++){
if(num % 9 == 0)
continue;
printf("%d\t",num);
}
}