在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

了解一些C程序的基本規則

lhl545545 ? 來源:程序猿虎牙參 ? 作者:程序猿虎牙參 ? 2020-07-27 11:01 ? 次閱讀

一個簡單程序的結構

你已經看過一個具體的例子,下面可以了解一些 C程序的基本規則了。

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

了解一些C程序的基本規則

一個包含函數頭和函數體的函數

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

程序的可讀性

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

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

● 選擇有意義的變量名

● 使用注釋

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

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

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

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

了解一些C程序的基本規則

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

變量的多個聲明

在一個程序中,需要實現的功能越多,那么所定義的變量就會越多,這時候我們通常可以在一個聲明語句里聲明兩個變量。為此,在聲明語句中需要用一個逗號把兩個變量 分開。也就是說,

int a,b;

int a;

int b;

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

程序的多個函數

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

我們來看看下面的例子

了解一些C程序的基本規則

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

第一次出現是在函數聲明中,通知編譯器后面要用到的該函數。

第二次是在main()函數中以函數調用的形式出現的。

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

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

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

最后我們來看下函數的走向,

當聲明函數之后,我們就進入了主函數,執行第一句printf()函數;

然后通過簡單地給出 hanshuyi()函數的名字在 main()函數中調用該函數;

當 hanshuyi()執行完畢后,程序會繼續執行 main()函數的下一個語句,也就是第二個printf()函數;

然后再執行hanshuer() ;

然后執行getchar()函數,防止閃屏;

最后return結束顯示窗口。
責任編輯:pj

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7628

    瀏覽量

    139832
  • 函數
    +關注

    關注

    3

    文章

    4365

    瀏覽量

    63908
  • C程序
    +關注

    關注

    4

    文章

    255

    瀏覽量

    36504
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Debian和Ubuntu哪個好一些?

    兼容性對比Debian和Ubuntu哪個好一些,并為您揭示如何通過RAKsmart服務器釋放Linux系統的最大潛能。
    的頭像 發表于 05-07 10:58 ?67次閱讀

    如何添加一些網絡上的庫到mpy固件的說明或手冊教程?

    下有沒有關于如何添加一些網絡上的庫到mpy固件的說明或手冊教程? 問題2: 關于mpy的image庫在哪里能了解學習內部代碼,只了解一些python,想知道怎么從
    發表于 04-29 08:16

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

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

    如何在 樹莓派 上編寫和運行 C 語言程序?

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

    ads1232獲取的數據中經常有一些比較大的值或者一些錯誤值,這個是因為什么原因?

    數據中經常有一些比較大的值 或者一些錯誤值,這個是因為什么原因。最后8位數據致在跳動,是不是我的基準電壓不夠穩定。 -----85b1----- -----858d-----
    發表于 01-08 08:19

    一些常見的動態電路

    無論是模電還是數電,理論知識相對來說還是比較枯燥,各種電路原理理解清楚不算容易,換種生動形象的方式或許會增加一些趣味性,也更容易理解這些知識。下面整理了一些常見的電路,以動態圖形的方式展示。 整流
    的頭像 發表于 11-16 09:26 ?854次閱讀
    <b class='flag-5'>一些</b>常見的動態電路

    分享一些常見的電路

    理解模電和數電的電路原理對于初學者來說可能比較困難,但通過一些生動的教學方法和資源,可以有效地提高學習興趣和理解能力。 下面整理了一些常見的電路,以動態圖形的方式展示。 整流電路 單相橋式整流
    的頭像 發表于 11-13 09:28 ?645次閱讀
    分享<b class='flag-5'>一些</b>常見的電路

    了解TI基于PCB布線規則的DDR時序規范

    電子發燒友網站提供《了解TI基于PCB布線規則的DDR時序規范.pdf》資料免費下載
    發表于 10-15 11:47 ?3次下載
    <b class='flag-5'>了解</b>TI基于PCB布線<b class='flag-5'>規則</b>的DDR時序規范

    LED驅動器應用的一些指南和技巧

    電子發燒友網站提供《LED驅動器應用的一些指南和技巧.pdf》資料免費下載
    發表于 09-25 11:35 ?0次下載
    LED驅動器應用的<b class='flag-5'>一些</b>指南和技巧

    求CSU8RP1186一些關于電子秤開發例程,最好是C的,跪謝

    有無CSU8RP1186一些關于電子秤的參考資料及源碼,最好是C的,或者其他相近芯片的電子秤資料,幫忙發到郵箱[email protected],非常感謝!
    發表于 08-26 14:33

    技術干貨驛站 ▏深入理解C語言:掌握程序結構知識

    在計算機編程的世界中,C語言被廣泛認可為門強大而高效的編程語言,其簡潔的語法和直接的指令使得它成為了許多程序員的首選。了解C語言的
    的頭像 發表于 07-27 08:45 ?1712次閱讀
    技術干貨驛站 ▏深入理解<b class='flag-5'>C</b>語言:掌握<b class='flag-5'>程序</b>結構知識

    三星電容命名規則,了解三星電容參數 知識篇

    三星電容的命名規則是什么?每個不同品牌的電容都有自己的命名規則。當然,在市場上的電容命名規則都是大同小異的。近年來,三星電容在市場上的銷售量可謂是與日俱增。今天就帶大家一起來了解
    的頭像 發表于 07-24 15:00 ?1157次閱讀

    咨詢一些關于LED燈具的問題

    各位大佬,咨詢一些關于LED燈具的問題 120W的吸頂燈,用的非隔離式電源,用不到1年,燈具就會閃爍、頻閃或不亮,主要是什么原因造成的?是不是驅動芯片太差?
    發表于 07-02 22:33

    編寫個任務調度程序,在上下文切換后遇到了一些問題求解

    大家好, 我正在編寫個任務調度程序,在上下文切換后遇到了一些問題。 為下個任務恢復上下文后: __builtin_tricore_mtcr_by_name(\"pcxi\&quo
    發表于 05-22 07:50

    stm32使用workbench只生成了一些.h和.c文件,然后該如何使用它們?

    使用workbench只生成了一些.h和.c文件,然后該如何使用它們?還需要手動在MDK中建立工程添加標準庫再把這些文件加進去么?哪位有相關開發經驗,請賜教!
    發表于 05-15 07:29
    主站蜘蛛池模板: 高清欧美一级在线观看 | 国产婷婷综合在线精品尤物 | 天天摸天天做 | 国产精选经典三级小泽玛利亚 | 色日本视频 | 永久精品免费影院在线观看网站 | 四虎永久在线观看视频精品 | 国产精品美女www爽爽爽视频 | 久久久夜| 成在线人永久免费播放视频 | 午夜精品一区二区三区在线观看 | 天天干夜夜笙歌 | 人人人人澡 | 亚洲天堂最新地址 | 2021成人国产精品 | 欧色视频 | 狠狠色噜噜狠狠狠狠91 | 欧美高清milf在线播放 | 欧美xxxx日本| 日本有色视频 | 免费又黄又爽的禁片视频 | 亚洲福利视频一区二区三区 | 婷婷 综合网站 | 婷婷了五月色香综合缴情 | 高h视频网站 | 亚洲黄色性视频 | 福利在线看 | 成人午夜大片免费7777 | 综合色婷婷 | 成人国产在线24小时播放视频 | 人人爱爱 | 久久手机视频 | 深爱婷婷 | 亚洲人成人网毛片在线播放 | 久久久网站亚洲第一 | 成人免费播放视频777777 | 色视频在线免费 | 久久亚洲成人 | 欧美特黄一级视频 | 欧美精品1 | 欧美午夜免费观看福利片 |