chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

如何才能熟練掌握關于for循環(huán)

C語言編程基礎 ? 來源:博客 ? 作者:倫易俳嵌咕 ? 2021-08-14 09:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

好吧,也許你認為我在寫一篇如何使用for循環(huán)的文章,,,,首先,我想說無論是學習C語言還是學習java的同學都能從此文中獲益,還有,你確定你會用for循環(huán)嗎?其實許多東西你只是在表面,要品才能有一種感覺,有的時候,我喜歡咬文嚼字一下,所以你可以認為我現(xiàn)在在程序中討論關于“用推還是用敲”的話題。

先來問你一個問題,一個簡單的數(shù)學問題,不過你盡量快點回答,區(qū)間[9,15]中有幾個整數(shù)?

多數(shù)想馬上表現(xiàn)自己聰明的同學可能會馬上回答6個,但是是7個,你會發(fā)現(xiàn)這種雙閉區(qū)間的元素會比你想象的多,就連[9,9]都有一個元素是嗎?而半開半閉就不同了[0,10)你可以不假思索的用[m,n)中有n-m個元素,來回答這個答案,10個元素,你發(fā)現(xiàn)什么了沒?這。。有點像數(shù)組,恩恩,這個問題就是我們在本文后面將討論的你如何才能熟練的使用這些多1少1的問題?,F(xiàn)在先開始說for循環(huán)

我常常把最簡單的for循環(huán)稱之為循環(huán)計數(shù)器:

for(inti =1;i《=10;i++)cout《《“求妹子”《

你看,這里的i只是一個計數(shù)的作用,它在告訴cpu,去把我的這條語句執(zhí)行十次把!

你可能會說,這有什么?for都是這樣的呀!請你往下看

for(inti =1;i《=10;i++)cout《《“求”《

這個for就不同了,它把i做為一種產(chǎn)物,在循環(huán)中使用它,我把它稱之為循環(huán)產(chǎn)生器,這個i就不僅僅是讓循環(huán)執(zhí)行十次的作用了,它在每次的循環(huán)中產(chǎn)生,循環(huán)體的語句中有自己的作用,所以當你理解所謂的循環(huán)產(chǎn)生器,你就會很輕松的寫出各種多層循環(huán)的程序了,比如崔哥曾出個這樣一個題:

請用循環(huán)語句打印一個空心菱形:

我將用一種清晰的思路來分析寫這個程序,

嗯,我先寫一個函數(shù),它提供的接口如下:

void print(int n,int p,int q);//在一行輸出n個元素,除了在p和q出輸出*其它地方都輸出空格

恩,很簡單的一個函數(shù):

void print(int n,int p,int q){ for(int i = 1;i《=n;i++) { if(i==p||i==q) printf(“*”); else printf(“ ”); } printf(“

”);}

void print(int n,int p,int q){ for(int i = 1;i《=n;i++) { if(i==p||i==q) printf(“*”); else printf(“ ”); } printf(“

”);}

所以,用所謂的循環(huán)產(chǎn)生器,產(chǎn)生我們需要的參數(shù)傳遞給這個函數(shù)不就行了嗎?

下面,我們先做一些約定

“你我約定,難過的往事不許提”。。。

開玩笑了,,,我們繼續(xù):

首先,輸出空心菱形,這個行數(shù)一定是個奇數(shù),

所以我們用1到LOW來表示這LOW個位置,而且中間的那個位置就是LOW/2+1

這樣我們的程序就是這樣:

#define LOW 13int j,k,n = LOW/2+1;//空心菱形的中間位置j=k=n;for(int i = 1;i《=LOW;i++){ print(LOW,j,k); if(i《n) j--,k++; else j++,k--;}

i做為一個產(chǎn)生器,不但讓循環(huán)執(zhí)行LOW次(打印low行)同時也控制產(chǎn)生這j和k這兩個參數(shù)了,當然我們在清晰道理之后,完全可以把這個函數(shù)嵌到循環(huán)中,看只用了兩個for,而不是某些同學的分段循環(huán),四個for。。。

