計算機二級選擇題題庫_第1頁
計算機二級選擇題題庫_第2頁
計算機二級選擇題題庫_第3頁
計算機二級選擇題題庫_第4頁
計算機二級選擇題題庫_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 選擇題題庫1.下列數據結構中,屬于非線性結構的是()。A) 循環隊列B) 帶鏈隊列C) 二叉樹D) 帶鏈棧1、參考答案:C【解析】樹是簡單的非線性結構,所以二叉樹作為樹的一種也是一種非線性結構。2.下列數據結構中,能夠按照"先進后出"原則存取數據的是()。A) 循環隊列B) 棧C) 隊列D) 二叉樹2、參考答案:B【解析】棧是按先進后出的原則組織數據的。隊列是先進先出的原則組織數據3.對于循環隊列,下列敘述中正確的是()。A) 隊頭指針是固定不變的B) 隊頭指針一定大于隊尾指針C) 隊頭指針一定小于隊尾指針D) 隊頭指針可以大于隊尾指針,也可以小于隊尾指針3、參考答案:D

2、【解析】循環隊列的隊頭指針與隊尾指針都不是固定的,隨著入隊與出隊操作要進行變化。因為是循環利用的隊列結構所以對頭指針有時可能大于隊尾指針有時也可能小于隊尾指針。4.算法的空間復雜度是指()。A) 算法在執行過程中所需要的計算機存儲空間B) 算法所處理的數據量C) 算法程序中的語句或指令條數D) 算法在執行過程中所需要的臨時工作單元數4、參考答案:A【解析】算法的空間復雜度是指算法在執行過程中所需要的內存空間。所以選擇A)。5.軟件設計中劃分模塊的一個準則是()。A) 低內聚低耦合B) 高內聚低耦合C) 低內聚高耦合 D) 高內聚高耦合5、參考答案:B【解析】一般較優秀的軟件設計,應盡量做到高內

3、聚,低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。6.下列選項中不屬于結構化程序設計原則的是()。A) 可封裝B) 自頂向下C) 模塊化D) 逐步求精6、參考答案:A【解析】結構化程序設計的思想包括:自頂向下、逐步求精、模塊化、限制使用goto語句,所以選擇A)。7.軟件詳細設計生產的圖如下:該圖是()A) NS圖B) PAD圖C) 程序流程圖D) ER圖7、參考答案:C【解析】NS圖提出了用方框圖來代替傳統的程序流程圖,所以A)不對。PAD圖是問題分析圖,它是繼承程序流程圖和方框圖之后提出的又一種主要用于描述軟件詳細設計的圖形表示工具,所以B)不對。ER圖是數據

4、庫中的用于表示ER模型的圖示工具,所以D)不對。根據圖中所示表示方法是進行軟件詳細設計時使用的程序流程圖。8.數據庫管理系統是()。A) 操作系統的一部分B) 在操作系統支持下的系統軟件C) 一種編譯系統D) 一種操作系統8、參考答案:B【解析】數據庫管理系統是數據庫的機構,它是一種系統軟件,負責數據庫中數據組織、數據操縱、數據維護、控制及保護和數據服務等。是一種在操作系統之上的系統軟件。9.在ER圖中,用來表示實體聯系的圖形是()。A) 橢圓形B) 矩形 C) 菱形D) 三角形9、參考答案:C【解析】在ER圖中實體集用矩形,屬性用橢圓,聯系用菱形。10.有三個關系R、S和T如下:則關系T是由

5、關系R和S通過某種操作得到,該操作為()。A) 選擇B) 投影C) 交 D) 并10、參考答案:D【解析】在關系T 中包含了關系R與S中的所有元組,所以進行的是并的運算。11.計算機高級語言程序的運行方法有編譯執行和解釋執行兩種,以下敘述中正確的是()。A) C語言程序僅可以編譯執行B) C語言程序僅可以解釋執行C) C語言程序既可以編譯執行又可以解釋執行D) 以上說法都不對11、參考答案:A【解析】解釋程序是將源程序(如BASIC)作為輸入,解釋一句后就提交計算機執行一句,并不形成目標程序。編譯程序是把高級語言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,進行翻譯轉換,

