- 相關推薦
2017計算機二級C語言考前測試題與答案
2017年3月全國計算機等級考試時間為考試時間為3月25日至28日,為幫助大家復習C語言考試科目,以下是百分網小編搜索整理的一份2017計算機二級C語言考前測試題與答案,供參考練習,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!
一、選擇題
1). 以下敘述中正確的是( )
A.在C語言中,預處理命令行都以″#″開頭
B.預處理命令行必須位于C源程序的起始位置
C.#include 必須放在C程序的開頭
D.C語言的預處理不能實現宏定義和條件編譯的功能
正確答案:A
答案解析:在C語言中,凡是以″#″號開頭的行,都稱為″編譯預處理″命令行。預處理命令可以放在程序中的任何位置,其有效范圍是從定義開始到文件結束。預處理命令有宏定義、文件包含和條件編譯三類。#include 命令行表示程序中要引用C標準函數庫中的標準輸入輸出函數。
2). 下列敘述中,不屬于測試的特征的是
A.測試的挑剔性
B.完全測試的不可能性
C.測試的可靠性
D.測試的經濟性
正確答案:C
答案解析:軟件測試的目標是在精心控制的環境下執行程序,以發現程序中的錯誤,給出程序可靠性的鑒定。它有3個方面的重要特征,即測試的挑剔性、完全測試的不可能性及測試的經濟性。其中,沒有測試的可靠性這一說法。
3). 以下選項中不屬于C語言標識符的是( )
A.用戶標識符
B.關鍵字
C.常量
D.預定義標識符
正確答案:C
答案解析:C語言的標識符可分為以下3類:①關鍵字。C語言預先規定了一批標識符,它們在程序中都代表著固定的含義,不能另作他用。這些字符稱為關鍵字。例如,int、double、if、else、while、for等。②預定義標識符。即預先定義并具有特定含義的標識符。③用戶標識符。由用戶根據需要定義的標識符稱為用戶標識符,又稱自定義標識符,一般用來給變量、函數、數組等命名。
4). 一棵二叉樹共有25個結點,其中5個是葉子結點,則度為1的結點數為( )
A.16
B.10
C.6
D.4
正確答案:A
答案解析:根據二叉樹的性質,在任意二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個,故此度為1的結點個數=總結點數-葉子節點數-度為2的節點數=25-5-4=16。
5). 設有定義 char str[] = ″Hello″; 則語句 printf(″%d %d″, sizeof(str), strlen(str)); 的輸出結果是( )
A.6 6
B.6 5
C.5 5
D.5 6
正確答案:B
答案解析:sizeof主要用于測試變量所占的實際內存,而strlen函數主要測試字符串中實際字符的個數,字符串″Hello″占有內存6個字節,而字符串中共有5個字符。
6). 下列關于棧和隊列的描述中,正確的是( )。
A.棧是先進先出
B.隊列是先進后出
C.隊列允許在隊頭刪除元素
D.棧在棧頂刪除元素
正確答案:D
答案解析:棧實際也是線性表,只不過是一種特殊的線性表。棧是只能在表的一端進行插入和刪除運算的線性表,通常稱插入、刪除的這一端為棧頂,另一端為棧底。隊列是只允許在一端刪除,在另…端插入的順序表,允許刪除的一端叫做隊頭,允許插入的一端叫做隊尾。
二、程序填空題
下列給定程序中,函數fun的功能是:將形參n中個位上為偶數的數取出,并按原來從高位到低位相反的順序組成一個新數,作為函數值返回。
例如,輸入一個整數27638496,函數返回值為64862。
請在程序的下劃線處填入正確的內容并將下劃線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANKl.C中。
不得增行或刪行,也不得更改程序的結構!#include
unsigned long fun(unsigned long n){unsigned long x=0;int t;
三、程序修改題
下列給定程序中函數fun的功能是:將長整型數中各位上為奇數的數依次取出,構成一個新數放在t中。高位仍在高位,低位仍在低位。
例如,當s中的數為87653142時,t中的數為7531。請改正程序中的錯誤,使它能得出正確的結果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結構!
四、程序設計題
編寫函數fun,其功能是:實現兩個字符串的連接(不要使用庫函數strcat),即把p2所指的字符串連接到pl所指的字符串的后面。
例如,分別輸人下面兩個字符串:FirstString--SecondString
程序運行后的輸出結果是:FirstString————SecondString
注意:部分源程序在文件PROGl.C中。
請勿改動主函數main和其他函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。
》》參考答案與解析《《
二、程序填空題
【參考答案】
(1)0
(2)10*x
(3)n/10
【考點分析】
本題考查:已知某數,如何求該數各個位數值,已知各個位數值,如何表示該數;除法運算。
【解題思路】
填空l:定義變量t用來存放某數的各個位數值,此處判斷t是否為偶數,即對2求余結果是否為0。
填空2:將t作為x的個位數,原來x的各個位上升l位,即x=10{x+1。
填空3:每循環一次,通過除法運算,去掉數值最后一位。
【解題寶典】
如果知道某數n的各個位的數值,可以得到該數值n,如n的`個位為a、十位為b、百位為c,那么n=c}100+b*10+a。如果知道數值n,可以采用求余和除法操作來表示其各個位,如n%10(取個位)、n/J0(取十位),讀者可以自己考慮一下,如果是三位數,如何提取各個位?四位數呢?
三、程序修改題
【參考答案】(1)}t=0;(2)if(d%2 1=O)或if(d%2==1)
【考點分析】
本題考查:指針型變量作為函數參數;if語句條件表達式,結合奇偶數的表示方法來確定該表達式內容。
【解題思路】
(1)由函數定義可知,變量t是指針變量,所以對t進行賦初值0是不對的。因為t指向的是存放新數的變量,所以此處應給新數賦初值0,即。t=0。
(2)變量d表示數S各個位上的數,此處的if條件應為判斷d是否為奇數。
四、程序設計題
【參考答案】voidfun(char pl[],char p2[])
in“,j;
for(i=0;pl[i]f=。、0’;i++);
for(j=0;p2[j]!=。、0’;j++)p1[i++]=p2[j];
p1[i],_。、0’;}
【考點分析】“
本題考查:不使用字符串函數實現字符串連接操作。通過for循環語句來完成,不要忘了最后需要加上字符串結束標識‘、0’。
【解題思路】
本題用兩個循環完成操作,第1個循環的作用是求出第l個字符串的長度,即將i指到第1個字符串的末尾。第2個循環的作用是將第2個字符串的字符連到第l個字符申的末尾。最后在第l個字符串的結尾加上字符串結束標識‘、0’。
【計算機二級C語言考前測試題與答案】相關文章:
2017計算機二級C語言測試題及答案08-09
2023計算機二級C語言測試題及答案10-23
計算機二級《C語言》測試題及答案202411-02
2016計算機二級《C語言》測試題及答案08-23
計算機二級《C語言》測試題與答案解析10-30
計算機二級C語言測試題及答案解析07-11
計算機二級C語言預測試題及答案10-30
計算機二級C語言測試題及答案201610-09