Chuyển tới nội dung
Home » Switch In Switch C | How Switch Statement Work?

Switch In Switch C | How Switch Statement Work?

Conditionals (Switch)

Câu điều kiện Switch (Switch statements)

Bên dưới là chương trình sử dụng chuỗi các câu điều kiện If (Chaining if statements) để kiểm tra giá trị của một biến, khá dài và khó đọc:


#include

using namespace std; const int SUNDAY = 1; const int MONDAY = 2; const int TUESDAY = 3; const int WEDNESDAY = 4; const int THURSDAY = 5; const int FRIDAY = 6; const int SATURDAY = 7; int main() { int dayOfWeek(TUESDAY); if (dayOfWeek == SUNDAY) cout << "Sunday" << endl; else if (dayOfWeek == MONDAY) cout << "Monday" << endl; else if (dayOfWeek == TUESDAY) cout << "Tuesday" << endl; else if (dayOfWeek == WEDNESDAY) cout << "Wednesday" << endl; else if (dayOfWeek == THURSDAY) cout << "Thursday" << endl; else if (dayOfWeek == FRIDAY) cout << "Friday" << endl; else if (dayOfWeek == SATURDAY) cout << "Saturday" << endl; else cout << "Unknown" << endl; return 0; }

Outputs:

Câu điều kiện if/else trong chương trình trên có thể viết lại dưới dạng câu điều kiện switch:


#include

using namespace std; const int SUNDAY = 1; const int MONDAY = 2; const int TUESDAY = 3; const int WEDNESDAY = 4; const int THURSDAY = 5; const int FRIDAY = 6; const int SATURDAY = 7; int main() { int dayOfWeek(TUESDAY); switch (dayOfWeek) { case SUNDAY: cout << "Sunday" << endl; break; case MONDAY: cout << "Monday" << endl; break; case TUESDAY: cout << "Tuesday" << endl; break; case WEDNESDAY: cout << "Wednesday" << endl; break; case THURSDAY: cout << "Thursday" << endl; break; case FRIDAY: cout << "Friday" << endl; break; case SATURDAY: cout << "Saturday" << endl; break; default: cout << "Unknown" << endl; break; } return 0; }

Kết quả cho ra từ 2 cách viết trên là như nhau. Bây giờ, chúng ta sẽ cùng tìm hiểu chi tiết hơn về câu điều kiện switch.

Tổng quan

Switch statements so sánh một biến (hoặc biểu thức) kiểu số nguyên với một danh sách giá trị các số nguyên, các hằng kí tự hoặc biểu thức hằng. Mỗi giá trị trong danh sách chính là một case label (nhãn trường hợp) trong khối codes của switch. Trong khối code switch còn có thể có một default label (nhãn mặc định) có thể có hoặc không. Trong mỗi label còn chứa các khối code tương ứng.

Cấu trúc câu điều kiện switch

switch (expression)

{case constant_1:{Statements;break;}case constant_2:{Statements;break;}// …case constant_n:{Statements;break;}default:{Statements;}}

Nguyên tắc trong câu điều kiện switch

  • Expression là một biến (hoặc biểu thức) có giá trị kiểu số nguyên (char, short, int, long, int32_t, enum, …).
  • Case labels (nhãn trường hợp) sử dụng từ khóa case, đi sau nó là một hằng số (số nguyên, các hằng kí tự hoặc biểu thức hằng). Số lượng các case labels là không giới hạn, và không có trường hợp trùng nhau giữa các case.

Ví dụ:


switch (dayOfWeek) { case 1: case 1: // Không hợp lệ, vì case 1 đã tồn tại case SUNDAY: // Không hợp lệ, vì SUNDAY tương đương với 1 };

  • Default label (nhãn mặc định) sử dụng từ khóa default. Nếu không có case label nào tương ứng với giá trị của expression của switch, default label sẽ được thực thi. Default label có thể không có hoặc chỉ có 1.
  • Từ khóa break có thể sử dụng hoặc không. Nếu không được sử dụng thì chương trình sẽ không kết thúc cấu trúc switch…case khi đã thực hiện hết khối code của case label có giá trị bằng với biểu thức nguyên. Thay vào đó, nó sẽ thực hiện tiếp các khối codes tiếp theo cho đến khi gặp từ khoá break hoặc dấu “}“ cuối cùng của cấu trúc switch…case.

Ví dụ:


#include

using namespace std; int main() { int month, day; cout << "Month: "; cin >> month; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = 30; break; case 4: case 6: case 9: case 11: day = 31; break; default: day = 28; } cout << day << endl; return 0; }

