switchca什么意思
switch ca用法詳解:
1、switch是“開關(guān)”的意思,它也是一種“選擇”語句,但它的用法非常簡單。
2、switch是多分支選擇語句。說得通俗點(diǎn),多分支就是多個(gè)if。
從功能上說,switch語句和if語句完全可以相互取代。但從編程的角度,它們又各有各的特點(diǎn),所以至今為止也不能說誰可以完全取代誰。
3、當(dāng)嵌套的if比較少時(shí)(三個(gè)以內(nèi)),用if編寫程序會(huì)比較簡潔。但是當(dāng)選擇的分支比較多時(shí),嵌套的if語句層數(shù)就會(huì)很多,導(dǎo)致程序冗長,可讀性下降。因此C語言提供switch語句來處理多分支選擇。所以if和switch可以說是分工明確的。在很多大型的項(xiàng)目中,多分支選擇的情況經(jīng)常會(huì)遇到,所以switch語句用得還是比較多的。
4、switch的一般形式如下:
switch(表達(dá)式)
{
ca常量表達(dá)式1:語句1
ca常量表達(dá)式2:語句2
┇
ca常量表達(dá)式n:語句n
default:語句n+1
}
說明:
1)、switch后面括號(hào)內(nèi)的“表達(dá)式”必須是整數(shù)類型。也就是說可以是int型變量、char型變量,也可以直接是整數(shù)或字符常量,哪怕是負(fù)數(shù)都可以。但絕對(duì)不可以是實(shí)數(shù),float型變量、double型變量、小數(shù)常量通通不行,全部都是語法錯(cuò)誤。
2)、switch下的ca和default必須用一對(duì)大括號(hào){}括起來。
3)、當(dāng)switch后面括號(hào)內(nèi)“表達(dá)式”的值與某個(gè)ca后面的“常量表達(dá)式”的值相等時(shí),就執(zhí)行此ca后面的語句。執(zhí)行完一個(gè)ca后面的語句后,流程控制轉(zhuǎn)移到下一個(gè)ca繼續(xù)執(zhí)行。如果你只想執(zhí)行這一個(gè)ca語句,不想執(zhí)行其他ca,那么就需要在這個(gè)ca語句后面加上break,跳出switch語句。
再重申一下:switch是“選擇”語句,不是“循環(huán)”語句。很多新手看到break就以為是循環(huán)語句,因?yàn)閎reak一般給我們的印象都是跳出“循環(huán)”,但break還有一個(gè)用法,就是跳出switch。
4)、若所有的ca中的常量表達(dá)式的值都沒有與switch后面括號(hào)內(nèi)“表達(dá)式”的值相等的,就執(zhí)行default后面的語句,default是“默認(rèn)”的意思。如果default是最后一條語句的話,那么其后就可以不加break,因?yàn)榧热灰呀?jīng)是最后一句了,則執(zhí)行完后自然就退出switch了。
5)、每個(gè)ca后面“常量表達(dá)式”的值必須互不相同,否則就會(huì)出現(xiàn)互相矛盾的現(xiàn)象,而且這樣寫造成語法錯(cuò)誤。
6)、“ca常量表達(dá)式”只是起語句標(biāo)號(hào)的作用,并不是在該處進(jìn)行判斷。在執(zhí)行switch語句時(shí),根據(jù)switch后面表達(dá)式的值找到匹配的入口標(biāo)號(hào),就從此標(biāo)號(hào)開始執(zhí)行下去,不再進(jìn)行判斷。
7)、各個(gè)ca和default的出現(xiàn)次序不影響執(zhí)行結(jié)果。但從閱讀的角度最好是按字母或數(shù)字的順序?qū)憽?/p>
8)、當(dāng)然你也可以不要default語句,就跟if…el最后不要el語句一樣。但最好是加上,后面可以什么都不寫。這樣可以避免別人誤以為你忘了進(jìn)行default處理,而且可以提醒別人switch到此結(jié)束了。
switch ca的用法
先計(jì)算并獲得switch后面小括號(hào)里的表達(dá)式或變量值,然后將計(jì)算結(jié)果順序與每個(gè)ca后的常量比較。
當(dāng)二者相等時(shí),執(zhí)行個(gè)ca塊中的代碼,當(dāng)遇到break時(shí),就跳出switch選擇結(jié)構(gòu),執(zhí)行switch選擇結(jié)構(gòu)之后的代碼。
如果任何一個(gè)ca之后的常量與switch后的小括號(hào)中的值相等,則執(zhí)行switch尾部的default塊中代碼。
Switchca語句怎么使用
switch和ca怎么用
代碼如下:
#include "pch.h"
#include <iostream>
#include <functional>
#include <map>
#include <string>
using namespace std;
int add(int i, int j)
{
return i + j;
}
// 使用函數(shù)調(diào)用運(yùn)算符
struct divide
{
int operator()(int i, int j)
{
return i / j;
}
};
auto mod = [](int i, int j) {return i % j; };
map<string, function<int(int, int)>> binops =
{
{"+", add}, // 使用函數(shù)指針
{"-", minus<int>()}, // 使用標(biāo)準(zhǔn)庫函數(shù)對(duì)象
{"*", [](int i, int j) {return i * j; }}, // 使用未命名的lambda表達(dá)式
{"/", divide()}, // 使用函數(shù)調(diào)用運(yùn)算符
{"%", mod} // 命名了的lambda表達(dá)式
};
int main()
{
int num1, num2;
string s;
while (cin >> num1)
{
cin >> s >> num2;
cout << num1 << s << num2 << "=" << binops[s](num1, num2) << endl;
}
return 0;
}
擴(kuò)展資料
Switch用在編程中,如C語言中它經(jīng)常跟Ca一起使用,是一個(gè)判斷選擇代碼。其功能就是控制流程流轉(zhuǎn)的。
直線翻譯:switch語句,即“切換”語句;ca即“情況”。
switch語句的語法如下(switch,ca,break和default是關(guān)鍵字):
switch ( 變量表達(dá)式 )
{
ca 常量1 :語句;break;
ca 常量2 :語句;break;
ca 常量3 :語句;break;
...
ca 常量n:語句;break;
default :語句;break;
}
當(dāng)變量表達(dá)式所表達(dá)的量與其中一個(gè)ca語句中的常量相符時(shí),就執(zhí)行此ca語句后面的語句,并依次下去執(zhí)行后面所有ca語句中的語句,除非遇到break;語句跳出switch語句為止。如果常量表達(dá)式的量與所有ca語句的常量都不相符,就執(zhí)行default語句中的語句。
switch ca語句是什么意思
switch ca中文意思是什么
本文發(fā)布于:2023-02-28 20:23:00,感謝您對(duì)本站的認(rèn)可!
本文鏈接:http://www.newhan.cn/zhishi/a/167767323885679.html
版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。
本文word下載地址:switch case(switch case用法舉例).doc
本文 PDF 下載地址:switch case(switch case用法舉例).pdf
| 留言與評(píng)論(共有 0 條評(píng)論) |