繼續(xù)討論有關for的話題,現(xiàn)在我要通過說明for的一些使用細節(jié),來向你展示,你用什么樣的語言決定你的編程思維,我問你如果讓你訪問數(shù)組a[10]的每個元素,你會寫怎樣的代碼?

for(int i = 0;i《=9;i++)

還是

for(int i = 0;i!=10;i++)

我一直都是使用第二種,因為這可以很好的說明半開半閉區(qū)間的思想,而且,C數(shù)組本身就是從零開始的,我們用10來表示它最后一個元素的下一個位置(因為最后一個元素是a[9]),

其實,不僅僅是數(shù)組,在許多語言的迭代器(包括c++標準庫)中都會使用第一個元素表示頭,最后一個元素的下一個位置表示尾,半開半閉區(qū)間的這種思想可以讓你不用陷入多1或是少1的問題中,比如[n,n)是沒有元素的,[n,m)是有m-n個元素的。。

至于為什么是i!=10,而不是i《10,那要是這樣的語句呢?

for(int i = 10;i!=0;i--)

不用把”《”改成”》”了,而且。。。作為一個終止狀態(tài),還有用(后面論述)

現(xiàn)在還記得開頭的那個求妹子的列子嗎?

for(inti =1;i《=10;i++)cout《《“求”《

這里我就讓i從1到10,(我不可能求0個妹子吧?)所以,這種對循環(huán)i的選取,0或1,是很有細節(jié)思考的。

下面再看一個列子:

inti;for(i=0;a[i]!=‘c’&&i!=N;i++);

這段代碼的作用是在一個char數(shù)組中找到第一個是’c’的元素,并返回它的索引

有幾個有趣的地方:

我把i的定義放在外面

這個for循環(huán)沒有循環(huán)體,看那個分號。。。。。。

不是計數(shù)器,不是產(chǎn)生器,我喜歡把這種for稱之為循環(huán)搜捕器,它用來找一個元素

所以我把i定義在循環(huán)外,因為之后我們還要使用到i,而同時也與前面的那些for循環(huán)中把i定義到for里面形成了對比,因為之前的作用,我并不想把它的作用域外流,實際上,在c++中鼓勵你這么使用for,不讓它外流,這種東西在vc6.0會出點問題(因為它不是標準的c++),因為i的作用域會外流,所以你就不能寫for(int i;;)這樣的語句兩次,它會報錯說你重定義了。而在c語言中,之前是不支持for(int i;;)這種定義方式的,不過在c99的時候,它也支持了,并鼓勵你這樣寫。

并且,通過這個搜捕器,它的條件是a[i]!=‘c’&&i!=N,所以循環(huán)終止時,是a[i]==‘c’||i==N這就是我之前說的終止條件,我們就可以在之后寫這樣的語句;

if(i==N)//沒找到else//找到了。i 是它的下標

這就是為什么用’!=’而不是《的原因了,這可以很清楚的看清終止條件。

以上就是今天的分享,小伙伴們可以點個贊支持一下喲~

編輯:jq

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

    關注

    68

    文章

    11186

    瀏覽量

    221221
  • 產(chǎn)生器

    關注

    0

    文章

    25

    瀏覽量

    20345
  • 函數(shù)
    +關注

    關注

    3

    文章

    4400

    瀏覽量

    66345
  • for循環(huán)

    關注

    0

    文章

    61

    瀏覽量

    2826

原文標題:C語言編程筆記:關于 for循環(huán) 的那些不為人知的秘密!

