摘 要:在程序設(shè)計(jì)中,循環(huán)結(jié)構(gòu)是算法中必不可少的部分。在我們使用編程時(shí)一定要明確什么操作下需要反復(fù)執(zhí)行,操作在什么情況下重復(fù)執(zhí)行等等問題,它們分別對(duì)應(yīng)循環(huán)體和循環(huán)條件。
關(guān)鍵詞:C語言;程序設(shè)計(jì);for循環(huán)
近幾年來,計(jì)算機(jī)深入人們的衣、食、住、行中。人們逐漸加強(qiáng)對(duì)計(jì)算機(jī)技術(shù)的了解與應(yīng)用。在程序設(shè)計(jì)語言中,C語言與Pathon、Java相比,能應(yīng)用于更多的操作系統(tǒng),程序設(shè)計(jì)靈活,簡(jiǎn)單,應(yīng)用范圍廣。對(duì)程序編程員來講,在編寫程序之前需要認(rèn)真充實(shí)編程理論,掌握C語言的實(shí)際特點(diǎn),深入了解編寫規(guī)則,才能更好地進(jìn)行程序的編寫。C語言與其他語言不通,它不僅僅是計(jì)算機(jī)語言中最基礎(chǔ)的、最靈活的,也是最重要的一種程序語言。C語言從出現(xiàn)到現(xiàn)在已經(jīng)經(jīng)過了幾十年的發(fā)展。在這幾十年之間,C語言由于其獨(dú)特的優(yōu)勢(shì),不斷發(fā)展,從最初運(yùn)用其僅僅是作為程序編寫的語言,到現(xiàn)在大數(shù)據(jù)時(shí)代還能進(jìn)行數(shù)據(jù)的處理。C語言的發(fā)展跟隨著時(shí)代發(fā)展的潮流,擴(kuò)展了其的應(yīng)用領(lǐng)域。
一、C語言的特點(diǎn)
C語言的特點(diǎn)主要包含四個(gè)方面:指針、運(yùn)算符、庫(kù)函數(shù)以及其簡(jiǎn)便的操作性,下文對(duì)這些特點(diǎn)進(jìn)行簡(jiǎn)要介紹。
(1)運(yùn)算符的設(shè)計(jì)
C語言在實(shí)際應(yīng)用中,應(yīng)用范圍比較廣泛,相應(yīng)的設(shè)計(jì)也比較廣泛。C語言中的運(yùn)算符主要包含3種,與其他編程語言不同的是其包含一系列特殊的運(yùn)算符,比如括號(hào)、頓號(hào)等可以用作運(yùn)算符,對(duì)數(shù)據(jù)進(jìn)行有效的處理。
(2)操作簡(jiǎn)單
在利用C語言進(jìn)行程序編寫的時(shí)候,其編寫代碼的過程比較簡(jiǎn)單,主要涉及的內(nèi)容也就是9種類型的控制語言以及32個(gè)關(guān)鍵字,其中32個(gè)關(guān)鍵字區(qū)分大小寫。這樣能夠提升程序的編寫效率,減少代碼的出錯(cuò)概率。
(3)指針的有效性
C語言與其他語言的不同點(diǎn)之一,就是其有指針。指針的存在提升了C語言的競(jìng)爭(zhēng)力,擴(kuò)大了C語言的應(yīng)用范圍,合理利用指針,可以極大地提高程序的執(zhí)行效率。如果指針的使用出現(xiàn)錯(cuò)誤或沒有將其保護(hù)好,會(huì)引起一系列的問題。C語言的設(shè)計(jì)人員針對(duì)這一缺點(diǎn)對(duì)其進(jìn)改進(jìn),進(jìn)一步增強(qiáng)了C語言的競(jìng)爭(zhēng)力。
(4)標(biāo)準(zhǔn)庫(kù)的應(yīng)用
在利用C語言進(jìn)行程序設(shè)計(jì)的時(shí)候,除了要使用控制類語言以及32字符編碼,還需要使用標(biāo)準(zhǔn)庫(kù)進(jìn)行編寫。C語言都是通過主程序開始,然后在主程序員中調(diào)動(dòng)子程序,子程序完成時(shí),主程序的程序也隨之結(jié)束。
二、循環(huán)結(jié)構(gòu)中的程序設(shè)計(jì)
在程序的設(shè)計(jì)當(dāng)中,我們?nèi)绻枰M(jìn)行重復(fù)執(zhí)行某些操作,那么就要用上循環(huán)結(jié)構(gòu),學(xué)習(xí)者要注意區(qū)分循環(huán)結(jié)構(gòu)和分支結(jié)構(gòu),雖然這兩種結(jié)構(gòu)都會(huì)用到條件判斷,但判斷以后的形式完全不同,分支結(jié)構(gòu)中的語句它只執(zhí)行操作一次,但循環(huán)結(jié)構(gòu)中的語句,可以進(jìn)行重復(fù)多次。
我們學(xué)習(xí)循環(huán)程序的實(shí)現(xiàn)要點(diǎn)有兩條分別是:
1)要?dú)w納出哪些操作需要反復(fù)執(zhí)行循環(huán)體-循環(huán)體。
2)這些操作在什么情況下進(jìn)行重復(fù)執(zhí)行-循環(huán)控制的條件。
只要確定了循環(huán)體和循環(huán)的條件,那么循環(huán)結(jié)構(gòu)差不多就確定了,再選擇C語言給我學(xué)習(xí)提供的三中循環(huán)語句(for,while do-while)來實(shí)現(xiàn)循環(huán)。
如果在執(zhí)行的過程中遇到了循環(huán)問題,我們?nèi)绾稳ミx擇哪一種語句呢?一般情況下,它們都是通用的,但用的時(shí)候它們各有自己的特色和差別。
一般說,操作定了循環(huán)次數(shù),那么我們首選for語句,它看起來是最清晰的,循環(huán)的4個(gè)組成部分了就一目了然;沒有明確次數(shù)的話,那就需要通過其他的條件來控制循環(huán)。
三、for循環(huán)語句
for循環(huán)語句與while循環(huán)語句功能相同,for循環(huán)語句可以將初始化操作、循環(huán)條件、循環(huán)變量修改放在關(guān)鍵字for后面的括號(hào)中,使得for循環(huán)結(jié)構(gòu)更直觀,使用更靈活。for語句的語法格式:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體。
四、for循環(huán)語句執(zhí)行過程
程序執(zhí)行到for循環(huán)語句是首先計(jì)算表達(dá)式1語句,然后在計(jì)算表達(dá)式2語句,表達(dá)式2語句表示循環(huán)條件,根據(jù)表達(dá)式2語句的執(zhí)行結(jié)果判斷真假值,表達(dá)式2語句的結(jié)果為0表示假值,表達(dá)式2語句的結(jié)果非0表示真值。如果表達(dá)式2語句的結(jié)果為真值,則執(zhí)行循環(huán)體,循環(huán)體結(jié)束在執(zhí)行表達(dá)式3語句,然后繼續(xù)執(zhí)行表達(dá)式2語句,在根據(jù)表達(dá)式2語句的結(jié)果決定是否繼續(xù)執(zhí)行循環(huán)體。如果表達(dá)式2語句的結(jié)果為假值則結(jié)束循環(huán)語句。
在for循環(huán)語句執(zhí)行過程中,表達(dá)式1語句最先得到執(zhí)行,而且只執(zhí)行一次,所以表達(dá)式1通常用于程序初始化操作。同時(shí)表達(dá)式1語句可以放在for循環(huán)語句的外面執(zhí)行,即在執(zhí)行for循環(huán)語句之前先進(jìn)行初始化操作,此時(shí)for語句語法格式中表達(dá)式1的位置用空來代替。
在for循環(huán)語句執(zhí)行過程中,執(zhí)行完循環(huán)體語句之后緊接著執(zhí)行表達(dá)式3語句,表達(dá)式3語句通常起到的作用是修正循環(huán),即使得循環(huán)往結(jié)束的方向運(yùn)行,所以表達(dá)式3語句可以放在循環(huán)體語句之后,作為循環(huán)體語句的一部分,此時(shí)for語句語法格式中表達(dá)式3的位置用空來代替。
表達(dá)式2語句的位置也可以為空,如果表達(dá)式2語句的位置為空的話,表示循環(huán)條件永遠(yuǎn)為真,如果是這樣的話,在循環(huán)體中就要配合break語句使用,否則for循環(huán)語句將無法退出進(jìn)入死循環(huán)結(jié)構(gòu)。
五、用for語句實(shí)現(xiàn)找出輸入10個(gè)整數(shù)的最大值和最小值
(一)輸入10個(gè)整數(shù)找出最大的數(shù)和最小的數(shù)程序設(shè)計(jì)算法
變量設(shè)計(jì):a存放暫時(shí)每次輸入的整數(shù);max存放最大值;min存放最小值;i用來計(jì)數(shù)。
算法設(shè)計(jì):每次輸入一個(gè)整數(shù),輸入一次比較一次,過程如下。
(1)變量初始化:輸入第一個(gè)整數(shù),既是最大值也是最小值。
(2)從第二個(gè)整數(shù)開始到第十個(gè)整數(shù)結(jié)束,循環(huán)執(zhí)行以下步驟:
(1)輸入a值。
(2)a值與max比較,如果a大于max值,則用a值替換max值。
(3)a值與min比較,如果a小于min值,則用a值替換min值。
(二)輸入10個(gè)整數(shù)找出最大的數(shù)和最小的數(shù)程序設(shè)計(jì)代碼
參考文獻(xiàn)
[1]梁海英.C語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2013.
[2]譚浩強(qiáng).C語言程序設(shè)計(jì)(第3版)[M].北京:清華大學(xué)出版社,2014.
[3]高宏娟.淺談C語言中"循環(huán)結(jié)構(gòu)"的教學(xué)設(shè)計(jì)[J].福建電腦,2014,030(004):61-64.
[4]曾輝.探討C語言中循環(huán)結(jié)構(gòu)的教學(xué)方法[J].科技信息,2010,000(026):203.
作者簡(jiǎn)介:何貞昱,女(1986.10-)壯族,廣西來賓人,學(xué)士,館員,研究方向:計(jì)算機(jī)。