最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell中case...in分支語句的應(yīng)用

 更新時間:2023年08月21日 15:55:09   作者:李十五哥  
shell作為一種腳本編程語言,同樣包含循環(huán)、分支等其他程序控制結(jié)構(gòu),從而輕松完成更加復(fù)雜、強(qiáng)大的功能,本文主要介紹了Shell中case...in分支語句的應(yīng)用,感興趣的可以了解一下

Shell編程中的case…in語句:

偽代碼表示:

case $變量 in
     選項1)
         分支1
         ;;
     選項2)
         分支1
         ;;
     選項3)
         分支1
         ;;
         .
         .
         .
     選項n)
         分支n
         ;;
     *)
         其它
         ;;
esac   
  • 特別注意:
  • 1.case后,要寫變量值;
  • 2.選項即變量值的可能結(jié)果;
  • 3.符號*表示其它的選項,等價于C語言switch…case分支語句中的default關(guān)鍵字;
  • 4.符號;;等價于C語言switch…case分支語句中的break關(guān)鍵字

case…in語句選項的分類:

  • 1.只有一個字符串;
  • 2.多個字符串;
  • 3.通配0至9的任意字符;
  • 4.通配26個英文大寫或小寫字母,需要配合本地語序使用;
  • 5.通配除了特定字符的其他字符,和C語言按位異或符號一樣,都是^;

實例要求:

從終端輸入年份和月份,判斷月份的天數(shù)。 

  • 一年有12個月,其中1,3,5,7,8,10,12為最多天數(shù)的月份,共有31天,4,6,9,11月份的天數(shù)相同,共有30天,剩下的2月份,在閏年時為29天,在平年時為28天。
  • 思路1:先使用if...else條件語句判斷用戶輸入的年份是閏年還是平年,再使用switch...case分支語句依次輸出用戶輸入月份的天數(shù)。
  • 思路2:先使用switch...case分支語句,其中除了2月份,其他月份的天數(shù)可以直接輸出,若用戶在終端輸入的月份是2月,嵌套if...else條件語句判斷用戶輸入的年份是閏年還是平年,并根據(jù)實際情況輸出天數(shù)。
#include<stdio.h>
int main(int argc, const char *argv[])
{
   int year, month;
   printf("請輸入年份和月份 > ");
   scanf("%d%d", &year, &month);
   if (year < 0) {
      puts("輸入的年份錯誤");
      return -1;
   }
   if (month < 1 || month > 12) {
      puts("輸入的月份錯誤");
      return -2;
   }
/*   
//思路1:
   if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0))
  {
    switch(month){
     case 1:
     case 3:
     case 5:
     case 7:
     case 8:
     case 10:
     case 12:
		printf("%d年%d月份,共計31天\n", year, month); 
		break;
     case 2:
        printf("%d年%d月份,共計29天\n", year, month);
		break;
		case 4:
		case 6:
		case 9:
		case 11:
        printf("%d年%d月份,共計30天\n", year, month);
		break;
		default:
		  printf("輸入月份不合理\n");
		  break;
	 }
	} else {
     switch(month){
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
		  printf("%d年%d月份,共計31天\n", year, month); 
		  break;
        case 2:
          printf("%d年%d月份,共計28天\n", year, month);
		  break;
		case 4:
		case 6:
		case 9:
		case 11:
          printf("%d年%d月份,共計30天\n", year, month); 
		  break;
		default:
		  printf("輸入月份不合理\n");
		  break;
	}
   }
*/  
 //思路2:
     switch(month){
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
		  printf("%d年%d月份,共計31天\n", year, month); 
		  break;
        case 2:
             if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0))
			 {
				 printf("%d年%d月份,共計29天\n", year, month);
			 } else {
				 printf("%d年%d月份,共計28天\n", year, month);
			 }
		  break;
		case 4:
		case 6:
		case 9:
		case 11:
          printf("%d年%d月份,共計30天\n", year, month); 
		  break;
		default:
		  printf("輸入月份不合理\n");
		  break;
     }
   return 0;    
}
  • 測試代碼:
#!/bin/bash
read  -p "請輸入查詢的年份>>" Y
read  -p "請輸入查詢的月份>>" M
if [ $Y -lt 0 ]
then
	echo "輸入的年份有誤,請重新輸入?。。?
	exit
fi
if [ $M -lt 1 -o $M -gt 12 ]
then
	echo "輸入的月份有誤,請重新輸入?。?!"
	exit
fi
case $M in
    4)
    echo "$Y年$M月共有30天"
	;;
    6)
    echo "$Y年$M月共有30天"
	;;
    9)
    echo "$Y年$M月共有30天"
	;;
    11)
    echo "$Y年$M月共有30天"
	;;
     2)
		 if [ $((Y%4)) -eq 0 -a $((Y%100)) -ne 0 ] || [ $((Y%400)) -eq 0 ]
		 then
           echo "$Y年$M月共有29天"
		 else
           echo "$Y年$M月共有28天"
		 fi
    ;;
    *)
    echo "$Y年$M月共有31天"
	;;