6、產生出機器語言的目標程序,然后再讓計算機執行這個目標程序,得到計算結果。12.以下敘述中錯誤的是()。A) 用戶所定義的標識符允許使用關鍵字B) 用戶所定義的標識符應盡量做到"見名識意"C) 用戶所定義的標識符中,大、小寫字母代表不同標識D) 用戶所定義的標識符必須以字母或下劃線開頭12、參考答案:A【解析】C語言規定標識符只能由字母、數字和下劃線3種字符組成,且第一個字符必須為字母或下劃線,排除D);用戶定義標識符中大小寫字母之間是有區別的并且應盡量做到"見名識意",排除選項B)和C);C語言中還規定標識符不能為C語言的關鍵字,故選項A)敘述錯誤,正確

7、答案是選項A)。13.若有說明語句:char c'72';則變量c()。A) 包含1個字符B) 包含2個字符C) 包含3個字符D) 說明不合法,c的值不確定13、參考答案:A【解析】C語言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個""開頭的字符。其中,"ddd"表示用ASCII碼(八進制數)表示一個字符,本題中的char c'2'即表示占一個字符的變量c的ASCII碼值。14.現有定義int a;double b;float c;char k;,則表達式a/bck值的類型為()。A) intB) double

8、C) float D) char14、參考答案:B【解析】雙目運算中兩邊運算量類型轉換規律:15.以下定義語句中正確的是()。A) int ab0;B) char A651,bb;C) float a1,*b&a,*c&b;D) double a0.0;b1.115、參考答案:B【解析】本題考查變量的定義方法。如果要一次進行多個變量的定義,則在它們之間要用逗號隔開。因此選項A)和D)錯誤;在選項C)中,變量c是一個浮點型指針,它只能指向一個浮點型數據,不能指向指針變量b;所以正確答案為B)。16.若在定義語句int a,b,c,*p&c;之后,接著執行以下選項中的語句,

9、則能正確執行的語句是()。A) scanf("%d",a,b,c);B) scanf("%d%d%d",a,b,c);C) scanf("%d", &p);D) scanf("%d", p);16、參考答案:D【解析】scanf函數中的輸入項必須是指針,只有選項D)符合這個要求。17.以下程序的運行結果是()。int k0;void fun(int m)mk;km;printf("m%d k%d ",m,k);main()int i4;fun(i); printf("i%d k

10、%dn",i,k);A) m4k5i5k5 B) m4k4i5k5C) m4k4i4k5D) m4k5i4k517、參考答案:B【解析】由于在main()函數中,變量 i4,所以就調用fun(4),則輸出"m4 k4"。然后變量k增1等于5,變量i增1等于5,所以main()函數的"printf("i%d k%dn",i,k);"語句輸出"i5 k5"。18.在執行下述程序時,若從鍵盤輸入6和8,則結果為()。main()int a,b,s;scanf("%d%d",&a,&a

11、mp;b);sa ;if(a<b)sb;s*s;printf("%d",s); A) 36B) 64 C) 48 D) 以上都不對18、參考答案:B【解析】本題中a的值為6,b的值為8,最后s的值為8,s*s等價于ss*s。19.有以下程序:main()int k5,n0;while(k>0) switch(k) default : break;case 1 : nk;case 2 :case 3 : nk;k;printf("%dn",n);程序運行后的輸出結果是()。A) 0B) 4C) 6D) 719、參考答案:D【解析】本題考查的是s

12、witch語句。在switch語句中,表達式的值與某一個case后面的常量表達式的值相等時,就執行此case后面的語句,若所有的case中的常量表達式的值都沒有與表達式的值匹配的,就執行default后面的語句,各個case和default的出現次序不影響執行結果。所以在本題中,當k5和k4的時候,case都沒有與其匹配的值,所以執行了default語句;當k3時,執行"case 3 : nk;"得n3,然后執行default;當k2時,執行"case 2 : case 3 : nk;"得n5,然后執行default;當k1時,執行"case

13、1 : nk; case 2 : case 3 : nk;"使得n加兩次k,得到n7。20.有以下程序:#include <stdio.h>main() int x;scanf("%d",& x);if(x<3); elseif(x!10) printf("%dn",x);程序運行時,輸入的值在哪個范圍才會有輸出結果()。A) 不等于10的整數B) 大于3且不等10的整數C) 大于3或等于10的整數D) 小于3的整數20、參考答案:B【解析】ifelse控制結構中,else總是與最近的未配對的if匹配。本題的執行過程為

