- 全國計(jì)算機(jī)等級(jí)考試教程:二級(jí)C語言程序設(shè)計(jì)
- 全國計(jì)算機(jī)等級(jí)考試教材編寫組
- 3009字
- 2019-11-22 18:55:10
1.3 C語言簡介
1.3.1 如何學(xué)習(xí)C語言
學(xué)習(xí)提示
【了解】如何學(xué)習(xí)C語言
初學(xué)C語言的人,開始都會(huì)有一種感覺:知識(shí)點(diǎn)顯得很零散,沒有一定的系統(tǒng)性,每一個(gè)知識(shí)點(diǎn)就像是一個(gè)個(gè)孤立的小球。但隨著學(xué)習(xí)的深入,他們就會(huì)發(fā)現(xiàn):實(shí)際上,C語言中的每一個(gè)知識(shí)點(diǎn)與其他知識(shí)點(diǎn)有著密切的聯(lián)系,其中有一條主線將所有的知識(shí)點(diǎn)串在一起。下面,我們就來介紹C語言中的這條主線。
C程序的基本單位是函數(shù),也就是說一個(gè)C程序是由一個(gè)或若干個(gè)函數(shù)構(gòu)成的。該內(nèi)容將在第7章予以介紹。
為了保證某些特定的函數(shù)能夠正常運(yùn)行,需要用編輯預(yù)處理命令將一些頭文件在程序一開始給出。這些內(nèi)容將會(huì)在第10章予以介紹。
一個(gè)函數(shù)是由一條條語句構(gòu)成的,為了實(shí)現(xiàn)一些特殊的要求,又需要用到一些具有特定功能的語句結(jié)構(gòu),如順序、選擇、循環(huán)等。這些內(nèi)容會(huì)分別在第3、4、5章予以介紹。
常量、變量、表達(dá)式等都可以構(gòu)成語句,因此,在第2章安排了關(guān)于常量、變量、表達(dá)式等方面的知識(shí)。
考慮到知識(shí)點(diǎn)的復(fù)雜程度以及初學(xué)者的閱讀習(xí)慣,在不改變以上線索的基礎(chǔ)上,我們對本書的結(jié)構(gòu)進(jìn)行了合理安排,大家可在學(xué)習(xí)的過程中慢慢體會(huì)。
1.3.2 C程序的構(gòu)成
學(xué)習(xí)提示
【掌握】C程序的構(gòu)成和書寫格式
用 C語言編寫的程序稱為C程序。C程序的基本單位是函數(shù),一個(gè) C程序由一個(gè)或若干個(gè)函數(shù)構(gòu)成;并且,程序中有且只能有一個(gè)主函數(shù),即main函數(shù)。不論main函數(shù)在整個(gè)程序中的位置如何,C程序總是從main函數(shù)開始執(zhí)行,其他函數(shù)由main函數(shù)直接或間接調(diào)用執(zhí)行。
C程序主要有兩種文件形式:頭文件和源文件。頭文件一般以“.h”為文件擴(kuò)展名,通常被“include”(包含)在源程序文件的開頭,所以也稱為“包含文件”;源文件通常以“.c”為文件擴(kuò)展名。
下面結(jié)合一個(gè)C程序例子來詳細(xì)講解C程序的構(gòu)成。
【例1-1】一個(gè)簡單的C程序,其功能是求鍵盤輸入的兩個(gè)數(shù)中較大的數(shù)。
程序代碼
(1)頭文件
程序第1行中的“stdio.h”是頭文件。語句“#include stdio.h”是預(yù)處理命令,用于將各頭文件包含到程序中,其后不能加分號(hào)“;”。
(2)主函數(shù)
●main是主函數(shù)名,其后的一對圓括號(hào)中間可以帶參數(shù),也可以是空的,但一對圓括號(hào)不能省略(在第9章中介紹了關(guān)于main函數(shù)的參數(shù))。
●程序必須有且只能有一個(gè)主函數(shù)。無論主函數(shù)放在文件中什么位置(開頭、中間或最后),程序運(yùn)行總是從主函數(shù)開始,最后在主函數(shù)中結(jié)束。
●程序中除了 main函數(shù)外,還可以有若干個(gè)其他函數(shù)。其他函數(shù)是由主函數(shù)直接或間接調(diào)用來執(zhí)行的。但其他函數(shù)不能反過來調(diào)用主函數(shù)。
(3)函數(shù)頭和函數(shù)體
函數(shù)定義由兩部分組成:函數(shù)頭和函數(shù)體。
●函數(shù)頭包括函數(shù)名、函數(shù)類型、函數(shù)參數(shù)名和參數(shù)類型。在例1-1中,int max(int x,int y)為函數(shù)頭,max為函數(shù)名,函數(shù)類型為int,函數(shù)參數(shù)名為x,y,參數(shù)類型也為int型。
●用大括號(hào)“{}”括起來的部分稱為函數(shù)體,左大括號(hào)“{”表示函數(shù)體的開始,右大括號(hào)“}”表示函數(shù)體的結(jié)束。
●函數(shù)體內(nèi)是C語言的語句,一般包括數(shù)據(jù)說明語句和執(zhí)行語句兩部分。執(zhí)行語句必須放在說明語句之后。“int z;”和“int a,b,c;”都是說明語句。說明語句又稱定義語句,它后面的其他語句統(tǒng)稱為執(zhí)行語句。
(4)C程序主要由小寫字母組成
習(xí)慣上,C程序主要由小寫字母組成,也可以是大寫字母,只是應(yīng)該少用。一條C語言語句用分號(hào)“;”來結(jié)束,“;”是語句的一部分,不能缺少。
(5)注釋語句
注釋語句主要用于說明變量的含義和程序段的功能等,以提高程序的可讀性,它不參與程序的運(yùn)行。“/*……*/”是對程序的注釋,可以出現(xiàn)在程序的任何位置,“/*”和“*/”必須成對出現(xiàn)。另外,C語言還有一種形式的注釋,即使用“//”,不同的是,這種方式只能對單行進(jìn)行注釋,而且注釋的內(nèi)容必須跟在“//”的后面。例如,注釋形式:
/*調(diào)用max函數(shù)*/
等價(jià)于:
//調(diào)用max函數(shù)
請注意
當(dāng)一個(gè)程序只作為另一個(gè)程序的子程序的時(shí)候,那么該程序中可以沒有主函數(shù)main,因?yàn)橹骱瘮?shù)只是一個(gè)函數(shù)的入口,如果沒有主函數(shù)的話,只能說該程序不能單獨(dú)執(zhí)行。
1.3.3 C程序的書寫格式
C程序的書寫格式比較自由,但有以下幾點(diǎn)需要注意。
●標(biāo)識(shí)符的大小寫是有區(qū)別的。例如,a和A表示兩個(gè)不同的變量。
●C程序語句用分號(hào)“;”結(jié)束,分號(hào)是C語句的必要組成部分,但是在預(yù)處理命令、函數(shù)頭、大括號(hào)“{”和“}”之后不能加分號(hào)。
●一行可以寫多個(gè)語句,一個(gè)語句可以分寫在多行。
●可以在程序的任何位置用“/*……*/”或“//”對程序或語句進(jìn)行注釋。
1.3.4 C程序的開發(fā)過程
學(xué)習(xí)提示
【掌握】C程序的開發(fā)過程
C程序開發(fā)的基本過程如圖1-18所示。

