Câu lệnh ghép ( còn được gọi là khối lệnh, hoặc câu lệnh khối ) là một nhóm không hoặc nhiều câu lệnh được trình biên dịch giải quyết và xử lý như thể nó là một câu lệnh đơn lẻ .
Các khối bắt đầu bằng ký hiệu {, kết thúc bằng ký hiệu}, với các câu lệnh được thực thi được đặt ở giữa. Các khối có thể được sử dụng ở bất cứ đâu cho phép một câu lệnh duy nhất. Không cần dấu chấm phẩy ở cuối khối.
Bạn đã thấy một ví dụ về những khối khi viết hàm, vì thân hàm là một khối :
int add(int x, int y)
{ // start block
return x + y;
} // end block (no semicolon)
int main()
{ // start block
// multiple statements
int value {}; // this is initialization, not a block
add(3, 4);
return 0;
} // end block (no semicolon)
1. Các khối bên trong những khối khác
Mặc dù những hàm không hề được lồng vào bên trong những hàm khác, nhưng những khối hoàn toàn có thể được lồng vào bên trong những khối khác :
/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Group: https://www.facebook.com/groups/cafedev.vn/
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/cafedevvn/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/
int add(int x, int y)
{ // block
return x + y;
} // end block
int main()
{ // outer block
// multiple statements
int value {};
{ // inner/nested block
add(3, 4);
} // end inner/nested block
return 0;
} // end outer block
Khi những khối được lồng vào nhau, khối bao quanh thường được gọi là khối ngoài và khối được phủ bọc được gọi là khối bên trong hoặc khối lồng nhau .
2. Sử dụng những khối để thực thi nhiều câu lệnh có điều kiện kèm theo
Một trong những trường hợp sử dụng thông dụng nhất cho những khối là phối hợp với câu lệnh if. Theo mặc định, một câu lệnh if triển khai một câu lệnh duy nhất nếu điều kiện kèm theo nhìn nhận là true. Tuy nhiên, tất cả chúng ta hoàn toàn có thể sửa chữa thay thế câu lệnh đơn này bằng một khối câu lệnh nếu tất cả chúng ta muốn nhiều câu lệnh thực thi khi điều kiện kèm theo nhìn nhận là true .
Ví dụ :
#include
int main()
{ // start of outer block
std::cout << "Enter an integer: ";
int value {};
std::cin >> value;
if (value >= 0)
{ // start of nested block
std::cout << value << " is a positive integer (or zero)\n";
std::cout << "Double this number is " << value * 2 << '\n';
} // end of nested block
else
{ // start of another nested block
std::cout << value << " is a negative integer\n";
std::cout << "The positive of this number is " << -value << '\n';
} // end of another nested block
return 0;
} // end of outer block
Nếu người dùng nhập số 3, chương trình này sẽ in :
Enter an integer: 3
3 is a positive integer (or zero)
Double this number is 6
Nếu người dùng nhập số – 4, chương trình này sẽ in :
Enter an integer: -4
-4 is a negative integer
The positive of this number is 4
3. Các khối lệnh lồng nhau
Thậm chí có thể đặt các khối bên trong khối bên trong khối nào đó:
int main()
{ // nesting level 1
std::cout << "Enter an integer: ";
int value {};
std::cin >> value;
if (value > 0)
{ // nesting level 2
if ((value % 2) == 0)
{ // nesting level 3
std::cout << value << " is positive and even\n";
}
else
{ // also nesting level 3
std::cout << value << " is positive and odd\n";
}
}
return 0;
}
Mức độ lồng ( còn được gọi là độ sâu lồng ) của một hàm là số khối tối đa bạn hoàn toàn có thể ở bên trong tại bất kể điểm nào trong hàm ( gồm có cả khối bên ngoài ). Trong hàm trên, có 4 khối, nhưng Lever lồng là 3 vì bạn không khi nào hoàn toàn có thể ở bên trong nhiều hơn 3 khối tại bất kể điểm nào .
Bạn nên giữ mức lồng của mình ở mức 3 trở xuống. Cũng giống như những hàm quá dài là ứng viên tốt để tái cấu trúc lại code ( chia thành những hàm nhỏ hơn ), những hàm quá lồng nhau cũng là ứng viên tốt để tái cấu trúc ( với những khối được lồng ghép nhiều nhất trở thành những hàm riêng không liên quan gì đến nhau ) .
Bạn nên :
Giữ mức lồng ghép những hàm của bạn ở mức 3 hoặc ít hơn. Nếu hàm của bạn có nhu yếu nhiều hơn, hãy xem xét tái cấu trúc .
Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.
Nguồn và Tài liệu tiếng anh tham khảo:
Tài liệu từ cafedev:
Nếu bạn thấy hay và hữu dụng, bạn hoàn toàn có thể tham gia những kênh sau của cafedev để nhận được nhiều hơn nữa :
Chào thân ái và quyết thắng !
Xem thêm: Rửa tiền – Wikipedia tiếng Việt
Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!
Source: https://vinatrade.vn
Category : Kiến thức cơ bản