Web888.vn
  • Khám phá
  • Kiến thức công nghệ
    • Học lập trình
      • Lập trình C/C++
      • Lập trình HTML
      • Lập trình Javascript
        • ReactJS framework
        • AngularJS framework
      • Cơ sở dữ liệu
        • Micrsoft SQL Server
      • Lập trình PHP
    • WORDPRESS
      • WordPress cơ bản
      • WordPress nâng cao
      • Chia sẻ WordPress
    • Machine Learning
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
  • Kinh doanh online – MMO
    • Tiếp thị liên kết
    • Drop shipping
    • Google Adsense
    • Kiếm tiền youtube
    • Tiền điện tử
    • Thương mại điện tử
  • Chia sẻ IT
    • Chia sẻ phần mềm
    • Review công nghệ
    • Công cụ – tiện ích
      • Kiểm tra bàn phím online
      • Kiểm tra webcam online
  • Kỹ năng sống
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • Học C căn bản
Các lệnh rẽ nhánh vô điều kiện trong C – return, goto, break, continue, hàm exit

Các lệnh rẽ nhánh vô điều kiện trong C – return, goto, break, continue, hàm exit

  • 08-01-2023
  • Toanngo92
  • 0 Comments

Mục lục

  • Các lệnh rẽ nhánh vô điều kiện (Jump Statements)
    • Câu lệnh return
    • Câu lệnh goto
    • Câu lệnh break
    • Câu lệnh continue
  • Hàm exit()

Các lệnh rẽ nhánh vô điều kiện (Jump Statements)

C có bốn câu lệnh thực hiện phép rẽ nhánh không điều kiện: return, goto, break và continue Phép rẽ nhánh vô điều kiện có nghĩa là chuyển luồng chương trình từ điểm cần đến một câu lệnh xác định.
Trong số các câu lệnh ở trên, return và goto có thể được sử dụng ở bất kỳ đâu trong chương trình, trong khi các câu lệnh break và continue được sử dụng cùng trong các vòng lặp.

Câu lệnh return

Câu lệnh return được sử dụng để quay về từ một hàm. Nó khiến việc thực thi trở lại điểm mà tại đó lệnh gọi hàm được thực hiện. Câu lệnh return có thể có một giá trị với nó, mà nó trả về đến chương trình.

Về phần này, chúng ta có thể thảo luận thêm ở bài viết về hàm (functions) trong C.

Cú pháp tổng quát:

data_type function_name(parmeters){
   // todo
   return expression;
}

expression là tùy chọn. Có thể sử dụng nhiều hơn một lần trả về trong một hàm. Tuy nhiên, hàm sẽ quay lại hàm (calling function) gọi khi gặp câu lệnh return và bỏ qua toàn bộ các lệnh phía sau.

Ví dụ:

int exmaplereturnfunction(){
	int a = 5;
	int b = 6;
	int sum = 0;
	sum = a + b;
	return sum;
	sum = sum+10;
}
int main(){
    int result;
    result = exmaplereturnfunction();
   return 0;
}

Câu lệnh goto

Mặc dù C là ngôn ngữ lập trình có cấu trúc nhưng nó chứa các dạng chương trình phi cấu trúc sau:

  • goto
  • label

Câu lệnh goto không chỉ chuyển luồng chạy về một điểm thực thi bất kỳ câu lệnh nào khác trong cùng một hàm (function) trong chương trình C mà còn cho phép nhảy vào và nhảy ra khỏi khối. Do đó, nó vi phạm các quy tắc của một cấu trúc chặt chẽ.

Cú pháp tổng quát:

goto label;

Trong đó label là một mã định danh phải xuất hiện dưới dạng tiền tố cho một câu lệnh C khác trong cùng một hàm. Dấu chấm phẩy (;) sau mã định danh label đánh dấu kết thúc câu lệnh goto. câu lệnh goto trong chương trình khiến nó khó đọc. Chúng làm giảm độ tin cậy của chương trình và làm cho chương trình khó duy trì. Tuy nhiên, chúng được sử dụng vì chúng có thể cung cấp các phương tiện hữu ích để thoát khỏi các vòng lặp lồng nhau sâu.

Ví dụ:

void examplegoto(){
   int i;
   double number, average = 0.0, sum = 0.0; 
	daylavitrigt:
   	average = sum / (i - 1);
	printf("Sum = %.2f\n", sum);
	printf("Average = %.2f", average);
	
   for (i = 1; i <= 100; ++i) {
      printf("%d. Enter a number: ", i);
      scanf("%lf", &number);
      
      // go to jump if the user enters a negative number
      if (number < 0.0) {
         goto daylavitrigt;
      //   break;
      }
      sum += number;
   }
	   
}
int main(){
   examplegoto();
   return 0;
}

