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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

程序的可讀性

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

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

● 選擇有意義的變量名

● 使用注釋

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

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

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

下面的語(yǔ)句對(duì)于編譯器來(lái)說(shuō)是合法的,但是非 常 不 好 看:

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

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

變量的多個(gè)聲明

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

int a,b;

int a;

int b;

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

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

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

我們來(lái)看看下面的例子

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

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

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

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

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

首先,我們寫(xiě)的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語(yǔ)言程序都是從 main()函數(shù)開(kāi)始執(zhí)行的,main函數(shù)也稱(chēng)之為入口函數(shù),不管它在程序文件中處于什么位置。

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

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

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

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guā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)注

    183

    文章

    7645

    瀏覽量

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

    關(guān)注

    3

    文章

    4419

    瀏覽量

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

    關(guān)注

    4

    文章

    255

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    爬壁機(jī)器人磁鐵的一些常見(jiàn)問(wèn)題

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

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

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

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

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

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

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

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

    實(shí)際的PLC程序往往是某些典型小程序的擴(kuò)展與疊加,因此掌握一些典型小程序對(duì)大型復(fù)雜程序的編寫(xiě)非常有利。 鑒于此,本文將給出
    的頭像 發(fā)表于 11-07 13:57 ?5785次閱讀
    使用三菱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ì)算種類(lèi)及多模式選擇。有時(shí)多種計(jì)算可以用同個(gè)IP核實(shí)
    發(fā)表于 10-24 06:25

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

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

    有償請(qǐng)教容性負(fù)載的放大電路的一些問(wèn)題

    等于輸入是3V【3.5v】,Cp兩端是30V【27v】,但我實(shí)際輸出是【】里面的值),就想是不是還有哪些細(xì)節(jié)地方還要加一些元器件,在這個(gè)電路簡(jiǎn)圖里面別人沒(méi)有標(biāo)出。 目前已經(jīng)試過(guò)很多辦法都不行,比如把
    發(fā)表于 05-29 20:06

    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)的開(kāi)發(fā)流程。如何實(shí)現(xiàn)最新MISRA合規(guī)性?
    的頭像 發(fā)表于 05-08 17:58 ?3055次閱讀
    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è)好一些,并為您揭示如何通過(guò)RAKsmart服務(wù)器釋放Linux系統(tǒng)的最大潛能。
    的頭像 發(fā)表于 05-07 10:58 ?1211次閱讀

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

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

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

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

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

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

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

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

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

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