Bài đăng nổi bật



Vòng lặp ‘for lồng nhau’

Một vòng lặp for được gọi là lồng nhau khi nó nằm bên trong một vòng lặp for khác. Nó sẽ có dạng tương tự như sau:
         for (i = 1;  i < max1; i++)
         {        ….
                   ….
                   for (j = 0; j < max2 ; j++)
                   {
                            …..
                   }
                   ….
         }
Ví dụ:
#include <stdio.h>
int main() {
         int  i, j, k;
         i = 0;
         printf(“Enter no. of row: “);
         scanf(“%d”, &i);
         printf(“\n”);
         for (j = 0; j < i; j++) {
                  printf(“\n”);
                   for (k = 0; k <= j; k++)         /*vòng lặp for bên trong*/
                            printf(“*”);
         }
}
Chương trình trên sẽ hiển thị ký tự ‘*’ trên mỗi dòng và số ký tự ‘*’ trên mỗi dòng sẽ tăng thêm 1. Chương trình sẽ nhận vào số dòng, từ đó ký tự ‘*’ sẽ được in ra. Ví dụ, nếu nhập vào số 5, kết quả như sau
*
**
***
****
*****

Cũng giống như vòng lặp for, các vòng lặp while do ... while cũng có thể được lồng vào nhau. Hãy xem một ví dụ được đưa ra dưới đây.
Ví dụ:
#include <stdio.h>
void main() {    
         int x;
         char i, ans;
         i = '';
         do{
                   x = 0;
                   ans = ‘y’;
                   printf(“\nEnter sequence of character: “);
                   do{
                            i = getchar();
                            x++;
                   }while (i != ‘\n’);
                   i = '';
                   printf(“\nNumber of characters entered is:%d”, --x);
                   printf(“\nMore sequences (Y/N)?”);
                   ans = getch();
         }while (ans == ‘Y’ || ans == ‘y’);
}
Kết quả của chương trình được minh họa như sau:
         Enter sequence of character: Good Morning!
         Number of character entered is: 14
         More sequences (Y/N)? N
Chương trình trên yêu cầu người dùng nhập vào một chuỗi kí tự cho đến khi nhấn phím enter (vòng lặp while bên trong). Khi đó, chương trình thoát khỏi vòng lặp do…while bên trong. Sau đó chương trình hỏi người dùng có muốn nhập tiếp nữa hay thôi.  Nếu người dùng nhấn phím ‘y’ hoặc ‘Y’, điều kiện cho vòng while bên ngoài là true và chương trình nhắc người dùng nhập vào chuỗi ký tự khác. Chương trình cứ tiếp tục cho đến khi người dùng nhấn bất kỳ một phím nào khác với phím ‘y’ hoặc ‘Y’. Và chương trình kết thúc.

Các lệnh nhẩy

C có bốn câu lệnh thực hiện sự rẽ nhánh không điều kiện: return, goto, break, continue. Sự rẽ nhánh không điều kiện nghĩa là sự chuyển điều khiển từ một điểm đến một lệnh xác định. Trong các lệnh chuyển điều khiển trên, returngoto có thể dùng bất kỳ vị trí nào trong chương trình, trong khi lệnh breakcontinue được sử dụng kết hợp với các câu lệnh vòng lặp.
Lệnh ‘return’
Lệnh return dùng để quay lại vị trí gọi hàm sau khi các lệnh trong hàm đó được thực thi xong. Trong lệnh return có thể có một giá trị gắn với nó, giá trị đó sẽ được trả về cho chương trình. Cú pháp tổng quát của câu lệnh return như sau:
         return biểu_thức;
Biểu_thức là một tùy chọn (không bắt buộc). Có thể có hơn một lệnh return được sử dụng trong một hàm. Tuy nhiên, hàm sẽ quay trở về vị trí gọi hàm khi gặp lệnh return đầu tiên. Lệnh return sẽ được làm rõ hơn sau khi học về hàm.

Post a Comment

أحدث أقدم