if语句与switch语句
文章目錄
- 前言
- 一、if語句
- 二、switch語句
- 三、if語句與switch語句的相同點與不同點
- 總結
前言
在寫程序的時候我們經常會對數據進行一些處理,比如我們要對某個數據進行判斷的時候,那么我們就要使用if語句和switch語句。
一、if語句
概述:if語句是用來判定所給定的條件是否滿足,根據判定的結果(真或假)決定執行給出的操作。
if語句有三種表達結構,如下:
語法結構:
① if(表達式)
? ? ? ? ??語句;
②if(表達式)
? ? ? ? ?語句1;
? ? else
? ? ? ? ? 語句2;
③if(表達式1)
? ? ? ? ?語句1;
? ? else if(表達式2)
? ? ? ? ? 語句2;
? ? else
? ? ? ? ? ? 語句3;
(執行多條語句時要記住用代碼塊)?
例:
#include"stdafx.h" int main() {int age;printf("請輸入年齡\n");scanf("%d",&age);if(18>age)printf("未成年\n");else if(18<=age && 45>=age)printf("青年\n");else if(46<=age && 69>=age)printf("中年\n");elseprintf("老年年\n");return 0; }同時在else后面還可以嵌套if語句
例如:
#include"stdafx.h" int main() {int age;printf("請輸入年齡\n");scanf("%d",&age);if(18>age)printf("未成年\n");else{if(18<=age && 45>=age)printf("青年\n");else if(46<=age && 69>=age)printf("中年\n");elseprintf("老年年\n");}return 0; }注意:else自動與距離最近且未匹配的if匹配
二、switch語句
概述:switch 是多分支選擇語句(用法與if語句相似),但整形表達式結果為多少,就從第幾個case進入,然后進行判斷
switch語句的表達結構:
switch(整形表達式)
{
case 1 :
? ? ? ? ? ? ? ? 語句1;//整形常量表達式???????
? ? ? ? ? ? ? ??break;//可省略(為終止語句)
case 2 :
? ? ? ? ? ? ? ? 語句2;//整形常量表達式???????
???????????????????????break;//可省略(為終止語句)
case 3 :
? ? ? ? ? ? ? ? 語句3;//整形常量表達式???????
???????????????????????break;//可省略(為終止語句)
┇
case n :
? ? ? ? ? ? ? ? 語句n;//整形常量表達式???????
???????????????????????break;//可省略(為終止語句)
default?:? ? ? ? ? ? ? ? ? ? ? //默認情況
? ? ? ? ? ? ? ? 語句n+1;
}
switch語句:
?????????????????????①‘ case ’進‘ break ’出?
例1:
#include"stdafx.h" int main() {int day;printf("請輸入一個數字\n");scanf("%d",&day);switch(day){case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf("星期三\n");break;case 4:printf("星期四\n");break;case 5:printf("星期五\n");break;case 6:printf("星期六\n");break;case 7:printf("星期天\n");}return 0; }?
?????????????????????②允許嵌套使用,也可以摻雜if語句
例2:
#include"stdafx.h" int main() {int n=1; int m=2; switch(n) {case 1:m++; case 2:n++; case 3:switch(n){case 1:n++;case 2:m++,n++;break;} case 4:m++; default:break; } printf("m=%d,n=%d\n",m,n); return 0; }?????????????????????
?????????????????????③如果你只想執行這一個case語句,不想執行其他case,那么就需要在這個
????????????????????????case?句后面加上break,跳出switch語句(根據要求自行決定)
例3:
#include"stdafx.h" int main() {int day;printf("請輸入一個數字\n");scanf("%d",&day);switch(day){case 1:printf("工作日\n");case 2:printf("工作日\n");case 3:printf("工作日\n");case 4:printf("工作日\n");case 5:printf("工作日\n");break;case 6:printf("休息日\n");case 7:printf("休息日\n");break;default:printf("輸入錯誤\n");break;}return 0; }?但這種形式比較冗長,可讀性較差,所以一般采用下面這種形式
#include"stdafx.h" int main() {int day;printf("請輸入一個數字\n");scanf("%d",&day);switch(day){case 1:case 2:case 3:case 4:case 5:printf("工作日\n");break;case 6:case 7:printf("休息日\n");break;default:printf("輸入錯誤\n");break;}return 0; }注意:case后面必須為整形且為常量表達式
三、if語句與switch語句的相同點與不同點
| 相同點 | 不同點 | |
| if語句 | 條件語句 | 適用于任意語句,但嵌套的if要在3 個以內使用更具可讀性 |
| switch語句 | 條件語句 | 僅適用于整數類型表達式,但可嵌 套多個語句 |
總結
通過學習條件語句,當我們面對選擇時,可以有if和switch兩種選擇。要靈活運用if和switch語句,這樣可以讓我們的代碼擁有更佳的可讀性,并在編寫代碼時有更高的效率。
總結
以上是生活随笔為你收集整理的if语句与switch语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 定义并实现一个银行类
- 下一篇: web前端基础案例-开发QQ空间旋转时光