Goto la gi

Mục lục nội dung

Goto la gi

1. Câu lệnh goto trong C++ là gì?

Câu lệnh goto trong C++ cung cấp một bước nhảy vô điều kiện từ 'goto' đến một câu lệnh có nhãn trong cùng một hàm.

Chú ý: Việc sử dụng câu lệnh goto không được khuyến khích sử dụng trong bất kỳ ngôn ngữ lập trình nào vì nó rất khó để theo dõi luồng điều khiển của chương trình, làm cho chương trình khó hiểu và khó bảo trì. Bất kỳ chương trình nào sử dụng goto đều có thể được viết lại theo cách bình thường.

2. Cú pháp

Cú pháp cho câu lệnh goto trong C++ như sau:

goto label;
..
.
label: statement;

Ở đây nhãn (label) có thể là bất kỳ văn bản thuần tuý trừ từ khóa C và nó có thể được đặt ở bất kỳ vị trí nào trong chương trình C, bên trên hoặc bên dưới câu lệnh goto.

3. Ví dụ sử dụng lệnh goto trong C++

#include 

using namespace std;
  
int main () {
    int a = 10;

    TEST:do {
        if( a == 15) {
            // quay ve do khi a = 15 (bo qua lenh print)
            a = a + 1;
            goto TEST;
        }
        cout << "Gia tri cua a: " << a << endl;
        a++;
    } while( a < 20 );
  
   return 0;
}

Kết quả:

Gia tri cua a: 10
Gia tri cua a: 11
Gia tri cua a: 12
Gia tri cua a: 13
Gia tri cua a: 14
Gia tri cua a: 16
Gia tri cua a: 17
Gia tri cua a: 18
Gia tri cua a: 19

Lý do cần tránh sử dụng câu lệnh goto

Câu lệnh goto cho phép nhảy tới bất kỳ phần nào của chương trình, nhưng logic của chương trình sẽ trở nên phức tạp và rối rắm.

Trong lập trình hiện đại, câu lệnh goto được xem là một cấu trúc gây hại và là một trường hợp cần tránh.

Câu lệnh goto có thể được thay thế trong hầu hết các chương trình C++ bằng cách sử dụng câu lệnh break và continue.

Trên đây là bài viết của eLib.VN về câu lệnh go to trong C++. Nhìn chung, bạn không nên sử dụng câu lệnh Goto. Chỉ thật sự sử dụng lệnh goto trong một số trường hợp đặc biệt bắt buộc phải sử dụng lênh goto thôi nhé. Vì nó gây khó khăn cho việc theo dấu dòng điều khiển của một chương trình, làm cho chương trình khó hiểu và khó chỉnh sửa. Chúc các bạn thành công!

  • Tham khảo thêm

  • doc Mệnh đề if-else trong C++
  • doc Mệnh đề switch-case trong C++
  • doc Vòng lặp For trong C++
  • doc Vòng lặp while, do while trong C++
  • doc Lệnh break và continue trong C++

Ngày:27/10/2020 Chia sẻ bởi:Denni

Chính sách

Liên hệ với chúng tôi

Tầng 2, số nhà 541 Vũ Tông Phan, Phường Khương Đình, Quận Thanh Xuân, Thành phố Hà Nội, Việt Nam

Phone: 084 283 45 85

Email:

Goto la gi
Goto la gi

CÔNG TY TNHH ĐẦU TƯ VÀ DỊCH VỤ GIÁO DỤC VIETJACK

Người đại diện: Nguyễn Thanh Tuyền

Số giấy chứng nhận đăng ký kinh doanh: 0108307822, ngày cấp: 04/06/2018, nơi cấp: Sở Kế hoạch và Đầu tư thành phố Hà Nội.

2015 © All Rights Reserved.



Một lệnh goto trong Ngôn ngữ chương trình C cung cấp một bước nhảy không điều kiện từ lệnh goto tới lệnh được gán nhãn trong cùng một hàm.

Ghi chú: Sử dụng lệnh goto gây khó khăn cho bất kỳ ngôn ngữ chương trình nào bởi vì nó gây khó khăn cho việc theo dấu dòng điều khiển của một chương trình, làm cho chương trình khó để hiểu và khó để chỉnh sửa. Bất kỳ chương trình nào sử dụng một lệnh goto có thể được viết lại để có thể không cần lệnh goto này.

Cú pháp:

Cú pháp cho một lệnh goto trong Ngôn ngữ C như sau:

goto ten_nhan;
..
.
ten_nhan: lenh;

Ở đây, ten_nhan (là tên nhãn) có thể là bất kỳ phần thuần văn bản nào ngoại trừ các từ khóa trong C, và nó có thể được thiết lập bất cứ đâu trong chương trình C, bên trên hoặc dưới lệnh goto này.

Sơ đồ:

Goto la gi

Ví dụ:

#include 
 
int main ()
{
   /* phan dinh nghia bien cuc bo  */
   int a = 5;

   /* vong lap do...while */
   VIETJACK:do
   {
      if( a == 10)
      {
         /* nhay qua buoc lap nay */
         printf("Nhay qua buoc lap nay!\n");
         a = a + 1;
         goto VIETJACK;
      }
      printf("Gia tri cua a la: %d\n", a);
      a++;
     
   }while( a < 15 );
   printf("\n===========================\n");
   printf("VietJack chuc cac ban hoc tot! \n");
 
   return 0;
}

Quảng cáo

Biên dịch và thực thi chương trình C trên sẽ cho kết quả sau:

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Goto la gi

Goto la gi

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài học lập trình C phổ biến khác tại VietJack:

  • Cú pháp C cơ bản
  • C - Kiểu dữ liệu
  • C - Biến
  • C - Hằng số
  • C - Lớp lưu trữ
  • C - Toán tử
  • C - Con trỏ

vong_lap_trong_c.jsp


Bài viết liên quan

  • 160 bài học ngữ pháp tiếng Anh hay nhất

  • 155 bài học Java tiếng Việt hay nhất

  • 100 bài học Android tiếng Việt hay nhất

  • 247 bài học CSS tiếng Việt hay nhất

  • 197 thẻ HTML cơ bản

  • 297 bài học PHP

  • 101 bài học C++ hay nhất

  • 97 bài tập C++ có giải hay nhất

  • 208 bài học Javascript có giải hay nhất

Câu lệnh goto là gì?

Trong lập trình C++, câu lệnh goto được sử dụng để thay đổi luồng thực thi thông thường của chương trình bằng cách nhảy tới một phần khác của chương trình.

Lệnh goto trong C có tác dụng gì?

Một lệnh goto trong Ngôn ngữ chương trình C cung cấp một bước nhảy không điều kiện từ lệnh goto tới lệnh được gán nhãn trong cùng một hàm.

Lệnh continue trong C là gì?

Lệnh continue trong Ngôn ngữ chương trình C làm việc hơi giống với lệnh break. Thay vì bắt buộc kết thúc, nó bắt buộc vòng lặp tiếp theo diễn ra, bỏ qua bất kỳ đoạn code nào ở giữa. Đối với vòng lặp for, lệnh continue thực hiện các bước kiểm tra điều kiện và phần increment của vòng lặp.