圖1-18 C程序的開發(fā)過程
(1)編輯
在VC6.0集成開發(fā)環(huán)境的源程序編輯窗口中,將C語言源程序通過鍵盤輸入到計(jì)算機(jī),并以文件的形式存儲(chǔ)到磁盤中。源程序文件以“.c”作為擴(kuò)展名。
(2)編譯
使用VC6.0編譯器將C語言源程序轉(zhuǎn)換為目標(biāo)程序,這一過程稱為編譯。在編譯過程中,可能會(huì)發(fā)現(xiàn)源程序中的一些語法錯(cuò)誤,這時(shí)需要重新利用編輯程序來修改源程序,然后再重新編譯。源程序文件進(jìn)行編譯之后形成一個(gè)擴(kuò)展名為“.obj”的二進(jìn)制文件,稱為目標(biāo)文件。C語言中的每條可執(zhí)行語句經(jīng)過編譯后最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令。
(3)連接
經(jīng)過編譯后生成的目標(biāo)程序是不能直接執(zhí)行的,需要經(jīng)過連接之后才能生成可執(zhí)行程序。連接是將編譯形成的目標(biāo)文件“.obj”和庫函數(shù)及其他目錄文件連接,形成統(tǒng)一的可執(zhí)行的二進(jìn)制文件“.exe”。
(4)執(zhí)行
經(jīng)過編譯、連接之后,源程序文件就生成了擴(kuò)展名為“.exe”的可執(zhí)行文件,執(zhí)行該文件可以得到程序的運(yùn)行結(jié)果。
真題演練
【例1】以下敘述中錯(cuò)誤的是( )。
A)使用3種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題
B)結(jié)構(gòu)化程序由順序、分支、循環(huán)3種基本結(jié)構(gòu)組成
C)C語言是一種結(jié)構(gòu)化程序設(shè)計(jì)語言
D)結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法
【解析】使用順序、選擇(分支)、循環(huán)3種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問題,而不只是能解決簡單問題,所以選項(xiàng)A錯(cuò)誤。
【答案】A
【例2】以下敘述中錯(cuò)誤的是( )。
A)在進(jìn)行模塊化程序設(shè)計(jì)的時(shí)候,應(yīng)首先完成每個(gè)模塊的編寫、調(diào)試,再集中考慮主程序的算法
B)同一程序的各模塊可由一組人員同時(shí)進(jìn)行編寫、調(diào)試,可提高編寫程序的效率
C)模塊化的程序設(shè)計(jì)是采用自頂向下、逐步細(xì)化的原則
D)程序的每個(gè)模塊都可通過 3種基本結(jié)構(gòu)實(shí)現(xiàn)
【解析】結(jié)構(gòu)化程序設(shè)計(jì)把一個(gè)復(fù)雜問題的求解過程分階段進(jìn)行,需要保證自頂向下、逐步細(xì)化、模塊化設(shè)計(jì)、結(jié)構(gòu)化編碼。進(jìn)行模塊化設(shè)計(jì)時(shí),首先設(shè)計(jì)框架,并定義和調(diào)試好各個(gè)模塊之間的輸入輸出關(guān)系,然后完成各個(gè)模塊的編寫、調(diào)試后再集中編譯。模塊化的程序設(shè)計(jì)采用自頂向下、逐步細(xì)化的原則,因此選項(xiàng)A敘述錯(cuò)誤,選項(xiàng) C敘述正確。各個(gè)模塊可以由不同人員同時(shí)進(jìn)行編寫、調(diào)試,可提高編寫程序的效率,因此選項(xiàng)B敘述正確。結(jié)構(gòu)化程序主要有3種基本控制結(jié)構(gòu)(順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)),這3種基本結(jié)構(gòu)可以解決任何復(fù)雜的問題,因此選項(xiàng)D敘述正確。
【答案】A
【例3】以下選項(xiàng)中敘述正確的是( )。
A)函數(shù)體必須由“{”開始
B)C程序必須由main語句開始
C)C程序中的注釋可以嵌套
D)C程序中的注釋必須在一行內(nèi)完成
【解析】函數(shù)體是函數(shù)首部下面的大括號(hào)內(nèi)的部分,所以函數(shù)體必須由“{”開始,因此選項(xiàng) A正確。一個(gè)源程序文件可以包括預(yù)處理命令、全局聲明、函數(shù)定義,程序總是從main函數(shù)開始執(zhí)行的,不是main語句,因此選項(xiàng)B錯(cuò)誤。C程序中允許兩種注釋:以“//”開頭的單行注釋;以“/*”開始,以“*/”結(jié)束的塊式注釋,因此選項(xiàng)D錯(cuò)誤。函數(shù)可以嵌套,注釋不能嵌套,因此選項(xiàng)C錯(cuò)誤。
【答案】A
- 全國計(jì)算機(jī)等級(jí)考試一本通:二級(jí)Access
- 全國計(jì)算機(jī)等級(jí)考試歷年真題與機(jī)考題庫:一級(jí)計(jì)算機(jī)基礎(chǔ)及MS Office應(yīng)用
- 2020年3月全國計(jì)算機(jī)等級(jí)考試《四級(jí)軟件工程》【教材精講+真題解析】講義與視頻課程【26小時(shí)高清視頻】
- 2020年3月全國計(jì)算機(jī)等級(jí)考試《三級(jí)網(wǎng)絡(luò)技術(shù)》【教材精講+真題解析】講義與視頻課程【28小時(shí)高清視頻】
- 全國計(jì)算機(jī)等級(jí)考試模擬考場二級(jí)Python
- 全國計(jì)算機(jī)等級(jí)考試《二級(jí)C語言程序設(shè)計(jì)》專用教材【考綱分析+考點(diǎn)精講+真題演練+強(qiáng)化習(xí)題】
- 2014年全國計(jì)算機(jī)等級(jí)考試3年真題精解與過關(guān)全真訓(xùn)練題:二級(jí)Java語言程序設(shè)計(jì)
- 5天通過職稱計(jì)算機(jī)考試(考點(diǎn)視頻串講+全真模擬):中文Windows XP操作系統(tǒng)(第2版) (全國專業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試指導(dǎo)叢書)
- 全國計(jì)算機(jī)等級(jí)考試《二級(jí)公共基礎(chǔ)知識(shí)》【教材精講+真題解析】講義與視頻課程【12小時(shí)高清視頻】
- 2023年全國計(jì)算機(jī)等級(jí)考試上機(jī)考試題庫二級(jí)C語言
- 軟件設(shè)計(jì)師考前突破:考點(diǎn)精講、真題精解、難點(diǎn)精練
- 全國職稱計(jì)算機(jī)考試講義·真題·預(yù)測三合一:PowerPoint 2003中文演示文稿
- 2020年3月全國計(jì)算機(jī)等級(jí)考試《三級(jí)網(wǎng)絡(luò)技術(shù)》復(fù)習(xí)全書【核心講義+歷年真題詳解】
- 2020年3月全國計(jì)算機(jī)等級(jí)考試《三級(jí)軟件測試技術(shù)》復(fù)習(xí)全書【核心講義+歷年真題詳解】
- 2020年3月全國計(jì)算機(jī)等級(jí)考試《三級(jí)嵌入式系統(tǒng)開發(fā)技術(shù)》復(fù)習(xí)全書【核心講義+歷年真題詳解】