Outputs:

The default Keyword

The

default

keyword specifies some code to run if there is no
case match:

Example

switch (day) {

case 6:

printf(“Today is Saturday”);

break;

case 7:

printf(“Today is Sunday”);

break;

default:

printf(“Looking forward to the Weekend”);

// Outputs “Looking forward to the Weekend”

Note: The default keyword must be used as the last statement in the switch, and it does not need a break.

Câu điều kiện Switch trong C++ (Switch statements)

Conditionals (Switch)
Conditionals (Switch)

FAQs on C switch Statement

What is the switch case in C?

The switch case statement is a flow control statement in which we can define a switch variable and then execute different code based on the value of the switch variable. It is an alternative of if else if ladder.

What is the case in the switch statement in C?

The case keyword is used to define the different cases and their associated code in the switch statement.

What does the break in the switch case do?

The break keyword is used to exit the switch block after executing the matching case.

What are the differences between switch and if else if ladder in C?

Following are the main differences between C switch and C if else if ladder:

It executes the different cases on the basis of the value of the switch variable. It executes the different blocks based on the condition specified.
It can only evaluate the int or char type expressions. It can evaluate any type of expression.
Faster and easier to read for the large number of conditions. It can get messy when there are lots of conditions.

Must Read:

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

Last Updated :
18 Nov, 2023

Like Article

Save Article

Share your thoughts in the comments

Please Login to comment…

Lệnh switch case là một cấu trúc điều khiển & rẽ nhánh hoàn toàn có thể được thay thế bằng cấu trúc if else. Tuy nhiên, việc sử dụng switch case sẽ giúp code của chúng ta dễ viết và dễ đọc hơn; Một điều nữa là sử dụng switch case có vẻ như cho hiệu năng tốt hơn so với sử dụng if else. Bạn có thể xem rõ hơn về ưu nhược điểm của dùng lệnh switch case ở phần tài liệu tham khảo

Video hướng dẫn lệnh switch case

Cách hoạt động của cấu trúc switch case

Dưới đây là cú pháp của lệnh switch case:

switch (expression) { case constant1: // statements break; case constant2: // statements break; . . . default: // default statements }


  • expression

    phải bắt buộc là giá trị hằng, có thể là biểu thức nhưng kết quả cần là hằng số.
  • Trong đó,

    expression

    sẽ được tính toán 1 lần duy nhất và sau đó so sánh với các giá trị của các

    case

    .
  • Nếu có 1 case nào đó khớp giá trị, các khối lệnh tương ứng sau case đó sẽ được thực hiện cho tới khi gặp lệnh

    break

    . Do đó, nếu chúng ta không sử dụng

    break

    thì tất cả các case kể từ case khớp giá trị đều được thực hiện.
  • Case

    default

    sẽ được thực hiện nếu không có case nào khớp giá trị với

    expression

    .

Dưới đây là sơ đồ khối mô tả hoạt động của lệnh switch case:

Bài tập thực hành

Ví dụ:

+ 2 3 => In ra 2 + 3

*/

#include

int main() { int a, b; char opera; printf(“nNhap phep toan: “); scanf(“%c”, &opera); printf(“nNhap vao 2 so a, b: “); scanf(“%d%d”, &a, &b); switch (opera) { case ‘+’: printf(“%d + %d = %d”, a, b, a + b); break; case ‘-‘: printf(“%d – %d = %d”, a, b, a – b); break; case ‘*’: printf(“%d * %d = %d”, a, b, a * b); break; case ‘/’: if(b == 0){ printf(“Khong the chia cho 0!”); }else{ printf(“%d / %d = %.2f”, a, b, (float)a / b); } break; default: printf(“Khong co phep toan %c!”, opera); break; } }

Kết quả chạy chương trình:

PS G:c_courcesday_22> .SwitchStatement.exe Nhap phep toan: + Nhap vao 2 so a, b: 2 3 2 + 3 = 52 – 3 = -1 PS G:c_courcesday_22> .SwitchStatement.exe Nhap phep toan: * Nhap vao 2 so a, b: 2 3 2 * 3 = 6

Lệnh goto trong C

Lệnh

goto

cho phép code của bạn nhảy đến thực hiện ở vị trí

label

bất kỳ của chương trình mà không cần nhất định phải theo thứ tự từ trên xuống. Do tính chất nhảy “lung tung” chẳng giống ai nên lệnh

goto

không được khuyến khích sử dụng.

Cú pháp của lệnh

goto

như sau:

goto label; … .. … … .. … label: statement;

Trong đó,

label

là một định danh. Hình dưới đây cho thấy code đang chạy nếu gặp lệnh

goto

sẽ bỏ tiến trình sau nó mà nhảy tới nơi

label

để chạy tiếp.

Ví dụ về việc sử dụng lệnh

goto

trong C:

#include

int main(){ int count = 0; go_here: printf(“Lap trinh khong kho!n”); if(count < 5){ count++; goto go_here; } }

Kết quả chạy chương trình:

PS G:c_courcesday_22> .GoToStatement.exe Lap trinh khong kho! Lap trinh khong kho! Lap trinh khong kho! Lap trinh khong kho! Lap trinh khong kho! Lap trinh khong kho!

Tài liệu tham khảo

Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Câu điều kiện Switch trong C++ (Switch statements) dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

C switch statements 🔽
C switch statements 🔽

Example

#include

int main () { /* local variable definition */ int a = 100; int b = 200; switch(a) { case 100: printf(“This is part of outer switch\n”, a ); switch(b) { case 200: printf(“This is part of inner switch\n”, a ); } } printf(“Exact value of a is : %d\n”, a ); printf(“Exact value of b is : %d\n”, b ); return 0; }

When the above code is compiled and executed, it produces the following result −

This is part of outer switch This is part of inner switch Exact value of a is : 100 Exact value of b is : 200

c_decision_making.htm

Advertisements

C Switch

Kết luận

Đến thời điểm này, bạn đã biết được 2 dạng câu điều kiện trong C++ là if/else và switch case. Khi thực hành nhiều, bạn sẽ biết được nên sử dụng cấu trúc nào trong từng trường hợp cụ thể.

Trong bài tiếp theo, mình sẽ giới thiệu cho các bạn về CÂU LỆNH GOTO TRONG C++ (Goto statements).

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.

Lập trình C - 17. Câu lệnh switch case trong lập trình C | Tự học lập trình C
Lập trình C – 17. Câu lệnh switch case trong lập trình C | Tự học lập trình C

Switch Statement

Instead of writing many

if..else

statements, you can use the

switch

statement.

The

switch

statement selects one of many code blocks to be executed:

Syntax

case x:

// code block

break;

case y:

// code block

break;

default:

// code block

This is how it works:

  • The

    switch

    expression is evaluated once
  • The value of the expression is compared with the values of each

    case
  • If there is a match, the associated block of code is executed
  • The

    break

    statement breaks out of the switch block and stops the execution
  • The

    default

    statement is optional, and specifies some code to run if there is no case match

The example below uses the weekday number to calculate the weekday name:

Example

switch (day) {

case 1:

printf(“Monday”);

break;

case 2:

printf(“Tuesday”);

break;

case 3:

printf(“Wednesday”);

break;

case 4:

printf(“Thursday”);

break;

case 5:

printf(“Friday”);

break;

case 6:

printf(“Saturday”);

break;

case 7:

printf(“Sunday”);

break;

// Outputs “Thursday” (day 4)

Khai báo và khởi tạo biến bên trong case statement

Bạn có thể khai báo các biến bên trong các case statement, các biến được khai báo trong một case có thể sử dụng trong các case bên dưới.

Thông thường, bạn không thể khởi tạo biến bên trong một case. Trừ trường hợp đó là case cuối cùng, hoặc bạn đang khởi tạo bên trong một khối lệnh (block).

Ví dụ bên dưới mô tả các vấn đề về khai báo và khởi tạo biến bên trong case statements:


#include

using namespace std; int main() { int month; cout << "Month: "; cin >> month; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: // Lỗi: không được phép khởi tạo biến khi vẫn còn case bên dưới. // int year = 2017; int day; // Okay, có thể khai báo biến tại đây day = 30; // Okay, có thể gán giá trị cho biến cout << day << endl; break; case 4: case 6: case 9: case 11: { int year = 2017; // Okay: có thể khởi tạo biến nếu sử dụng khối lệnh day = 31; // Okay, có thể sử dụng biến ở những case bên dưới cout << day << endl; break; } default: day = 28; cout << day << endl; } return 0; }

why are switch statements so HECKIN fast?
why are switch statements so HECKIN fast?

C#


using


System;


public


class


GFG{


static


public


void


Main ()


int


x = 1, y = 2;


switch


(x) {


case


1:


switch


(y) {


case


2:


Console.WriteLine(


"Choice is 2"


);


break


case


3:


Console.WriteLine(


"Choice is 3"


);


break


break


case


4:


Console.WriteLine(


"Choice is 4"


);


break


case


5:


Console.WriteLine(


"Choice is 5"


);


break


default


Console.WriteLine(


"Choice is other than 1, 2 3, 4, or 5"


);

Examples of switch Statement in C

Example 1: C Program to print the day of the week using a switch case.


#include


int


main()


int


day = 2;


printf


"The day with number %d is "


, day);


switch


(day) {


case


1:


printf


"Monday"


);


break


case


2:


printf


"Tuesday"


);


break


case


3:


printf


"Wednesday"


);


break


case


4:


printf


"Thursday"


);


break


case


5:


printf


"Friday"


);


break


case


6:


printf


"Saturday"


);


break


case


7:


printf


"Sunday"


);


