2015下半年計算機二級C語言全真模擬題
點擊查看試題答案及解析
一、選擇題((1)-(10)、(21)-(40)每題2分,(11)-(20)每題1分,共70分)下列各題A)、B)、 C)、D)四個選項中,只有一個選項是正確的,請將正確選項塗寫在答題卡相應位置上,答在試卷上不得分。
(1)下列敍述中正確的是()
A)棧是“先進先出”的線性表
B)隊列是“先進後出”的線性表
C)循環隊列是非線性結構
D)有序線性表既可以採用順序存儲結構,也可以採用鏈式存儲結構
(2)支持子程序調用的數據結構是()
A)棧
B)樹
C)隊列
D)二叉樹
(3)某二叉樹有5個度為z的結點,則該二叉樹中的葉子結點數是()
A)10
B)8
C)6
D)4
(4)下列排序方法中,最壞情況下比較次數最少的是()
A)冒泡排序
B)簡單選擇排序
C)直接插入排序
D)堆排序
(5)軟件按功能可以分為:應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬於應用軟件的是()
A)編譯程序
B)操作系統
C)教務管理系統
D)彙編程序
(6)下面敍述中錯誤的是()
A)軟件測試的目的是發現錯誤並改正錯誤
B)對被調試的程序進行“錯誤定位”是程序調試的必要步驟
C)程序調試通常也稱為Debug
D)軟件測試應嚴格執行測試計劃,排除測試的隨意性
(7)耦合性和內聚性是對模塊獨立性度量的兩個標準。下列敍述中正確的是( )
A)提高耦合性降低內聚性有利他哦高模塊的獨立性
B)降低耦合性提高內聚性有利於提高模塊的獨立性
C)耦合性是指一個模塊內部各個元索間彼此結合的緊密程度
D)內聚性是指模塊間互相連接的緊密程度
(8)數據庫應用系統中的核心問題是()
A)數據庫設計
B)數據庫系統設計
C)數據庫維護
D)數據庫管理員培訓
(9)有兩個關係R,S如下:
由關係R通過運算得到關係S,則所使用的運算為()
A)選擇
B)投影
C)插入
D)連接
(10)將E-R圖轉換為關係模式時,實體和聯繫都可以表示為( )
A)屬性
B)鍵
C)關係
D)域
(11)以下選項中合法的標識符是()
A)1_1
B)1-1
C)_11
D)1__
(12)若函數中有定於語句:intk;,則( )
A)系統將自動給K賦初值0
B)時k中的值無定義
C)系統將自動給k賦初值-1
D)這時k中無任何值
(13)以下選項中,能用作數據常量的是()
A)0115
B)0118
C)1.5e1.5
D)115L
(14)設有定義:intx=2;,以下表達式中,值不為6的是()
A)x*=x+1
B)x++,2*x
C)x*=(i+x)
D)2*x,x+=2
(15)程序段:intx=12;doubley=3.141593;printf(“%d%8.6f”,x,y);的輸出結果是()
A)123.141593
B)123.141593
C)12,3.141593
D)123.1415930
(16)若有定義語句:doublex,y,*px,*pY;執行了px=&x;py=&y;之後,正確的輸入語句是()
A)scarf(“%f%1”,x,y);
B)scarf(“%f%f”,&x,&y);
C)scarf(“%lf”,px,py);
D)scarf(“%lf%lf”,x,y);
(17)以下是if語句的基本形式:()if〔表達式)語句其中“表達式”
A)必須是邏輯表達式
B)必須是關係表達式
C)必須是邏輯表達式或關係表達式
D)可以是任意合法的表達式
(18)有以下程序
#include
main(){intx;
scarf(“&d”,&x);if(x<=3);elseif(x!=10)printf(“&dn”。,x);}
程序運行時,輸入的值在哪個範圍才會有輸出結果()
A)不等於10的整數
B)大於3且不等10的整數
C)大於3或等於10的整數
D)小於3的整數
(19)有以下程序
#include
main()
{inta=1,b=2,c=3,d=0;
if(a==1&&b++==2)if(b!=21}c--!=3)printf(“%d,%d,%dn”,a,b,c);elseprintf(“%d,%d,%dn”,a,b,c);elseprintf(“%d,ad,%dn”,a,b,c);}
程序運行後的輸出結果是()
A)1,2,3
B)1,3,2
C)1,3,3
D)3,2,1
(20)以下程序段中的變量已正確定義for(i=0;i<4;i++,i++)for(k=l;k<3;k十F);printf(“*”);程序段的輸出結果是()
A)********
B)****
C)**
D)*
(21)有以下程序#iinclude
ma1n(){char*S={“ABC”};
do
{printf(“%d”;*s%l0);s++}whi1e(*s);}
注意:字母A的ASCII碼值為650.程序運行後的輸出結果是()
A)5670
B)656667
C)567
D)ABC
(22)設變量己正確定義,以下不能統計出一行中輸入字符個數(不包含回車符)的程序段是( )
A)n=0;while((ch=getchar())!=’n’)n++;
B)n=0;while(getchar()!=’1n‘)n++;
C)for(n=0;getchar()!=’n’;n++);
D)n=0;for(ch=getchar();ch!=’n’;n++);
(23)有以下程序
#include
main()
{intal,a2;charcl,c2;
scanf(“%d%c%d%c”,&a1,&cl,&a2,&c2);printf(“%d,%c.%d,%c”,a1,c1,a2,c2);}
若想通過鍵盤輸入,使得a1的'值為12,a2的值為34,c1的值為字符a,c2的值為自負b,程序輸出的結果是:12,a,34,b則正確的輸入格式是(以下~代表空格,代表回車)()
A)i2a34b
B)12~a~34~b
C)12,a,34,b
D)12~a34~b
(24)有以下程序
#include
intf(intx,inty){return((y-x)*x);)main()
{inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“odn”,d);}
程序運行後的輸出結果是()
A)10
B)9
C)8
D)7
(25)有以下程序
#include
voidfun(char*s){while(*s)
{if(*s%2==0)printf(“%c”,*s);s++;}}
main(){chara[]=(“good”};fun(a);printf(“n”);}
注意:字母a的ASCII碼值為97,程序運行後的輸出結果是()
A)d
B)go
C)god
D)good
(26)有以下程序#include
voidfun(int*a,int*b){int*c;
c=a;a=b;b=c;}
main()
{intx=3,y=5,*p=&x,*q=&y;fun(p,q);printf(“%d,%d,”,*P,*q):fun(&X,&y);printf(“%d,%dn”;*p.*q);}
程序運行後的輸出結果是()
A)3,5.5,3
B)3,5,3,5
C)5,3,3,5
D)5,3,5,3
(27)有以下程序
#include
voidflint*p,int*q);main()
intm=l,n=2,*r=&m;f(r,&n);printf(“%d,od”,m,n);}
voidf(int*p,int*q){p=p+l:*q=*q+1;}
程序運行後的輸出結果是()
A)1,3
B)2,3
C)1,4
D)1,2
(28)以卜函數按每行8個輸出數組中的數據voldfun(int*w,intn){inti;
for(i=0;i printf(“n”);}
下劃線處應填入的語句是()A)if(i/8==0)printf(“n”);B)if(i/8==0)continue;C)if(i%8==0)printf(“n”);D)if(i%8==0)contInue;
(29)若有以下定義intx[1O],*pt=x;
則對x數組元素的正確引用是()
A)*&x[10]
B)*(x+3)
C)*(pt+10)
D)pt+3
(30)設有定義:chars[81];inti=0;,以下不能將一行(不超過80個字符)帶有空格的字符串正確讀入的語句或語句組是()
A)gets(s);
B)while((s[i++]=getchar())!=’n’);s[i]=’