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

C語(yǔ)言超詳細(xì)講解循環(huán)與分支語(yǔ)句基礎(chǔ)

 更新時(shí)間:2022年04月12日 17:29:22   作者:YU-fect  
各位小伙伴們,今天給大家?guī)?lái)的是循環(huán)與分支語(yǔ)句,本篇將會(huì)向大家介紹這些語(yǔ)句的格式和使用的基本方法,感興趣的朋友來(lái)看看吧

寫(xiě)在開(kāi)始

在內(nèi)容開(kāi)始之前給大家介紹一下在計(jì)算機(jī)中如何表示真假

0表示假,非0表示真。

1. 分支語(yǔ)句

分支語(yǔ)句也叫做條件選擇語(yǔ)句,主要分為if語(yǔ)句和switch語(yǔ)句。

1.1 if語(yǔ)句

if()…{} else if()…{} else {}

代碼解釋?zhuān)?/p>

#include<stdio.h>  
//這里是引入“printf”函數(shù)所在的頭文件,大家在使用函數(shù)時(shí)要記得把函數(shù)的頭文件加上哦
int main()
{
   int a = 1, b = 2, c = 3;
   if (a > c)  printf("a比c大");
   else if (a > b) printf("a比b大");
   else (printf("a比b和c都小"));
}

在這里插入圖片描述

分析:

在if(a>c)中a>c為假,故會(huì)跳過(guò)printf(“a比c大”);,接下來(lái)會(huì)運(yùn)行else if,而a>b也為假,故會(huì)向下執(zhí)行else的語(yǔ)句"a比b和c都小",最終如上圖所示。

注:如果在第一個(gè)if里面條件成立了那之后的else if和else語(yǔ)句都將不會(huì)被運(yùn)行。

  • if()…{}…else {}

理解完第一種方法后面這兩種方法也就不難理解了,在這個(gè)語(yǔ)句中少了if else語(yǔ)句,因此對(duì)比上一種方法這種語(yǔ)句在運(yùn)行時(shí)跳過(guò)了else if的判斷與執(zhí)行階段。

或者我們可以這樣理解:在這里其實(shí)else if也存在,比如以這種方式:else if(0) {expression;}

  • if() …{}

關(guān)于這個(gè)語(yǔ)句想必不用我多說(shuō)了吧,相信聰明的小伙伴們自己便能明白了。

總結(jié):

在if()的括號(hào)內(nèi)填入條件,如果條件成立時(shí),將會(huì)執(zhí)行后面大括號(hào)(代碼塊)里的的表達(dá)式,而若條件不成立時(shí),系統(tǒng)將會(huì)直接跳過(guò)表達(dá)式去執(zhí)行else if 的判斷,條件成立則運(yùn)行else if 后面的代碼塊,反之則跳過(guò),最后如果都不符合條件的話(huà)則會(huì)直接執(zhí)行else后的語(yǔ)句。

1.2 switch

switch語(yǔ)句一般是和循環(huán)語(yǔ)句一起搭配使用的,現(xiàn)在先了解一下switch語(yǔ)句是怎么使用的。

代碼格式:

switch(a)//a是一個(gè)整形變量
{
   case 1:expression1;//不一定要寫(xiě)case 1,可以是任意a所能取值的數(shù)
   break;
   case 2:expression2;
   break;
   ....
   default:expression;
}

在switch()里放入一個(gè)整形變量a,程序會(huì)根據(jù)a的值跳轉(zhuǎn)到對(duì)應(yīng)的case 語(yǔ)句并執(zhí)行,而執(zhí)行到break時(shí)程序便會(huì)跳出switch語(yǔ)句,如果沒(méi)有對(duì)應(yīng)的case語(yǔ)句則會(huì)執(zhí)行default語(yǔ)句.下面請(qǐng)看實(shí)例來(lái)了解:

//將數(shù)字轉(zhuǎn)換成其在一周內(nèi)的位置
int main()
{
	int day = 0;
	scanf("%d",&day);//通過(guò)鍵盤(pán)向變量day輸入一個(gè)整數(shù)
	switch (day){
	case 1:printf("周一"); 
		break;
	case 2:printf("周二"); 
		break;
	case 3:printf("周三");
		break;
		//中間的我省略了,這里代碼演示主要是為了讓大家了解功能,長(zhǎng)篇大論也不太好
	case 7:printf("周日");
		break;
	default:printf("請(qǐng)輸入正確的數(shù)字");
	}
	return 0;
}