break


default


printf


"Invalid Input"


);


break


return


0;

Output

The day with number 2 is Tuesday

Example 2: Simple Calculator using switch case in C


#include


#include


int


main()


char


choice;


int


x, y;


while


(1) {


printf


"Enter the Operator (+,-,*,/)\nEnter x to "


"exit\n"


);


scanf


" %c"


, &choice);


if


(choice ==


'x'


) {


exit


(0);


printf


"Enter the two numbers: "


);


scanf


"%d %d"


, &x, &y);


switch


(choice) {


case


'+'


printf


"%d + %d = %d\n"


, x, y, x + y);


break


case


'-'


printf


"%d - %d = %d\n"


, x, y, x - y);


break


case


'*'


printf


"%d * %d = %d\n"


, x, y, x * y);


break


case


'/'


printf


"%d / %d = %d\n"


, x, y, x / y);


break


default


printf


"Invalid Operator Input\n"


);


return


0;

Output

Enter the operator (+, -, *, /)Enter x to exit+Enter the two numbers: 100 + 200100 + 200 = 300

#11: Switch Statement in C | C Programming for Beginners
#11: Switch Statement in C | C Programming for Beginners

The break Keyword

When C reaches a

break

keyword, it breaks out of the switch block.

This will stop the execution of more code and case testing inside the block.

