91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

了解一些C程序的基本規(guī)則

lhl545545 ? 來源:程序猿虎牙參 ? 作者:程序猿虎牙參 ? 2020-07-27 11:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一個(gè)簡(jiǎn)單程序的結(jié)構(gòu)

你已經(jīng)看過一個(gè)具體的例子,下面可以了解一些 C程序的基本規(guī)則了。

程序由一個(gè)或多個(gè)函數(shù)組成,其中一定有一個(gè)名為 main()的函數(shù)。函數(shù)的描述由函數(shù)頭和函數(shù)體組成。函數(shù)頭包括預(yù)處理語句#include和函數(shù)名??梢酝ㄟ^圓括號(hào)識(shí)別一個(gè)函數(shù)名。而函數(shù)體位于花括號(hào) { }中,并由一系列語句組成,每個(gè)語句以一個(gè);結(jié)束 。

了解一些C程序的基本規(guī)則

一個(gè)包含函數(shù)頭和函數(shù)體的函數(shù)

上面的例子中包含一個(gè)聲明語句,指出所使用的變量名和類型。然后是一個(gè)賦值語句,給變量賦一個(gè)值。接著,是1個(gè)輸出語句,調(diào)用 printf()函數(shù)。最后,main()由一個(gè) return 語句結(jié)束。

程序的可讀性

讓程序具有可讀性是一個(gè)良好的編程習(xí)慣。一個(gè)可讀的程序更易于理解,而且可以更容易地修改它。使程序可讀還有助于你自己對(duì)程序所做的事情概念更清楚。

前面我們都已經(jīng)知道了兩種提高可讀性的技巧:

● 選擇有意義的變量名

● 使用注釋

請(qǐng)注意這兩種技巧的互補(bǔ)性。如果變量名是 width(寬度),就不需要用注釋來說明該變量表示寬度,但是如果變量名是 video_routine_4,那么就需要解釋一下 video routine 4的具體意義了。

第三個(gè)技巧是使用空行分隔一個(gè)函數(shù)的多個(gè)部分。例如,前面那個(gè)簡(jiǎn)單的示例程序就使用一個(gè)空行來分隔定義部分和動(dòng)作部分。 C不要求有這個(gè)空行,但它可以增加程序的可讀性。

第四個(gè)技巧就是每個(gè)語句盡量都只用一行。同樣,這也是提高可讀性的一個(gè)約定,而不是 C語言的要求。C的格式比較自由,你可以把多個(gè)語句放在一行或把一個(gè)語句分成好多行。

下面的語句對(duì)于編譯器來說是合法的,但是非 常 不 好 看:

了解一些C程序的基本規(guī)則

事實(shí)上如果你在公司里寫代碼如果是這種風(fēng)格的話,你第二天就會(huì)被項(xiàng)目經(jīng)理辭退,還會(huì)狠狠的罵一頓教你C語言的人,雖然他可能不知道是誰教的你C語言!

變量的多個(gè)聲明

在一個(gè)程序中,需要實(shí)現(xiàn)的功能越多,那么所定義的變量就會(huì)越多,這時(shí)候我們通??梢栽谝粋€(gè)聲明語句里聲明兩個(gè)變量。為此,在聲明語句中需要用一個(gè)逗號(hào)把兩個(gè)變量 分開。也就是說,

int a,b;

int a;

int b;

所表達(dá)的意思是完全相同的,只是所書寫的方式不一樣。

程序的多個(gè)函數(shù)

到目前為止,這些程序中只有一個(gè)main函數(shù)的函數(shù)體,那么除了 main()函數(shù)之外,怎樣把你自己的函數(shù)加入到程序中呢。

我們來看看下面的例子

了解一些C程序的基本規(guī)則

hanshuyi( )函數(shù)和hanshuer( )函數(shù)在上面的程序中出現(xiàn)了 3次。

第一次出現(xiàn)是在函數(shù)聲明中,通知編譯器后面要用到的該函數(shù)。

第二次是在main()函數(shù)中以函數(shù)調(diào)用的形式出現(xiàn)的。

最后,程序給出了函數(shù)本身的源代碼。讓我們依次看一下它在程序中的每一次出現(xiàn)。

首先,我們寫的hanshuyi()函數(shù)的定義方式和 main()是相同的,都是用一個(gè)函數(shù)頭和括在花括號(hào)中的函數(shù)體。同時(shí),hanshuyi()函數(shù)的執(zhí)行時(shí)間由 main()函數(shù)調(diào)用它的位置決定,而不是由 hanshuyi()在文件中定義的位置決定的。