前面說(shuō)了break的作用是跳出switch語(yǔ)句,現(xiàn)在給大家看看如果沒(méi)有break的效果吧:

在這里插入圖片描述

既然沒(méi)有跳出去那就繼續(xù)執(zhí)行下一個(gè)語(yǔ)句唄,沒(méi)有問(wèn)題。break語(yǔ)句其實(shí)并不是每個(gè)case語(yǔ)句后面都要加上,有些時(shí)候只在必要的地方加上就可以達(dá)到我們想要的效果了.

2. 循環(huán)語(yǔ)句

循環(huán)語(yǔ)句主要分為三種:for語(yǔ)句,while語(yǔ)句和do while語(yǔ)句,這三種語(yǔ)句都是可以做到相互轉(zhuǎn)換的,一般來(lái)說(shuō)for語(yǔ)句會(huì)方便點(diǎn),不過(guò)最終用哪種還是看具體問(wèn)題和個(gè)人的喜好吧。

2.1 while()語(yǔ)句

while(condition)
{
    expression;
}

解釋?zhuān)?/p>

condition 為判斷條件。

expression 為條件為真時(shí)執(zhí)行的語(yǔ)句。

運(yùn)行時(shí):

while()語(yǔ)句首先是判斷括號(hào)里面表達(dá)式的真值,如果條件為真(非0),則會(huì)運(yùn)行后面的代碼塊,運(yùn)行完之后會(huì)再一次的進(jìn)入條件判斷階段,如果條件還為真,則會(huì)繼續(xù)運(yùn)行直至條件為假(0)時(shí)跳出循環(huán)。

這里給大家出個(gè)小題目吧,隨便復(fù)習(xí)下剛剛講的if語(yǔ)句(不會(huì)也不要緊的,慢慢來(lái),這里只是給大家加深點(diǎn)印象)

打印10以?xún)?nèi)的奇數(shù)。

有沒(méi)有小伙伴是這樣寫(xiě)的呢:printf("%d%d%d%d%d", 1, 3, 5, 7, 9);

哈哈結(jié)果沒(méi)問(wèn)題,不過(guò)咱們可是要當(dāng)程序員的人吶

int main()
{
	int i = 0;//在聲明一個(gè)變量時(shí)記得給它賦值,這一部叫做變量的初始化
	while (i <= 10) {
		if (i % 2 == 1)  //符號(hào)“==”是判斷是否相等,可以理解為數(shù)學(xué)中的等于號(hào)
		//"%"為取模,比如10%3=1,是取余數(shù)
			printf("%d", i);
		i++; //  i++的意思是先使用i自己的值,然后使自己的值加1,這里可以看成是  i = i + 1;
	}
	return 0;
}

該注意的點(diǎn)我已近在代碼里注釋了,如果還有不懂的可以在評(píng)論區(qū)提問(wèn),當(dāng)然如果有問(wèn)題也還請(qǐng)大佬們指出,YU同學(xué)先感謝大家了。

2.2 do while()語(yǔ)句

do while()語(yǔ)句與while語(yǔ)句區(qū)別不大,正如它的名字一樣,它在運(yùn)行是會(huì)提前執(zhí)行一遍代碼塊里面的內(nèi)容,然后再進(jìn)行判斷while()里面的真值,后面的就與while()語(yǔ)句是一樣的,接下來(lái)給大家演示一下do while ()語(yǔ)句的格式:

    do {
        expression;
    }while (condition);

2.3 for 語(yǔ)句

代碼格式:

for(expression1;condition;espression2)
{
    expression;
}

解釋:

expression1 是給循環(huán)變量賦予初始值。(這時(shí)在開(kāi)始循環(huán)的時(shí)候進(jìn)行的,后面循環(huán)的時(shí)候不會(huì)再運(yùn)行這個(gè)代碼)

condition 是每次循環(huán)時(shí)判斷的條件,若條件真值為真這繼續(xù)運(yùn)行代碼塊里面的語(yǔ)句,為假則會(huì)跳出for循環(huán)。

expression2 一般是對(duì)賦值變量的操作,讓程序能達(dá)到自己想要的效果。

運(yùn)行時(shí):

程序會(huì)先進(jìn)行對(duì)循環(huán)變量的賦值,而后進(jìn)行條件判斷,為真則執(zhí)行后面的代碼塊,為假則退出循環(huán),再執(zhí)行完代碼塊后程序會(huì)通過(guò)condition2進(jìn)行對(duì)循環(huán)變量的操作,然后進(jìn)入下一次循環(huán)的判斷階段,以此類(lèi)推。

for語(yǔ)句中表達(dá)式的省略

注:語(yǔ)句可以省,但分號(hào)不能省的,就算全省了也要寫(xiě)成for( ; ; )這樣

  • 省略expression1

省略這一步則會(huì)跳過(guò)for循環(huán)時(shí)給循環(huán)變量賦值的部分,如果省略需要再for循環(huán)之前設(shè)定好循環(huán)變量的初始值。

  • 省略condition

condition為循環(huán)條件,當(dāng)省略 它時(shí)系統(tǒng)會(huì)默認(rèn)條件真值為1,即條件永遠(yuǎn)為真,這樣程序會(huì)陷入死循環(huán)而崩潰,是不能省略的。

  • 省略expression2

可省略,省略完后系統(tǒng)將跳過(guò)執(zhí)行代碼塊后對(duì)循環(huán)變量的操作,因次就要把對(duì)循環(huán)變量的操作放到代碼塊中了。

break在循環(huán)語(yǔ)句中的作用

程序運(yùn)行時(shí)遇到break語(yǔ)句時(shí)不論當(dāng)前條件的真值是否為假都會(huì)會(huì)直接跳出循環(huán),下面給大家看個(gè)例子:

int main()
{
	int i = 1;
	for (i = 0; i<10; i++)
	{
		if (i == 6)
			break;
		printf("%d",i);
	}
	printf("\n%d", i);//前面打印一個(gè)空行
}

在這里插入圖片描述

程序的結(jié)果是

012345 6

過(guò)程解釋?zhuān)涸谘h(huán)變量i=5時(shí),if(i==6)條件不通過(guò),并沒(méi)有運(yùn)行break語(yǔ)句,然后繼續(xù)在屏幕打印5,之后通過(guò)i++使得i變成6,從而使得if(i==6)為真,程序運(yùn)行時(shí)執(zhí)行了break后跳出了循環(huán),沒(méi)有打印6和進(jìn)行之后的循環(huán),而后面的6時(shí)在循環(huán)外打印的,此時(shí)i=6,故打印出了一個(gè)六在下一行。

continue 在循環(huán)語(yǔ)句中的應(yīng)用

continue 是使程序跳出本次循環(huán)去執(zhí)行下一次循環(huán)

注:是跳出本次循環(huán)的執(zhí)行代碼塊部分,前面講過(guò)for循環(huán)在執(zhí)行完代碼塊后還會(huì)有一步對(duì)循環(huán)變量的操作,這一部分是不會(huì)被跳過(guò)的。

下面看看效果:

對(duì)于while和do while

int main()
{
	int i = 0;
	while(i<10)
	{
		if (i == 6)
			comtinue;
		printf("%d",i);
		i++;
	}
	printf("\n%d", i);//前面打印一個(gè)空行
}

在這里插入圖片描述

程序出現(xiàn)了在一直閃光標(biāo),出現(xiàn)死循環(huán)。

分析:當(dāng)i=6時(shí)運(yùn)行了continue跳出了本次循環(huán)進(jìn)入下一次循環(huán),可下一次循環(huán)還是有i=6(i++語(yǔ)句在continue之后,沒(méi)有沒(méi)運(yùn)行),一直重復(fù)從而出現(xiàn)死循環(huán)。

對(duì)于for

int main()
{
	int i = 0;
	for (i = 0; i<10; i++)
	{
		if (i == 6)
			continue;
		printf("%d",i);
	}
	printf("\n%d", i);
}

在這里插入圖片描述

這次打印少為12345789 10,少了一個(gè)6,但程序并沒(méi)有出現(xiàn)死循環(huán)正是上面說(shuō)說(shuō)的,for循環(huán)中對(duì)循環(huán)變量處理的一部分不會(huì)被跳過(guò)。

總結(jié):

今天給大家簡(jiǎn)單介紹了分支語(yǔ)句 if語(yǔ)句和switch語(yǔ)句,循環(huán)語(yǔ)句for語(yǔ)句,while語(yǔ)句,dowhile語(yǔ)句的使用方法和簡(jiǎn)單的運(yùn)行流程以及continue 和break 在循環(huán)語(yǔ)句中的應(yīng)用和細(xì)小差別。

到此這篇關(guān)于C語(yǔ)言超詳細(xì)講解循環(huán)與分支語(yǔ)句基礎(chǔ)的文章就介紹到這了,更多相關(guān)C語(yǔ)言 循環(huán)與分支內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于C語(yǔ)言中弱符號(hào)與弱引用的實(shí)際應(yīng)用問(wèn)題

    關(guān)于C語(yǔ)言中弱符號(hào)與弱引用的實(shí)際應(yīng)用問(wèn)題

    在編碼過(guò)程中,我們經(jīng)常遇到符號(hào)重定義的錯(cuò)誤問(wèn)題,本文通過(guò)實(shí)例代碼展示給大家介紹了C語(yǔ)言弱符號(hào)與弱引用的實(shí)際應(yīng)用問(wèn)題,一起看看吧
    2021-09-09
  • C++移動(dòng)操作,RVO和NRVO詳細(xì)

    C++移動(dòng)操作,RVO和NRVO詳細(xì)

    本文將討論了何時(shí)C++會(huì)自動(dòng)進(jìn)行移動(dòng)操作,并且說(shuō)明了復(fù)制消除,RVO和NRVO優(yōu)的化等香瓜吧資料,需要的小伙伴可以參考一下
    2021-09-09
  • C++獲取任務(wù)欄打開(kāi)程序窗口示例

    C++獲取任務(wù)欄打開(kāi)程序窗口示例

    這篇文章主要介紹了C++獲取任務(wù)欄打開(kāi)程序窗口,大家可以參考使用
    2013-11-11
  • Vscode自定義注釋模板的實(shí)現(xiàn)示例

    Vscode自定義注釋模板的實(shí)現(xiàn)示例

    本文主要介紹了Vscode自定義注釋模板的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • c語(yǔ)言多線(xiàn)程編程使用示例

    c語(yǔ)言多線(xiàn)程編程使用示例

    這篇文章主要介紹了c語(yǔ)言多線(xiàn)程編程使用示例,需要的朋友可以參考下
    2014-04-04
  • C語(yǔ)言舉例講解i++與++i之間的區(qū)別

    C語(yǔ)言舉例講解i++與++i之間的區(qū)別

    這篇文章主要介紹了C語(yǔ)言中i++和++i的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • C語(yǔ)言實(shí)現(xiàn)字符串字符反向排列的方法詳解

    C語(yǔ)言實(shí)現(xiàn)字符串字符反向排列的方法詳解

    這篇文章主要為大家分享了幾種通過(guò)C語(yǔ)言實(shí)現(xiàn)字符串字符反向排列(不是逆序打印)的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-05-05
  • 如何用c語(yǔ)言完成俄羅斯方塊小游戲

    如何用c語(yǔ)言完成俄羅斯方塊小游戲

    這篇文章主要介紹了如何使用C語(yǔ)言開(kāi)發(fā)一個(gè)簡(jiǎn)單的俄羅斯方塊游戲,涵蓋了游戲設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、核心邏輯和實(shí)現(xiàn)步驟,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-12-12
  • C語(yǔ)言 動(dòng)態(tài)分配數(shù)組案例詳解

    C語(yǔ)言 動(dòng)態(tài)分配數(shù)組案例詳解

    這篇文章主要介紹了C語(yǔ)言 動(dòng)態(tài)分配數(shù)組案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C語(yǔ)言修煉之路悟徹?cái)?shù)組真妙理?巧用下標(biāo)破萬(wàn)敵上篇

    C語(yǔ)言修煉之路悟徹?cái)?shù)組真妙理?巧用下標(biāo)破萬(wàn)敵上篇

    在C語(yǔ)言和C++等語(yǔ)言中,數(shù)組元素全為指針變量的數(shù)組稱(chēng)為指針數(shù)組,指針數(shù)組中的元素都必須具有相同的存儲(chǔ)類(lèi)型、指向相同數(shù)據(jù)類(lèi)型的指針變量。指針數(shù)組比較適合用來(lái)指向若干個(gè)字符串,使字符串處理更加方便、靈活
    2022-02-02

最新評(píng)論

治多县| 崇州市| 嘉峪关市| 黄山市| 安阳县| 桦南县| 庄河市| 北票市| 平陆县| 祁连县| 光泽县| 红桥区| 洛浦县| 化州市| 闵行区| 临夏县| 宜都市| 淮安市| 贵州省| 项城市| 万载县| 昌吉市| 铅山县| 含山县| 吉隆县| 开鲁县| 珠海市| 达日县| 北川| 安阳县| 蒙城县| 南丰县| 泗洪县| 陵川县| 宿迁市| 介休市| 海原县| 盐源县| 和田县| 阳东县| 遂川县|