國家計(jì)算機(jī)二級考試c語言真題及答案_第1頁
國家計(jì)算機(jī)二級考試c語言真題及答案_第2頁
國家計(jì)算機(jī)二級考試c語言真題及答案_第3頁
國家計(jì)算機(jī)二級考試c語言真題及答案_第4頁
國家計(jì)算機(jī)二級考試c語言真題及答案_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

國家計(jì)算機(jī)二級考試c語言真題及答案

一、單項(xiàng)選擇題(每題2分,共10題)1.以下敘述中正確的是()A.C語言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開始執(zhí)行B.可以在程序中由用戶指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C.C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結(jié)束D.main可作為用戶標(biāo)識符,用以命名任意一個(gè)函數(shù)2.以下選項(xiàng)中,合法的一組C語言數(shù)值常量是()A.028.5e-3-0xfB.12.0Xa234.5e0C.1774e1.50abcD.0x8A10,0003.e53.若有定義語句:inta=10;doubleb=3.14;則表達(dá)式'A'+a+b值的類型是()A.charB.intC.doubleD.float4.有以下程序段:inta=1,b=2,c=3;c=a^(b<<2);執(zhí)行后,c的值為()A.1B.6C.7D.125.以下敘述中正確的是()A.break語句只能用于switch語句體中B.continue語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)C.break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)D.在循環(huán)體內(nèi)使用break語句和continue語句的作用相同6.以下關(guān)于函數(shù)的敘述中正確的是()A.每個(gè)函數(shù)都可以被其他函數(shù)調(diào)用(包括main函數(shù))B.每個(gè)函數(shù)都可以被單獨(dú)編譯C.每個(gè)函數(shù)都可以單獨(dú)運(yùn)行D.在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)7.若有定義語句:chars[10]="1234567\0\0";則strlen(s)的值是()A.7B.8C.9D.108.有以下程序:```cinclude<stdio.h>voidfun(inta,intb){intt;t=a;a=b;b=t;}intmain(){intc[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=0;i<10;i+=2)fun(c[i],c[i+1]);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");return0;}```程序的運(yùn)行結(jié)果是()A.1,2,3,4,5,6,7,8,9,10,B.2,1,4,3,6,5,8,7,10,9,C.1,3,5,7,9,2,4,6,8,10,D.2,3,4,5,6,7,8,9,10,1,9.有以下程序:```cinclude<stdio.h>intfun(intx){intp;if(x==0||x==1)return(3);p=x-fun(x-2);returnp;}intmain(){printf("%d\n",fun(9));return0;}```程序的運(yùn)行結(jié)果是()A.7B.8C.9D.1010.以下敘述中正確的是()A.預(yù)處理命令行必須位于C源程序的起始位置B.在C語言中,預(yù)處理命令行都以“”開頭C.每個(gè)C程序必須在開頭包含預(yù)處理命令行:include<stdio.h>D.C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能答案:1.C2.B3.C4.D5.C6.B7.A8.A9.A10.B二、多項(xiàng)選擇題(每題2分,共10題)1.以下關(guān)于C語言數(shù)據(jù)類型使用的敘述中,正確的有()A.若要準(zhǔn)確無誤差地表示自然數(shù),應(yīng)使用整數(shù)類型B.若要保存帶有多位小數(shù)的數(shù)據(jù),應(yīng)使用雙精度類型C.若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型D.若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型2.下列關(guān)于C語言中數(shù)組的描述,正確的是()A.數(shù)組的大小必須在定義時(shí)確定,且數(shù)組元素的類型必須相同B.可以通過下標(biāo)訪問數(shù)組中的元素,下標(biāo)從0開始C.數(shù)組名代表數(shù)組的首地址D.可以對數(shù)組進(jìn)行整體賦值3.以下關(guān)于函數(shù)參數(shù)傳遞的描述,正確的是()A.實(shí)參和形參可以同名B.函數(shù)調(diào)用時(shí),實(shí)參向形參傳遞值,形參的改變不會影響實(shí)參C.當(dāng)數(shù)組名作為函數(shù)參數(shù)時(shí),傳遞的是數(shù)組的首地址D.函數(shù)參數(shù)傳遞時(shí),只能按照順序依次傳遞參數(shù)4.下列關(guān)于指針的說法,正確的是()A.指針變量中存儲的是內(nèi)存地址B.可以通過指針間接訪問變量的值C.指針變量本身也占用一定的內(nèi)存空間D.空指針指向內(nèi)存地址為0的位置5.以下關(guān)于C語言文件操作的描述,正確的有()A.打開文件使用fopen函數(shù)B.關(guān)閉文件使用fclose函數(shù)C.可以使用fprintf函數(shù)向文件中寫入格式化數(shù)據(jù)D.可以使用fscanf函數(shù)從文件中讀取格式化數(shù)據(jù)6.以下哪些屬于C語言中的關(guān)鍵字()A.intB.floatC.whileD.main7.以下關(guān)于循環(huán)結(jié)構(gòu)的描述,正確的是()A.while循環(huán)先判斷條件,后執(zhí)行循環(huán)體B.do-while循環(huán)先執(zhí)行循環(huán)體,后判斷條件C.for循環(huán)可以用于實(shí)現(xiàn)計(jì)數(shù)循環(huán)D.可以使用break語句跳出循環(huán)8.以下關(guān)于結(jié)構(gòu)體的描述,正確的是()A.結(jié)構(gòu)體是一種用戶自定義的數(shù)據(jù)類型B.結(jié)構(gòu)體成員可以是不同的數(shù)據(jù)類型C.可以定義結(jié)構(gòu)體數(shù)組D.結(jié)構(gòu)體變量可以整體賦值9.以下關(guān)于宏定義的描述,正確的是()A.宏定義使用define關(guān)鍵字B.宏定義可以定義常量和帶參數(shù)的宏C.宏定義在預(yù)處理階段進(jìn)行替換D.宏定義中的參數(shù)沒有數(shù)據(jù)類型10.以下關(guān)于C語言的編譯和運(yùn)行過程,正確的是()A.源程序經(jīng)過編譯生成目標(biāo)文件B.目標(biāo)文件經(jīng)過鏈接生成可執(zhí)行文件C.可執(zhí)行文件可以直接在操作系統(tǒng)中運(yùn)行D.編譯過程中會檢查語法錯(cuò)誤答案:1.ABC2.ABC3.ABC4.ABC5.ABCD6.ABC7.ABCD8.ABC9.ABCD10.ABCD三、判斷題(每題2分,共10題)1.C語言中,變量必須先定義后使用。()2.在C語言中,所有函數(shù)都可以遞歸調(diào)用。()3.數(shù)組名作為函數(shù)參數(shù)時(shí),傳遞的是數(shù)組的首地址,所以函數(shù)內(nèi)對數(shù)組元素的修改會影響到原數(shù)組。()4.指針變量只能指向同類型的變量。()5.C語言中的字符串以'\0'作為結(jié)束標(biāo)志。()6.在switch語句中,每個(gè)case后面必須有break語句。()7.全局變量的作用域是整個(gè)程序。()8.可以使用scanf函數(shù)輸入字符型數(shù)據(jù)時(shí),在格式控制字符串中不需要指定寬度。()9.結(jié)構(gòu)體變量之間可以直接進(jìn)行比較。()10.預(yù)處理命令在編譯階段執(zhí)行。()答案:1.√2.×3.√4.√5.√6.×7.√8.√9.×10.×四、簡答題(每題5分,共4題)1.簡述C語言中指針的作用。答案:指針可指向變量,通過指針能間接訪問和操作變量。用于函數(shù)參數(shù)傳遞實(shí)現(xiàn)地址傳遞,方便處理數(shù)組,還能動態(tài)分配和管理內(nèi)存,提高程序靈活性和效率。2.說明C語言中數(shù)組和指針的關(guān)系。答案:數(shù)組名本質(zhì)是指向數(shù)組首元素的指針常量。指針可指向數(shù)組元素,通過指針運(yùn)算訪問數(shù)組元素。函數(shù)參數(shù)傳遞時(shí),數(shù)組名按指針方式傳遞,兩者在訪問內(nèi)存數(shù)據(jù)上有相似性。3.簡述函數(shù)調(diào)用過程中參數(shù)傳遞的方式。答案:有值傳遞和地址傳遞。值傳遞是實(shí)參向形參傳遞值的副本,形參改變不影響實(shí)參;地址傳遞是傳遞變量地址,函數(shù)內(nèi)可通過地址修改實(shí)參值,如數(shù)組名和指針作參數(shù)。4.簡述C語言中文件操作的基本步驟。答案:先使用fopen打開文件,指定文件名、打開模式。接著用相關(guān)函數(shù)讀寫數(shù)據(jù),如fread、fwrite等。操作完后用fclose關(guān)閉文件,釋放資源,防止數(shù)據(jù)丟失。五、討論題(每題5分,共4題)1.在C語言中,使用結(jié)構(gòu)體和數(shù)組實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(學(xué)生信息包含學(xué)號、姓名、成績),討論兩者在數(shù)據(jù)存儲和操作上的優(yōu)缺點(diǎn)。答案:數(shù)組存儲學(xué)生信息,優(yōu)點(diǎn)是存儲連續(xù),訪問效率高,適合簡單順序操作;缺點(diǎn)是類型單一,管理復(fù)雜信息不便。結(jié)構(gòu)體可靈活組合不同類型數(shù)據(jù),方便管理學(xué)生多樣信息,但內(nèi)存分配可能不連續(xù),訪問效率略低,操作相對復(fù)雜。2.討論C語言中遞歸函數(shù)的適用場景和可能存在的問題。答案:適用場景如計(jì)算階乘、斐波那契數(shù)列等有明顯遞歸性質(zhì)問題,代碼簡潔。問題是遞歸深度過大易導(dǎo)致棧溢出,函數(shù)調(diào)用開銷大影響效率,調(diào)試也較困難,需注意遞歸終止條件,否則陷入無限遞歸。3.對于C語言中動態(tài)內(nèi)存分配(如malloc等函數(shù)),討論其重要性及使用時(shí)需注意的問題。答案:動態(tài)內(nèi)存分配重要性在于可根據(jù)運(yùn)行時(shí)需求靈活分配內(nèi)存,提高資源利用率,適合處理大小不確定的數(shù)據(jù)。使用注意分

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論