esac
  • 運(yùn)行結(jié)果:

#第一次運(yùn)行
請輸入查詢的年份>>2000
請輸入查詢的月份>>2
2000年2月共有29天
#第二次運(yùn)行
請輸入查詢的年份>>2013
請輸入查詢的月份>>2
2013年2月共有28天
#第三次運(yùn)行
請輸入查詢的年份>>-1999
請輸入查詢的月份>>11
輸入的年份有誤,請重新輸入?。?!
#第四次運(yùn)行
請輸入查詢的年份>>2001
請輸入查詢的月份>>13
輸入的月份有誤,請重新輸入!?。?br />#第五次運(yùn)行
請輸入查詢的年份>>2023
請輸入查詢的月份>>8
2023年8月共有31天
#第六次運(yùn)行
請輸入查詢的年份>>2023
請輸入查詢的月份>>9
2023年9月共有30天

到此這篇關(guān)于Shell中case...in分支語句的應(yīng)用的文章就介紹到這了,更多相關(guān)Shell case...in分支語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解shell腳本中的case條件語句介紹和使用案例

    詳解shell腳本中的case條件語句介紹和使用案例

    這篇文章主要介紹了詳解shell腳本中的case條件語句介紹和使用案例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • linux下的tar命令詳細(xì)解釋

    linux下的tar命令詳細(xì)解釋

    在Linux中,壓縮與解壓用得最多的tar.tar命令確實很厲害。下面通過本文給大家分享linux下的tar命令詳細(xì)解釋,感興趣的朋友一起看看吧
    2017-08-08
  • linux中壓縮與備份命令大全

    linux中壓縮與備份命令大全

    這篇文章給大家收集整理了些linux中壓縮與解壓縮命令,備份命令,非常全面,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-10-10
  • Shell腳本實現(xiàn)隨機(jī)數(shù)多種方法介紹(date、random、uuid)

    Shell腳本實現(xiàn)隨機(jī)數(shù)多種方法介紹(date、random、uuid)

    這篇文章主要介紹了Shell腳本實現(xiàn)隨機(jī)數(shù)多種方法介紹,本文講解了通過時間獲得隨機(jī)數(shù)、通過內(nèi)部系統(tǒng)變量、通過系統(tǒng)內(nèi)部唯一數(shù)據(jù)生成隨機(jī)數(shù)等方法,需要的朋友可以參考下
    2014-11-11
  • Linux Shell 數(shù)組建立及使用技巧

    Linux Shell 數(shù)組建立及使用技巧

    shell命令在linux系統(tǒng)中是一個非常重要的功能了,我們可以通過它來做N多的事情,本文給大家介紹linux shell 數(shù)組建立及使用技巧,需要的朋友可以參考下
    2015-10-10
  • shell自動拉取鏡像并運(yùn)行容器的shell腳本

    shell自動拉取鏡像并運(yùn)行容器的shell腳本

    本文主要介紹了shell自動拉取鏡像并運(yùn)行容器的shell腳本,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • linux自動重啟tomcat腳本分享

    linux自動重啟tomcat腳本分享

    linux自動重啟tomcat腳本分享,大家參考使用吧
    2013-12-12
  • Linux監(jiān)控cpu以及內(nèi)存使用情況之top命令(詳解)

    Linux監(jiān)控cpu以及內(nèi)存使用情況之top命令(詳解)

    下面小編就為大家?guī)硪黄狶inux監(jiān)控cpu以及內(nèi)存使用情況之top命令(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Linux下查找后門程序 CentOS 查后門程序的shell腳本

    Linux下查找后門程序 CentOS 查后門程序的shell腳本

    這篇文章主要介紹了Linux下查找后門程序 CentOS 查后門程序的shell腳本,需要的朋友可以參考下
    2014-09-09
  • shell腳本打印國際象棋棋盤

    shell腳本打印國際象棋棋盤

    這篇文章主要為大家詳細(xì)介紹了shell腳本打印國際象棋棋盤,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05

最新評論

河源市| 徐闻县| 温州市| 子洲县| 溧阳市| 中江县| 托里县| 宜兰市| 靖远县| 和龙市| 桦南县| 建湖县| 凌源市| 工布江达县| 清河县| 汕头市| 南陵县| 石嘴山市| 玉田县| 陇川县| 宣城市| 改则县| 宁河县| 武陟县| 鄯善县| 策勒县| 句容市| 五家渠市| 巴彦县| 恩施市| 唐河县| 噶尔县| 呈贡县| 股票| 怀柔区| 浮山县| 新竹市| 大埔区| 高台县| 丹凤县| 中牟县|