從頭學(xué)習(xí)C語言之switch語句和分支嵌套
switch 語句:
一個 switch 語句允許測試一個變量等于多個值時的情況。每個值稱為一個 case,且被測試的變量會對每個 switch case 進行檢查。
注意事項:
- 在case每一行的語句或程序塊后面要加上break;(否則程序?qū)阉谐绦驂K從前到后運行一遍。
- default是可選的,如果上面的case中沒有符合的才會選擇default(屬于備選情況),但是如果不加default則switch語句則不會做出任何響應(yīng)。
語句形式:
…//其他語句
switch(表達式)
{
case 常量表達式1:語句或程序塊1
case 常量表達式2:語句或程序塊2
…
case 常量表達式n:語句或程序塊n
default:語句或程序塊n+1
}
…//其他語句
流程圖:
示例:根據(jù)評級查分數(shù)區(qū)間:
#include<stdio.h> int main() { char grade; printf("請輸入你的成績:"); scanf("%c",&grade); switch (grade) { case'A':printf("你的成績大于九十。\n");break; case'B':printf("你的成績在八十分到九十分之間。\n");break; case'C':printf("你的成績在七十分到八十分之間。\n");break; case'D':printf("你的成績在六十分到七十分之間。\n");break; case'E':printf("你的成績在六十分以下。\n");break; default:printf("請輸入正確的評級。\n"); } return 0; }
分支結(jié)構(gòu)的嵌套:
套娃,一個if語句套一個if語句或者一個else語句套一個if語句。
注意事項:
- else總是與其最近的if匹配:無論是switch或if語句,一定要保持寫花括號的習(xí)慣,否則容易出bug。
- 在if嵌套時,要加入getchar()來屏蔽回車鍵,防止在判斷下一個表達式時,將回車鍵算作一個常量。
- 用if判斷單個字符時要加單引號,比如例三。
語句形式:
…//其他語句
if(表達式)
{
if(表達式){
…}
else{
…
}
}
else{
…
}
…//其他語句
上方語句為簡寫形式,講花括號的前者放到if后面也可以。
流程圖:
示例:
例一:判斷兩個數(shù)的大小
#include<stdio.h> int main() { int a,b; printf("請輸入兩個數(shù),以供于判斷大小:"); scanf("%d %d",&a,&b); if(a<b) { printf("%d<%d\n",a,b); } else { if(a==b) { printf("%d=%d\n",a,b); } else { printf("%d>%d\n",a,b); } } return 0; }
例二:約小花出門玩:
#include<stdio.h> int main() { char israin,isfree; printf("是否有空?(Y/N)\n"); scanf("%c",&isfree); if(isfree=='Y') { printf("這就很好嘍!\n"); getchar();//這里是用getchar()來頻屏蔽回車鍵 printf("是否下雨?(Y/N)\n"); scanf("%c",&israin); if(israin=='Y') { printf("記得帶傘哦?。。n"); } else { printf("那你快出來吧?。?!\n"); } } else { printf("那算了!\n"); } return 0; }
例三:小花做我女朋友!!
#include<stdio.h> int main() { char a,b; printf("小花,你有男朋友嗎?(Y/N)\n"); scanf("%c",&a); if(a=='Y') { printf("那你們在一起吧!\n"); } else { getchar(); printf("做我女朋友好不好?(Y/N)\n"); scanf("%c",&b); if(b=='Y') { printf("oh Yeah!\n"); } else { printf("啊這!??!\n"); } } return 0; }
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C++實現(xiàn)LeetCode(33.在旋轉(zhuǎn)有序數(shù)組中搜索)
這篇文章主要介紹了C++實現(xiàn)LeetCode(33.在旋轉(zhuǎn)有序數(shù)組中搜索),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07C++11?lambda(匿名函數(shù))表達式詳細介紹
lambda 表達式(lambda expression)是一個匿名函數(shù),C++11中的lambda表達式用于定義并創(chuàng)建匿名的函數(shù)對象,以簡化編程工作,下面這篇文章主要給大家介紹了關(guān)于C++11?lambda(匿名函數(shù))表達式的相關(guān)資料,需要的朋友可以參考下2022-07-07可能是全網(wǎng)最詳細的Qt連接MySQL數(shù)據(jù)庫教程
QT眾所周知是一個開源的,以C++為底層的可視化工具庫,下面這篇文章主要給大家介紹了關(guān)于最詳細的Qt連接MySQL數(shù)據(jù)庫教程的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2023-04-04