When a match is found, and the job is done, it’s time for a break. There is no need for more testing.

A break can save a lot of execution time because it “ignores” the execution of all the rest of the code in the switch block.

  • C Programming Tutorial
  • C – Home
  • C – Overview
  • C – Features
  • C – History
  • C – Environment Setup
  • C – Program Structure
  • C – Hello World
  • C – Compilation Process
  • C – Comments
  • C – Tokens
  • C – Keywords
  • C – Identifiers
  • C – User Input
  • C – Basic Syntax
  • C – Data Types
  • C – Variables
  • C – Integer Promotions
  • C – Literals
  • C – Escape sequences
  • C – Storage Classes
  • C – Operators
  • C – Decision Making
  • C – Loops
  • C – While loop
  • C – Functions
  • C – Scope Rules
  • C – Arrays
  • C – Pointers
  • C – Strings
  • C – Structures
  • C – Unions
  • C – Bit Fields
  • C – Typedef
  • C – Input & Output
  • C – File I/O
  • C – Preprocessors
  • C – Header Files
  • C – Type Casting
  • C – Error Handling
  • C – Recursion
  • C – Variable Arguments
  • C – Memory Management
  • C – Command Line Arguments
  • C Programming Resources
  • C – Questions & Answers
  • C – Quick Guide
  • C – Useful Resources
  • C – Discussion

C – nested switch statements

It is possible to have a switch as a part of the statement sequence of an outer switch. Even if the case constants of the inner and outer switch contain common values, no conflicts will arise.

Switch Statement in C | Fall-through in switch statement | is Fall-through Feature or Limitation?
Switch Statement in C | Fall-through in switch statement | is Fall-through Feature or Limitation?

Break in switch case

This keyword is used to stop the execution inside a switch block. It helps to terminate the switch block and break out of it. When a break statement is reached, the switch terminates, and the flow of control jumps to the next line following the switch statement.

