- 相關推薦
計算機二級C語言專題模擬題及答案2017
理清考試題目的重點有助于我們更快更好的掌握考試方法,下面是小編整理的計算機二級C語言專題模擬題及答案,希望對大家有用,更多消息請關注應屆畢業(yè)生網(wǎng)。
選擇題
1.在深度為5的滿二叉樹葉中,葉子結(jié)點的個數(shù)為( )。
A.32
B.31
C.16
D.15
2.軟件生命周期中,花費最多的階段是( )。
A.詳細設計
B.軟件編碼
C.軟件測試
D.軟件維護
3.視圖設計一般有3種設計次序,下列不屬于視圖設計次序的是( )。
A.自頂而下
B.由內(nèi)向外
C.由外向內(nèi)
D.自底向上
4.下列數(shù)據(jù)結(jié)構中,能用二分法進行查找的是( )。
A.順序存儲的有序線性表
B.結(jié)性鏈表
C.二叉鏈表
D.有序線性鏈表
5.以下敘述中錯誤的是( )。
A.對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進行整體輸入或輸出
B.數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變
C.當程序執(zhí)行中,數(shù)組元素的下標超出所定義的下標范圍時,系統(tǒng)將給出“下標越界”的出錯信息
D.可以通過賦初值的方式確定數(shù)組元素的個數(shù)
6.以下只有在使用時才為該類型變量分配內(nèi)存的存儲類型說明是( )。
A.auto和static
B.auto和register
C.register和static
D.extern和register
7.下列可作為C語言賦值的語句的是( )。
A.x一3,y=5
B.a=b=6
C.i--;
D.a,c
8.若整型變量a、b、c、d中的值依次為2、2、3、4,則條件表達式a A.1
B.2
C.3
D.4
9.下列敘述中錯誤的是( )。
A.線性表是由n個元素組成的一個有限序列
B.線性表是一種線性結(jié)構
C.線性表的所有結(jié)點有且僅有一個前件和后件
D.線性表可以是空表
10.以下程序執(zhí)行后sum的值是( )。
main()
{ int i,sum;
for(i=1;i<6;i++)sum+=i:
printf("1%d ",sum):
}
A.15
B.14
C.不確定
D.0
11.設j為Int型變量,則下面for循環(huán)語句的執(zhí)行結(jié)果是( )。
for(j=10;j>3;j--)
{ if(j%3)j--;
--j;--j;
printf("%d",j);
}
A.6 3
B.7 4
C.6 2
D.7 3
12.表示關系X<=Y<=Z的C語言表達式為( )。
A.(X<=Y)&&(Y<=Z)
B.(X<=Y)AND(Y<=Z)
C.(X<=Y<=Z)
D.(X<一Y)&(Y<一Z)
13.設有如下定義:
int arr[]={6,7,8,9,10);
int*ptr:
ptr=arr;
*(ptr2)=2;
printf("%d,%d ",*ptr,*(ptr2)):
則下列程序段的輸出結(jié)果為( )。
A.8,10
B.6,8
C.7,9
D.6,2
14.設有定義語句:
int x[-6]={2,4,6,8,5,7),*p=X,i;
要求依次輸出X數(shù)組6個元素中的值,不能完成此操作的語句是( )。
A.for(i=0;i<6;i++)printf("%2d",*(p++));
B.for(i=0;i<6;i++)printf("%2d",*(pq-i));
C.for(i=0;i<6;i++)printf("%2d",*p++);
D.for(i=0;i<6;i++)printf("%2d",*(p)++);
15.數(shù)字字符0的ASCII值為48,運行以下程序的輸出結(jié)果是( )。
main()
( char a=’1’,b=’2’;
printf("%C,",b++);printf("%d ",b—a);}
A.3,2
B.50,2
C.2,2
D.2,50
16.設有如下定義:
int(*ptr)();
則以下敘述中正確的是( )。
A.ptr是指向一維組數(shù)的指針變量
B.ptr是指向int型數(shù)據(jù)的指針變量
C.ptr是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù)
D.ptr是一個函數(shù)名,該函數(shù)的返回值是指int型數(shù)據(jù)的指針
17.設有定義的語句:“char c1=92,c2=92;”,則以下表達式中的值為零的是( )。
A.c1^c2
B.c1&c2
C.~c2
D.c1 | c2
18.以下程序的輸出結(jié)果是( )。
void fun(int*a,int i,int i)
{int t;
if(i { t=a[i[;a[i]=a[j];a[j]一t;
i++;j--;
fun(a,i,j);
}
}
main()
{ int K[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<1;i++)printf("%2d",x[i]);
printf(" ");
}
A.1,2,6,8
B.8,6,2,1
C.8,1,6,2
D.8,6,1,2
19.有以下程序:
main()
{int i,j;
for(j=10;j<11;j++)
{ for(i=9;i if(!(j%i))break;
if(i==j-1)
printf("%d",j);
}
}
輸出結(jié)果是( )。
A.11
B.10
C.9
D.10 11
20.有以下程序.
#include
main()
{ char c1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=get); c6=get);
putc1);putc2);
printf("%c%c ",c5,c6);
}
程序運行后,若從鍵盤輸入(從第l列開始)
123<回車>
45678<回車>
則輸出結(jié)果是( )。
A.1267
B.1256
C.1278
D.1245
21.執(zhí)行下面的程序后,a的值為( )。
main()
{ int a,b;
for(a=1,b=1;a<=10;a++)
{ if(b%3==l)
{ b+=3;
continue;}
b-=5;}}
A.7
B.8
C.9
D.10
22.下列敘述中正確的是( )。
A.用E—R圖能夠表示實體集之間一對一的聯(lián)系、一對多的聯(lián)系、多對多的聯(lián)系
B.用E—R圖只能表示實體集之間一對一的聯(lián)系
C.用E—R圖只能表示實體集之間一對多的聯(lián)系
D.用E—R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關系數(shù)據(jù)模型
23。若有運算符:>、一、<<、%、sizeof,則它們按優(yōu)先級(由高至低)的正確排列順序為( )。
A.%、sizeof、>、<<、=
B.sizeof、%、>、=、<<
C.sizeof、<<、>、%、=
D.sizeof、%、<<、>、=
24.若變量a,b已正確定義,且b已正確賦值,則合法的語句是( )。
A.b=double(b);
B.(int)a=(int)b;
C.a=a++=5;
D.a=double(b);
25.執(zhí)行下列程序中的輸出語句后,a的值是( )。
main()
{ int a;
printf("%d ",(a=2*3,a*5,a+7));
}
A.17
B.37
C.6
D.13
26.運行下列程序時,若輸入的數(shù)據(jù)為“1,2,3”,則輸出結(jié)果是( )。
main()
{ float a,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a {t=a;a=b.b=t;)
if(a {t=a;a=c;c=t;)
it(b {t=b;b=C;c—=;)
printf("%f %f %f ",a,b,c);
}
A.1.00
2.00
3.00
B.1.00
3.00
2.00
C.1
3
2
D.3.00000
2.00000
1.00000
27.設有程序段:
int k=12:
while(k=1)k=k一1;
則下列描述中正確的是( )。
A.while循環(huán)執(zhí)行10次
B.循環(huán)是無限循環(huán)
C.循環(huán)體語句一次也不執(zhí)行
D.循環(huán)體語句執(zhí)行一次
28.在執(zhí)行完下列的c語句段之后,則B的值是( )。
char a=’A’;
int b;
B=((34&&56)&&(a<’b’));
A.0
B.1
C.TRUE
D.FALSE
29.有下列函數(shù)定義:
fun(float h)
{ printf("%f,%f ",h,h*h);)
該函數(shù)的類型是( )。
A.int類型
B.float類型
C.void類型
D.函數(shù)無類型說明,定義有錯
30.有下列程序段:
int n,t=1,S=0;
scanf("%d",&n);
do{s=s+t;t=t-2;while(t!=n);
為使此程序段不陷入循環(huán),從鍵盤輸入的數(shù)據(jù)應該是( )。
A.任意正奇數(shù)
B.任意負偶數(shù)
C.任意正偶數(shù)
D.任意負奇數(shù)
選擇題答案與解析
1.B!窘馕觥織J蔷性表的一種,其插入和刪除運算都只在表的一端進行。進行插入、刪除的一端稱為棧頂,封閉的一端稱為棧底。棧頂元素是最后插入的元素,不是最后被刪除的元素,是按先進后出的原則組織數(shù)據(jù)的。
2.C!窘馕觥寇浖x、軟件開發(fā)、軟件運行維護組成了軟件的生命周期。其中軟件定義階段的主要工作是可行性研究與計劃制訂和需求分析等;軟件開發(fā)階段的主要工作有概要設計、詳細設計和測試等;運行維護階段的主要工作是軟件的運行及后期的維護等。
3.C。【解析】在C語言中各種數(shù)據(jù)類型在內(nèi)存中所占的字節(jié)數(shù)與機器的位數(shù)有關,16位機中(也就是在標準c 中),若int類型數(shù)據(jù)占2個字節(jié),則float類型數(shù)據(jù)占4個字節(jié),double類型數(shù)據(jù)占8個字節(jié)。
4.B!窘馕觥織5奶攸c是先進后出,可知el肯定是最后出棧的,因此正確答案為選項B。
5.C。【解析】數(shù)據(jù)定義語言Data Definition Language
(DDL)是SQL語言的一部分,用來定義模式、內(nèi)模式和外
模式。
6.B!窘馕觥竣僖詢(nèi)模式為框架所組成的數(shù)據(jù)庫,1物理數(shù)據(jù)庫;②以概念模式為框架所組成的數(shù)據(jù)庫叫概念數(shù)據(jù)庫;③以外模式為框架所組成的數(shù)據(jù)庫叫用戶數(shù)據(jù)庫。它是真實存在于計算機外存中的數(shù)據(jù)庫。
7.A!窘馕觥吭谠试S過程的遞歸調(diào)用的程序設計語言中,由于C語言中棧的特性為先進后出,因此用棧來實現(xiàn)遞歸調(diào)用中的存儲分配。
8.D。【解析】程序調(diào)試是由程序開發(fā)者完成診斷和改正程序中的錯誤的過程;軟件測試是由專門的測試人員完成,是發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;軟件維護是指軟件系統(tǒng)交付使用以后,為了改正錯誤或滿足新的需要而修改軟件的過程,是軟件生存周期中非常重要的一個階段。
9.D!窘馕觥勘绢}考查do-while循環(huán)。當--y是0(即y是o)時結(jié)束循環(huán),輸出--y,先將y的值減1再輸出Y的值。
10.A。【解析】在c語言中,字符都是變?yōu)槠鋵腁SCII碼值來參加算術運算的,但字符間的相對位置關系還是不變的,字符5和字符1的ASCII碼值相差仍是4。
11.A。【解析】本題考查函數(shù)值的類型。在函數(shù)調(diào)用時,盡管Y的類型是float.x的類型是double,但是因為函數(shù)定義時沒有指定類型說明,系統(tǒng)默認函數(shù)值的類型為int 型,所以計算后Y的類型是int型。
12.C!窘馕觥慷禾柋磉_式的解題思路是從左到右,依次求解,整個逗號表達式的值就是最后一個表達式的值。
表達式(x=3*y,x_+ 1)中,依次是x=3*y=3*5= 15,表達式x+1=16,但沒有給x或y賦值,所以x還是等于15;第3個表達式x-1=15-1=14,所以y的值為14。
13.C!窘馕觥俊%o”表示八進制無符號型輸出整型數(shù)據(jù)(即不帶前導O);“%x”是示以十六進制無符號型輸出整型數(shù)據(jù)(即不帶前導ox或OX);“%d”表示輸出帶符號的十進制整型數(shù)。
14.B!窘馕觥勘绢}考查函數(shù)的輸出格式。在printf函數(shù),格式說明符中有兩個“%”說明;將第1個%后面的字符原樣輸出,并不輸出其對應r的變量值。
15.C。【解析】根據(jù)賦值運算的類型轉(zhuǎn)換規(guī)則,先將double型的常量l.2轉(zhuǎn)換為int型,因為x的類型是int,則X的值為1;執(zhí)行語句y=(K+3.8)/5.0時,即先將整型變量X的值1轉(zhuǎn)換為double型1.0,然后3.8相加得4.8,進行除法運算4.8/5.0結(jié)果為0.即變量y的值為0,d*Y的值也為0,故選C選項。
16.B。【解析】因X為2,所以!X時表達式值為0,因Y 為1,y--表達式的值為1然后自減1,y為0,所以!x || y --時表達式的值為1。
17.D!窘馕觥勘绢}考查兩個知識點,按位異或左移把b 左移2位化成二進制c=a(b<<2)=a^(000010<<2)= a^001000=0000001^O01000=9,故選擇D。
18.A!窘馕觥勘绢}考查函數(shù)的調(diào)用,從主函數(shù)傳遞到調(diào)用函數(shù)中,*a的值為0,因此當執(zhí)行完調(diào)用函數(shù)后,b[0] 的值為6。
19.B。【解析】當i=0時,i<2成立,執(zhí)行第一個for循環(huán)x自加為1,接著執(zhí)行第二個for循環(huán);j=0時j<=3成立,此時if不成立,執(zhí)行x++后,x為2;接著j=1時,i<= 3成立,繼續(xù)循環(huán),此時if成立,continue是跳出本次循環(huán),繼續(xù)下一次循環(huán),不再執(zhí)行x++了;接著j=2時,j<=3成立,此時if不成立,執(zhí)行其后的語句;當j=4時,退出第二個循環(huán),接著執(zhí)行循環(huán)外部的x++,x為4;當i=1時,i<2成立,執(zhí)行第一個循環(huán),x=5,此時接著執(zhí)行循環(huán)外部的語句,即第二個循環(huán);j=0時j<3成立,此時if不成立,x++后,x 為6,接著j為1時,j<=3成立,繼續(xù)循環(huán),此時if成立,不再執(zhí)行x++了;接著J=2時,j<=3成立,此時if不成立,執(zhí)行其后的x++,x為7;i=3時,j<=3成立,此時if成立,不再執(zhí)行其后的語句了;當j=4時,退出第二個循環(huán),執(zhí)行循環(huán)外部的語句,最終x為8,故選B選項。
21.C!窘馕觥恳驗閤=0x FFFF=11111111,因此當以整型形式輸出時對應的數(shù)為一1。
22.A!窘馕觥繉崊⑹窃谡{(diào)用時傳遞該函數(shù)的參數(shù)。故選A。
23.C!窘馕觥肯容敵鯽、b表示退一格,當執(zhí)行到:后,光標往后退,接著輸出re ’hi ’y(反斜杠后又加一個反斜杠的意思是要輸出一個反斜杠),此時又執(zhí)行:后,就被ou覆蓋。
24.D。【解析】本題考查雙重函數(shù)調(diào)用及for循環(huán)使用,fun函數(shù)中第一個for循環(huán)語句的作用是給數(shù)組a賦值。當?shù)谝淮握{(diào)用fun函數(shù)時,把實參1傳給形參,輸出a數(shù)組的元素為1,3,5;第二次調(diào)用fun函數(shù)時,由于數(shù)組a為靜態(tài)局部變量,故輸出a數(shù)組的元素為一1,3,7。
25.B!窘馕鰈本題是對基本知識點的理解,預處理命令行的位置沒有規(guī)定,只是習慣寫在起始位置而已,當需要時才用#include頭文件,預處理的作用就是實現(xiàn)宏定義和條件編譯。
26.B!窘馕觥緾語言規(guī)定,在if…else語句中,else總是與它前面的最近的if配對。
27.A!窘馕觥勘绢}主要考查字符數(shù)組和指針,在c語言中,字符型數(shù)組在存放字符串時會自動在末尾加上’ ’,所以數(shù)組str有11個元素;ptr指向數(shù)組str的首地址,ptr+ 10是指向str[10],*(ptr+10)是引用str[10]的值。
28.C。【解析】本題考查swap函數(shù),它的作用是把x、Y 所指的內(nèi)容互換,其他的不變,因此當執(zhí)行完調(diào)用函數(shù)后,僅僅’a’與’1’互換,其他的沒有變。
29.A!窘馕觥勘绢}考查指針用法,if語句的功能是判斷兩個數(shù)組中的字符是否相同,如果相同則輸出。
30.A!窘馕觥勘绢}考查帶參數(shù)宏的定義,運算符:(x) >(y)?(x):(y)當表達式為真時輸出X,否則輸出Y,調(diào)用(MAX(a+b,c+d))*100時,(a+b=5)>(c+d=4),輸出a+b=5,所以x=5*100。
【計算機二級C語言專題模擬題及答案】相關文章:
2016計算機二級《C語言》模擬題及答案09-08
計算機二級C++模擬題及答案05-12
2017計算機二級C++模擬題及答案06-22
計算機二級《C語言》試題及答案201610-30
計算機二級C語言模擬試題及答案07-04
計算機二級《C語言》操作試題與答案11-01
計算機二級C語言歷年真題及答案05-29
計算機二級C語言備考習題及答案201710-09
2017計算機二級C語言備考習題及答案08-02