Câu lệnh break

Câu lệnh break có hai cách sử dụng. Nó có thể được sử dụng để kết thúc một trường hợp trong câu lệnh switch và để buộc kết thúc vòng lặp ngay lập tức, bỏ qua kiểm tra điều kiện của vòng lặp thông thường.

Khi gặp câu lệnh break bên trong một vòng lặp, vòng lặp đó lập tức kết thúc và luồng chạy chương trình được chuyển đến câu lệnh theo sau vòng lặp, không cần quan tâm điều kiện có thỏa mãn hay không.

Ví dụ:

void examplebreakinloop(){
	int count1, count2;
	for(count1 = 1, count2 = 0;count1 <=100; count1++)
	{
	printf("Enter %d count2 : ",count1);
	scanf("%d", &count2);
		if(count2==20) {
			break;
		}
	}
	printf("End loop");
}

int main(){
   examplebreakinloop();
   return 0;
}

Câu lệnh continue

Câu lệnh continue làm cho lần lặp tiếp theo của vòng lặp kèm theo được thực hiện. Khi câu lệnh này được bắt gặp trong chương trình, các câu lệnh còn lại trong phần thân của vòng lặp sẽ bị bỏ qua và luồng chạy được chuyển sang bước khởi tạo lại cho lần lặp tiếp theo.

Trong trường hợp của vòng lặp for, continue chạy sang lần lặp tiếp theo và sau đó kiểm tra điều kiện được thực thi. Trong trường hợp có các vòng lặp while và do while, luồng chương trình sẽ chuyển sang phần kiểm tra điều kiện.

Ví dụ:

void examplecontinueinloop(){
	int num;
	for(num = 1; num <=100; num++)
	{
	if(num % 9 != 0) {
		continue;	
		printf("%d\t",num);
		printf("dsfsdfsdfsdfsdf");
	}
	printf("%d\t",num);
	}
}
int main(){
   examplecontinueinloop();
   return 0;
}

Hàm exit()

exit() là một hàm thư viện C tiêu chuẩn. Hoạt động của nó tương tự như hoạt động của câu lệnh rẽ nhanh vô điều kiện,tuy nhiên điểm khác biệt chính là câu lệnh rẽ nhánh vô điều kiện được sử dụng để thoát ra khỏi vòng lặp, trong khi exit() được sử dụng để thoát khỏi chương trình. Chức năng này khiến chương trình kết thúc ngay lập tức và quyền điều khiển được chuyển trở lại hệ điều hành.

Cú pháp:

exit (int return_code);

Trong đó, return_code là tùy chọn. số không thường được sử dụng 0 return_code để biểu thị xu hướng chương trình bình thường. Các giá trị khác chỉ ra một số lỗi.

Ví dụ:

void exampleexitprogram(){
	int count1, count2;
	for(count1 = 1, count2 = 0;count1 <=5; count1++)
	{
	printf("Enter %d count2 : ",count1);
	scanf("%d", &count2);
	if(count2==20){
		exit(100);
//		break;
	} 
	}
	printf("End loop");
}
int main(){
   exampleexitprogram();
   return 0;
}

Bài viết liên quan:

Mảng trong C (array), mảng một chiều, mảng đa chiều
Vòng lặp trong C – các cấu trúc vòng lặp for, while, do while
Điều kiện trong C – các cấu trúc điều kiện if/else, switch case
Các toán tử và biểu thức trong C
Thao tác Input / Output trong C
Các kiểu dữ liệu cơ bản trong C
Biến và hằng số, định danh trong ngôn ngữ C
Cấu trúc chương trình C, danh sách từ khóa (keywords) trong ngôn ngữ C
Giới thiệu mở đầu – mô tả khái niệm phần mềm trước khi bắt đầu học lập trình C
Lược đồ giải thuật và mã giả để biểu diễn thuật toán bằng hình học và cú pháp và các cấu trúc luồng chạy trong lập trình
Cài đặt Visual Studio Code để lập trình C/C++ trên Windows và MacOs
Cài đặt dev C++ để lập trình C trên Windows 10

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

Mảng trong C (array), mảng một chiều, mảng đa chiều

Hướng dẫn cài đặt Microsoft SQL Server và kết nối CSDL từng bước cho người mới

Vòng lặp trong C – các cấu trúc vòng lặp for, while, do while

Điều kiện trong C – các cấu trúc điều kiện if/else, switch case

Các lệnh rẽ nhánh vô điều kiện trong C – return, goto, break, continue, hàm exit

Giới thiệu

web888.vn là chuyên trang chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với web888

© web888.vn - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.

Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our privacy policy.

Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×