hocvietcode.com
  • Trang chủ
  • Học lập trình
    • Lập trình C/C++
    • Lập trình HTML
    • Lập trình Javascript
      • Javascript cơ bản
      • ReactJS framework
      • AngularJS framework
      • Typescript cơ bản
      • Angular
    • Lập trình Mobile
      • Lập Trình Dart Cơ Bản
        • Dart Flutter Framework
    • Cơ sở dữ liệu
      • MySQL – MariaDB
      • Micrsoft SQL Server
      • Extensible Markup Language (XML)
      • JSON
    • Lập trình PHP
      • Lập trình PHP cơ bản
      • Laravel Framework
    • Lập trình Java
      • Java Cơ bản
    • Cấu trúc dữ liệu và giải thuật
    • Lập Trình C# Cơ Bản
    • Machine Learning
  • WORDPRESS
    • WordPress cơ bản
    • WordPress nâng cao
    • Chia sẻ WordPress
  • Kiến thức hệ thống
    • Microsoft Azure
    • Docker
    • Linux
  • Chia sẻ IT
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • 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
Đă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:

Kiểu dữ liệu Struct và một số thuật toán sắp xếp
Xử lý tệp tin (File Handling)
Hàm trong C (Functions)
Chuỗi trong C (String)
Con trỏ trong C (Pointers)
Mảng trong C – Mảng một chiều và 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

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

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

KHÁI NIỆM QUẢN LÝ DỰ ÁN CÔNG NGHỆ THÔNG TIN (IT PROJECT MANAGEMENT)

Cấu trúc lập trình và Mảng

Bắt đầu với C#

1. GIỚI THIỆU KHÁI NIỆM CHUẨN MỰC – ĐẠO ĐỨC VÀ VẤN ĐỀ NGHỀ NGHIỆP TRONG CNTT

2. ÁP DỤNG CÁC CHUẨN MỰC VÀ VẤN ĐỀ NGHỀ NGHIỆP TRONG CNTT

Giới thiệu

hocvietcode.com là website 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 HỌC VIẾT CODE

© hocvietcode.com - 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 nhập bằng google
Đă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.
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
×