14、:如果輸入整數小于3則不進行任何操作,否則判斷是否不等于10,若為真則進行輸出。因此程序輸出的數據為大于3且不等于10的整數。21.有以下程序:#include <stdio.h>main() int a1,b0;printf("%d,",bab);printf("%dn",a2*b)程序運行后的輸出結果是()。A) 0,0B) 1,0 C) 3,2 D) 1,222.有以下程序:main() int num441,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j;for(i0;i<4;i) for(j0

15、;j<i;j)printf("%4c", ' ');for(j;j<4;j)printf("%4d",numij);printf("n");若要按以下形式輸出數組右上半三角123 4 678 11 12 16則在程序下劃線處應填入的語句是()。A) i1B) i1C) i D) 4i22、參考答案:C 【解析】此題中嵌套了兩個for語句,第一個用來輸出空格,第二個用來輸出數字。如此類型的輸出某種格式的考題,一般是采用多重循環來解決,需要考生找出輸出數據的特點,并用相對應的數學公式表達出來。23.以下程序段中

16、,與語句:ka>b?(b>c?1:0):0;功能相同的是()。A) if(a>b)&&(b>c)k1;else k0;B) if(a>b)(b>c)k1;else k0;C) if(a<b)k0;else if(b<c)k1;D) if(a>b)k1;else if(b>c) k1;else k0;23、參考答案:A【解析】表達式ka>b?(b>c?10)0表示:如果(a>b)條件為真,則k取值(b>c?10),否則k取值0;當a>b的情況下,如果b>c,則k值為1,否則為0。所以該

17、表達式與選項A)功能相同。24.有以下程序:void ss(char *s,char t)while(*s)if(*st)*staA;s; main()char str1100"abcddfefdbd",cd;ss(str1,c); printf("%sn",str1);程序運行后的輸出結果是()。A) ABCDDEFEDBDB) abcDDfefDbDC) abcAAfefAbA D) Abcddfefdbd24、參考答案:B【解析】在內存中,字符數據以ASCII碼存儲,它的存儲形式與整數的存儲形式類似。C語言中,字符型數據和整型數據之間可以通用,也可

18、以對字符型數據進行算術運算,此時相當于對它們的ASCII碼進行算術運算,在本題中,s相當于ss1,即讓s指向數組中的下一個元素。25.現有如下程序段:#include "stdio.h"main()int k3012,324,45,6,768,98,21,34,453,456;int count0,i0;while(ki)if(ki%20|ki%50)count;i; printf("%d,%dn",count,i);則程序段的輸出結果為()。A) 7,8 B) 8,8 C) 7,10 D) 8,1025、參考答案:D【解析】在C語言中,定義一維數組的語

19、句一般形式如下:類型名數組名常量表達式;一維數組的引用形式為:數組名下標表達式。count表示能被2整除或被5整除的個數,i則計算有多少個數組元素。26.以下程序運行后的輸出結果是()。#include<string.h>void f(char *s,char *t) char k;k*s;*s*t;*tk;s;t;if(*s)f(s,t);main() char str10"welcome",*p;pstrstrlen(str)/21;f(p,p2);printf("%sn",str);A) eelcomw B) weoclmeC) wel

20、come D) emoclew26、參考答案:D【解析】該程序中f函數的功能是交換兩個位置字符的值,f函數共調用3次,依次更改了字符串中l和o、e和m、w和e的值,因此更改后的字符串的值是emoclew。27.設有如下程序段:int x2004,y2008;printf("%dn",(x,y);則以下敘述中正確的是A) 輸出值為2004B) 輸出值為2008C) 運行時產生出錯信息D) 輸出語句中格式說明符的個數少于輸出項的個數,不能正確輸出27、參考答案:B【解析】(x,y)考查逗號表達式,逗號運算符的結合性為從左到右,因此,最后一個表達式的值就是此逗號表達式的值,因此選

21、項B)正確。28.有以下程序:#include <stdio.h>void fun(char*c,int d) *c*c1;dd1;printf("%c,%c,",*c,d);main() char ba,aA;fun(&b,a); printf("%c,%cn",b,a);程序運行后的輸出結果是()。A) b,B,b,AB) b,B,B,AC) a,B,B,aD) a,B,a,B28、參考答案:A【解析】函數fun的第一個參數傳指針,可以將更改后的值傳回調用函數,第二個參數傳值,不能將更改后的值傳回調用函數,故選A)。29.有以下程

