網站首頁 編程語言 正文
switch 語句:
一個 switch 語句允許測試一個變量等于多個值時的情況。每個值稱為一個 case,且被測試的變量會對每個 switch case 進行檢查。
注意事項:
- 在case每一行的語句或程序塊后面要加上break;(否則程序將會把所有程序塊從前到后運行一遍。
- default是可選的,如果上面的case中沒有符合的才會選擇default(屬于備選情況),但是如果不加default則switch語句則不會做出任何響應。
語句形式:
…//其他語句
switch(表達式)
{
case 常量表達式1:語句或程序塊1
case 常量表達式2:語句或程序塊2
…
case 常量表達式n:語句或程序塊n
default:語句或程序塊n+1
}
…//其他語句
流程圖:
示例:根據評級查分數區間:
#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; }
分支結構的嵌套:
套娃,一個if語句套一個if語句或者一個else語句套一個if語句。
注意事項:
- else總是與其最近的if匹配:無論是switch或if語句,一定要保持寫花括號的習慣,否則容易出bug。
- 在if嵌套時,要加入getchar()來屏蔽回車鍵,防止在判斷下一個表達式時,將回車鍵算作一個常量。
- 用if判斷單個字符時要加單引號,比如例三。
語句形式:
…//其他語句
if(表達式)
{
if(表達式){
…}
else{
…
}
}
else{
…
}
…//其他語句
上方語句為簡寫形式,講花括號的前者放到if后面也可以。
流程圖:
示例:
例一:判斷兩個數的大小
#include<stdio.h> int main() { int a,b; printf("請輸入兩個數,以供于判斷大小:"); 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; }
總結
原文鏈接:https://blog.csdn.net/HICKER_BOY/article/details/122515846
相關推薦
- 2022-07-11 MongoDB使用正則匹配、修改內容
- 2022-09-12 .Net6集成IdentityServer4?+AspNetCore?Identity讀取數據表用戶
- 2022-04-28 shell中的curl網絡請求的實現_linux shell
- 2022-10-02 利用Android封裝一個有趣的Loading組件_Android
- 2022-09-23 基于React路由跳轉的幾種方式_React
- 2022-05-27 iOS實現拼圖小游戲_IOS
- 2022-12-11 React中Redux核心原理深入分析_React
- 2022-11-05 Kotlin數據容器深入講解_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支