文章出處:【微信號:xx-cyy,微信公眾號:C語言編程基礎】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    人工智能行業(yè)如何使用for循環(huán)語句進行循環(huán)

    人工智能行業(yè)可以使用以下是關于for循環(huán)在不同編程語言中的基本用法說明: Python中的for循環(huán): 主要用于遍歷序列(列表、元組、字符串等) 典型結(jié)構(gòu):for item in sequence
    的頭像 發(fā)表于 09-10 12:55 ?305次閱讀

    開發(fā)單片機需要學習什么?軟件編程的 4 個關鍵層次

    ,缺一不可。 第一層是 C 語言基礎語法。這是單片機編程的 “通用語言”,需熟練掌握變量(字符型、整型、浮點型)、函數(shù)(定義、調(diào)用、返回值)、流程控制(if-else、for 循環(huán)、switch),以及數(shù)組、指針的基本用法。不用追求復雜語法,重點是 “能用簡潔代碼實現(xiàn)
    的頭像 發(fā)表于 08-25 11:32 ?384次閱讀

    高效管理Kubernetes集群的實用技巧

    作為一名經(jīng)驗豐富的運維工程師,我深知在日常的Kubernetes集群管理中,熟練掌握kubectl命令是提升工作效率的關鍵。今天,我將分享15個經(jīng)過實戰(zhàn)檢驗的kubectl實用技巧,幫助你像藝術家一樣優(yōu)雅地管理K8s集群。
    的頭像 發(fā)表于 08-13 15:57 ?500次閱讀

    三大核心網(wǎng)絡設備的運維要點

    作為運維工程師,熟練掌握網(wǎng)絡設備的管理和維護是構(gòu)建穩(wěn)定IT基礎架構(gòu)的關鍵。本文將深入探討交換機、路由器和防火墻這三大核心網(wǎng)絡設備的運維要點,從基礎配置到高級故障排除,為您提供全面的技術指導。
    的頭像 發(fā)表于 07-22 16:35 ?466次閱讀

    一文掌握Linux命令

    作為一名運維工程師,熟練掌握Linux命令是基本功中的基本功。無論是日常工作中的系統(tǒng)維護,還是面試時的技術考核,Linux命令都是繞不開的核心技能。本文將從實戰(zhàn)角度出發(fā),系統(tǒng)梳理運維工程師必須掌握的Linux命令,并結(jié)合實際場景解析其應用方法。
    的頭像 發(fā)表于 07-22 15:23 ?317次閱讀

    熟練掌握ModbusTCP轉(zhuǎn)PROFINET網(wǎng)關的互轉(zhuǎn)技術

    在現(xiàn)代工業(yè)生產(chǎn)中,自動化與信息化的深度融合成為提升效率、優(yōu)化流程的關鍵。在這一背景下,不同通信協(xié)議之間的兼容性與轉(zhuǎn)換能力顯得尤為重要,尤其是在廣泛應用的Modbus TCP與新興且高效的Profinet之間。本文將深入探討Modbus TCP向Profinet轉(zhuǎn)換的過程、技術細節(jié)及其應用價值,旨在為工業(yè)自動化領域的從業(yè)者提供一份實用的知識指南。 添加圖片注釋,不超過 140 字(可選) 二、Modbus TCP轉(zhuǎn)Profinet網(wǎng)關的重要性 鑒于Modbus TCP與Profinet各自在不同領域的優(yōu)勢
    的頭像 發(fā)表于 07-07 18:26 ?178次閱讀
    <b class='flag-5'>熟練掌握</b>ModbusTCP轉(zhuǎn)PROFINET網(wǎng)關的互轉(zhuǎn)技術

    基礎篇3:掌握Python中的條件語句與循環(huán)

    在Python編程語言中,條件語句和循環(huán)是構(gòu)成復雜邏輯和數(shù)據(jù)處理的基石。本篇基礎教程將幫助您深入了解Python中的條件語句和循環(huán)結(jié)構(gòu),讓您能夠更好地控制程序流程。 條件語句 條件語句允許程序根據(jù)
    發(fā)表于 07-03 16:13

    小屏幕,大能量 —— 聚會這款工業(yè)觸摸屏助力傳統(tǒng)設備向智能化轉(zhuǎn)型

    設備注入新的活力,實現(xiàn)從 “制造” 到 “智造” 的華麗蛻變。 一、人機交互革新,簡化操作流程 傳統(tǒng)設備往往依賴復雜的按鈕、旋鈕和指示燈進行操作與狀態(tài)顯示,操作人員需要經(jīng)過長時間培訓才能熟練掌握,不僅效率低下,還容易出現(xiàn)
    的頭像 發(fā)表于 05-16 15:31 ?312次閱讀

    電機學教程

    電磁關系,熟練掌握各類電機的運行原理及其分析方法: (3)在以上分析的基礎上,掌握各種電機的工作特性、外特性、機械特性、調(diào)速特性和起動特性等; (4)根據(jù)以上所掌握的各種運行特性,熟知其運用場合,分析其
    發(fā)表于 05-12 14:50

    別忽視!TNC 插座正確拆卸關乎設備壽命

    正確拆卸 TNC 插座,看似微不足道,實則對設備的穩(wěn)定運行及使用壽命影響重大。無論是專業(yè)技術人員,還是普通使用者,都應熟練掌握正確拆卸方法,避免因操作不當對設備造成損害,進而降低設備維護成本,延長設備使用壽命,確保通信與電子設備高效運轉(zhuǎn)。
    的頭像 發(fā)表于 03-28 08:57 ?476次閱讀
    別忽視!TNC 插座正確拆卸關乎設備壽命

    技術干貨驛站 ▏深入理解C語言:嵌套循環(huán)循環(huán)控制的底層原理

    多重循環(huán),還是控制循環(huán)的執(zhí)行流程,掌握這些知識都將為你的編程之路打下堅實的基礎。嵌套循環(huán)在C語言中,循環(huán)語句可以嵌套使用,即在一個
    的頭像 發(fā)表于 02-21 18:26 ?887次閱讀
    技術干貨驛站  ▏深入理解C語言:嵌套<b class='flag-5'>循環(huán)</b>與<b class='flag-5'>循環(huán)</b>控制的底層原理

    控制咖啡機水溫的關鍵在于NTC溫度傳感器

    對于熱愛咖啡的人來說,一杯完美的咖啡需要精心挑選優(yōu)質(zhì)的咖啡豆,熟練掌握烘焙技巧,以及恰到好處地控制水溫。在咖啡機中,NTC溫度傳感器扮演著關鍵的角色,確??Х人疁鼐珳士刂?,讓我們享受到口感豐富、濃郁的咖啡體驗。
    的頭像 發(fā)表于 01-14 09:40 ?1017次閱讀

    深入理解C語言:循環(huán)語句的應用與優(yōu)化技巧

    在程序設計中,我們常常需要重復執(zhí)行某一段代碼。為了提高效率和簡化代碼,循環(huán)語句應運而生。C語言作為一門經(jīng)典的編程語言,提供了多種循環(huán)控制結(jié)構(gòu),幫助程序員高效地實現(xiàn)重復操作。掌握循環(huán)語句
    的頭像 發(fā)表于 12-07 01:11 ?838次閱讀
    深入理解C語言:<b class='flag-5'>循環(huán)</b>語句的應用與優(yōu)化技巧

    無刷電機方波驅(qū)動原理分析

    通過前幾期芝識課堂的學習,相信大家已經(jīng)熟練掌握了電機的各種基本情況和工作模式,大家也該躍躍欲試希望能進入實戰(zhàn)動手環(huán)節(jié)了,準備好操作電機的所有前期準備,讓我們一起讓無刷電機真正工作起來吧!
    的頭像 發(fā)表于 11-21 18:12 ?2492次閱讀
    無刷電機方波驅(qū)動原理分析

    基于FPGA實現(xiàn)數(shù)碼管顯示

    本文介紹數(shù)碼管顯示譯碼基本工作原理及Verilog HDL驅(qū)動代碼編寫,進一步熟練掌握FPGA入門基礎知識。
    的頭像 發(fā)表于 10-24 14:44 ?2153次閱讀
    基于FPGA實現(xiàn)數(shù)碼管顯示