The break statement is optional. If omitted, execution will continue on into the next case. The flow of control will fall through to subsequent cases until a break is reached.

Example of switch case without break


#include


int


main()


int


var = 2;


switch


(var) {


case


1:


printf


"Case 1 is executed.\n"


);


case


2:


printf


"Case 2 is executed.\n"


);


case


3:


printf


"Case 3 is executed."


);


case


4:


printf


"Case 4 is executed."


);


return


0;

Output

Case 2 is executed.
Case 3 is executed.Case 4 is executed.

Javascript

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!

Last Updated :
08 Feb, 2023

Like Article

Save Article

Share your thoughts in the comments

Please Login to comment…

1.Switch Case

Switch case sử dụng tương đối giống if và else if, nó cũng giúp bạn có thể kiểm tra nhiều điều kiện để thực hiện các rẽ nhánh khác nhau.

Cú pháp :

switch(value){ case c1: //code break; case c2: //code break; …. case cn: //code break; default: //code }

Cách hoạt động của switch case đó là sẽ so sánh lần lượt giá trị của value bên trong switch với giá trị của các biến trong các case là c1, c2, … cn. Nếu giá trị của value bằng giá trị của case nào thì khối lệnh bên trong case đó sẽ được thực hiện.

Nếu giá trị của value không bằng bất cứ giá trị nào trong các case thì khối lệnh trong default sẽ được thực hiện, default trong switch case tương tự như else trong if else bạn đã học ở bài trước.

Ví dụ 1:

#include “stdio.h” int main(){ int n = 3; switch(n){ case 1: printf(“ONE\n”); break; case 2: printf(“TWO\n”); break; case 3: printf(“THREE\n”); break; case 4: printf(“FOUR\n”); break; //Neu n khong phai la 1, 2, 3, 4 default: printf(“DEFAULT\n”); } } Output : THREE

Chú ý : Các câu lệnh bên trong case sẽ được kết thúc bởi câu lệnh break. Nếu không có câu lệnh break thì khi code trong nhánh nào được thực hiện, switch case sẽ không kết thúc ngay như else if mà sẽ thực hiện luôn các câu lệnh trong các rẽ nhánh bên dưới.

Ví dụ 2 :

#include “stdio.h” int main(){ int n = 2; switch(n){ case 1: printf(“ONE\n”); case 2: printf(“TWO\n”); case 3: printf(“THREE\n”); case 4: printf(“FOUR\n”); //Neu n khong phai la 1, 2, 3, 4 default: printf(“DEFAULT\n”); } } Output : TWO THREE FOUR DEFAULT

Ví dụ 3 : Nhập vào toán tử +, -, *, / và in ra kết quả tương ứng với 2 số a, b

#include “stdio.h” int main(){ int a = 20, b = 5; char op; scanf(“%c”, &op); switch(op){ case ‘+’: printf(“%d\n”, a + b); break; case ‘-‘: printf(“%d\n”, a – b); break; case ‘*’: printf(“%d\n”, a * b); break; case ‘/’: printf(“%d\n”, a / b); break; default: printf(“INVALID INPUT”); } }

Ví dụ 4 : Nhập tháng và năm in ra số ngày của tháng, chú ý tháng 2 của năm nhuận có 29 ngày

#include “stdio.h” int main(){ int m, y; printf(“Nhap thang, nam : “); scanf(“%d%d”, &m, &y); switch(m){ case 1: case 3: case 5: case 7: case 8: case 10 : case 12: printf(“31\n”); break; case 4: case 6 : case 9 : case 11: printf(“30\n”); break; case 2: if((y % 400 == 0) && (y % 4 == 0 && y % 100 != 0)){ printf(“29\n”); } else{ printf(“28\n”); } break; default: printf(“Du lieu khong hop le !\n”); } }

Xem thêm bài giảng của mình về Switch Case trong C :

As soon as you start nesting your Cyclomatic complexity starts to rise. Depending on how complicated your nested switches are this can be fun to maintain. You might want to give some thought on moving the second nested switch to a function of its own. For example


switch (order.Status)
{
case OrderStatus.New:
// Do something to a new order;
break;
...
case OrderStatus.ReadyToShip
// Process Shipping Instructions
ShipOrder(order);
break;
}

and then if you had a switch based on the type of shipping paid for


void ShipOrder(Order order)
{
switch (order.ShippingMethod)
{
}
}

By moving the second switch statement out of the first it’s easier to maintain, and also can be tested in isolation

Switch case statement evaluates a given expression and based on the evaluated value(matching a certain condition), it executes the statements associated with it. Basically, it is used to perform different actions based on different conditions(cases).

  • Switch case statements follow a selection-control mechanism and allow a value to change control of execution.
  • They are a substitute for long if statements that compare a variable to several integral values.
  • The switch statement is a multiway branch statement. It provides an easy way to dispatch execution to different parts of code based on the value of the expression.

In C, the switch case statement is used for executing one condition from multiple conditions. It is similar to an if-else-if ladder.

The switch statement consists of conditional-based cases and a default case.

C - Bài 11A: Cấu trúc rẽ nhánh switch-case.
C – Bài 11A: Cấu trúc rẽ nhánh switch-case.

How switch Statement Work?

The working of the switch statement in C is as follows:

  1. Step 1: The switch variable is evaluated.
  2. Step 2: The evaluated value is matched against all the present cases.
  3. Step 3A: If the matching case value is found, the associated code is executed.
  4. Step 3B: If the matching code is not found, then the default case is executed if present.
  5. Step 4A: If the break keyword is present in the case, then program control breaks out of the switch statement.
  6. Step 4B: If the break keyword is not present, then all the cases after the matching case are executed.
  7. Step 5: Statements after the switch statement are executed.

We can also understand the working of the switch statement in C using the flowchart.

Python3


def


switch_x(x):


switcher


: switch_y(y),


"Choice is 4"


"Choice is 5"


return


switcher.get(x,


"Choice is other than 1, 2 3, 4, or 5"


def


switch_y(y):


switcher


"Choice is 2"


"Choice is 3"


return


switcher.get(y, "")


print


(switch_x(x))

Super Contra/Super C Stream (Contra Anniversary Collection/Nintendo Switch)
Super Contra/Super C Stream (Contra Anniversary Collection/Nintendo Switch)

How to use switch case Statement in C?

Before using the switch case in our program, we need to know about some rules of the switch statement.

Rules of the switch case statement

Following are some of the rules that we need to follow while using the switch statement:

  1. In a switch statement, the “case value” must be of “char” and “int” type.
  2. There can be one or N number of cases.
  3. The values in the case must be unique.
  4. Each statement of the case can have a break statement. It is optional.
  5. The default Statement is also optional.

Example


#include


int


main()


int


var = 1;


switch


(var) {


case


1:


printf


"Case 1 is Matched."


);


break


case


2:


printf


"Case 2 is Matched."


);


break


case


3:


printf


"Case 3 is Matched."


);


