首頁 - 網校 - 萬題庫 - 美好明天 - 直播 - 導航
您現(xiàn)在的位置: 考試吧 > 計算機等級考試 > 計算機二級考試 > C語言 > 模擬試題 > 正文

2017年9月計算機二級考試C語言考前預測卷(1)

來源:考試吧 2017-09-22 13:49:46 要考試,上考試吧! 萬題庫
“2017年9月計算機二級考試C語言考前預測卷(1)”供考生參考。更多計算機等級考試內容請訪問考試吧計算機等級考試網。
第 1 頁:選擇題
第 3 頁:程序填空題
第 4 頁:程序修改題
第 5 頁:程序設計題

  >>>2017年計算機等級考試備考經驗及應試技巧匯總

  >>>2017全國計算機等級考試考前必做試題及答案匯總熱點文章  

  >>>2017年9月全國計算機二級C語言考試試題及答案匯總

  點擊查看:2017年9月計算機二級考試C語言考前預測卷匯總

  一、選擇題(每小題1分,共40分)

  1[單選題] 有以下程序:

2017年9月計算機二級考試C語言考前預測卷(1)


  執(zhí)行后的輸出結果是(  )。

  A.3,5,3,5,5

  B.5,3,5,3,5

  C.3,5,3,5,3

  D.3,5,3,3,5

  參考答案:A

  參考解析:main()函數中初始化i的值為3,j的值為5,并初始化指針p指向i,指針q指向j。另外,還定義了一個二維指針r,指向q,所以*p的值是i的值3,*q的值是j的值5,**r等于*q,是j的值5,所以輸出的結果是:3、5、3、5、5,答案選A。

  2[單選題] 以下敘述中錯誤的是( )。

  A.C程序必須由一個或一個以上的函數組成

  B.函數調用可以作為一個獨立的語句存在

  C.若函數有返回值,必須通過return語句返回

  D.函數形參的值也可以傳回給對應的實參

  參考答案:D

  參考解析:形參是函數定義時由用戶定義的形式上1的變量,實參是函數調用時,主調函數為被調函數提供的原始1數據。在C語言中,實參向形參傳送數據的方式是“值傳遞”。f因此D選項正確。

  3[單選題] 下列關于二叉樹的敘述中,正確的是( )。

  A.葉子結點總是比度為2的結點少一個

  B.葉子結點總是比度為2的結點多一個

  C.葉子結點數是度為2的結點數的兩倍

  D.度為2的結點數是度為1的結點數的兩倍

  參考答案:B

  參考解析:根據二叉樹的基本性質3:在任意一棵二叉樹中,度為0的葉子結點總是比度為2的結點多一個。所以選擇B。

  4[單選題] 有以下程序:

2017年9月計算機二級考試C語言考前預測卷(1)

  執(zhí)行后的輸出結果是(  )。

  A.abcd abc ab

  B.a a a

  C.abcd bcd cd

  D.a b c

  參考答案:A

  參考解析:程序初始化一個二維數組,其中每個元素都是一個字符數組,for循環(huán)中使用字符串輸出函數puts()打印二維數組中的每個元素,puts()接受字符數組名當做參形數,將該字符數組存儲的字符串打印出來,程序中s[0]存儲的字符串是 “abcd”,s[1]存儲的字符串是“abc”,s[2]存儲的字符串是“ab”,所以程序輸出為:abcd、abc、ab,答案選A。

  5[單選題] 有以下函數:

  

2017年9月計算機二級考試C語言考前預測卷(1)

  以下關于aaa函數功能敘述正確的是(  )。

  A.將串s復制到串t

  B.比較兩個串的大小

  C.求字符串s的長度

  D.求字符串s所占字節(jié)數

  參考答案:C

  參考解析:本題重點考察的知識點while循環(huán)語句的應用。aaa()函數中,首先定義了一個字符指針t指向形參s,然后通過一個while循環(huán)讓指針t不斷遞增,直到t指向字符串結束標識處。當t指向結束標識處時,由于后綴++運算符的原因,它還會被再遞增1,所以接下來的t--;語句讓它回到結束標識處。最后返回t-s,s還是指向字符串第1個字符處,而t指向了字符串結尾,故返回值為字符串的長度值。因此C選項正確。

  6[單選題] 有以下程序:

2017年9月計算機二級考試C語言考前預測卷(1)

  程序運行后的輸出結果是( )。

  A.b,B,b,A

  B.b,B,B,A

  C.a,B,B,a

  D.a,B,a,B

  參考答案:A

  參考解析:本題重點考察函數的調用,首先要了解字母對應的ASCII碼。例如A為65,a為97。即字母+1則可得到下一個字母。其次是函數形參和實參的問題,運行過程如下:在fun(&b,a)中,*c=‘a’,d=65。*c+1='b',d+1=66,printf(“%c,%c,”,*c,d);輸出b,B,因為指針c指向地址的值為b,此時b=*c=‘b’函數返回執(zhí)行printf("%c,%c、n",b,a);輸出b,A,因此A選項正確。

  7[單選題] 有以下程序:

2017年9月計算機二級考試C語言考前預測卷(1)

  程序運行后的輸出結果是( )。

  A.0

  B.-12

  C.-20

  D.10

  參考答案:C

  參考解析:本題考查宏定義,宏定義只是做簡單的替換,所以本題中SUB(a+b)*c=(a+b)-(a+b)*c=-20,所以答案為C選項。

  8[單選題] 有以下程序:

2017年9月計算機二級考試C語言考前預測卷(1)

  程序運行后的輸出結果是(  )。

  A.10

  B.11

  C.20

  D.21

  參考答案:D

  參考解析:數組data包含兩個元素,元素類型為結構體s,分別為data[0],data[1],初始化時,使用4個整數10,100,20,200,分別給data[0].a,data[0].b.data[1].a,data[1].b賦值,又p.a=data[1].a,等于20,在輸出之前執(zhí)行自身加1操作,所以結果為21,答案選D。

  9[單選題] 有以下程序:

2017年9月計算機二級考試C語言考前預測卷(1)

  程序執(zhí)行后的輸出結果是( )。

  A.y=-1

  B.y=0

  C.y=1

  D.while構成無限循環(huán)

  參考答案:A

  參考解析:y--表示y使用后再自減1。所以最后一次y的值為0,條件不成立但仍要執(zhí)行自減操作,y的值為-1,跳出循環(huán)。打印y的值-1。

  10[單選題] 下列函數的功能是( )。

2017年9月計算機二級考試C語言考前預測卷(1)

  A.將a所指字符串賦給b所指空間

  B.使指針b指向a所指字符串

  C.將a所指字符串和b所指字符串進行比較

  D.檢查a和b所指字符串中是否有‘\0’

  參考答案:A

  參考解析:While循環(huán)條件為:(*b=*a)!='\0',執(zhí)行時先把指針a所指向的字符賦給指針b所在內存單元,如果該字符不是結束標識‘\0’,執(zhí)行循環(huán)體a++;b++;,指針a、b分別指向下一個字符單元。再判斷循環(huán)條件,如果成立,繼續(xù)把指針a所指向的字符賦給指針b所在內存單元,直到遇到結束標識為止。因此A選項正確。

  11[單選題] 有以下程序:

2017年9月計算機二級考試C語言考前預測卷(1)

  程序運行時輸入:-11-220<回車>,則輸出結果是(  )。

  A.1,1

  B.1,0

  C.3,-3

  D.3,0

  參考答案:C

  參考解析:分析程序結構,在do …while循環(huán)中,嵌套一個switch語句,switch語句中兩個case語句分別執(zhí)行break和continue,其中break語句是跳出switch語句,接著執(zhí)行do…while循環(huán)體剩下的部分;而continue語句是直接進入do…while的下一個循環(huán),由此可知每次循環(huán),當t=0時,執(zhí)行break語句,接著將z值累加x;當t=1時,執(zhí)行continue語句,將y值累加x,所以當x輸入-1、-2、0時,t=0,z值累加為-3;當x輸入1、2時.t=1,y值累加為3,輸出y、z的值分別為3、-3,故答案選C。

  12[單選題] 以下選項中敘述錯誤的是(  )。

  A.C程序函數中定義的自動變量,系統(tǒng)不自動賦確定的初值

  B.在C程序的同一函數中,各復合語句內可以定義變量,其作用域僅限本復合語句內

  C.C程序函數中定義的賦有初值的靜態(tài)變量,每調用一次函數,賦一次初值

  D.C程序函數的形參不可以說明為static型變量

  參考答案:C

  參考解析:A選項描述正確,自動變量未賦初值,為隨機值;B選項描述正確,變量定義除在函數開始位置外,在復合語句開始也可以;C選項描述是錯誤的,函數內的靜態(tài)變量,只在第一次調用時候賦值,以后調用保留上次值;D選項描述也正確,形參屬于局部變量,占用動態(tài)存儲區(qū),而static型變量占用靜態(tài)存儲區(qū)。因此C選項正確。

  13[單選題] 程序中若有以下的說明定義和語句:

2017年9月計算機二級考試C語言考前預測卷(1)

  則不能給變量t的s成員賦整數99,給num成員賦空串的語句組是(  )。

2017年9月計算機二級考試C語言考前預測卷(1)


  參考答案:A

  參考解析:結構體變量使用 “.”運算符引用結構體成員變量,結構體指針使用“->”運算符引用結構體成員變量,main函數中聲明結構體STR變量t,和結構體STR指針*p,并將t的地址賦給p,所以使用P訪問成員變量時,使用“->”運算符;使用* P訪問成員變量時,使用“.”運算符。另外,由于成員變量num是字符數組,所以不能直接進行賦值,若要對num賦空字符串值,可以把num中第一個元素賦值為0或‘\0’,或者使用strcpy復制函數將空字符串“”復制到num中,故選項B、C、D正確,選項A錯誤,因此答案為A。

  14[單選題] 以下關于循環(huán)語句的敘述中正確的是(  )。

  A.do…while語句的循環(huán)體至少執(zhí)行一次

  B.while語句的循環(huán)體至少執(zhí)行一次

  C.for語句的循環(huán)體至少執(zhí)行一次

  D.上述A、B、c說法均正確

  參考答案:A

  參考解析:while(表達式)當表達式為false時,循環(huán)體一次都不執(zhí)行,故選項B、D錯誤;for(表達式1;表達式2;表達式3)語句,當表達式2為false時,循環(huán)體一次都不執(zhí)行,故選項C錯誤;do-while語句循環(huán)體至少執(zhí)行一次,故答案選A。

  15[單選題] 以下敘述中錯誤的是( )。

  A.用戶定義的函數中可以沒有return語句

  B.用戶定義的函數中可以有多個return語句,以便可以調用一次返回多個函數值

  C.用戶定義的函數中若沒有return語句,則應當定義函數為void類型

  D.函數的return語句中可以沒有表達式

  參考答案:B

  參考解析:本題重點考察函數返回值的相關知識,函數的值只能通過return語句返回主調函數,在函數中允許有多個return語句,但每次調用只能有一個return語句被執(zhí)行,因此只能返回一個函數值。不返回函數值的函數,可以明確定義為“空類型”,類型說明符為“void”。因此B選項正確。

  16[單選題] 以下敘述中正確的是( )。

  A.C語句必須在一行內寫完

  B.C程序中的每一行只能寫一條語句

  C.C語言程序中的注釋必須與語句寫在同一行

  D.簡單C語句必須以分號結束

  參考答案:D

  參考解析:C語句可以跨行來寫,但是必須以分號結束,所以A選項錯誤。C程序中的一行可以有多條語句,所以B選項錯誤。C語言中的注釋語句可以與原語句放在一行也可以不放在一行,所以C選項錯誤。

  17[單選題] 以下不合法的數值常量是(  )。

  A.8.0E0.5

  B.1e1

  C.011

  D.0xabed

  參考答案:A

  參考解析:A選項中E后面的指數必須為整型數據,所以A錯誤。C選項中011表示的是八進制常量.Oxabcd表示的是十六進制常量。

  18[單選題] 有以下程序:

2017年9月計算機二級考試C語言考前預測卷(1)

  程序計算的是(  )。 .

  A.s=1!+2!+3!+4!+5!

  B.s=1+2+3+4+5

  C.s=1$2*3*4*5

  D.s=1!*2!*3!*4!*5!

  參考答案:A

  參考解析:函數fun()中的變量f是靜態(tài)變量,所以只初始化一次,之后每次調用fun(),f的初值就是上一次fun()結束時的值,對于fun()函數,當傳人n=1時,f=1,返回值為1;當傳入n=2時,f=1×2=2,返回值為2;當傳人13=3時,f=2×3=6,返回值為6;當傳人n=4時,f=6×4=24,返回值為24,所以每次調用fun函數時,f變量在上一次fun函數運行結束時保留值的基礎上,再與n乘積,并重新賦值給f,所以可以將f理解為記錄當前的累乘值,即當main函數中i:1時,f=11=1;當main()函數i=2時,f=2!=2,當main函數中i=3時,f=3!=6……另外main函數中的S記錄調用fun函數的返回值之和,所以s=1!+2!+…+i!,由于i最大值為5,所以s=1!+2!+3!+4!+5!,答案為A。

  19[單選題] 下列詵項中.能正確定義數組的語句是( )。

2017年9月計算機二級考試C語言考前預測卷(1)

  參考答案:D

  參考解析:C語言不允許定義動態(tài)數組,定義數組的大小必須為常量表達式。A選項錯誤,C語言中數組沒有此類型的定義方法;B選項錯誤,定義數組應指明數組大小,如果不指明數組大小,需要給定初值的個數;C選項錯誤,N為變量,不能用來定義數組大小。因此D選項正確。

  20[單選題] 有以下程序:

2017年9月計算機二級考試C語言考前預測卷(1)

  程序的運行結果是(  )。

  A.123

  B.12300

  C.1

  D.321

  參考答案:A

  參考解析:首先使用fopen函數以可寫方式打開文件d1.dat,返回文件指針fp,然后在for循環(huán)通過fprintf函數調用fp指針,將數組a的3個元素寫入文件d1.dat中,最后再寫入換行符\n,關閉文件,此時文件中的內容:“123\n”,然后調用fopen函數以只讀方式打開d1.dat,返回文件指針fp指向文件的開頭,再調用fscanf函數從文件中讀入一個整數:123,(遇到第一個非數值字符結束),關閉文件后輸出讀人的整數n,結果為:123,答案為A。

掃描/長按二維碼幫助考試通關
2017等考各科真題答案
2017等考各科通關技巧
2017各科最新預測試卷
2017等考成績查詢時間

微信搜索"考試吧"了解更多考試資訊、下載備考資料

1 2 3 4 5 下一頁

  相關推薦:

  2017年全國計算機等級考試時間|教材目錄(2017年版)

  2017年9月計算機等級考試真題|算機等級考試答案

  各地2017年9月計算機等考成績查詢時間|免費查分提醒

  計算機等級考試成績評定流程及標準|合格證書樣本及證書說明

  歷年真題匯總|考試吧特別策劃:2017年計算機等級考試報考指南

0
收藏該文章
0
收藏該文章
文章搜索
萬題庫小程序
萬題庫小程序
·章節(jié)視頻 ·章節(jié)練習
·免費真題 ·?荚囶}
微信掃碼,立即獲!
掃碼免費使用
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
Copyright © 2004- 考試吧計算機等級考試網 出版物經營許可證新出發(fā)京批字第直170033號 
京ICP證060677 京ICP備05005269號 中國科學院研究生院權威支持(北京)
在線模擬試題
考證通關殺器
考試最新資訊
一次通關技巧