#計算機等級考試# #2017年9月計算機二級C語言單選專項復(fù)習(xí)題【五套】#:為了使廣大學(xué)員在備戰(zhàn)2017下半年計算機二級考試時更快的掌握相應(yīng)知識點,在此精選了計算機二級C語言的練習(xí)題供學(xué)員參考,大家要抓緊時間備考,祝大家備考愉快,夢想成真。
2017年9月計算機二級C語言單選專項復(fù)習(xí)題一
1). 數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是
A.概念設(shè)計和邏輯設(shè)計
B.模式設(shè)計和內(nèi)模式設(shè)計
C.內(nèi)模式設(shè)計和物理設(shè)計
D.結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計
正確答案:A
答案解析:數(shù)據(jù)庫設(shè)計包括數(shù)據(jù)庫概念設(shè)計和數(shù)據(jù)庫邏輯設(shè)計兩個方面的內(nèi)容。
2). 以下不能輸出字符A的語句是(注:字符A的ASCII碼值為65,字符a的ASCII碼值為97)( )
A.printf (″%c \n″, ′a′-32);
B.printf (″%d \n″, ′A′);
C.printf (″%c \n″, 65);
D.printf (″%c \n″, ′B′-1);
正確答案:B
答案解析:在選項B的輸出函數(shù)中,大寫字符′A′以整型數(shù)據(jù)的形式輸出。
3). 下列描述中正確的是( )
A.程序就是軟件
B.軟件開發(fā)不受計算機系統(tǒng)的限制
C.軟件既是邏輯實體,又是物理實體
D.軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
正確答案:D
答案解析:計算機軟件與硬件是計算機系統(tǒng)中相互依存的兩部分。計算機軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件由兩部分組成:一部分是機器可執(zhí)行的程序和數(shù)據(jù);二是機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關(guān)的文檔。軟件具有以下六個特點:①軟件是一種邏輯實體,而不是物理實體,具有抽象性。②軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程。③軟件在運行、使用期間不存在磨損、老化問題。④軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導(dǎo)致了軟件移值的問題。⑤軟件復(fù)雜性高,成本昂貴。⑥軟件的開發(fā)涉及諸多社會因素。
4). 以下不合法的用戶標(biāo)識符是( )。
A.804zhang
B._ hh
C.yy614
D.If
正確答案:A
答案解析:C語言規(guī)定,標(biāo)識符是由字母、數(shù)字或下劃線組成,并且它的第一個字符必須是字母或下劃線。
5). 以下說法正確的是( )。
A.宏定義是C語句,要在行末加分號
B.可以使用# undefine提前結(jié)束宏名的使用
C.在進行宏定義時,宏定義不能嵌套
D.雙引號中出現(xiàn)的宏名也要進行替換
正確答案:B
答案解析:本題考查宏的使用規(guī)則:①字符替換格式:#define標(biāo)識符字符串,行末不加分號;②雙引號中出現(xiàn)的宏名不替換;③如果提前結(jié)束宏名的使用,程序中可以使用#undefine;④在進行宏定義時,宏定義能層層置換,能夠嵌套。
6). 設(shè)已有定義: float x; 則以下對指針變量p進行定義且賦初值的語句中正確的是( )
A.int *p=(float)x;
B.float *p=&x;
C.float p=&x;
D.float *p=1024;
正確答案:B
答案解析:定義指針變量的一般形式為:類型名 *指針變量名1,*指針變量名2,……;。對一個指針變量賦值要通過求地址運算符(&)獲得變量的地址值,然后把此地址值賦給指針變量。因而在選項A的表達式中,賦值號的左邊表示定義了指針變量p,而右邊表示求變量x的地址值。
2017年9月計算機二級C語言單選專項復(fù)習(xí)題二
(1). 若變量已正確定義并賦值,以下符合C語言語法的表達式是
A.a:=b+1
B.a=b=c+2
C.int 18.5%3
D.a=a+7=c+b
正確答案:B
答案解析:選項A中包含一個不合法的運算符":=";選項C應(yīng)改為(int)18.5%3;選項D可理解為兩個表達式:a+7=c+b和a=a+7,其中第一個是錯的,因為C語言規(guī)定賦值號的左邊只能是單個變量,不能是表達式或常量等。因此,正確答案是選項B,它實際上相當(dāng)于a=(b=c+2),進而可分解為兩個表達式:b=c+2和a=b。
2). 結(jié)構(gòu)化程序設(shè)計的基本原則不包括( )
A.多元性
B.自頂向下
C.模塊化
D.逐步求精
正確答案:A
答案解析:結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語句,其中不包括多態(tài)性。
3). 下面選項中關(guān)于位運算的敘述正確的是( )
A.位運算符都需要兩個操作數(shù)
B.左移運算的結(jié)果總是原操作數(shù)據(jù)2倍
C.右移運算時,高位總是補0
D.位運算的對象只能是整型或字符型數(shù)據(jù)
正確答案:D
答案解析:位運算則是以位(bit)一級進行的運算,位運算符中除″~″以外,均為二元運算符,即要求兩側(cè)各有一個運算量,運算量只能是整型或字符型的數(shù)據(jù),不能為實型數(shù)據(jù)。其中右移時,右端(低位)移出的二進制數(shù)舍棄,左端(高位)移入的二進制數(shù)分兩種情況:對于無符號整數(shù)和正整數(shù),高位補0;對于負(fù)整數(shù),高位補1。而左移運算在沒有溢出的前提下每移動一位,相當(dāng)于原數(shù)據(jù)的2倍。
4). 定義無符號整數(shù)類為UInt,下面可以作為類UInt實例化值的是( )
A.-369
B.369
C.0.369
D.整數(shù)集合{1,2,3,4,5}
正確答案:B
答案解析:UInt表示的是無符號整數(shù)類,所以它的每個實例都是一個無符號整數(shù),所以排除選項A和選項C,選項D是整數(shù)集合,所以也排除。
5). 下列關(guān)于類、對象、屬性和方法的敘述中,錯誤的是( )。
A.類是對一類具有相同的屬性和方法對象的描述
B.屬性用于描述對象的狀態(tài)
C.方法用于表示對象的行為
D.基于同一個類產(chǎn)生的兩個對象不可以分別設(shè)置自己的屬性值
正確答案:D
答案解析:類是對一類具有相同的屬性和方法對象的描述,屬性用于描述對象的狀態(tài),方法用于表示對象的行為,基于同一個類產(chǎn)生的兩個對象是可以分別設(shè)置自己的屬性值。
6). 下列描述中正確的是( )
A.軟件交付使用后還需要再進行維護
B.軟件工具交付使用就不需要再進行維護
C.軟件交付使用后其生命周期就結(jié)束
D.軟件維護是指修復(fù)程序中被破壞的指令
正確答案:A
答案解析:通常將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護三個階段。已交付的軟件投入運行后,應(yīng)在運行使用中不斷地維護,根據(jù)新提出的需要進行必要而且可能的擴充和刪改。
2017年9月計算機二級C語言單選專項復(fù)習(xí)題三
1). 對長度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為( )
A.9
B.10
C.45
D.90
正確答案:C
答案解析:線性表的長度為n,最壞情況下冒泡排序需要比較的次數(shù)為n(n -1)/2。
2). 以下敘述中錯誤的是( )
A.gets函數(shù)用于從終端讀入字符串
B.getchar函數(shù)用于從磁盤文件讀入字符
C.fputs函數(shù)用于把字符串輸出到文件
D.fwrite函數(shù)用于以二進制形式輸出數(shù)據(jù)到文件
正確答案:B
答案解析:本題考查的是輸入輸出函數(shù)的使用,gets和 getchar函數(shù)用于從標(biāo)準(zhǔn)輸入設(shè)備終端讀入字符串和字符,并非從磁盤文件讀入,fputs用于把字符串輸出到文件,fwrite用于以二進制形式輸出數(shù)據(jù)到文件。
3). 設(shè)有說明int(*ptr)[M];其中的標(biāo)識符ptr是( )。
A.M個指向整型變量的指針
B.指向M個整型變量的函數(shù)指針
C.一個指向具有M個整型元素的一維數(shù)組的指針
D.具有M個指針元素的一維指針數(shù)組,每個元素都只能指向整型變量
正確答案:C
答案解析:根據(jù)C語言的語法規(guī)則可知,int(*ptr)[M]中的標(biāo)識符ptr是一個指向具有M個整型元素的一維數(shù)組指針。
4). 以下敘述中正確的是( )
A.結(jié)構(gòu)體變量的地址不能作為實參傳給函數(shù)
B.結(jié)構(gòu)體數(shù)組名不能作為實參傳給函數(shù)
C.即使是同類型的結(jié)構(gòu)體變量,也不能進行整體賦值
D.結(jié)構(gòu)體中可以含有指向本結(jié)構(gòu)體的指針成員
正確答案:D
答案解析:一個結(jié)構(gòu)體變量包含若干成員,這些成員可以是數(shù)值類型、字符類型、數(shù)組類型,也可以是指針類型,甚至可以是正在定義的結(jié)構(gòu)體類型指針。用結(jié)構(gòu)體變量作實參時,采取的是″值傳遞″的方式,將結(jié)構(gòu)體變量所占的內(nèi)存單元的內(nèi)容全部順序傳遞給形參。形參也必須是同類型的結(jié)構(gòu)體變量。結(jié)構(gòu)體數(shù)組作為參數(shù)時,采取了″地址傳遞″的方式,形參須為同類型的結(jié)構(gòu)指針或者形參結(jié)構(gòu)數(shù)組。
5). 以下選項中與 if(a==1)a=b; else a++; 語句功能不同的switch語句是( )
A.switch(a==1) {case 0:a=b;break; case 1:a++; }
B.switch(A {case 1:a=b;break; default : a++; }
C.switch(A {default:a++;break; case 1:a=b; }
D.switch(a==1) {case 1:a=b;break; case 0:a++; }
正確答案:A
答案解析:if else語句的含義是,如果變量a的值等于1,則把變量b的值賦給變量a,否則,變量a的值加1。在本題的4個選項中,與其含義不同的是選項A,表示如果變量a的值等于1,則把變量a的值加1,否則,把變量b的值賦給變量a。
6). 設(shè)樹T的深度為4,其中度為1,2,3,4的結(jié)點個數(shù)分別為4,2,1,1。則T中的葉子結(jié)點數(shù)為( )
A.8
B.7
C.6
D.5
正確答案:B
答案解析:深度為m二叉樹其總結(jié)點數(shù)為2m -1=24-1=15??偨Y(jié)點數(shù)減去度為1,2,3,4的結(jié)點個數(shù)就是葉子結(jié)點數(shù)。15-4-2-1-1=7。
2017年9月計算機二級C語言單選專項復(fù)習(xí)題四
1). 若變量均已正確定義并賦值,以下合法的C語言賦值語句是( )。
A.x=y==5;
B.x=n%2.5;
C.x+n=I;
D.x=5=4+1;
正確答案:A
答案解析:選項A的含義是把關(guān)系表達式y(tǒng)==5的值賦給變量x。所以這是一條正確的賦值語句。因為賦值運算符左側(cè)的操作數(shù)必須是一個變量,而不能是表達式或者常量,所以選項C和D是錯誤的。因為求余運算符″%″兩側(cè)的運算對象都應(yīng)當(dāng)是整型數(shù)據(jù),所以選項B是錯誤的。
2). 下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是( )
A.循環(huán)隊列
B.帶鏈隊列
C.二叉樹
D.帶鏈棧
正確答案:C
答案解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)。循環(huán)隊列、帶鏈隊列和帶鏈棧都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。
3). 下列敘述中正確的是( )
A.一個算法的空間復(fù)雜度大,則其時間復(fù)雜度也必定大
B.一個算法的空間復(fù)雜度大,則其時間復(fù)雜度必定小
C.一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小
D.算法的時間復(fù)雜度與空間復(fù)雜度沒有直接關(guān)系
正確答案:D
答案解析:算法的復(fù)雜度主要包括時間復(fù)雜度和空間復(fù)雜度。算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量,算法的工作量用算法所執(zhí)行的基本運算次數(shù)來度量,而算法所執(zhí)行的基本運算次數(shù)是問題規(guī)模的函數(shù),即算法的工作量=f(n),其中n是問題的規(guī)模;算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。一個算法所占用的存儲空間包括算法程序所占用的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間。根據(jù)各自的定義可知,算法的時間復(fù)雜度與空間復(fù)雜度并不相關(guān)。
4). 下列描述中正確的是( )
A.程序就是軟件
B.軟件開發(fā)不受計算機系統(tǒng)的限制
C.軟件既是邏輯實體,又是物理實體
D.軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
正確答案:D
答案解析:計算機軟件與硬件是計算機系統(tǒng)中相互依存的兩部分。計算機軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件由兩部分組成:一部分是機器可執(zhí)行的程序和數(shù)據(jù);二是機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關(guān)的文檔。軟件具有以下六個特點:①軟件是一種邏輯實體,而不是物理實體,具有抽象性。②軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程。③軟件在運行、使用期間不存在磨損、老化問題。④軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導(dǎo)致了軟件移值的問題。⑤軟件復(fù)雜性高,成本昂貴。⑥軟件的開發(fā)涉及諸多社會因素。
5). 對于循環(huán)隊列,下列敘述中正確的是( )
A.隊頭指針是固定不變的
B.隊頭指針一定大于隊尾指針
C.隊頭指針一定小于隊尾指針
D.隊頭指針可以大于隊尾指針,也可以小于隊尾指針
正確答案:D
答案解析:所謂循環(huán)隊列,就是將隊列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間,供隊列循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置。循環(huán)隊列的主要操作是:入隊運算和退隊運算。每進行一次入隊運算,隊尾指針就進一。每進行一次退隊運算,隊頭指針就進一。當(dāng)rear或front等于隊列的長度加1時,就把rear或front值置為1。所以在循環(huán)隊列中,隊頭指針可以大于隊尾指針,也可以小于隊尾指針。
6). 設(shè)有定義: char p[]={′1′, ′2′, ′3′},*q=p; 以下不能計算出一個char型數(shù)據(jù)所占字節(jié)數(shù)的表達式是( )
A.sizeof(p)
B.sizeof(char)
C.sizeof(*q)
D.sizeof(p[0])
正確答案:A
答案解析:選項A計算的是p[ ]字符數(shù)組首地址所占的內(nèi)存字節(jié)數(shù),返回值數(shù)組中所有元素占有的空間。*q和p[0]分別表示數(shù)組p中下標(biāo)為0的字符元素,選項B和D都可以計算char型數(shù)據(jù)占有的字節(jié)數(shù)。
7). 以下敘述中正確的是( )
A.打開一個已存在的文件并進行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
B.在一個程序中當(dāng)對文件進行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個數(shù)據(jù)
C.C語言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
D.當(dāng)對文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
正確答案:D
答案解析:在C語言中,有兩種對文件的存取方式;順序存取和直接存取;如果以″a″的方式對一個已打開的文件進行寫操作后,則原有文件中內(nèi)容將保存,新的數(shù)據(jù)寫在原有內(nèi)容之后。如果以″a+″的方式為讀和寫而打開一個文件,則既可以對文件進行讀,也可以對文件進行寫,而且在讀和寫操作之間不必關(guān)閉文件,可以從頭開始讀。當(dāng)對文件的讀(寫)操作完成之后,必須將它關(guān)閉。
2017年9月計算機二級C語言單選專項復(fù)習(xí)題五
1). 以下選項中不合法的標(biāo)識符是( )
A.FOR
B.&a
C.print
D._00
正確答案:B
答案解析:合法的標(biāo)識符要滿足組成字符為a~z以及A~Z,數(shù)字字符0到9和下劃線,其中數(shù)字不開頭,不能是關(guān)鍵字。選項B中,&不屬于組成字符,是錯誤的。
2). 下列描述中正確的是( )
A.程序就是軟件
B.軟件開發(fā)不受計算機系統(tǒng)的限制
C.軟件既是邏輯實體,又是物理實體
D.軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
正確答案:D
答案解析:計算機軟件與硬件是計算機系統(tǒng)中相互依存的兩部分。計算機軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件由兩部分組成:一部分是機器可執(zhí)行的程序和數(shù)據(jù);二是機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關(guān)的文檔。軟件具有以下六個特點:①軟件是一種邏輯實體,而不是物理實體,具有抽象性。②軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程。③軟件在運行、使用期間不存在磨損、老化問題。④軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導(dǎo)致了軟件移值的問題。⑤軟件復(fù)雜性高,成本昂貴。⑥軟件的開發(fā)涉及諸多社會因素。
3). 變量a中的數(shù)據(jù)用二進制表示的形式是01011101,變量b中的數(shù)據(jù)用二進制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運算是
A.a^b
B.a|b
C.a&b
D.a<<4
正確答案:A
答案解析:本題考查的是位運算的知識,對于任何二進制數(shù),和1進行異或運算會讓其取反,而和0進行異或運算不會產(chǎn)生任何變化,故本題選A。
4). 下列關(guān)于棧敘述正確的是( )
A.棧頂元素最先能被刪除
B.棧頂元素最后才能被刪除
C.棧底元素永遠不能被刪除
D.以上三種說法都不對
正確答案:A
答案解析:棧是先進后出的線性表,棧頂?shù)脑刈钕缺粍h除,棧底的元素最后被刪除。
5). 已知 int a=1,b=3則a^b的值為
A.3
B.1
C.2
D.4
正確答案:C
答案解析:^是按位異或運算,如果對應(yīng)位不同則結(jié)果為1,相同則為0。
6). 按條件f對關(guān)系R進行選擇,其關(guān)系代數(shù)表達式為( )
A.R|X|R
B.R|X|Rf
C.бf(R)
D.∏f(R)
正確答案:C
7). 信息隱蔽的概念與下述哪一種概念直接相關(guān)( )
A.軟件結(jié)構(gòu)定義
B.模塊獨立性
C.模塊類型劃分
D.模擬耦合度
正確答案:B
2017年9月計算機二級C語言單選專項復(fù)習(xí)題一
1). 數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是
A.概念設(shè)計和邏輯設(shè)計
B.模式設(shè)計和內(nèi)模式設(shè)計
C.內(nèi)模式設(shè)計和物理設(shè)計
D.結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計
正確答案:A
答案解析:數(shù)據(jù)庫設(shè)計包括數(shù)據(jù)庫概念設(shè)計和數(shù)據(jù)庫邏輯設(shè)計兩個方面的內(nèi)容。
2). 以下不能輸出字符A的語句是(注:字符A的ASCII碼值為65,字符a的ASCII碼值為97)( )
A.printf (″%c \n″, ′a′-32);
B.printf (″%d \n″, ′A′);
C.printf (″%c \n″, 65);
D.printf (″%c \n″, ′B′-1);
正確答案:B
答案解析:在選項B的輸出函數(shù)中,大寫字符′A′以整型數(shù)據(jù)的形式輸出。
3). 下列描述中正確的是( )
A.程序就是軟件
B.軟件開發(fā)不受計算機系統(tǒng)的限制
C.軟件既是邏輯實體,又是物理實體
D.軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
正確答案:D
答案解析:計算機軟件與硬件是計算機系統(tǒng)中相互依存的兩部分。計算機軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件由兩部分組成:一部分是機器可執(zhí)行的程序和數(shù)據(jù);二是機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關(guān)的文檔。軟件具有以下六個特點:①軟件是一種邏輯實體,而不是物理實體,具有抽象性。②軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程。③軟件在運行、使用期間不存在磨損、老化問題。④軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導(dǎo)致了軟件移值的問題。⑤軟件復(fù)雜性高,成本昂貴。⑥軟件的開發(fā)涉及諸多社會因素。
4). 以下不合法的用戶標(biāo)識符是( )。
A.804zhang
B._ hh
C.yy614
D.If
正確答案:A
答案解析:C語言規(guī)定,標(biāo)識符是由字母、數(shù)字或下劃線組成,并且它的第一個字符必須是字母或下劃線。
5). 以下說法正確的是( )。
A.宏定義是C語句,要在行末加分號
B.可以使用# undefine提前結(jié)束宏名的使用
C.在進行宏定義時,宏定義不能嵌套
D.雙引號中出現(xiàn)的宏名也要進行替換
正確答案:B
答案解析:本題考查宏的使用規(guī)則:①字符替換格式:#define標(biāo)識符字符串,行末不加分號;②雙引號中出現(xiàn)的宏名不替換;③如果提前結(jié)束宏名的使用,程序中可以使用#undefine;④在進行宏定義時,宏定義能層層置換,能夠嵌套。
6). 設(shè)已有定義: float x; 則以下對指針變量p進行定義且賦初值的語句中正確的是( )
A.int *p=(float)x;
B.float *p=&x;
C.float p=&x;
D.float *p=1024;
正確答案:B
答案解析:定義指針變量的一般形式為:類型名 *指針變量名1,*指針變量名2,……;。對一個指針變量賦值要通過求地址運算符(&)獲得變量的地址值,然后把此地址值賦給指針變量。因而在選項A的表達式中,賦值號的左邊表示定義了指針變量p,而右邊表示求變量x的地址值。
2017年9月計算機二級C語言單選專項復(fù)習(xí)題二
(1). 若變量已正確定義并賦值,以下符合C語言語法的表達式是
A.a:=b+1
B.a=b=c+2
C.int 18.5%3
D.a=a+7=c+b
正確答案:B
答案解析:選項A中包含一個不合法的運算符":=";選項C應(yīng)改為(int)18.5%3;選項D可理解為兩個表達式:a+7=c+b和a=a+7,其中第一個是錯的,因為C語言規(guī)定賦值號的左邊只能是單個變量,不能是表達式或常量等。因此,正確答案是選項B,它實際上相當(dāng)于a=(b=c+2),進而可分解為兩個表達式:b=c+2和a=b。
2). 結(jié)構(gòu)化程序設(shè)計的基本原則不包括( )
A.多元性
B.自頂向下
C.模塊化
D.逐步求精
正確答案:A
答案解析:結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語句,其中不包括多態(tài)性。
3). 下面選項中關(guān)于位運算的敘述正確的是( )
A.位運算符都需要兩個操作數(shù)
B.左移運算的結(jié)果總是原操作數(shù)據(jù)2倍
C.右移運算時,高位總是補0
D.位運算的對象只能是整型或字符型數(shù)據(jù)
正確答案:D
答案解析:位運算則是以位(bit)一級進行的運算,位運算符中除″~″以外,均為二元運算符,即要求兩側(cè)各有一個運算量,運算量只能是整型或字符型的數(shù)據(jù),不能為實型數(shù)據(jù)。其中右移時,右端(低位)移出的二進制數(shù)舍棄,左端(高位)移入的二進制數(shù)分兩種情況:對于無符號整數(shù)和正整數(shù),高位補0;對于負(fù)整數(shù),高位補1。而左移運算在沒有溢出的前提下每移動一位,相當(dāng)于原數(shù)據(jù)的2倍。
4). 定義無符號整數(shù)類為UInt,下面可以作為類UInt實例化值的是( )
A.-369
B.369
C.0.369
D.整數(shù)集合{1,2,3,4,5}
正確答案:B
答案解析:UInt表示的是無符號整數(shù)類,所以它的每個實例都是一個無符號整數(shù),所以排除選項A和選項C,選項D是整數(shù)集合,所以也排除。
5). 下列關(guān)于類、對象、屬性和方法的敘述中,錯誤的是( )。
A.類是對一類具有相同的屬性和方法對象的描述
B.屬性用于描述對象的狀態(tài)
C.方法用于表示對象的行為
D.基于同一個類產(chǎn)生的兩個對象不可以分別設(shè)置自己的屬性值
正確答案:D
答案解析:類是對一類具有相同的屬性和方法對象的描述,屬性用于描述對象的狀態(tài),方法用于表示對象的行為,基于同一個類產(chǎn)生的兩個對象是可以分別設(shè)置自己的屬性值。
6). 下列描述中正確的是( )
A.軟件交付使用后還需要再進行維護
B.軟件工具交付使用就不需要再進行維護
C.軟件交付使用后其生命周期就結(jié)束
D.軟件維護是指修復(fù)程序中被破壞的指令
正確答案:A
答案解析:通常將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護三個階段。已交付的軟件投入運行后,應(yīng)在運行使用中不斷地維護,根據(jù)新提出的需要進行必要而且可能的擴充和刪改。
2017年9月計算機二級C語言單選專項復(fù)習(xí)題三
1). 對長度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為( )
A.9
B.10
C.45
D.90
正確答案:C
答案解析:線性表的長度為n,最壞情況下冒泡排序需要比較的次數(shù)為n(n -1)/2。
2). 以下敘述中錯誤的是( )
A.gets函數(shù)用于從終端讀入字符串
B.getchar函數(shù)用于從磁盤文件讀入字符
C.fputs函數(shù)用于把字符串輸出到文件
D.fwrite函數(shù)用于以二進制形式輸出數(shù)據(jù)到文件
正確答案:B
答案解析:本題考查的是輸入輸出函數(shù)的使用,gets和 getchar函數(shù)用于從標(biāo)準(zhǔn)輸入設(shè)備終端讀入字符串和字符,并非從磁盤文件讀入,fputs用于把字符串輸出到文件,fwrite用于以二進制形式輸出數(shù)據(jù)到文件。
3). 設(shè)有說明int(*ptr)[M];其中的標(biāo)識符ptr是( )。
A.M個指向整型變量的指針
B.指向M個整型變量的函數(shù)指針
C.一個指向具有M個整型元素的一維數(shù)組的指針
D.具有M個指針元素的一維指針數(shù)組,每個元素都只能指向整型變量
正確答案:C
答案解析:根據(jù)C語言的語法規(guī)則可知,int(*ptr)[M]中的標(biāo)識符ptr是一個指向具有M個整型元素的一維數(shù)組指針。
4). 以下敘述中正確的是( )
A.結(jié)構(gòu)體變量的地址不能作為實參傳給函數(shù)
B.結(jié)構(gòu)體數(shù)組名不能作為實參傳給函數(shù)
C.即使是同類型的結(jié)構(gòu)體變量,也不能進行整體賦值
D.結(jié)構(gòu)體中可以含有指向本結(jié)構(gòu)體的指針成員
正確答案:D
答案解析:一個結(jié)構(gòu)體變量包含若干成員,這些成員可以是數(shù)值類型、字符類型、數(shù)組類型,也可以是指針類型,甚至可以是正在定義的結(jié)構(gòu)體類型指針。用結(jié)構(gòu)體變量作實參時,采取的是″值傳遞″的方式,將結(jié)構(gòu)體變量所占的內(nèi)存單元的內(nèi)容全部順序傳遞給形參。形參也必須是同類型的結(jié)構(gòu)體變量。結(jié)構(gòu)體數(shù)組作為參數(shù)時,采取了″地址傳遞″的方式,形參須為同類型的結(jié)構(gòu)指針或者形參結(jié)構(gòu)數(shù)組。
5). 以下選項中與 if(a==1)a=b; else a++; 語句功能不同的switch語句是( )
A.switch(a==1) {case 0:a=b;break; case 1:a++; }
B.switch(A {case 1:a=b;break; default : a++; }
C.switch(A {default:a++;break; case 1:a=b; }
D.switch(a==1) {case 1:a=b;break; case 0:a++; }
正確答案:A
答案解析:if else語句的含義是,如果變量a的值等于1,則把變量b的值賦給變量a,否則,變量a的值加1。在本題的4個選項中,與其含義不同的是選項A,表示如果變量a的值等于1,則把變量a的值加1,否則,把變量b的值賦給變量a。
6). 設(shè)樹T的深度為4,其中度為1,2,3,4的結(jié)點個數(shù)分別為4,2,1,1。則T中的葉子結(jié)點數(shù)為( )
A.8
B.7
C.6
D.5
正確答案:B
答案解析:深度為m二叉樹其總結(jié)點數(shù)為2m -1=24-1=15??偨Y(jié)點數(shù)減去度為1,2,3,4的結(jié)點個數(shù)就是葉子結(jié)點數(shù)。15-4-2-1-1=7。
2017年9月計算機二級C語言單選專項復(fù)習(xí)題四
1). 若變量均已正確定義并賦值,以下合法的C語言賦值語句是( )。
A.x=y==5;
B.x=n%2.5;
C.x+n=I;
D.x=5=4+1;
正確答案:A
答案解析:選項A的含義是把關(guān)系表達式y(tǒng)==5的值賦給變量x。所以這是一條正確的賦值語句。因為賦值運算符左側(cè)的操作數(shù)必須是一個變量,而不能是表達式或者常量,所以選項C和D是錯誤的。因為求余運算符″%″兩側(cè)的運算對象都應(yīng)當(dāng)是整型數(shù)據(jù),所以選項B是錯誤的。
2). 下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是( )
A.循環(huán)隊列
B.帶鏈隊列
C.二叉樹
D.帶鏈棧
正確答案:C
答案解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)。循環(huán)隊列、帶鏈隊列和帶鏈棧都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。
3). 下列敘述中正確的是( )
A.一個算法的空間復(fù)雜度大,則其時間復(fù)雜度也必定大
B.一個算法的空間復(fù)雜度大,則其時間復(fù)雜度必定小
C.一個算法的時間復(fù)雜度大,則其空間復(fù)雜度必定小
D.算法的時間復(fù)雜度與空間復(fù)雜度沒有直接關(guān)系
正確答案:D
答案解析:算法的復(fù)雜度主要包括時間復(fù)雜度和空間復(fù)雜度。算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量,算法的工作量用算法所執(zhí)行的基本運算次數(shù)來度量,而算法所執(zhí)行的基本運算次數(shù)是問題規(guī)模的函數(shù),即算法的工作量=f(n),其中n是問題的規(guī)模;算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。一個算法所占用的存儲空間包括算法程序所占用的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間。根據(jù)各自的定義可知,算法的時間復(fù)雜度與空間復(fù)雜度并不相關(guān)。
4). 下列描述中正確的是( )
A.程序就是軟件
B.軟件開發(fā)不受計算機系統(tǒng)的限制
C.軟件既是邏輯實體,又是物理實體
D.軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
正確答案:D
答案解析:計算機軟件與硬件是計算機系統(tǒng)中相互依存的兩部分。計算機軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件由兩部分組成:一部分是機器可執(zhí)行的程序和數(shù)據(jù);二是機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關(guān)的文檔。軟件具有以下六個特點:①軟件是一種邏輯實體,而不是物理實體,具有抽象性。②軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程。③軟件在運行、使用期間不存在磨損、老化問題。④軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導(dǎo)致了軟件移值的問題。⑤軟件復(fù)雜性高,成本昂貴。⑥軟件的開發(fā)涉及諸多社會因素。
5). 對于循環(huán)隊列,下列敘述中正確的是( )
A.隊頭指針是固定不變的
B.隊頭指針一定大于隊尾指針
C.隊頭指針一定小于隊尾指針
D.隊頭指針可以大于隊尾指針,也可以小于隊尾指針
正確答案:D
答案解析:所謂循環(huán)隊列,就是將隊列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間,供隊列循環(huán)使用。在循環(huán)隊列中,用隊尾指針rear指向隊列中的隊尾元素,用隊頭指針front指向隊頭元素的前一個位置。循環(huán)隊列的主要操作是:入隊運算和退隊運算。每進行一次入隊運算,隊尾指針就進一。每進行一次退隊運算,隊頭指針就進一。當(dāng)rear或front等于隊列的長度加1時,就把rear或front值置為1。所以在循環(huán)隊列中,隊頭指針可以大于隊尾指針,也可以小于隊尾指針。
6). 設(shè)有定義: char p[]={′1′, ′2′, ′3′},*q=p; 以下不能計算出一個char型數(shù)據(jù)所占字節(jié)數(shù)的表達式是( )
A.sizeof(p)
B.sizeof(char)
C.sizeof(*q)
D.sizeof(p[0])
正確答案:A
答案解析:選項A計算的是p[ ]字符數(shù)組首地址所占的內(nèi)存字節(jié)數(shù),返回值數(shù)組中所有元素占有的空間。*q和p[0]分別表示數(shù)組p中下標(biāo)為0的字符元素,選項B和D都可以計算char型數(shù)據(jù)占有的字節(jié)數(shù)。
7). 以下敘述中正確的是( )
A.打開一個已存在的文件并進行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
B.在一個程序中當(dāng)對文件進行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個數(shù)據(jù)
C.C語言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
D.當(dāng)對文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
正確答案:D
答案解析:在C語言中,有兩種對文件的存取方式;順序存取和直接存取;如果以″a″的方式對一個已打開的文件進行寫操作后,則原有文件中內(nèi)容將保存,新的數(shù)據(jù)寫在原有內(nèi)容之后。如果以″a+″的方式為讀和寫而打開一個文件,則既可以對文件進行讀,也可以對文件進行寫,而且在讀和寫操作之間不必關(guān)閉文件,可以從頭開始讀。當(dāng)對文件的讀(寫)操作完成之后,必須將它關(guān)閉。
2017年9月計算機二級C語言單選專項復(fù)習(xí)題五
1). 以下選項中不合法的標(biāo)識符是( )
A.FOR
B.&a
C.print
D._00
正確答案:B
答案解析:合法的標(biāo)識符要滿足組成字符為a~z以及A~Z,數(shù)字字符0到9和下劃線,其中數(shù)字不開頭,不能是關(guān)鍵字。選項B中,&不屬于組成字符,是錯誤的。
2). 下列描述中正確的是( )
A.程序就是軟件
B.軟件開發(fā)不受計算機系統(tǒng)的限制
C.軟件既是邏輯實體,又是物理實體
D.軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
正確答案:D
答案解析:計算機軟件與硬件是計算機系統(tǒng)中相互依存的兩部分。計算機軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件由兩部分組成:一部分是機器可執(zhí)行的程序和數(shù)據(jù);二是機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關(guān)的文檔。軟件具有以下六個特點:①軟件是一種邏輯實體,而不是物理實體,具有抽象性。②軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程。③軟件在運行、使用期間不存在磨損、老化問題。④軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導(dǎo)致了軟件移值的問題。⑤軟件復(fù)雜性高,成本昂貴。⑥軟件的開發(fā)涉及諸多社會因素。
3). 變量a中的數(shù)據(jù)用二進制表示的形式是01011101,變量b中的數(shù)據(jù)用二進制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運算是
A.a^b
B.a|b
C.a&b
D.a<<4
正確答案:A
答案解析:本題考查的是位運算的知識,對于任何二進制數(shù),和1進行異或運算會讓其取反,而和0進行異或運算不會產(chǎn)生任何變化,故本題選A。
4). 下列關(guān)于棧敘述正確的是( )
A.棧頂元素最先能被刪除
B.棧頂元素最后才能被刪除
C.棧底元素永遠不能被刪除
D.以上三種說法都不對
正確答案:A
答案解析:棧是先進后出的線性表,棧頂?shù)脑刈钕缺粍h除,棧底的元素最后被刪除。
5). 已知 int a=1,b=3則a^b的值為
A.3
B.1
C.2
D.4
正確答案:C
答案解析:^是按位異或運算,如果對應(yīng)位不同則結(jié)果為1,相同則為0。
6). 按條件f對關(guān)系R進行選擇,其關(guān)系代數(shù)表達式為( )
A.R|X|R
B.R|X|Rf
C.бf(R)
D.∏f(R)
正確答案:C
7). 信息隱蔽的概念與下述哪一種概念直接相關(guān)( )
A.軟件結(jié)構(gòu)定義
B.模塊獨立性
C.模塊類型劃分
D.模擬耦合度
正確答案:B