break


default


printf


"Default case is Matched."


);


break


return


0;

Java


import


java.io.*;


class


GFG {


public


static


void


main (String[] args)


int


x =


, y =


switch


(x) {


case


switch


(y) {


case


System.out.println(


"Choice is 2"


);


break


case


System.out.println(


"Choice is 3"


);


break


break


case


System.out.println(


"Choice is 4"


);


break


case


System.out.println(


"Choice is 5"


);


break


default


System.out.println(


"Choice is other than 1, 2 3, 4, or 5"


);

BACK TO SCHOOL SWITCH UP CHALLENGE
BACK TO SCHOOL SWITCH UP CHALLENGE

Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Khóa học

Khóa học lập trình C++ căn bản

Hiện nay, C++ đã là cái tên rất quen thuộc trong ngành lập trình. Mặc dù C++ là ngôn ngữ lập trình đã ra đời khá lâu, nhưng không phải ai cũng có cơ hội để tìm hiểu về nó.

Vì vậy, Kteam đã xây dựng lên khóa học LẬP TRÌNH C++ CĂN BẢN để cung cấp một lượng kiến thức về ngôn ngữ C++ nói riêng, và các khái niệm khác trong lập trình nói chung.

Nội dung khóa học sẽ được phân tách một cách chi tiết, nhằm giúp các bạn dễ hiểu và thực hành được ngay. Serial dành cho những bạn chưa có bất kỳ kiến thức gì về lập trình, hoặc những bạn mất căn bản muốn lấy lại kiến thức nền tảng lập trình, cụ thể là C++.

Đánh giá

Bình luận

Mình dùng VS 2019, thấy đoạn code sau vẫn build success và run bình thường.Nên phần kiến thức này ad có thể xem lại không?

“Bạn có thể khai báo các biến bên trong các case statement, các biến được khai báo trong một case có thể sử dụng trong các case bên dưới.

Thông thường, bạn không thể khởi tạo biến bên trong một case. Trừ trường hợp đó là case cuối cùng, hoặc bạn đang khởi tạo bên trong một khối lệnh (block).”

#include

using namespace std;

int main(){int month;cout << “Month: “;cin >> month;

switch (month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:// Lỗi: không được phép khởi tạo biến khi vẫn còn case bên dưới.// int year = 2017;

int day; // Okay, có thể khai báo biến tại đâyday = 30; // Okay, có thể gán giá trị cho biếncout << day << endl;break;case 4:case 6:case 9:case 11:{int year = 2017; // Okay: có thể khởi tạo biến nếu sử dụng khối lệnhday = 31; // Okay, có thể sử dụng biến ở những case bên dướicout << day << endl;break;}default:day = 28;cout << day << endl;}return 0;}

Switch-case statements:These are a substitute for long if statements that compare a variable to several integral values

  • The switch statement is a multiway branch statement. It provides an easy way to dispatch execution to different parts of code based on the value of the expression.
  • Switch is a control statement that allows a value to change control of execution

Points to remember while using Switch Case

  • The expression used in a switch statement must have an integral or character type, or be of a class type in which the class has a single conversion function to an integral or character type.
  • There can be any number of case statements within a switch. Each case is followed by the value to be compared to and after that a colon.
  • When the variable being switched on is equal to a case, the statements following that case will execute until a break statement is reached.
  • When a break statement is reached, the switch terminates, and the flow of control jumps to the next line following the switch statement.
  • Not every case needs to contain a break. If no break appears, the flow of control will fall through to subsequent cases until a break is reached i.e. all the case statements will get executed as soon as compiler finds a comparison to be true.
  • A switch statement can have an optional default case, which must appear at the end of the switch. The default case can be used for performing a task when none of the cases is true. No break is needed in the default case.

Syntax:

switch (n)
{
case 1: // code to be executed if n = 1;
break;
case 2: // code to be executed if n = 2;
break;
default: // code to be executed if
// n doesn’t match any cases
}

Nested-Switch Statement:Nested-Switch statements refers to Switch statements inside of another Switch Statements.Syntax:

switch(n)
{
// code to be executed if n = 1;
case 1:
// Nested switch
switch(num)
{
// code to be executed if num = 10
case 10:
statement 1;
break;
// code to be executed if num = 20
case 20:
statement 2;
break;
// code to be executed if num = 30
case 30:
statement 3;
break;
// code to be executed if num
// doesn’t match any cases
default:
}
break;
// code to be executed if n = 2;
case 2:
statement 2;
break;
// code to be executed if n = 3;
case 3:
statement 3;
break;
// code to be executed if n doesn’t match any cases
default:
}

Example:


#include


int


main()


int


x = 1, y = 2;


switch


(x) {


case


1:


switch


(y) {


case


2:


printf


( "Choice is 2");


break


case


3:


printf


( "Choice is 3");


break


break


case


4:


printf


( "Choice is 4");


break


case


5:


printf


( "Choice is 5");


break


default


printf


( "Choice is other than 1, 2 3, 4, or 5");


return


0;

Important Points About Switch Case Statements

Switch expression should result in a constant value

If the expression provided in the switch statement does not result in a constant value, it would not be valid. Some valid expressions for switch case will be,

// Constant expressions allowedswitch(1+2+23)switch(1*2+3%4)// Variable expression are allowed provided// they are assigned with fixed valuesswitch(a*b+c*d)switch(a+b+c)

Expression value should be only of int or char type.

The switch statement can only evaluate the integer or character value. So the switch expression should return the values of type int or char only.

Case Values must be Unique

In the C switch statement, duplicate case values are not allowed.

Nesting of switch Statements

Nesting of switch statements is allowed, which means you can have switch statements inside another switch. However nested switch statements should be avoided as it makes the program more complex and less readable.

KIDS Back To School Switch Up Challenge by Ruby and Bonnie
KIDS Back To School Switch Up Challenge by Ruby and Bonnie

C++


#include


using


namespace


std;


int


main()


int


x = 1, y = 2;


switch


(x) {


case


1:


switch


(y) {


case


2:


cout <<


"Choice is 2"


break


case


3:


cout <<


"Choice is 3"


break


break


case


4:


cout <<


"Choice is 4"


break


case


5:


cout <<


"Choice is 5"


break


default


cout <<


"Choice is other than 1, 2 3, 4, or 5"


return


0;

Keywords searched by users: switch in switch c

Switch…Case In C (Switch Statement In C) With Examples
Switch…Case In C (Switch Statement In C) With Examples
Nested Switch Case - Geeksforgeeks
Nested Switch Case – Geeksforgeeks
Switch...Case In C Programming
Switch…Case In C Programming
Switch Case Flowchart - A Complete Guide
Switch Case Flowchart – A Complete Guide
Switch…Case In C (Switch Statement In C) With Examples
Switch…Case In C (Switch Statement In C) With Examples
C Switch Statement - Javatpoint
C Switch Statement – Javatpoint
Switch Case In C Programming: A Comprehensive Guide - Shiksha Online
Switch Case In C Programming: A Comprehensive Guide – Shiksha Online
C Switch...Case (With Examples) – Algbly
C Switch…Case (With Examples) – Algbly
Switch Statement In C# - Geeksforgeeks
Switch Statement In C# – Geeksforgeeks
C Programming Tutorial - 35: The Switch Statement - Youtube
C Programming Tutorial – 35: The Switch Statement – Youtube
Java Switch - Javatpoint
Java Switch – Javatpoint
Switch Case In C Programming: A Comprehensive Guide - Shiksha Online
Switch Case In C Programming: A Comprehensive Guide – Shiksha Online
Switch…Case In C (Switch Statement In C) With Examples
Switch…Case In C (Switch Statement In C) With Examples
Conditionals (Switch) - Youtube
Conditionals (Switch) – Youtube
Switch Statement In C# | Understand How Switch Statement Works In C#?
Switch Statement In C# | Understand How Switch Statement Works In C#?
C - Switch Case Statement In C Programming With Example
C – Switch Case Statement In C Programming With Example
Switch Statement In C | Know How Switch Statement Works In C?
Switch Statement In C | Know How Switch Statement Works In C?
C]. Switch Case
C]. Switch Case
Switch-Case · Github Topics · Github
Switch-Case · Github Topics · Github
Learn C++ Switch | Udacity
Learn C++ Switch | Udacity
C Programming Tutorial - 8 - Switch Statement - Youtube
C Programming Tutorial – 8 – Switch Statement – Youtube
Programs Of Switch Case With And Without Break Statement | C Programs |  Studytonight
Programs Of Switch Case With And Without Break Statement | C Programs | Studytonight
Order Of Operations In Switch Statements - Javascript - The Freecodecamp  Forum
Order Of Operations In Switch Statements – Javascript – The Freecodecamp Forum
Switch Statement In C++ | How Does Switch Statement Work In C++?
Switch Statement In C++ | How Does Switch Statement Work In C++?
Switch Statement In C Programming
Switch Statement In C Programming
Learn C++ Switch | Udacity
Learn C++ Switch | Udacity
C - Switch Statement
C – Switch Statement
C Switch Statements 🔽 - Youtube
C Switch Statements 🔽 – Youtube
How To Use Switch Statement In C# - The Engineering Projects
How To Use Switch Statement In C# – The Engineering Projects
Amazon.Com: Switch Case For Nintendo Switch And Switch Oled Model, Portable  Full Protection Carrying Travel Bag With 18 Game Cards Storage For Switch  Console Pro Controller Accessories Black : Video Games
Amazon.Com: Switch Case For Nintendo Switch And Switch Oled Model, Portable Full Protection Carrying Travel Bag With 18 Game Cards Storage For Switch Console Pro Controller Accessories Black : Video Games
Switch Case Statement In C Language - Codeforcoding
Switch Case Statement In C Language – Codeforcoding
Php Switch Statement - Geeksforgeeks
Php Switch Statement – Geeksforgeeks
How To Use A Php Switch Statement - Pi My Life Up
How To Use A Php Switch Statement – Pi My Life Up
C Tutorial 12: The Switch Statement (Char) - Youtube
C Tutorial 12: The Switch Statement (Char) – Youtube
Switch Statement In C++ Programming ~ C++ Programming Tutorial For Beginners
Switch Statement In C++ Programming ~ C++ Programming Tutorial For Beginners
Mệnh Đề Switch Trong C - Học Lập Trình C Online - Viettuts
Mệnh Đề Switch Trong C – Học Lập Trình C Online – Viettuts

See more here: kientrucannam.vn

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *