0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語(yǔ)言基礎(chǔ)知識(shí)(5)--循環(huán)語(yǔ)句

嵌入式技術(shù) ? 來(lái)源:嵌入式技術(shù) ? 作者:嵌入式技術(shù) ? 2023-06-15 10:18 ? 次閱讀

1.for循環(huán)

for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
{
	語(yǔ)句塊
}

表達(dá)式1:表示的是初始化條件;
表達(dá)式2:循環(huán)條件
表達(dá)式3:自增或自減
for循環(huán)中三個(gè)表達(dá)式都可以省略,但分號(hào)必須保留。

poYBAGSKb3yAa2vtAAEm-pmZAJ8278.png
  • 示例:計(jì)算1+2+3+...+100
#include 
/*
計(jì)算1+2+3+...+100
*/
int main()
{
	int i;
	int sum=0;
	for(i=1;i<=100;i++)
	{
		printf("i=%dn",i);
		sum+=i;//sum=sum+i;
	}
	printf("sum=%dn",sum);
}

1.1 for循環(huán)嵌套

#include 
int main()
{
	int i,j;
	int cnt=0;
	for(i=0;i

注意:break只能跳出一層循環(huán)

2.while循環(huán)

while(表達(dá)式)
{
	語(yǔ)句塊
}
  • 示例:2+4+6+8...+100
#include 
/*
示例:2+4+6+8...+100
*/
int main()
{
	int i=2;
	int sum=0;
	while(i<=100)
	{
		sum+=i;
		i+=2;
	}
	printf("sum=%dn",sum);
}

3.do..while循環(huán)

do
{
  語(yǔ)句塊
}while(表達(dá)式);

while和do...while區(qū)別:while循環(huán)條件為真才能執(zhí)行里面的語(yǔ)句塊,do...while先執(zhí)行一次語(yǔ)句塊,再判斷條件。

4.循環(huán)控制語(yǔ)句

控制語(yǔ)句 描述
break語(yǔ)句 終止循環(huán)或switch語(yǔ)句,程序?qū)?zhí)行緊接著循環(huán)或switch的下一條語(yǔ)句
continue語(yǔ)句 立刻停止本輪循環(huán),重新開(kāi)始下輪循環(huán)
goto語(yǔ)句 將控制跳轉(zhuǎn)到被標(biāo)記的語(yǔ)句。不太建議程序中使用goto語(yǔ)句

4.1 break語(yǔ)句

C語(yǔ)言中break語(yǔ)句有以下兩種用法:

①用于循環(huán)語(yǔ)句中,當(dāng)break語(yǔ)句出現(xiàn)在一個(gè)循環(huán)內(nèi)時(shí),循環(huán)會(huì)立即終止,且程序流將繼續(xù)執(zhí)行緊接著循環(huán)的下一條語(yǔ)句。
②用于switch結(jié)構(gòu)中,它可用于終止switch語(yǔ)句中的一個(gè)case。

如果使用的是嵌套循環(huán)(即一個(gè)循環(huán)內(nèi)嵌套另一個(gè)循環(huán)), break語(yǔ)句會(huì)停止執(zhí)行其所在的那層循環(huán),然后開(kāi)始執(zhí)行該塊之后的下一行代碼。

4.2 continue語(yǔ)句

C語(yǔ)言中的continue語(yǔ)句有點(diǎn)像 break 語(yǔ)句。但它不是強(qiáng)迫終止, continue會(huì)結(jié)束當(dāng)前循環(huán)中的代碼,強(qiáng)迫開(kāi)始下一次循環(huán)。

對(duì)于for循環(huán),continue語(yǔ)句執(zhí)行后自增語(yǔ)句仍然會(huì)執(zhí)行。

對(duì)于while和do...while循環(huán),continue 語(yǔ)句會(huì)重新執(zhí)行條件判斷語(yǔ)句。

4.3 goto語(yǔ)句

C語(yǔ)言中的goto語(yǔ)句允許把控制無(wú)條件轉(zhuǎn)移到同一函數(shù)內(nèi)的被標(biāo)記的語(yǔ)句。

注意:在任何編程語(yǔ)言中,都不建議使用goto語(yǔ)句。一是因?yàn)樗沟贸绦虻目刂屏麟y以跟蹤,使程序難以理解和難以修改。任何使用goto語(yǔ)句的程序可以改寫(xiě)成不需要使用goto語(yǔ)句的寫(xiě)法。二是goto語(yǔ)句容易破壞原本的代碼結(jié)構(gòu)。

C語(yǔ)言中g(shù)oto語(yǔ)句的語(yǔ)法:

Label:
	printf("goto語(yǔ)句使用!n");
	.....
	語(yǔ)句塊;
	...
	goto Label:

在這里,label可以是任何除C關(guān)鍵字以外的純文本,它可以設(shè)置在C程序中g(shù)oto語(yǔ)句的前面或者后面。

5.練習(xí)

1.求100以內(nèi)自然數(shù)中偶數(shù)之和。

2.輸出200~400以內(nèi)能被3整除且個(gè)位數(shù)字為6的整數(shù)。

3.計(jì)算:1*2*3+3*4*5+。。。。 +99*100*101 的值。

4.輸出所有水仙花數(shù)。(水仙花數(shù):一個(gè)三位數(shù),它的每個(gè)位上的數(shù)字的3次冪只和等于他本身)

5.排列組合問(wèn)題:一個(gè)口袋中放有12個(gè)球,已知其中3個(gè)是紅色的,3個(gè)是白色的,6個(gè)是黑色的,現(xiàn)在從中任取8個(gè),問(wèn)共有多少種可能的顏色搭配。

6.判斷2~100之間所有素?cái)?shù)。(只能被本身整除的數(shù),比如:3 、7、13。

7.輸出2~1000之間的可逆素?cái)?shù)。

8.打印正三角形和倒三角形。

pYYBAGSKdImAOvOuAABAB6jaGwY152.png


9.輸出9*9乘法表。

10.韓信點(diǎn)兵:相傳韓信才智過(guò)人,從不直接清點(diǎn)自己軍隊(duì)的人數(shù),只要讓士兵先后以三人一排、五人一排、七人一排地變換隊(duì)形,而他每次只掠一眼隊(duì)伍的排尾就知道總?cè)?數(shù)了。請(qǐng)輸入3個(gè)非負(fù)整數(shù)a,b,c ,表示每種隊(duì)形排尾的人數(shù)(a<3,b<5,c<7),輸出總?cè)藬?shù)的最小值(或報(bào)告無(wú)解)。已知總?cè)藬?shù)不小于10,不超過(guò)100 。

11.有一個(gè)4位數(shù),它的9倍數(shù)恰好是其反序數(shù),求該數(shù)。(反序數(shù)就是將其倒過(guò)來(lái)形參的整數(shù),例1234的反序數(shù)就是4321。)

12.求一個(gè)三位數(shù),該三位數(shù)等于其每個(gè)位數(shù)字的階乘之和。

13.輸出1000以內(nèi)所有的完全數(shù)。(完全數(shù):一個(gè)數(shù)恰好等于它的因子之和。如6的因子為1 2 3,而1+2+3=6)

14.輸出具有abcd=(ab+cd)2性質(zhì)的四位數(shù)。

15.將100元換成1元、5元、10元有多少種換法?

16.百元買白雞問(wèn)題:100塊錢買100只雞,公雞5塊1只、母雞3塊1只,小雞3只1塊,輸出所有的買法。

17.有一個(gè)數(shù)列:1、1、2、3 、5 、8...
通過(guò)輸入下標(biāo),輸出對(duì)應(yīng)的值,下標(biāo)從1開(kāi)始。例如輸入3,輸出2;輸入5,輸出5;

18.愛(ài)因斯坦出了一道這樣的數(shù)學(xué)題:有一條長(zhǎng)階梯,若每步跨⒉階,則最后剩1階,若每步跨3階﹐則最后剩⒉階,若每步跨5階,則最后剩4階,若每步跨6階則最后剩5階。只有每次跨7階,最后才正好一階不剩。請(qǐng)問(wèn),這條階梯共有多少階?

19.一輛卡車違反交通規(guī)則,撞人后逃跑?,F(xiàn)場(chǎng)有三人目擊事件,但都沒(méi)有記住車號(hào),只記下車號(hào)的一些特征(假設(shè)僅為數(shù)字)。
甲說(shuō):牌照的前兩位數(shù)字是相同的;
乙說(shuō):牌照的后兩位數(shù)字是相同的,但與前兩位不同;
丙是位數(shù)學(xué)家,他說(shuō):四位的車號(hào)剛好是一個(gè)整數(shù)的平方。請(qǐng)根據(jù)以上線索求出車號(hào)。

20.如果一個(gè)數(shù)恰好等于它的因子之和,則稱該數(shù)為“完全數(shù)”。如:6的因子是1、2、3,而6=1+2+3,則6是個(gè)“完全數(shù)”。試求出1000以內(nèi)的全部“完全數(shù)”。

21.誰(shuí)在說(shuō)謊問(wèn)題:張三說(shuō)李四在說(shuō)謊,李四說(shuō)王五在說(shuō)謊,王五說(shuō)張三和李四都在說(shuō)謊?,F(xiàn)在問(wèn):這三人中到底誰(shuí)說(shuō)的是真話,誰(shuí)說(shuō)的是假話?


審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7581

    瀏覽量

    135539
  • 關(guān)鍵字
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    6886
  • 循環(huán)語(yǔ)句
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    4851
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語(yǔ)言基礎(chǔ)知識(shí)科普

    C語(yǔ)言是單片機(jī)開(kāi)發(fā)中的必備基礎(chǔ)知識(shí),本文列舉了部分STM32學(xué)習(xí)中比較常見(jiàn)的一些C語(yǔ)言基礎(chǔ)知識(shí)
    發(fā)表于 07-21 10:58 ?1844次閱讀

    C語(yǔ)言基礎(chǔ)知識(shí)(一)

    、嵌入式系統(tǒng)和科學(xué)計(jì)算等領(lǐng)域。作為一名程序員,了解C語(yǔ)言基礎(chǔ)知識(shí)是非常重要的。本文將詳細(xì)介紹C語(yǔ)言的基礎(chǔ)概念,包括數(shù)據(jù)類型、變量、運(yùn)算符、
    發(fā)表于 08-07 16:51

    C語(yǔ)言基礎(chǔ)知識(shí)(一)

    、嵌入式系統(tǒng)和科學(xué)計(jì)算等領(lǐng)域。作為一名程序員,了解C語(yǔ)言基礎(chǔ)知識(shí)是非常重要的。本文將詳細(xì)介紹C語(yǔ)言的基礎(chǔ)概念,包括數(shù)據(jù)類型、變量、運(yùn)算符、
    發(fā)表于 08-10 15:16

    C語(yǔ)言入門教程-if語(yǔ)句和while循環(huán)

    if語(yǔ)句和while循環(huán) C語(yǔ)言中,if語(yǔ)句和while循環(huán)都會(huì)用到布爾表達(dá)式。下面是一個(gè)使用
    發(fā)表于 07-29 10:48 ?8482次閱讀

    C++語(yǔ)言基礎(chǔ)講解視頻do while循環(huán)語(yǔ)句

    C++語(yǔ)言基礎(chǔ)講解視頻do while循環(huán)語(yǔ)句
    發(fā)表于 01-14 15:32 ?5次下載

    C++語(yǔ)言基礎(chǔ)講解視頻while循環(huán)語(yǔ)句

    C++語(yǔ)言基礎(chǔ)講解視頻while循環(huán)語(yǔ)句,喜歡的朋友可以下載來(lái)學(xué)習(xí)。
    發(fā)表于 01-14 15:31 ?3次下載

    C語(yǔ)言教程之使用循環(huán)結(jié)構(gòu)設(shè)計(jì)C語(yǔ)言程序的資料說(shuō)明

    本文檔詳細(xì)介紹的是C語(yǔ)言教程之使用循環(huán)結(jié)構(gòu)設(shè)計(jì)C語(yǔ)言程序的資料說(shuō)明主要內(nèi)容包括了:1.while循環(huán)
    發(fā)表于 02-15 11:27 ?2次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>教程之使用<b class='flag-5'>循環(huán)</b>結(jié)構(gòu)設(shè)計(jì)<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>程序的資料說(shuō)明

    C語(yǔ)言的for循環(huán)語(yǔ)句的程序和電路圖免費(fèi)下載

    1、在許多實(shí)際問(wèn)題中,需要程序進(jìn)行有規(guī)律的重復(fù)執(zhí)行,這時(shí)可以用循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)。在c語(yǔ)言中。用來(lái)實(shí)現(xiàn)循環(huán)
    發(fā)表于 08-20 17:31 ?1次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>的for<b class='flag-5'>循環(huán)</b><b class='flag-5'>語(yǔ)句</b>的程序和電路圖免費(fèi)下載

    C51語(yǔ)言基礎(chǔ)知識(shí)資料說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是C51語(yǔ)言基礎(chǔ)知識(shí)資料說(shuō)明。 C51語(yǔ)言中,有相關(guān)的控制語(yǔ)句,用
    發(fā)表于 06-06 17:49 ?1次下載
    <b class='flag-5'>C</b>51<b class='flag-5'>語(yǔ)言</b>的<b class='flag-5'>基礎(chǔ)知識(shí)</b>資料說(shuō)明

    C51語(yǔ)言基礎(chǔ)知識(shí)點(diǎn)實(shí)例講解

    本文檔的主要內(nèi)容詳細(xì)介紹的是C51語(yǔ)言的18個(gè)基礎(chǔ)知識(shí)點(diǎn)實(shí)例講解包括了:C51控制語(yǔ)句C51數(shù)
    發(fā)表于 06-04 17:52 ?12次下載
    <b class='flag-5'>C</b>51<b class='flag-5'>語(yǔ)言</b>的<b class='flag-5'>基礎(chǔ)知識(shí)</b>點(diǎn)實(shí)例講解

    C語(yǔ)言基礎(chǔ)知識(shí)講解

    C語(yǔ)言基礎(chǔ)知識(shí)講解
    發(fā)表于 05-19 17:39 ?13次下載

    C語(yǔ)言-語(yǔ)句(if,for,while.....)

    這篇文章作為C語(yǔ)言基礎(chǔ)知識(shí)點(diǎn),介紹C語(yǔ)言常用的幾個(gè)語(yǔ)句的用法、規(guī)則、使用案例。
    的頭像 發(fā)表于 08-14 10:00 ?1654次閱讀

    單片機(jī)C語(yǔ)言基礎(chǔ)知識(shí)

    單片機(jī)C語(yǔ)言基礎(chǔ)知識(shí)
    發(fā)表于 10-08 09:30 ?7次下載

    C語(yǔ)言循環(huán)與分支-2

    而在c語(yǔ)言中我們經(jīng)常會(huì)需要重復(fù)地進(jìn)行一些指令,但是不斷的編輯重復(fù)代碼不僅很繁瑣,還容易出現(xiàn)bug,因此循環(huán)語(yǔ)句的使用就非常有必要。今天要介紹的就是
    的頭像 發(fā)表于 02-21 15:35 ?636次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>的<b class='flag-5'>循環(huán)</b>與分支-2

    C語(yǔ)言for語(yǔ)句介紹

    除了可以用while語(yǔ)句和do...while語(yǔ)句實(shí)現(xiàn)循環(huán)外,C語(yǔ)言還提供for語(yǔ)句實(shí)現(xiàn)
    的頭像 發(fā)表于 03-09 11:14 ?1129次閱讀