【正文】
計(jì)算機(jī)等級(jí)考試二 級(jí) C語(yǔ)言自學(xué)之高頻考點(diǎn) 余敦輝 Logo Company Logo 教材、參考書與課時(shí)安排 參考書 全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程 —C語(yǔ)言程序設(shè)計(jì) 教育部考試中心 高等教育出版社 二級(jí) C語(yǔ)言高頻考題導(dǎo)航 南開大學(xué)出版社 C語(yǔ)言真題分析與實(shí)戰(zhàn)訓(xùn)練 清華大學(xué)出版社 課時(shí)安排 授課 : 28學(xué)時(shí) 往年考題講解 : 4學(xué)時(shí) Logo Company Logo 考試大綱 ◆ 基本要求 Visual C++ 集成開發(fā)環(huán)境。 ,具有良好的程序設(shè)計(jì)風(fēng)格。 能閱讀簡(jiǎn)單的程序。 Visual C++ 集成環(huán)境下,能夠編寫簡(jiǎn)單的 C程序,并具有基本的糾錯(cuò)和調(diào)試程序的能力 Logo Company Logo 目錄 的初步知識(shí) 結(jié)構(gòu) 結(jié)構(gòu) 結(jié)構(gòu) 數(shù)據(jù) 指針 討論 標(biāo)識(shí)符 的作用域和存儲(chǔ)類 、共用體和用戶定義類型 Logo Company Logo 第 1章 程序設(shè)計(jì)基本概念 Top1: 各種“程序”的概念 Top3: 結(jié)構(gòu)化程序設(shè)計(jì) Top2: 算法的特性 C程序的上機(jī)步驟 Logo Company Logo 什么是程序? ? Top1:各種 “ 程序 ” 的概念 人們把需要用計(jì)算機(jī)完成的工作寫成一條條指令,并把這些指令存儲(chǔ)在內(nèi)存中,當(dāng)人們給出執(zhí)行命令后,計(jì)算機(jī)就按指令順序自動(dòng)進(jìn)行操作。這些可以連續(xù)執(zhí)行的一條條指令的集合稱為?程序?。 Logo Company Logo 機(jī)器語(yǔ)言 匯編語(yǔ)言 高級(jí)語(yǔ)言 面向過程 面向?qū)ο? CPU指令系統(tǒng),由 0、 1序列構(gòu)成的指令碼組成 如: 10000000 加 10010000 減 用助記符號(hào)描述的指令系統(tǒng) 如 ADD A, B 面向機(jī)器的語(yǔ)言 程序設(shè)計(jì)是數(shù)據(jù)被加工的過程 客觀世界可以分類,對(duì)象是類的實(shí)例 對(duì)象是數(shù)據(jù)和方法的封裝 對(duì)象間通過發(fā)送和接受消息發(fā)生聯(lián)系 程序設(shè)計(jì)關(guān)鍵是定義類,并由類派生對(duì)象 ?程序設(shè)計(jì)語(yǔ)言的發(fā)展 Top1:各種 “ 程序 ” 的概念 Logo Company Logo ?程序的“轉(zhuǎn)換” 機(jī)器語(yǔ)言 匯編語(yǔ)言 高級(jí)語(yǔ)言 C語(yǔ)言 編譯 匯編 Top1:各種 “ 程序 ” 的概念 可執(zhí)行程序 .exe 鏈接 二進(jìn)制語(yǔ)言 Logo Company Logo Top1:各種“程序”的概念 真題分析 ( 2022年 4月)下列敘述中錯(cuò)誤的是 ______ A、計(jì)算機(jī)不能直接執(zhí)行用 C語(yǔ)言編寫的源程序 B、 C程序經(jīng)編譯后,生成后綴為 .Obj的文件是一個(gè)二進(jìn)制文件 C、后綴為 .Obj的文件,經(jīng)連接程序生成后綴為 .Exe的文件是一個(gè)二進(jìn)制文件 D、后綴為 .Obj和 .Exe的二進(jìn)制文件都可以直接運(yùn)行 D Logo Company Logo Top1:各種“程序”的概念 真題分析 ( 2022年 4月)以下敘述中錯(cuò)誤的是 ______ A、 C語(yǔ)言源程序經(jīng)編譯后生成后綴為 .OBJ的目標(biāo)程序 B、 C程序經(jīng)過編譯、連接步驟之后才能形成一個(gè)真正可以執(zhí)行的二進(jìn)制機(jī)器指令文件 C、用 C語(yǔ)言編寫的程序稱為源程序,它以 ASCII代碼形式存放在一個(gè)文本文件中 D、 C語(yǔ)言中的每條可執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句最終都將轉(zhuǎn)換成二進(jìn)制的機(jī)器指令 D 只有二進(jìn)制語(yǔ)句才最終被轉(zhuǎn)換 成二進(jìn)制機(jī)器指令 Logo Company Logo Top1:各種“程序”的概念 真題分析 ( 2022年 9月)計(jì)算機(jī)能直接執(zhí)行的程序是 ____ A、源程序 B、目標(biāo)程序 C、匯編程序 D、可執(zhí)行程序 D Logo Company Logo Top1:各種“程序”的概念 真題分析 ( 2022年 9月) C語(yǔ)言源程序的后綴是 _____ A、 .exe B、 .c C、 .obj D、 .cp B Logo Company Logo Top1:各種“程序”的概念 真題分析 ( 2022年 9月)以下說明中正確的是 _____ A、 C語(yǔ)言比其它語(yǔ)言高級(jí) B、 C語(yǔ)言可以不用編譯就能被計(jì)算機(jī)執(zhí)行 C、 C語(yǔ)言以接近英語(yǔ)和數(shù)學(xué)言語(yǔ)作為語(yǔ)言的表達(dá)式 D、 C語(yǔ)言出現(xiàn)最晚,具有其它語(yǔ)言的一切優(yōu)點(diǎn) C Logo Company Logo Top1:各種“程序”的概念 真題分析 ( 2022年 3月)計(jì)算機(jī)高級(jí)語(yǔ)言程序的運(yùn)行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是_____( 選擇題第 11題 ) A)C語(yǔ)言程序僅可以編譯執(zhí)行 B)C語(yǔ)言程序僅可以解釋執(zhí)行 C)C語(yǔ)言程序既可以編譯執(zhí)行又可以解釋執(zhí)行 D)以上說法都不對(duì) C Logo Company Logo Top1:各種“程序”的概念 真題分析 ( 2022年 3月)以下敘述中錯(cuò)誤的是 _____( 選擇題第 12題 ) A)C語(yǔ)言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的 B)用 C語(yǔ)言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行 C)通過編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行 D)在沒有安裝 C語(yǔ)言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行 C源程序生成的 .exe文件 D Logo Company Logo Top1:各種“程序”的概念 練習(xí)題 以下敘述中正確的是 _____ A、 C語(yǔ)言的源程序不必通過編譯就可以直接運(yùn)行 B、 C語(yǔ)言中的每條可執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令 C、 C程序經(jīng)編譯形成的二進(jìn)制代碼可直接執(zhí)行 D、 C語(yǔ)言中的函數(shù)不可以單獨(dú)進(jìn)行編譯 B Logo Company Logo Top2:算法的特性 什么是算法? 算法是指為解決某個(gè)特定問題而采取的確定且有限的步驟。 ? Logo Company Logo 算法應(yīng)具有以下五個(gè)特點(diǎn): 1 有窮性:一個(gè)算法包含的步驟是有限的。即在若干個(gè)步驟后結(jié)束,并且每一步都在合理時(shí)間內(nèi)完成 2 確定性:算法中每一條指令必須有確切的含義,不能有二義性,對(duì)于相同的輸入必能得出相同的執(zhí)行結(jié)果。 3 可行性:算法中指定的操作,都可以通過已經(jīng)驗(yàn)證可以實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次后實(shí)現(xiàn)。 5 有一個(gè) 或多個(gè)輸出:算法的目的是為了求解。這些“解”只有通過輸出得到。 4 有零個(gè) 或多個(gè)輸入:算法都是用來(lái)處理數(shù)據(jù)對(duì)象的,通常情況下這些數(shù)據(jù)對(duì)象需要通過輸入來(lái)得到。 Top2:算法的特性 Logo Company Logo 如何評(píng)價(jià)算法? ? 時(shí)間復(fù)雜度 1 空間復(fù)雜度 2 對(duì)算法的要求有:必須是正確的 , 必須能高效率執(zhí)行 , 即占用內(nèi)存空間少 ,所需運(yùn)行時(shí)間短 。 于是 , 對(duì)算法的評(píng)價(jià)可以從兩個(gè)方面進(jìn)行: Top2:算法的特性 Logo Company Logo Top2:算法的特性 真題分析 ( 2022年 4月)算法中,對(duì)需要執(zhí)行的每一步驟操作,必須給出清楚、嚴(yán)格的規(guī)定,這屬于算法的是 _____ A、正當(dāng)性 B、可行性 C、確定性 D、有窮性 C Logo Company Logo Top2:算法的特性 真題分析 ( 2022年 4月)以下敘述中錯(cuò)誤的是 _____ A、算法正確的程序最終一定會(huì)結(jié)束 B、算法正確的程序可以有零個(gè)輸出 C、算法正確的程序可以有零個(gè)輸入 D、算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果 B 算法必須有一個(gè)或多個(gè)輸出 Logo Company Logo Top2:算法的特性 練習(xí)題 一個(gè)算法應(yīng)該具有“確定性”等 5個(gè)特性,下面對(duì)另外 4個(gè)特性的描述中錯(cuò)誤的是 _____ A、有零個(gè)或多個(gè)輸入 B、有零個(gè)或多個(gè)輸出 C、有窮性 D、可行性 B Logo Company Logo Top3: 結(jié)構(gòu)化程序設(shè)計(jì)和模塊化結(jié)構(gòu) 執(zhí)行時(shí)按順序逐條執(zhí)行,沒有分支,沒有轉(zhuǎn)移。可由賦值語(yǔ)句、輸入 /輸出語(yǔ)句等構(gòu)成。 順序結(jié)構(gòu) 根據(jù)不同的條件執(zhí)行不同分支中的語(yǔ)句??捎?if語(yǔ)句、switch語(yǔ)句等構(gòu)成。 選擇結(jié)構(gòu) 根據(jù)各自的條件使一組語(yǔ)句重復(fù)執(zhí)行多次或一次也不執(zhí)行??捎?for語(yǔ)句、 while語(yǔ)句等構(gòu)成。 循環(huán)結(jié)構(gòu) Logo Company Logo 什么是模塊化結(jié)構(gòu)? ? 將復(fù)雜任務(wù)分解成若干個(gè)子任務(wù) , 每個(gè)子任務(wù)又可分解成多個(gè)小子任務(wù) ,每個(gè)小子任務(wù)只需完成一個(gè)簡(jiǎn)單的功能 。 在程序設(shè)計(jì)時(shí)用一個(gè)小模塊實(shí)現(xiàn)這些功能 。 稱這樣的程序設(shè)計(jì)方法為? 模塊化 ? 方法 , 由一個(gè)個(gè)功能模塊構(gòu)成的程序結(jié)構(gòu)為模塊化結(jié)構(gòu) 。 Top3: 結(jié)構(gòu)化程序設(shè)計(jì)和模塊化結(jié)構(gòu) Logo Company Logo Top3: 結(jié)構(gòu)化程序設(shè)計(jì)和模塊化結(jié)構(gòu) 真題分析 ( 2022年 4月)以下敘述中錯(cuò)誤的是 _____ A、 C語(yǔ)言是一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言 B、 結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成 C、使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問題 D、結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法 C Logo Company Logo Top3: 結(jié)構(gòu)化程序設(shè)計(jì)和模塊化結(jié)構(gòu) 真題分析 ( 2022年 9月)以下選項(xiàng)中關(guān)于程序模塊化的敘述錯(cuò)誤的是____。(選擇題 12題) A)把程序分成若干相對(duì)獨(dú)立的模塊,便于編碼和調(diào)試 B) 把程序分成若干相對(duì)獨(dú)立、功能單一的模塊,可便于重復(fù)使用這些模塊 C)可采用自底向上、逐步細(xì)化的設(shè)計(jì)方法把若干獨(dú)立模塊組裝成所要求的程序 D)可采用自頂向下、逐步細(xì)化的設(shè)計(jì)方法把若干獨(dú)立模塊組裝成所要求的程序 C Logo Company Logo 開始 結(jié)束 編輯 編譯 連接 運(yùn)行 運(yùn)行結(jié)果 可執(zhí)行文件 (.exe) 源程序文件 ( .c) 目標(biāo)文件 (.obj) 圖 C程序上機(jī)調(diào)試過程 此兩種代碼 不能執(zhí)行 C程序的上機(jī)步驟 Logo Company Logo 第 2章 C程序設(shè)計(jì)的初步知識(shí) Top4: C程序的結(jié)構(gòu)和格式 Top5:標(biāo)識(shí)符的命名規(guī)則 Top6: C語(yǔ)言基本數(shù)據(jù)類型及其定義規(guī)則 Top7:基本類型數(shù)據(jù)的相互轉(zhuǎn)換 Top8:常見算術(shù)運(yùn)算符的使用 Top9:算術(shù)運(yùn)算符的優(yōu)先級(jí)順序 Top12:自加 自 減運(yùn)算符 Top10:賦值表達(dá)式的求值規(guī)則 Top11:逗號(hào)表達(dá)式的求 值 規(guī)則 Logo Company Logo 例 第一個(gè)程序 Hello,World! /* The first C Program*/ include main() { printf(―Hello,World!‖)。 } 注釋 編譯預(yù)處理 函數(shù) 語(yǔ)句 輸出: Hello,World! Top4: C語(yǔ)言程序的構(gòu)成和格式 Logo Company Logo 例 /* calculate the sum of a and b*/ include /* This is the main program */ main() { int a,b,sum。 a=10。 b=24。 sum=add(a,b)。 printf(‖sum= %d\n,sum)。 } /* This function calculates the sum of x and y */ int add(int x,int y) { int z。 z=x+y。 return(z)。 } 運(yùn)行結(jié)果: sum=34 函數(shù) 語(yǔ)句 預(yù)處理命令 注釋 Logo Company Logo 格式特點(diǎn) 習(xí)慣用 小寫 字母,大小寫敏感 不使用行號(hào), 無(wú)程序行 概念 可使用空行和空格 常用 鋸齒形 書寫格式 main( ) { ………………. ……………… ………….. ………….. ……… ……….