22、序:#include <stdio.h>#include <string.h>main() char a10"abcd";printf("%d,%dn",strlen(a),sizeof(a);程序運行后的輸出結果是()。A) 7,4B) 4,10C) 8,8D) 10,1029、參考答案:B【解析】strlen()用來返回字符串的長度,而sizeof()返回的是一個對象或者類型所占的內存字節數,即數組所占的內存。30.若有定義int a23;,則對a數組的第i行第j列(假設i,j已正確說明并賦值)元素值的正確引用為()。A) *

23、(*(ai)j) B) (ai)jC) *(aij)D) *(ai)j30、參考答案:A【解析】本題考查了二維數組元素的引用方法。選項A)中ai指向了數組a的第i1行,*(ai)則是第i1行第0列的地址值,*(ai)j指向了數組a第i1行,j1列,*(*(ai)j)取到的是數組a的aij元素。31.有以下程序:#include <stdio.h>main() char c1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5getchar(); c6getchar();putch

24、ar(c1);putchar(c2);printf("%c%cn",c5,c6);程序運行后,若從鍵盤輸入(從第1列開始)123<回車>45678<回車>則輸出結果是()A) 1267 B) 1256 C) 1278D) 124531、參考答案:D【解析】putchar(c1)輸出1,putchar(c2)輸出2,printf("%c%cn",c5,c6)輸出45。32.以下程序的運行結果是()。#include <stdio.h>int a1;int f(int c) static int a2;cc1;return

25、(a)c;main() int i,k0;for(i0;i<2;i)int a3;kf(a);ka;printf("%dn",k);A) 17 B) 16C) 15D) 1432、參考答案:D【解析】fun函數語句return(a)c;中訪問的a,是其內部定義的靜態局部變量,main函數中語句kf(a)訪問的a是其局部變量,所以兩次調用實際上都是調用f(3)。第一次調用時,fun函數中c4,表達式(a)c的值為6,a遞增為3,k6。第二次調用時,fun函數中c4,表達式(a)c的值為7,a遞增為4,k6713。語句ka中的a是全局變量,所以k13114。33.設有定義

26、:int n10,n2,*p&n2,*q&n1;,以下賦值語句中與n2n1;語句等價的是()。A) *p*q;B) pq;C) *p&n1;D) p*q;33、參考答案:A【解析】本題考查的是指針變量的賦值。題目中各變量定義后,指針變量p指向了變量n2所在的存儲單元,指針變量q指向了變量n1所在的存儲單元,要使得n1的值賦給n2,可用指針變量q所指向的存儲單元的值賦給指針變量p所指向的存儲單元,即*p*q。34.設有如下說明:typedef struct STlong a;int b;char c2;NEW;以下說法正確的是()。A) NEW是一個結構體變量 B) NE

27、W是一個結構體類型C) ST是一個結構體類型D) 以上說明形式非法34、參考答案:B【解析】以上形式定義NEW表示ST的結構類型,然后可以用NEW來說明結構體變量。因此選項B)正確35.有以下程序:#include <stdio.h>#include <string.h>typedef struct char name9; char sex; float score2; STU;void f(STU a)STU b"Zhao",'m',85.0,90.0; int i;strcpy(,);a.sexb.sex;

28、for(i0;i<2;i) a.scoreib.scorei;main()STU c"Qian",' f ',95.0,92.0;f(c);printf("%s,%c,%2.0f,%2.0fn",,c.sex,c.score0,c.score1);程序的運行結果是()。A) Qian,f,95,92B) Qian,m,85,90C) Zhao,f,95,92D) Zhao,m,85,9035、參考答案:A【解析】本題考查的是函數調用時的參數傳遞以及結構體變量的引用的問題。程序在調用函數f時,傳給函數f的參數只是結構變量c

29、在棧中的一個拷貝,函數f的所有操作只是針對這個數據拷貝進行的修改,這些都不會影響變量c的值。36.有以下程序:#include <stdio.h>#define N 4void fun(int aN,int b) int i;for(i0;i<N;i) biaii;main() int xN1,2,3,4,5,6,7,8,9,10,yN,i;fun(x,y);for(i0;i<N;i)printf("%d,",yi);printf("n");程序的運行結果是()。A) 1,2,3,4,B) 1,0,7,0,C) 1,4,5,9,D) 3,4,8,10,36、參考答案:B【解析】該題目中fun函數的功能是將二維數組a中符合條件的值賦給一維數組的符合條件的元素。主函數的功能是將符合條件的一維數組的元素進行輸出。37.有以下程序:#inclu

溫馨提示

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

評論

0/150

提交評論