日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#系列五《程序的分支》

發布時間:2023/12/15 C# 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#系列五《程序的分支》 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???? 從前面的文章中我們不難看出來,我們程序的執行順序是從上到下順序執行的,那么有時候我們需要程序在某個條件成立時,執行指定的代碼片段,那么怎么樣來控制這樣流程呢?這個就是我們今天這篇文章所需要討論的。那么開始吧!

?

一?if、esle 語句

?? 1.關系型運算符

????? 說到分支語句必定會牽扯到條件,例如當滿足一個條件的時候去執行指定的代碼段,那么如何構建條件?這個時候我們就需要先了解一下運算符中的《關系型運算符》!請看下表:

運算符名稱

C#運算符號

示例

描述

相等運算符

==

if(10 == 10)

判斷10是否等于10

條件成立返回true(真)

不等運算符

!=

if(10!=10)

判斷10是否不等于10

條件不成立返回false()

小于運算符

<

?

if(5<20)

判斷5是否小于20條件成立 返回true

大于運算符

>

?

if(10>5)

判斷10是否大于5

條件成立返回true

小于等于運算符

<=

if(5>=5)

判斷5是否大于等于5

條件成立返回true

大于等于運算符

>=

if(5<=5)

判斷10是否小于等于5

條件成立返回true

??? 看完表格后我們來介紹下什么是關系型運算符,關系型運算符就是對我們程序中的數據進行比較,當滿足條件就返回一個為真的Bool類型變量。注意:C#中的關系運算符只能返回true與false。

??? 那么我們在來看看關系運算符之間的優先級,假如我們將關系運算符分為兩個級別的優先級為:一級(高優先級)二級(低優先級)

??? 那么一級的有: < , > , <= , >=

?????????二級的有:? == , !=?

????由此看來當多個關系運算符出現在表達式中時,程序會根據優先級級別來確定先比較哪一部分!

??? 請看如下程序:

1????????????? if?(10?>?5?==?10?<?5)?{?}
2?????????????//程序判斷步驟:?因為運算符?>?,?<?的優先級高于?==
3?????????????//那么程序解析如下???if([10大于5返回true]->true?==?[10不小于5返回false]->false)
4?????????????//那么下一步解析如下?if(true?==?false)?[因為true?不等于false?]所以最終表達式返回false條件不成立

?? 2.if、else

????? 了解完關系運算符后我們來看看C#控制程序流程的語句if、else,if、else的意思就是如果、那么。從字面意思我們可以看出來這組語句可以用來幫助我們判斷程序中的邏輯。例如 如果 a >?b 的話,在屏幕打印a+ b的和,那么(那么的意思就是a > b不成立的時候)。我們還是來看個例子吧!

????? 假如:需要設計一個程序來讓用戶輸入兩個數字平且計算兩個數字的和,當和大于10的時候在屏幕中打印“a + b的和大于10” 否則我們打印 “a + b 的和小于10”!

?1???????????? Console.Write("請輸入a的值:");
?2?????????????int?a?=?Convert.ToInt32(Console.ReadLine());
?3?????????????Console.Write("請輸入b的值:");
?4?????????????int?b?=?Convert.ToInt32(Console.ReadLine());
?5?
?6?????????????//判斷a?+?b?的和是否大于10
?7?????????????if?(a?+?b?>?10)?//注意算數運算符的優先級高于關系運算符所以表達式先計算a+b?后判斷是否大于10
?8?????????????{
?9?????????????????//如果大于10執行這里
10?????????????????Console.WriteLine("a?+?b?的和大于10");
11?????????????}
12?????????????else
13?????????????{
14?????????????????//否則執行這里
15?????????????????Console.WriteLine("a?+?b?的和小于10");
16?????????????}

?????好的那么我們來分析一下,前面的代碼就不說了相信大家都可以看懂,我們就從第7行開始看,這時假設用戶已經數據了數據a為6 、b為5!

???? 第7行if語句的表達式中根據運算符優先級先計算a + b的和為11.

???? 緊接著判斷11是否大于10 (11 > 10),11明顯大于10 所以表示返回true當表達式返回true就執行if下面{}中的代碼段, 所以程序會輸出?“a + b 的和大于10”

???? 如果用戶數輸入a = 5 、b=3 那么和不大于10 程序自然而然也就輸出“a + b 的和小于10”

???? 以下是兩種情況的輸出結果:

?? 3.條件運算符

??? 看完了C#基本的分支語句之后我們可能會想到,當我一次判斷中出現多個條件時應該如何處理?例如條件為:當姓名為王波洋并且年齡為24時,這種條件我們應該如何表示?這時條件運算符又閃亮登場啦。當有了條件運算符時構建這種多條件的表達式就輕松了許多,那么我們來看看C#都有哪些條件運算符:

運算符名稱

C#運算符號

示例

描述

條件與運算符

&&

true && true

左邊與右邊表達式都為true時返回true

條件或運算符

||

true || false

左邊與右邊表達式有一個為true時返回true

條件非運算符

!false

去反 表達式為true時返回false

表達式為false時返回true

還是用一個例子帶過,需求如下:用戶輸入年齡,當年齡在20 30中間顯示“你很年輕”, 否則就顯示 “你的年齡不滿足我的要求”,代碼如下:

?1???????????????? Console.Write("請輸入您的年齡:");
?2?????????????????int?age?=?Convert.ToInt32(Console.ReadLine());
?3?
?4?????????????????//判斷年齡是否大于20?在判斷年齡是否小于30?
?5?????????????????//隨后在進行邏輯運算
?6?????????????????if?(age?>?20?&&?age?<?30)?//注意關系運算符的優先級高于邏輯運算符所以表達式先判斷age?>20?與?age?<?30?后進行邏輯與
?7?????????????????{
?8?????????????????????//如果年齡大于20小于30執行這里
?9?????????????????????Console.WriteLine("你很年輕");
10?????????????????}
11?????????????????else
12?????????????????{
13?????????????????????//否則執行這里
14?????????????????????Console.WriteLine("你的年齡不滿足我的要求");
15?????????????????}

???? 繼續分析:從第6行開始看:

?????????????????? 1. 關系運算符優先級高于邏輯運算符。那么先判斷 age?是否大于 20 和 age?是否小于 30,假設此時age = 25,那么(age > 20) == true?、(age < 30) == true

???????????????????2.此時表示為if(true && true),根據上面表格我們可以知道,邏輯與在兩邊都為true時返回true所以表達式成立

?????????????????? 3.輸出結果?"你很年輕" 當age = 35時輸出結果是"你的年齡不滿足我的要求"

二?switch、case語句

???? 了解萬if、esle后我們來看C#提供的另一種分支語句switch、case,它是一種將條件表達式預定義好的一種分支結構。例如設計一個點餐程序,我們的菜單有 1.漢堡 2.牛排 3.披薩 ,我們需要當用戶輸入三個食品的序號來為可以提供食物。那么使用switch、case分支語句的代碼如下:

?1???????????????Console.WriteLine("/**********************************/");
?2?????????????????Console.WriteLine("本店提供:1.漢堡??2.牛排?3.披薩");
?3?????????????????Console.Write("選擇需要的食物:");
?4?????????????????string?num?=?Console.ReadLine();
?5?
?6?????????????????//判斷num
?7?????????????????switch?(num)
?8?????????????????{
?9?????????????????????case?"1"://當輸入的為1時執行這里case與下面最近的break之間的代碼
10?????????????????????????Console.WriteLine("您點的漢堡請慢用");
11?????????????????????????break;
12?????????????????????case?"2"://當輸入的為2時執行這里case與下面最近的break之間的代碼
13?????????????????????????Console.WriteLine("您點的牛排請慢用");
14?????????????????????????break;
15?????????????????????case?"3"://當輸入的為3時執行這里case與下面最近的break之間的代碼
16?????????????????????????Console.WriteLine("您點的披薩請慢用");
17?????????????????????????break;
18?????????????????????default:?//當輸入的值case中未聲明時執行這里default與下面最近的break之間的代碼
19?????????????????????????Console.WriteLine("本店無您所需的食品");
20?????????????????????????break;
21?????????????????}

那么我們繼續來分析一下,搜先來看switch?與 case的語法,當switch后面括號中的值與case中定義的值一致時執行對應case中的代碼到碰見break為止。default的意思是當switch后面括號中的值未能與case中的值匹配上時,執行default中的代碼到碰見break為止。那么由此分析得出:

???????????? 1.當用戶輸入1時代表選擇的漢堡,switch(1)

???????????? 2.在case中尋找是否有1,尋找到case "1" 執行case "1"中的代碼到碰見break為止

???????????? 3.打印"您點的漢堡請慢用" 當用戶輸入的值在case中為定義時例如5,那么程序必然輸出"本店無您所需食品"。

運行結果如下:

?

好啦,今天就到這里啦! 下篇文章會講C#系列五《多樣化的程序分支》

轉載于:https://www.cnblogs.com/doubleliang/archive/2011/06/18/2084030.html

總結

以上是生活随笔為你收集整理的C#系列五《程序的分支》的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。