例如,在本程序中,你可以把 hanshuyi()函數(shù)定義在 main()函數(shù)的前面,程序的執(zhí)行不會(huì)改變,hanshuyi()函數(shù)仍是在兩次 printf()調(diào)用之間執(zhí)行的。記住,所有的 C語言程序都是從 main()函數(shù)開始執(zhí)行的,main函數(shù)也稱之為入口函數(shù),不管它在程序文件中處于什么位置。

最后我們來看下函數(shù)的走向,

當(dāng)聲明函數(shù)之后,我們就進(jìn)入了主函數(shù),執(zhí)行第一句printf()函數(shù);

然后通過簡(jiǎn)單地給出 hanshuyi()函數(shù)的名字在 main()函數(shù)中調(diào)用該函數(shù);

當(dāng) hanshuyi()執(zhí)行完畢后,程序會(huì)繼續(xù)執(zhí)行 main()函數(shù)的下一個(gè)語句,也就是第二個(gè)printf()函數(shù);

然后再執(zhí)行hanshuer() ;

然后執(zhí)行g(shù)etchar()函數(shù),防止閃屏;

最后return結(jié)束顯示窗口。
責(zé)任編輯:pj

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

    關(guān)注

    183

    文章

    7644

    瀏覽量

    145658
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4417

    瀏覽量

    67560
  • C程序
    +關(guān)注

    關(guān)注

    4

    文章

    255

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    爬壁機(jī)器人磁鐵的一些常見問題

    爬壁機(jī)器人近幾年比較火,它是類能夠在垂直墻面、天花板、傾斜表面上移動(dòng)和作業(yè)的特種機(jī)器人,今天我們不聊其它,只聊下關(guān)于磁吸附應(yīng)用中的磁鐵,以下是小編整理的關(guān)于爬壁機(jī)器人中磁鐵的一些常見問題。
    的頭像 發(fā)表于 01-09 10:06 ?279次閱讀
    爬壁機(jī)器人磁鐵的<b class='flag-5'>一些</b>常見問題

    C語言中一些令人震驚的結(jié)構(gòu)介紹

    C語言同意一些令人震驚的結(jié)構(gòu),下面的結(jié)構(gòu)是合法的嗎,如果是它做些什么? int a = 5, b = 7, c; c = a+++b; 考察點(diǎn): 這個(gè)問題將作為這個(gè)測(cè)驗(yàn)的
    發(fā)表于 12-23 08:15

    關(guān)于六類網(wǎng)線一些問題的解答

    今天我們就圍繞網(wǎng)友一些常見的關(guān)于六類網(wǎng)線的問題進(jìn)行下匯總式解答: 問 六類網(wǎng)線可以當(dāng)電源用嗎? 答 六類網(wǎng)線并不是設(shè)計(jì)用于傳輸電力的電纜,因此般不建議將其用于電源傳輸。 盡管六類網(wǎng)線的線芯可以
    的頭像 發(fā)表于 12-09 11:13 ?589次閱讀

    貼片電容精度J±5%的一些詳細(xì)知識(shí)

    貼片電容精度J±5%表示電容的實(shí)際值與標(biāo)稱值之間的偏差范圍在±5%以內(nèi) ,以下是關(guān)于貼片電容精度J±5%的一些詳細(xì)知識(shí): 、精度等級(jí)含義 J±5% :字母“J”在貼片電容的標(biāo)識(shí)中通常表示標(biāo)稱精度
    的頭像 發(fā)表于 11-20 14:38 ?665次閱讀
    貼片電容精度J±5%的<b class='flag-5'>一些</b>詳細(xì)知識(shí)

    使用三菱FX5U PLC的經(jīng)典小程序案例

    實(shí)際的PLC程序往往是某些典型小程序的擴(kuò)展與疊加,因此掌握一些典型小程序對(duì)大型復(fù)雜程序的編寫非常有利。 鑒于此,本文將給出
    的頭像 發(fā)表于 11-07 13:57 ?5731次閱讀
    使用三菱FX5U PLC的經(jīng)典小<b class='flag-5'>程序</b>案例

    Vivado浮點(diǎn)數(shù)IP核的一些設(shè)置注意點(diǎn)

    Vivado浮點(diǎn)數(shù)IP核的一些設(shè)置注意點(diǎn) 我們?cè)趘ivado2018.3中使用了Floating-point(7.1)IP核,可以自定義其計(jì)算種類及多模式選擇。有時(shí)多種計(jì)算可以用同個(gè)IP核實(shí)
    發(fā)表于 10-24 06:25

    極海MCU的ISP和IAP中程序跳轉(zhuǎn)運(yùn)行問題分析

    最近在調(diào)試程序程序升級(jí)方式,遇到了不少的問題,本篇筆記記錄下遇到的一些問題及在這個(gè)過程中的一些問題及思考。
    的頭像 發(fā)表于 10-10 14:31 ?3529次閱讀
    極海MCU的ISP和IAP中<b class='flag-5'>程序</b>跳轉(zhuǎn)運(yùn)行問題分析

    MISRA C:2025新標(biāo)準(zhǔn)解析:新增規(guī)則、優(yōu)化點(diǎn)與靜態(tài)代碼分析工具支持(Perforce QAC、Klocwork)

    MISRA C:2025?發(fā)布!新增5條規(guī)則,并對(duì)部分現(xiàn)有規(guī)則進(jìn)行了擴(kuò)展、重組,以進(jìn)步簡(jiǎn)化安全關(guān)鍵型系統(tǒng)的開發(fā)流程。如何實(shí)現(xiàn)最新MISRA合規(guī)性?
    的頭像 發(fā)表于 05-08 17:58 ?2918次閱讀
    MISRA <b class='flag-5'>C</b>:2025新標(biāo)準(zhǔn)解析:新增<b class='flag-5'>規(guī)則</b>、優(yōu)化點(diǎn)與靜態(tài)代碼分析工具支持(Perforce QAC、Klocwork)

    Debian和Ubuntu哪個(gè)好一些?

    兼容性對(duì)比Debian和Ubuntu哪個(gè)好一些,并為您揭示如何通過RAKsmart服務(wù)器釋放Linux系統(tǒng)的最大潛能。
    的頭像 發(fā)表于 05-07 10:58 ?1167次閱讀

    對(duì)CY7C65211有一些疑問求解答

    我對(duì) CY7C65211 有一些疑問。 (1)關(guān)于制造商字符串,評(píng)估套件(CYUSB234)顯示“ CYPRESS? Semiconductor”,但我認(rèn)為從現(xiàn)在開始發(fā)貨的設(shè)備的默認(rèn)值將更改
    發(fā)表于 05-06 09:28

    如何添加一些網(wǎng)絡(luò)上的庫到mpy固件的說明或手冊(cè)教程?

    下有沒有關(guān)于如何添加一些網(wǎng)絡(luò)上的庫到mpy固件的說明或手冊(cè)教程? 問題2: 關(guān)于mpy的image庫在哪里能了解學(xué)習(xí)內(nèi)部代碼,只了解一些python,想知道怎么從
    發(fā)表于 04-29 08:16

    使用RTD5.0.0的s32k312,C40_Ip擦除pflash存在一些問題求解決

    我正在使用 RTD5.0.0 的 s32k312,C40_Ip擦除 pflash 存在一些問題: Erase block0(0x420000-0x500000) failed
    發(fā)表于 04-11 06:53

    樹莓派在自動(dòng)化控制項(xiàng)目中的一些潛在應(yīng)用

    自動(dòng)化控制項(xiàng)目中的一些潛在應(yīng)用。之前,我們已經(jīng)為Arduino平臺(tái)探討了相同的話題。我們確定Arduino是個(gè)出色的教育工具,但由于一些限制,它無法在工業(yè)環(huán)境中完全
    的頭像 發(fā)表于 03-25 09:45 ?631次閱讀
    樹莓派在自動(dòng)化控制項(xiàng)目中的<b class='flag-5'>一些</b>潛在應(yīng)用

    如何在 樹莓派 上編寫和運(yùn)行 C 語言程序?

    在本教程中,我將討論C編程語言是什么,C編程的用途,以及如何在RaspberryPi上編寫和運(yùn)行C程序。本文的目的是為您介紹在RaspberryPi上進(jìn)行
    的頭像 發(fā)表于 03-25 09:28 ?1167次閱讀
    如何在 樹莓派 上編寫和運(yùn)行 <b class='flag-5'>C</b> 語言<b class='flag-5'>程序</b>?

    為什么學(xué)了C語言,卻寫不出像樣的項(xiàng)目?

    一些問題:學(xué)了不少語法,指針、數(shù)組、結(jié)構(gòu)體都能看懂,但到真正寫程序時(shí)就不知道該如何下手;看了不少教程,甚至能背下來一些代碼模板,但遇到新問題時(shí)還是會(huì)卡??;想做個(gè)完整的
    的頭像 發(fā)表于 03-14 17:37 ?926次閱讀
    為什么學(xué)了<b class='flag-5'>C</b>語言,卻寫不出像樣的項(xiàng)目?