Tham chiếu đến câu lệnh chuyển đổi C ++ tiêu chuẩn trong Microsoft Visual Studio C ++.
Bạn đang xem : hoặc trong trường hợp chuyển đổi c ++
câu lệnh switch
(C ++)
Trong bài viết này
Cho phép lựa chọn giữa nhiều phần mã, tùy thuộc vào giá trị của một biểu thức tích phân.
Cú pháp
select-statement
:
switch
(
init-statement
optC ++ 17điều kiện mã>
)
câu lệnh
init-statement
:
biểu thức-câu lệnh
khai báo đơn giản
điều kiện
:
biểu thức
thuộc tính-specifier-seq
optstatement-specifier-seq
bộ khai báo
dấu ngoặc nhọn-hoặc-bằng-khởi tạo
p >
label-statement
:
case
hằng biểu thức
:
câu lệnh
default
:
câu lệnh
Nhận xét
Câu lệnh switch
khiến điều khiển chuyển đến một câu lệnh có nhãn
trong phần thân câu lệnh, tùy thuộc vào giá trị của điều kiện
.
Điều kiện
phải có kiểu tích phân hoặc là kiểu lớp có chuyển đổi rõ ràng thành kiểu tích phân. Quảng cáo toàn diện diễn ra như được mô tả trong Chuyển đổi tiêu chuẩn .
Nội dung câu lệnh switch
bao gồm một loạt các nhãn case
và một label-statement
là một trong những nhãn này và các câu lệnh theo sau. Các câu lệnh được gắn nhãn không phải là yêu cầu cú pháp, nhưng câu lệnh switch
sẽ vô nghĩa nếu không có chúng. Hai giá trị hằng biểu thức
trong câu lệnh case
có thể đánh giá cùng một giá trị. Nhãn mặc định
chỉ có thể xuất hiện một lần. Câu lệnh default
thường được đặt ở cuối, nhưng nó có thể xuất hiện ở bất kỳ đâu trong phần nội dung câu lệnh switch
. Nhãn case
hoặc default
chỉ có thể xuất hiện bên trong switch
< / strong> tuyên bố.
hằng biểu thức
trong mỗi nhãn trường hợp
được chuyển đổi thành một giá trị không đổi cùng loại với điều kiện code >. Sau đó, nó được so sánh với
điều kiện
để bình đẳng. Điều khiển chuyển đến câu lệnh đầu tiên sau giá trị case
hằng biểu thức
khớp với giá trị của condition
. Hành vi kết quả được hiển thị trong bảng sau.
switch
hành vi câu lệnh
Tình trạng
Hoạt động
Giá trị được chuyển đổi khớp với giá trị của biểu thức điều khiển được quảng cáo.
Kiểm soát được chuyển đến câu lệnh theo sau nhãn đó.
Không có hằng số nào phù hợp với hằng số trong nhãn case
; có nhãn mặc định
.
Kiểm soát được chuyển sang nhãn mặc định
.
Không có hằng số nào phù hợp với hằng số trong nhãn case
; không có nhãn mặc định
nào.
Quyền kiểm soát được chuyển sang câu lệnh sau câu lệnh switch
.
Nếu tìm thấy một biểu thức phù hợp, việc thực thi có thể tiếp tục thông qua các nhãn case
hoặc default
sau này. Câu lệnh break
được sử dụng để dừng thực thi và chuyển quyền kiểm soát sang câu lệnh sau câu lệnh switch
. Không có câu lệnh break
, mọi câu lệnh từ nhãn case
phù hợp với cuối chuyển đổi
, bao gồm cả mặc định
, được thực thi. Ví dụ:
// switch_statement1.cpp
#include & lt; stdio.h & gt;
int main () {
const char * buffer = "Bất kỳ dòng ký tự nào";
int chữ hoa_A, chữ thường_a, khác;
ký tự c;
chữ hoa_A = chữ thường_a = khác = 0;
while (c = * buffer ++) // Đi bộ đệm cho đến khi NULL
{
chuyển đổi (c)
{
trường hợp 'A':
chữ hoa_A ++;
phá vỡ;
trường hợp 'a':
chữ_a ++;
phá vỡ;
mặc định:
++ khác;
}
}
printf_s ("\ n Chữ hoa A:% d \ n Chữ hoa a:% d \ nTổng số:% d \ n",
chữ hoa_A, chữ thường_a, (chữ hoa_A + chữ thường_a + khác));
}
Trong ví dụ trên, uppercase_A
được tăng dần nếu c
là chữ hoa 'A'
. Câu lệnh break
sau uppercase_A ++
kết thúc thực thi của nội dung câu lệnh switch
và điều khiển vượt qua vào vòng lặp while
. Nếu không có câu lệnh break
, việc thực thi sẽ "chuyển sang" câu lệnh được gắn nhãn tiếp theo, do đó lowercase_a
và khác
cũng sẽ được tăng lên. Mục đích tương tự được phục vụ bởi câu lệnh break
cho case 'a'
. Nếu c
là chữ thường 'a'
, thì lowercase_a
được tăng dần và ngắt
câu lệnh kết thúc phần nội dung câu lệnh switch
. Nếu c
không phải là 'a'
hoặc 'A'
, thì mặc định
strong > câu lệnh được thực thi.
Visual Studio 2017 trở lên (khả dụng ở chế độ / std: c ++ 17
trở lên): [[ Thuộc tính fallthrough]]
được chỉ định trong tiêu chuẩn C ++ 17. Bạn có thể sử dụng nó trong câu lệnh switch
. Đó là một gợi ý cho trình biên dịch hoặc bất kỳ ai đọc mã, rằng hành vi chuyển qua là có chủ ý. Trình biên dịch C ++ của Microsoft hiện không cảnh báo về hành vi dự phòng, vì vậy thuộc tính này không ảnh hưởng đến hành vi của trình biên dịch. Trong ví dụ, thuộc tính được áp dụng cho một câu lệnh trống trong câu lệnh có nhãn chưa kết thúc. Nói cách khác, dấu chấm phẩy là cần thiết.
int main ()
{
int n = 5;
switch (n)
{
trường hợp 1:
một();
phá vỡ;
trường hợp 2:
b ();
d ();
[[dự đoán]]; // Tôi có ý định làm điều này!
trường hợp 3:
c();
phá vỡ;
mặc định:
d ();
phá vỡ;
}
trả về 0;
}
Visual Studio 2017 phiên bản 15.3 trở lên (khả dụng ở chế độ / std: c ++ 17
trở lên): A Câu lệnh switch
có thể có mệnh đề init-statement
, kết thúc bằng dấu chấm phẩy. Nó giới thiệu và khởi tạo một biến có phạm vi giới hạn trong khối của câu lệnh switch
:
chuyển đổi (Tiện ích gadget (args); auto s = gadget.get_status ())
{
tình trạng trường hợp :: tốt:
gadget.zip ();
phá vỡ;
tình trạng trường hợp :: xấu:
ném BadGadget ();
};
Một khối bên trong của câu lệnh switch
có thể chứa các định nghĩa với các trình khởi tạo miễn là chúng có thể truy cập được, nghĩa là không bị bỏ qua bởi tất cả các đường dẫn thực thi có thể có. Các tên được giới thiệu bằng cách sử dụng các khai báo này có phạm vi cục bộ. Ví dụ:
// switch_statement2.cpp
// C2360 được mong đợi
#include & lt; iostream & gt;
sử dụng không gian tên std;
int main (int argc, char * argv [])
{
chuyển đổi (tolower (* argv [1]))
{
// Lỗi. Tuyên bố không thể truy cập.
char szChEntered [] = "Ký tự được nhập là:";
trường hợp 'a':
{
// Khai báo szChEntered OK. Phạm vi địa phương.
char szChEntered [] = "Ký tự được nhập là:";
cout & lt; & lt; szChEntered & lt; & lt; "một";
}
phá vỡ;
trường hợp 'b':
// Giá trị của szChEntered không xác định.
cout & lt; & lt; szChEntered & lt; & lt; "b \ n";
phá vỡ;
mặc định:
// Giá trị của szChEntered không xác định.
cout & lt; & lt; szChEntered & lt; & lt; "không phải a cũng không phải b \ n";
phá vỡ;
}
}
Câu lệnh switch
có thể được lồng vào nhau. Khi được lồng vào nhau, các nhãn case
hoặc default
liên kết với switch code gần nhất >
tuyên bố kèm theo chúng.
Hành vi cụ thể của Microsoft
Microsoft C ++ không giới hạn số lượng giá trị case
trong câu lệnh switch
. Số lượng chỉ có hạn bởi bộ nhớ khả dụng.
Xem thêm
Tuyên bố về Lựa chọn
Từ khóa
Xem thêm những thông tin liên quan đến chủ đề hoặc trong trường hợp chuyển đổi c ++
Tham chiếu và tham trị trong C++
- Tác giả: Lập Trình Không Khó
- Ngày đăng: 2020-04-03
- Đánh giá: 4 ⭐ ( 8696 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Đã học về hàm thì chúng ta cần phải nắm rõ khái niệm tham chiếu và tham trị. Đây là 2 cách truyền tham số vào hàm khác nhau. Do đó, tùy mục đích mà chúng ta sẽ truyền tham số bằng tham trị hoặc tham chiếu. Trong bài học này, Lập trình không khó sẽ cùng bạn đi làm sáng tỏ 2 khái niệm này qua các bài tập thực hành nhé.
Link bài viết: https://nguyenvanhieu.vn/tham-chieu-va-tham-tri-trong-c/
Hãy like, đăng ký kênh, để lại những nhận xét cũng như giới thiệu khóa học cho bạn bè của mình để ủng hộ cho Lập Trình Không Khó nhé các bạn!
=====================
Kết nối với Lập Trình Không Khó
Website: http://nguyenvanhieu.vn/
Facebook: https://fb.com/groups/LapTrinhKhongKho
Email: hieunv.dev@gmail.comlaptrinhkhongkho hoccpp cppcoban
Toán tử trong C
- Tác giả: aicurious.io
- Đánh giá: 3 ⭐ ( 2709 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Việc tính toán là cốt lõi của các chương trình máy tính. Bài viết này sẽ giới thiệu các toán tử có thể sử dụng và cách sử dụng chúng trong ngôn ngữ lập trình C.
Trong các trường hợp sau, trường hợp nào có sự chuyển hóa thế năng thành động năng
- Tác giả: khoahoc.vietjack.com
- Đánh giá: 4 ⭐ ( 6292 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Trong các trường hợp sau, trường hợp nào có sự chuyển hóa thế năng thành động năng? A. Mũi tên được bắn đi từ cung. B. Nước trên đập cao chảy xuống. C. Hòn bi lăn từ đỉnh dốc xuống dưới. D. Cả ba trường hợp trên
Câu lệnh if trong c (Bài 4)
- Tác giả: giasutinhoc.vn
- Đánh giá: 3 ⭐ ( 8245 lượt đánh giá )
- Khớp với kết quả tìm kiếm:
If trong C với một hoặc nhiều điều kiện
- Tác giả: laptrinhcanban.com
- Đánh giá: 4 ⭐ ( 7182 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Hướng dẫn cách sử dụng lệnh if trong C. Bạn sẽ học được cách sử dụng các loại câu lệnh if trong C như lệnh if trong C, if else trong C và elif trong C, cũng như cách ứng dụng chúng để xử lý câu lệnh i
Các Loại Hình Tờ Khai Xuất Nhập Khẩu
- Tác giả: tam-logistics.vn
- Đánh giá: 5 ⭐ ( 4184 lượt đánh giá )
- Khớp với kết quả tìm kiếm: TAM Logistics đã tổng hợp các mã loại hình tờ khai xuất nhập khẩu đầy đủ nhất, mới nhất để chia sẻ với bạn trong bài viết này.
Chu trình Nitơ là gì? Chu trình Nitơ diễn ra như thế nào?
- Tác giả: biogency.com.vn
- Đánh giá: 5 ⭐ ( 5287 lượt đánh giá )
- Khớp với kết quả tìm kiếm: Chu trình Nitơ là một quá trình mà theo đó Nitơ bị biến đổi qua lại giữa các dạng hợp chất hóa học của nó (bao gồm sinh học và phi sinh học). Quá trình diễn ra chu trình Nitơ như thế nào? Nó có tác động gì đến quá trình xử lý nước thải?
Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình