C#基礎(chǔ)(5) 程序流 程序結(jié)構(gòu)

程序流(程序的結(jié)構(gòu))

一续徽、順序結(jié)構(gòu)

程序的入口都是Main函數(shù)弟劲,代碼從上到下叮姑,從左到右依次執(zhí)行

二、分支結(jié)構(gòu)? if / if ...else? /? if...else if ... /? switch...case

當(dāng)我們的程序執(zhí)行到某個(gè)位置的時(shí)候砾脑,進(jìn)行條件判斷幼驶, 根據(jù)判斷的結(jié)果來執(zhí)行不同的操作

if();{

語句1

} ? ? ?//當(dāng)條件表達(dá)式后有分號(hào)時(shí),不管判斷語句拦止,都執(zhí)行語句1

? if else if

// ? ? ? ? ? if(條件表達(dá)式){

// ? ? ? ? ? ? ? 如果表達(dá)式為真將執(zhí)行的語句

// }else{ ? ? //esle將匹配同一級(jí)別最近的if

// ? ? ? ? 如果表達(dá)式為假將執(zhí)行的語句

// ? ? ? ? ? ? ? }


//例:

// Console.WriteLine("請(qǐng)輸入你的年齡:");

// string age = Console.ReadLine();//string是字符串

//當(dāng)你需要輸入數(shù)字來運(yùn)行時(shí)县遣,ReadLine用來讀取你輸入的東西

// int age_number = int .Parse(age);//把string轉(zhuǎn)化為int的方法

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? int.Parse(string類型)



//用if else 語句表達(dá)?

年齡測(cè)試 18歲以上已成年 12-18歲為青少年 2-12歲小孩 2歲以下兒童

?if (age_number >= 18) {

// Console.WriteLine ("已成年");

// } else if (age_number >= 12) {//else 加 if 就可以繼續(xù)寫條件

// Console.WriteLine ("青年少");

// } else if (age_number >= 2) {//有else時(shí) 對(duì)應(yīng)的是同一級(jí)別最近的 if

// Console.WriteLine ("孩子");

// } else {

// Console.WriteLine ("baby");

// }


格式二:多分支 語句 ?switch(開關(guān))...case(情況)

switch ()里不可以寫float浮點(diǎn)型 類和對(duì)象也不行

根據(jù)表達(dá)式的值糜颠,取大括號(hào)中查找與該值相匹配的分支汹族;

case 后面只要有操作就一定要加break

遇到break則結(jié)束 switch 語句


用switch case 表達(dá)

年齡測(cè)試 輸入18歲 顯示 我18歲了 輸入19歲 顯示我19歲了

// Console.WriteLine("請(qǐng)輸入你的年齡:");

// string age = Console.ReadLine();//

// switch(age){//(switch后面可以用string或int ?不能是浮點(diǎn)類型

? ? ? ? ? ? ? ? ? ? ? ? (age)是一個(gè)用來做判斷(case)的值萧求,當(dāng)case 18等于age時(shí),那么break彈出)

//

// case "18":{//case ""后面要與switch后面的數(shù)據(jù)類型一樣顶瞒,如果是string的話就要加“引號(hào)”

// ? ? ? ? //case 可以寫很多個(gè) ?case后面是一個(gè)常量或者常量表達(dá)式

? ? ? ? ? ?//case 后面沒有語句的話 繼續(xù)執(zhí)行下面的語句?

// Console.WriteLine("我成年了");

// break;//(//有語句的話必須寫break

? ? ? ? ? ? ? ? ?//走到break時(shí)直接斷掉彈出夸政,不走其他的

// }

// case "19":{

// Console.WriteLine ("我19歲");

// break;

// }

// default://(不滿足前面的條件時(shí))

? ? ? ? ? ? ? ?//default 可以舍掉 只能有一個(gè) ?

// Console.WriteLine ("幾歲?榴徐?");

// break;

// }

// Console.WriteLine ("a~~~~~");


三守问、循環(huán)結(jié)構(gòu)? for ?while? ? do...while? foreach...in

在滿足某個(gè)條件的時(shí)候反復(fù)執(zhí)行一個(gè)語句序列;

記算次數(shù)方法:后一個(gè)數(shù)減前一個(gè)數(shù)加 1


// while(bool 表達(dá)式){

//當(dāng)給定條件為真時(shí)坑资,重復(fù)語句或語句組耗帕。它會(huì)在執(zhí)行循環(huán)主體之前測(cè)試條件.

// }

//? ? ? 循環(huán)體?

? ? ?

// 例1:

利用while表達(dá) 1到10 的數(shù)字相加等于多少(0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10)

? ? ? ? ? ? ? ? ? ? ? ? 1到任意輸入數(shù)字相加等于多少 ?

// Console.WriteLine ("請(qǐng)輸入數(shù)字");

// int i = 0 , sum = 0 ;i代表第0個(gè)數(shù)字,sum表示n個(gè)數(shù)字相加的和

// int n = int.Parse (Console.ReadLine ());n表示輸入的數(shù)字

// while (i < n +1 ){//因?yàn)槭菑?開始 所以要 + 1

// sum += i;//意思是 sum = sum +i

// ++i;//循環(huán)

// } ? n是不變的 所以++i就是 1到n的每一個(gè)數(shù)字

// Console.WriteLine ("{0}",sum);輸出和sum


用while ?嵌套if 表達(dá) ?

0到n里的偶數(shù)相加

// int i = 0, sum = 0;

// int n = int.Parse (Console.ReadLine ());

// while (i < n + 1) {

// if(i % 2 == 0){

// sum += i;

// }

// ++i;

// }

// Console.WriteLine ("{0}",sum);


用while if 表達(dá)?

0到數(shù)字n一半的數(shù)相加的值?

break的作用:斷開跳出循環(huán)

// int i = 0, sum = 0;

// int n = int.Parse (Console.ReadLine ());

// while (i < n + 1) {

// if(i > n/2){

// break;//跳出循環(huán),繼續(xù)執(zhí)行循環(huán)之后的語句

// }

// Console.WriteLine ("i = {0}",i);

// sum += i;

// ++i;

// }

//? ? ? ? ? Console.WriteLine ("{0}",sum);

//多用打印語句來檢測(cè)對(duì)錯(cuò)

運(yùn)用while if continue 表達(dá)

0到數(shù)字n的和 不包括5

continue 的作用:跳出一次循環(huán) 繼續(xù)執(zhí)行前面的循環(huán)

// int i = 0, sum = 0;

// int n = int.Parse (Console.ReadLine ());

// while (i < n) {

// ++i;//(因?yàn)?+i放到前面袱贮,所以不用 n+1)? 如果不放到前面就會(huì)一直在5這里循環(huán)

// if(i == 5){

// continue;//跳出本次循環(huán)仿便,繼續(xù)執(zhí)行之后的循環(huán),直至循環(huán)結(jié)束

// ? ? ? ? ? ? ? ? //作用:忽略了第5次循環(huán)

// }

// Console.WriteLine ("i = {0}",i);

// sum += i;

//

// }

// Console.WriteLine ("{0}",sum);

do while 語句

//do...while 循環(huán)是在循環(huán)的尾部檢查它的條件攒巍。

//do...while 循環(huán)與 while 循環(huán)類似嗽仪,但是 do...while 循環(huán)會(huì)確保至少執(zhí)行一次循環(huán)。


// int i = 0, sum = 0;

//? ? ? ? ? ? int n = int.Parse (Console.ReadLine ());

// do {

// Console.WriteLine("你好你好");//先執(zhí)行一次

// ++i;//(這里的條件是為了達(dá)到false柒莉,當(dāng)false的時(shí)候結(jié)束循環(huán)

// }while(i < 2);//不成立的話跳出循環(huán)

// Console.WriteLine("sum = {0}",sum);

// }

//時(shí)間復(fù)雜度是檢驗(yàn)代碼好壞的標(biāo)準(zhǔn)之一

// //祖父今年65歲闻坚,3個(gè)孫子分別15、13兢孝、9歲窿凤,問多少年后3個(gè)孫子的年齡之和等于祖父?

// //65 + x = 15 + 13 + 9 + 3 * x

// int x = 1 ;

// while (true)//先假設(shè)死循環(huán)

// {

// if (65+ x == 15 + 13 + 9 + (3 * x)) {

// Console.WriteLine ("{0}年之后年齡"+"相加相等",x);(加號(hào)的使用)

// break;

// }

// ++x;

// }

for循環(huán)

// for(初始條件;循環(huán)條件;循環(huán)增量){ ?注:初始條件和 循環(huán)增量 都可以為空跨蟹,但要有分號(hào)

// 循環(huán)體【初始條件只執(zhí)行一次雳殊,判斷條件為真之后走循環(huán)體(如果為假,則不執(zhí)行循環(huán)主體喷市,且控制流會(huì)跳轉(zhuǎn)到緊接著 for 循環(huán)的下一條語句)相种;

循環(huán)體之后再到條件變化,然后再判斷品姓,滿足的話再繼續(xù)走循環(huán)體)寝并。

條件變化語句指一次循環(huán)執(zhí)行完成后才執(zhí)行的語句

// }

for循環(huán)嵌套

見 自學(xué)筆記一?

int i = 0; //(可以寫到外面)

for (int i = 0; true; ++i) {

//++i

Console.WriteLine ("{0}", i);//算次數(shù)方法:后一個(gè)數(shù)減前一個(gè)數(shù)加 1

if (i > 500) {

break;

}

}

Console.WriteLine ("{0}", i);//注:聲明的變量,生命周期范圍在離他最近的{}內(nèi)腹备;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?且不一定要在{}里面衬潦,注意是變量使用在哪里面的;

}

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末植酥,一起剝皮案震驚了整個(gè)濱河市镀岛,隨后出現(xiàn)的幾起案子弦牡,更是在濱河造成了極大的恐慌,老刑警劉巖漂羊,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驾锰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡走越,警方通過查閱死者的電腦和手機(jī)椭豫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旨指,“玉大人赏酥,你說我怎么就攤上這事∽还梗” “怎么了裸扶?”我有些...
    開封第一講書人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)搬素。 經(jīng)常有香客問我呵晨,道長(zhǎng),這世上最難降的妖魔是什么蔗蹋? 我笑而不...
    開封第一講書人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任何荚,我火速辦了婚禮,結(jié)果婚禮上猪杭,老公的妹妹穿的比我還像新娘餐塘。我一直安慰自己,他們只是感情好皂吮,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開白布戒傻。 她就那樣靜靜地躺著,像睡著了一般蜂筹。 火紅的嫁衣襯著肌膚如雪需纳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評(píng)論 1 284
  • 那天艺挪,我揣著相機(jī)與錄音不翩,去河邊找鬼。 笑死麻裳,一個(gè)胖子當(dāng)著我的面吹牛口蝠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播津坑,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼妙蔗,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了疆瑰?” 一聲冷哼從身側(cè)響起眉反,我...
    開封第一講書人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤昙啄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后寸五,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梳凛,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年播歼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了伶跷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片掰读。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡秘狞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蹈集,到底是詐尸還是另有隱情烁试,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布拢肆,位于F島的核電站减响,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏郭怪。R本人自食惡果不足惜支示,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鄙才。 院中可真熱鬧颂鸿,春花似錦、人聲如沸攒庵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浓冒。三九已至栽渴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間稳懒,已是汗流浹背闲擦。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留场梆,地道東北人墅冷。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像辙谜,于是被迫代替她去往敵國(guó)和親俺榆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容