版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021年陜西省西安市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.表達式“a+=a-=a=9”的值是()。
A.18B.-9C.0D.9
2.公司中有多個部門和多名職員,每個職員只能屬于一個部門,一個部門可以有多名職員。則實體部門和職員間的聯(lián)系是()。
A.1:m聯(lián)系B.m:n聯(lián)系C.1:1聯(lián)系D.m:1聯(lián)系
3.已知各變量的類型說明如下則以下符合C語言語法的表達式是()。A.a+=a-=(b=4)*(a=3)B.a=a*3=2C.x%(-3)D.y=f1oat(i)
4.現(xiàn)有如下定義語句int*p,s[20],i;p=s;表示數(shù)組元素s[i]的表達式不正確的是
A.*(s+i)B.*(p+i)C.*(s=s+i)D.*(p=p+i)
5.下列程序的輸出結(jié)果是()。
#include<stdio.h>
intb=2;
intfunc(int*A)
{b+=*a;retumb;}
main()
{inta=1,t=2;
t+=func(&A);
printf("%d\n",t);
}
A.4B.5C.6D.8
6.下面描述中,不屬于軟件危機表現(xiàn)的是()A.軟件過程不規(guī)范B.軟件開發(fā)生產(chǎn)率低C.軟件質(zhì)量難以控制D.軟件成本不斷提高
7.對于“if(表達式)語句”,以下敘述正確的是()。
A.“表達式”不能是變量
B.“表達式”的值只能是整數(shù)值
C.“表達式”可以是常量
D.“表達式”中不可以出現(xiàn)字符型變量的比較
8.健壯的算法不會因非法的輸入數(shù)據(jù)而出現(xiàn)莫名其妙的狀態(tài)()
A.對B.錯
9.下列程序的輸出結(jié)果是
#include"stdio.h"
#defineN3
#defineM3
voidfun(inta[M][N])
{printf("%d\n",*(a[1]+2));}
main()
{inta[M][N];
inti,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
a[i][j]=i+j-(i-j);
fun(a);}A.A.3B.4C.5D.6
10.
11.有以下程序:程序運行后的輸出結(jié)果是()。
A.5B.2C.3D.8
12.若有說明語句:double*p,a;則通過scanf語句正確給輸入項讀人數(shù)據(jù)的程序段是()。
A.*p=&a;scanf("%1f”,p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%",*p);
D.p=&a;scanf("%1f",p);
13.軟盤上第()磁道最重要,一旦損壞,該盤就不能使用了。
A.0B.40C.1D.80
14.以下程序的輸出結(jié)果是_______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;print("%d%d%d,a[2],a[5],a[8]);}
A.258B.741C.852D.369
15.下列程序的運行結(jié)果是()。main{intx=1,y=3,a=0;while(x++!=(y-=l)){a+=1;if(y<x)break;}printf("%d,%d,%d\n",x,y,a);}A.2,3,2B.2,3,1C.1,3,3D.3,1,2
16.以下關(guān)于C語言數(shù)據(jù)類型使用的敘述中錯誤的是A.若要準確無誤差的表示自然數(shù),應(yīng)使用整數(shù)類型
B.若要保存帶有多位小數(shù)的數(shù)據(jù),應(yīng)使用雙精度類型
C.若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應(yīng)自定義結(jié)構(gòu)體類型
D.若只處理“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型
17.已知二叉樹后序遍歷序列是dabeC,中序遍歷序列是debaC,它的前序遍歷序列是()。
A.aChedB.deCabC.deabeD.Cedba
18.線性表是具有n個()的有限序列。
A.字符B.數(shù)據(jù)元素C.數(shù)據(jù)項D.表元素
19.下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中,正確的是()。
A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致
D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
20.計算機系統(tǒng)的組成是______。
A.主機、外設(shè)B.運算器、控制器C.硬件系統(tǒng)和軟件系統(tǒng)D.CPU、內(nèi)存儲器
二、2.填空題(20題)21.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為______。
22.以下程序的功能是輸入任意整數(shù)給n后,輸出n行由大寫字母A開始構(gòu)成的三角形字符陣列圖形。例如,輸入整數(shù)5時(注意:n不得大于10),程序運行結(jié)果如下:
ABCDE
FGHI
JKL
MN
O
請?zhí)羁胀瓿稍摮绦颉?/p>
main()
{inti,j,n;charch='A';
scanf("%d",&n);
if(n<11)
{for(i=1;i<=n;i++)
{for(j=1;j<n-i+1;j++)
{printf("%2c",ch);
[10];
}
[11];
}
23.下列程序的運行結(jié)果是______。
main()
{inti,a[10];
a[0]=a[1]=1;
for(i=2;i<5;i++)
a[i]=a[i-2]+a[i-1];
for(i=0;i<5;i++)
{if(i%2==0)printf("\n");
printf("%d",a[i]);
}
}
24.在面向?qū)ο蠓椒ㄖ校尽棵枋龅氖蔷哂邢嗨茖傩耘c操作的一組對象。
25.需求分析的最終結(jié)果是產(chǎn)生【】。
26.在面向?qū)ο蟮某绦蛟O(shè)計中,類描述的是具有相似性質(zhì)的一組【】。
27.在先左后右的原則下,根據(jù)訪問根結(jié)點的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
28.若有定義:intx=1,y=2;floata=3.7,b=2.1;則(x+y)%2+(int)a/(int)b表達式的值為()。
29.若a是int型變量,則表達式(a=2*3,a*2),a+6的值為______。
30.結(jié)構(gòu)化程序設(shè)計方法的主要原則可以概括為自頂向下、逐步求精、______和限制使用goto語句。
31.為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】兩部分組成。
32.以下isprime函數(shù)的功能是判斷形參a是否為素數(shù),是素數(shù),函數(shù)返回1,否則返回0。請?zhí)羁铡?/p>
intisprime(inta)
for(i=2;i<=a/2;i++)
if(a%i==0)[8];
[9];
33.下面rotate函數(shù)的功能是:將n行n列的矩陣A轉(zhuǎn)置未AT,例如:
請?zhí)羁?/p>
#defineN4
voidrotate(inta[][])
{inti,j,t;
for(i=0;i<N;i++)
for(j=0;【】;j++)
{t=a[i][j];【】;a[j][i]=t;}
}
34.執(zhí)行以下程序后,輸出“#”的個數(shù)是【】。
#include<stdio.h>
main()
{inti,j;
for(i=1;i<5;i++)
for(j=2;j<=i;j++)putchar('#');
}
35.觀察題目要求,可以知道以下幾點:}
36.下列程序執(zhí)行后輸出的結(jié)果是【】。
f(intA)
{staticc=0;
c=a+c++;
return(c);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);
}
37.x和y都是double型變量,x的初值為4.0,y的初值為2.0,則表達式pow(y,fabs(x))的值為______。
38.存儲結(jié)構(gòu)的4種基本類型分別是順序、鏈式、索引和【】。
39.軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為()。
40.對于一棵具有n個結(jié)點的樹,則該樹中所有結(jié)點的度之和為【】。
三、1.選擇題(20題)41.在設(shè)計程序時,應(yīng)采納的原則之一是______。
A.程序結(jié)構(gòu)應(yīng)有助于讀者理解B.不限制goto語句的使用C.減少或取消注解行D.程序越短越好
42.有以下函數(shù)intaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下關(guān)于aaa函數(shù)的功能的敘述正確的是A.求字符串s的長度B.比較兩個串的大小C.將串s復(fù)制到串tD.求字符串s所占字節(jié)數(shù)
43.軟件工程的結(jié)構(gòu)化生命周期方法,通常是將軟件生命周期劃分為計劃、開發(fā)和運行3個時期,下列選項中的______工作應(yīng)屬于軟件開發(fā)期的內(nèi)容。
①需求分析
②可行性研究
③總體設(shè)計
④問題定義
A.①和②B.①和③C.①、②和④D.全部
44.設(shè)x,y和z都是血型變量,且x=3,y=4,z=5,則下面表達式中,值為0的表達式是
A.x&&y
B.x<=y
C.x‖++y&&y-z
D.!(x<y&&!z‖1)
45.fseek函數(shù)是C語言系統(tǒng)提供的標準庫函數(shù),其實現(xiàn)的具體操作是______。
A.實現(xiàn)文件的順序讀寫B(tài).實現(xiàn)文件的隨機讀寫C.改變文件的位置指針D.以上答案均不正確
46.下列程序段的輸出結(jié)果為()。#include<stdio.h>main(){staticchara[]="language";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);}
A.1B.4C.9D.0
47.第
13
題
設(shè)有程序段
intk=10;
while(k=0)k=k-1;
則下面描述中正確的是A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次
48.有以下程序:main(){chars[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}執(zhí)行后輸出結(jié)果是()。
A.賦初值的字符串有錯B.6,7C.5,6D.6,6
49.以下敘述中正確的是
A.用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作
B.用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入
C.用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出
D.用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出
50.下面不屬于軟件設(shè)計原則的是()。
A.抽象B.模塊化C.自底向上D.信息隱蔽
51.不能把字符串"Hello!"賦給數(shù)組b的語句是______。
A.charb[10]={'H','e','l','l','o','!'};
B.charb[10]={'h','e','l','l','o','!'};
C.charb[10];strcpy(b,"Hello!");
D.charb[10]="Hello!";
52.有以下程序:voidswap(char*x,char*y){chart;t=*x,*x=*y;*y=t;}main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是()。
A.123,abcB.abc,123C.1bc,a23D.321,cba
53.有以下程序:#include<stdio.h>voidf(intv,intw){intt;t=v;v=w;w=t;}main(){intx=1,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(y,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);}執(zhí)行后的輸出結(jié)果()。
A.1,2,3B.3,1,2C.1,3,2D.2,3,1
54.設(shè)有下列語句inta=1,b=2,c;c=a^(b<<2);執(zhí)行后,C的值為()。
A.6B.7C.8D.9
55.數(shù)據(jù)庫系統(tǒng)的核心是()
A.數(shù)據(jù)庫B.數(shù)據(jù)庫管理系統(tǒng)C.模擬模型D.軟件工程
56.在C語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許是()。
A.整型表達式B.整型常量C.整型常量或整型表達式D.任何類型的表達式
57.軟件生命周期一般包括:軟件計劃期、開發(fā)期和軟件運行期。因此,在下述項目中,______不是軟件開發(fā)期的內(nèi)容。
A.需求分析B.結(jié)構(gòu)設(shè)計C.程序編制D.性能優(yōu)化
58.下面關(guān)于完全二叉樹的敘述中,錯誤的是______。
A.除了最后—層外,每—層上的結(jié)點數(shù)均達到最大值
B.可能缺少若干個左右葉子結(jié)點
C.完全二叉樹—般不是滿二叉樹
D.具有結(jié)點的完全二叉樹的深度為[log2n]+1
59.當個人計算機以撥號方式接入Internet網(wǎng)時,必須使用的設(shè)備是()
A.電話機B.瀏覽器C.網(wǎng)卡D.調(diào)制解調(diào)器(Modem)
60.下列敘述中正確的是A.線性表是線性結(jié)構(gòu)B.棧與隊列是非線性結(jié)構(gòu)C.線性鏈表是非線性結(jié)構(gòu)D.二叉樹是線性結(jié)構(gòu)
四、選擇題(20題)61.下列數(shù)據(jù)結(jié)構(gòu)中,能夠按照“先進后出”原則存取數(shù)據(jù)的是()。
A.循環(huán)隊列B.棧C.隊列D.二叉樹
62.有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;……}程序在執(zhí)行了“c=&b;b=&a;”語句后,表達式“**c”的值是()。
A.變量a的地址B.變量b中的值C.變量a中的值D.變量b的地址
63.有以下程序
64.
65.若有以下說明,則能打印出”An”的語句的是()。
A.
B.
C.
D.
66.以下選項中,合法的一組c語言數(shù)值常量是()。
A.12.0Xa234.5e0
B.028.5e…30xf
C.1774el.50abe
D.0x8A10,0003.e5
67.軟件需求分析一般應(yīng)確定的是用戶對軟件的______。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求
68.若變量均已正確定義并賦值,以下合法的C語言賦值語句是()。
A.X…Y5;B.X=n%2.5;C.X+n=i;D.x=5=4+1:
69.若已包括頭文件<string.h>且已有定義charsl[18],s2={"ABCDE")和inti,現(xiàn)要將字符串”ABCDE”賦給sl,下列語句錯誤的是()。A.A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.sl="ABCDE";
D.for(i=0;i<6;i++)sl[i]=s2[i]
70.以下程序的運行結(jié)果是()。
A.m=4k=5i=5k=5
B.m=4k=4i=5k=5
C.m=4k=4i=4k=5
D.m=4k=5i=4k=5
71.有以下程序
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));
}
程序的運行結(jié)果是
A.9B.編譯出錯
C.21D.9.0
72.有以下程序:
程序運行后的輸出結(jié)果是()。
A.2,4B.1,2C.1,4D.2.3
73.
74.有下列函數(shù)定義:intfun(doublea,doubleb){returna*b;}若下列選項中所用變量都已經(jīng)正確定義并賦值,錯誤的函數(shù)調(diào)用是()。A.if(fun(x,y)){……}
B.z=fun(fun(x,y),fun(x,y));
C.z=fun(fun(X,y)x,y);
D.fun(x,y);
75.
76.有以下程序:#include〈stdio.h〉intabe(intu,intv);main{inta=24,b=16,c;c=abc(a,b);printf(“%d\n”,c);}intabc(intu,intv){intw;while(v){w=u%v;u=v;v=w;)returnu;}輸出結(jié)果是()。A.6B.7C.8D.9
77.以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。
#include<stdio.h>
#defineN10
voidfun(intx[N])
{inti=0;
while(i<N)scanf("%d",
);
}
在程序中下劃線處應(yīng)填入的是()A.x+i
B.&x[i+1]
C.x+(i++)
D.&x[++i]
78.
79.已知大寫:字母A的ASCIl碼是65,小寫字母a的ASCIl碼是97。以下不能將變量c中的大寫字母轉(zhuǎn)換為對應(yīng)小寫字母的語句是()。
80.
五、程序改錯題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:計算并輸出m以內(nèi)最大的6個能被7或11整除的自然數(shù)之和。m的值由主函數(shù)傳人。例如,若m的值為600,則函數(shù)的值為3515。請修改程序中的錯誤,使它能得到正確結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下析prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),它的功能是計算下列級數(shù)和,和值由函數(shù)值返回。例如,當n=10,x=0.3時,函數(shù)值為1.349859。注意:部分源程序在文件prog1.c中。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:
參考答案
1.C首先計算表達式“a=9”;再計算表達式“a-=9”;即“a=a-9”,結(jié)果為0;最后計算表達式“a+=0”,即“a=a+0”,所以最終結(jié)果為0。故本題答案為C選項。
2.A部門到職員是一對多的,職員到部門是多對一的,因此,實體部門和職員間的聯(lián)系是l:m聯(lián)系。
3.A
4.C解析:當p指向s數(shù)組的首地址時,表示數(shù)組元素s[i]的表達式應(yīng)當有:①s[i],②,(s+i),③*(p+i),④p[i]四種形式。選項C)錯誤的原因是,數(shù)組的地址是不可變的,指針的地址是可以變的。
5.B解析:本題考查函數(shù)調(diào)用時的參數(shù)傳遞。在執(zhí)行函數(shù)func時,由于全局定義了一個變量b,所以在函數(shù)體中執(zhí)行時b=2+1=3,最終t=2+3=5。
6.A軟件危機主要表現(xiàn)在:軟件需求的增長得不到滿足;軟件開發(fā)成本和進度無法控制;軟件質(zhì)量難以保證;軟件不可維護或維護程度非常低;軟件的成本不斷提高;軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長。所以選擇A。
7.CC語言中沒有規(guī)定“if(表達式)語句”中的“表達式”的形式,其可以是任意合法的表達式。故本題答案為C選項。
8.A
9.B
10.C
11.D題干中,函數(shù)fun的第2個參數(shù)通過指針作為函數(shù)返回值,它的功能是通過遞歸,求得fun(n)的值為fun(n-1)+fun(n-2)。由于當n取值為1和2時,值為1。所以可知整個數(shù)列如下:1,1,2,3,5,8,…,即某一項是前兩項之和。所以當n取值為6時,fun(6,*s)返回s的值為3+5=8。本題答案為D選項。
12.Ddouble*p,a定義了一個指向雙精度型的指針變量P和雙精度型變量a,p=&a表示將變量a的地址賦給指針變量p;scanf("%If",p)表示用鍵盤輸入的數(shù)賦給指針變量P所指向的地址單元中,scanf函數(shù)要求在輸入double型數(shù)據(jù),格式控制符必須用%1f。否則,數(shù)據(jù)不能正確輸入。所以選項D正確。
13.A
14.C解析:在本題運行時主要注意的是當i=9時,a[i]=10-9=1:i=8時,a[i]=10-8=2;i=7時,a[i]=10-7=3;……依此類推,直到i=0時,a[i]=10-0=10:此時,i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8]分別為8,5,2。
15.D本題考查"drhile循環(huán)。第一次循環(huán),y=y-1,y=2,循環(huán)條件成立,x=1,X++后值為1,x自加變成2,進入循環(huán),a=a+1=1,判斷if語句條件是否成立,y<x不成立,接著執(zhí)行下一次循環(huán)。第二次循環(huán),x=2,y-1=1,循環(huán)條件成立,進入循環(huán),a=a+1=2,判斷if語句的控制條件是否成立,y<X成立,執(zhí)行break語句,退出循環(huán)。結(jié)果為D。
16.D解析:C語言中沒有邏輯類型,若只處理"真"或"假"兩種邏輯值,可以使用整型數(shù)"1"或"0"表示,故選D。
17.D二叉樹的遍歷有3種:前序、中序和后序。①前序遍歷訪問根結(jié)點,然后按左右順序遍歷子結(jié)點;②中序首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹;③后序遍歷首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點。本題根據(jù)后序和中序遍歷的結(jié)果可以得出二叉樹的結(jié)構(gòu),然后再對其進行前序遍歷,正確答案選項為D。
18.B
19.A解析:數(shù)據(jù)庫是一個通用化的、綜合性的數(shù)據(jù)集合,它可以為各種用戶所共享,具有最小的冗余度和較高的數(shù)據(jù)與程序的獨立性,而且能并發(fā)地為多個應(yīng)用服務(wù),同時具有安全性和完整性。即數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余,但不能避免一切冗余。所以選項A正確,選項B錯誤。在數(shù)據(jù)庫管理階段中,數(shù)據(jù)是結(jié)構(gòu)化的,面向系統(tǒng),數(shù)據(jù)冗余度小,從而節(jié)省了數(shù)據(jù)的存儲空間,也減少了對數(shù)據(jù)的存取時間,提高了訪問效率,避免了數(shù)據(jù)的不一致性。數(shù)據(jù)的不一致性,是指對數(shù)據(jù)的存取方式,選項C錯誤。數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù),并非是數(shù)據(jù)庫系統(tǒng)的特點,選項D錯誤。本題正確答案是A。
20.C
21.從定義到本源文件結(jié)束從定義到本源文件結(jié)束解析:C語言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。
22.C語言允許字符數(shù)據(jù)與整數(shù)進行直接的算術(shù)運算,故輸出大寫字母A開始的連續(xù)字符,可通過白加運算ch++完成。三角形字符陣列第i行的字符個數(shù)為n-i+1,在每行結(jié)尾以回車字符‘\\n’換行。\r\n\r\n
23.11<CR>23<CR>5(<CR代表換行)11<CR>23<CR>5(<CR,代表換行)解析:本題通過語句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”將數(shù)組中前面兩項的和賦值給數(shù)組當前元素,得到a的值應(yīng)為(1,1,2,3,5)。語句if(i%2==0)pfintf('\\n')是要將數(shù)組中的元素以每行2個的形式輸出。
24.類類解析:在面向?qū)ο蠓椒ㄖ?,類描述的是具有相似屬性與操作的一組對象。
25.需求規(guī)格說明書需求規(guī)格說明書解析:軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。需求規(guī)格說明書包括正確性、無歧義性、完整性、可驗證性、一致性、可理解性、可修改性和可追蹤性等。
26.對象對象解析:將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同方法的對象的集合。
27.中序中序解析:在先左后右的原則下,根據(jù)訪問根結(jié)點的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時,仍然先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹:并且遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹。后序遍歷指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點,最后遍歷左子樹;并且遍歷左、右子樹時,仍然光遍歷右子樹,然后訪問根結(jié)點,最后遍歷左子樹。
28.22解析:本題考查表達式的運算。因為x=1,y=2,所以表達式(x+y)%2=3%2=1,(int)a/(int)b=(int)}(3/2)=1,因此整個表達式的結(jié)果為(x+y)%2+(int)a/(int)b=1+1=2。
29.1212解析:本題考查逗號表達式的運算規(guī)則。逗號表達式的基本格式為:“表達式1,表達式2,…”,其整個表達式的結(jié)果取最后一個子表達式的值。本題中首先計算逗號表達式中的第1個表達式a=2*3=6,然后計算第2個表達式a*2,這時整個表達式的值為12,但要注意,因為第2個表達式并沒有給a賦值,因此a的值不變;接下來執(zhí)行最后一個表達式a+6=12,所以整個表達式最后的值為12。
30.模塊化模塊化
31.輸出結(jié)果輸出結(jié)果解析:注意:測試的基本方法和步驟。
32.如果a能被i整除,則a是素數(shù),返回值為0。如果a不能被i整除,則a不是素數(shù),返回值為1。
33.j<=ia[i][j]=a[j][i]j<=i\r\na[i][j]=a[j][i]解析:將矩陣轉(zhuǎn)置就是將行列互換,所以第一處應(yīng)填j<=i,第二處應(yīng)填a[i][j]=a[j][i]。
34.66解析:本題考察的是一個嵌套的循環(huán),當滿足j<=i時,輸出一個“#”號,符合條件的有i=2,j=2;i=3,j=2;i=3,j=3;i=4,j=2;i=4,j=3;i=4,j=4,共輸出6個“#”。
35.p=i;i>=pi<=Np=i;\r\ni>=p\r\ni<=N解析:本題主要考查了插入排序。由于程序中的數(shù)組在開始已經(jīng)按從小到的大順序排好。在插入時,首先要查到第一個大于待插入數(shù)的數(shù)組下標,即當待插入元素小于數(shù)組中當前元素時,記下數(shù)組的當前下標p,并結(jié)束循環(huán)。故第一空目的是為了記下數(shù)組下標,應(yīng)填p=i;插入的第二部是將大于待插入元素的所有元素都向后移動一位,故在循環(huán)時,要從最后一個元素到第p個元素都要后移一位,因此第二空應(yīng)填i>=p。最后一個循環(huán)是將N+1個元素都輸出,故最后一空應(yīng)為i<=N。(注:本題有多種答案,以上僅提供一種)
36.77解析:在程序執(zhí)行時,static變量僅初始化一次,下次使用時將使用上次保存的值。
37.1616解析:函數(shù)運算不改變數(shù)據(jù)類型,所以結(jié)果也是double型,fabs(x)是對x取絕對值,pow(y,fabs(x))是y的labs(x)次冪,即2.04。0=16.000000(注意;結(jié)果為double型)。
38.散列散列
39.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。在國家標準“計算機軟件開發(fā)規(guī)范”中,把軟件生命周期劃分為8個階段,即可行性研究與計劃、需求分析、概要設(shè)計、詳細設(shè)計、實現(xiàn)、綜合測試、確認測試、使用與維護,對每個階段,都明確規(guī)定了該階段的任務(wù)、實施方法、實施步驟和完成標志,其中特別規(guī)定了每個階段需要產(chǎn)生的文檔。
40.n-1
41.A解析:程序設(shè)計的風(fēng)格主要強調(diào)程序的簡單、清晰和可理解性,以便讀者理解。因此選項A是正確答案。程序濫用goto語句將使程序流程無規(guī)律,可讀性差;添加的注解行有利于對程序的理解,不應(yīng)減少或取消;程序的長短要依照實際需要而定,并不是越短越好。因此選項B、C、D都是錯誤的。
42.A解析:aaa()函數(shù)中,首先定義了一個字符指針t指向形參s,然后通過一個while循環(huán)讓指針\u3000t不斷遞增,直到t指向字符串結(jié)束標志處。當t指向結(jié)束標志處時,由于后綴++運算符的原因,它還會被再遞增1,所以接卜來的t--;語句讓它回到結(jié)束標志處。最后返回t-s,因此s還是指向字符串第1個字符處,而t指向了字符串結(jié)尾,故返回值為字符串的長度值。
43.B
44.D解析:該題考查邏輯與“&&”和邏輯或“‖”以及邏輯非“!”符號的用法。選項A)即3&&4為真;選項B)即3<=4為真;選項C)是一個邏輯或與邏輯與的混合運算,只要執(zhí)行了邏輯或左半部分,程序?qū)⒅苯油V箞?zhí)行邏輯或右半部分程序,因為x的值為真;此時選項C)變?yōu)?&&-1為真。選項D)不用計算,括號內(nèi)邏輯或右邊的值為1,因而括號內(nèi)的值為1,再進行邏輯非運算得0。
45.C解析:fseek函數(shù)的原形為intfseek(FILE*fp,longoffset,intbase);函數(shù)的功能是將fp所指向的位置指針移到以base所指位置為基準、以offset為位移量的位置??梢?,fseek是改變文件的位置指針。
46.D解析:本題主要是考查帶參數(shù)的宏定義及其相關(guān)運算。本題中宏運算過程如下:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。
47.C本題中,首先將0賦給k,表達式變?yōu)?,跳出循環(huán),沒有執(zhí)行循環(huán)體語句。解答本題的關(guān)鍵是掌握while語句。
48.C解析:本題在定義字符數(shù)組時沒有定義數(shù)組長度,但用字符常量給數(shù)組賦了初值,這時初值的個數(shù)即為數(shù)組的長度,故數(shù)組長度為6(包括'\\0')。字符串的長度為有效字符的個數(shù)5。strlen(s)返回值為串中字符的個數(shù)(不計最后的'\\0'),則輸出值為5。sizeof(s)計算數(shù)組所占的字節(jié)數(shù),包含'\\0',則輸出值為6。因此,C選項正確。
49.C算法具有的5個特性是:有窮性、確定性、可行性、有0個或多個輸入、有一個或多個輸出。所以說,用C程序?qū)崿F(xiàn)的算法可以沒有輸入,但必須要有輸出。因此本題答案選C。
50.C解析:軟件設(shè)計遵循軟件工程的基本目標和原則,建立了適用于在軟件設(shè)計中應(yīng)該遵循的基本原理和與軟件設(shè)計有關(guān)的概念。①抽象是一種思維工具,就是把事物本質(zhì)的共同特性抽出來而不考慮其他細節(jié)。②模塊是指可以單獨命名且可編址的元素。如高級語言中的過程、函數(shù)、子程序等。③信息隱蔽是指在一個模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說是不能訪問的。④模塊獨立性是指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。因此,本題的正確答案是C。
51.B解析:在C語言中,大寫字母和小寫字母被認為是兩個不同的字符,因此,“hello!”和“Hello!”是兩個不同的字符串。
52.C解析:首先看swap()函數(shù),函數(shù)中定義了一個臨時字符變量t,然后將形參指針x所指內(nèi)容存入t,再將形參指針y所指內(nèi)容存入到x所指內(nèi)容中,最后將臨時變量t的內(nèi)容存入到y(tǒng)所指內(nèi)容中。所以該函數(shù)實現(xiàn)的是:交換兩個字符指針所指向的內(nèi)容。在主函數(shù)中,首先定義了兩個字符指針s1和s2,同時用字符串'abc'和'123”來初始化它們,此時它們指向的是兩個字符串的第1個字符。所以,在調(diào)用完swap()函數(shù)后,彼此交換了兩個字符串的第1個字符,最后輸出結(jié)果為1bc,a23。故應(yīng)該選擇C。
53.C解析:程序中if語句的條件只有y>z為真,所以執(zhí)行f(y,z)。函數(shù)f的功能是交換兩形參的值,但由于實參和形參都是一般變量,因此形參變量值的交換不能影響實參的值,main函數(shù)中的y和z并來互換,因此輸出結(jié)果為:1,3,2。
54.D解析:變量b的初值等于2,所以表達式b<<2表示b的值二進制左移兩位,即擴大4倍,所以變量b的等于8。然后與a的值1進行異或運算,得9。
55.B解析:數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)是數(shù)據(jù)庫的機構(gòu),它是一種系統(tǒng)軟件,負責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護、控制及保護和數(shù)據(jù)服務(wù)等,數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。
56.C解析:在C語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型可以是整型常量,也可以是整型表達式。
57.D解析:瀑布模型把軟件生命周期劃分為3個時期,時期又劃分為若干階段:①軟件定義期——問題定義和可行性研究;②軟件開發(fā)期——需求分析、總體設(shè)計、詳細設(shè)計、編碼和測試;③運行及維護階段——維護。所以,性能優(yōu)化不是軟件開發(fā)期所應(yīng)包含的內(nèi)容。
58.B解析:滿二叉樹指除最后一層外每一層上所有結(jié)點都有兩個子結(jié)點的二叉樹。完全二叉樹指除最后一層外,每一層上的結(jié)點數(shù)均達到最大值,在最后—層上只缺少右邊的若干子結(jié)點(葉子結(jié)點)的二叉樹。
59.D
60.A根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個條件:1,有且只有一根節(jié)結(jié)點,2,每一個結(jié)點最多有一個前件,也最多有一個后件,則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱線性表。所以線性表、棧與隊列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。
61.BB。【解析】在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。即棧是按照“先進后出”或“后進先出”的原則組織數(shù)據(jù)的。
62.C解析:主函數(shù)中定義了一個整型變量a,一個整型指針變量b和一個二級指針變量c,并讓c指向指針變量b,讓指針b指向整形變量a,所以**c為變量a的值,所以,4個選項中選項C符合題意。
63.Amain函數(shù)輸出字符串第6個元素對應(yīng)的數(shù)據(jù),所以答案為A)。
64.D
65.Cstr是指針數(shù)組,每個元素存放的是指向結(jié)構(gòu)體類型數(shù)據(jù)的地址,每個元素可看作是一個指針變量,通過結(jié)構(gòu)體指針變量引用結(jié)構(gòu)體變量各成員的形式有兩種,一是(*指針變量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 長期臥床患者壓瘡評估制度
- 2024版工業(yè)用地場地租賃與環(huán)保設(shè)施建設(shè)合同3篇
- 2025消防工程承包合同書
- 2025廣告合同的范文
- 績效考評管理制度
- 醫(yī)院麻精藥品管理制度及流程
- 住宅小區(qū)物業(yè)管理制度
- 新消防中控室安全保衛(wèi)制度
- 旅館業(yè)公共場所衛(wèi)生管理制度
- 督導(dǎo)監(jiān)察制度
- 汽車之家:2024年增換購用戶需求洞察1727674734
- 陜西省師大附中2025屆高三下學(xué)期聯(lián)考物理試題含解析
- 讀后續(xù)寫15種高分句式
- 2024電力巡檢無人機自動機場技術(shù)標準
- 2024至2030年中國儲能變流器(PCS)行業(yè)市場深度分析及投資決策建議報告
- 專題6:板塊模型(教學(xué)設(shè)計) 2023-2024學(xué)年高一物理同步講練課堂(人教版2019必修第一冊)
- 小學(xué)科學(xué)《點亮小燈泡》教學(xué)課件
- 生成式人工智能嵌入養(yǎng)老服務(wù)的機遇與風(fēng)險
- 電動汽車充電站新建工程項目管理實施規(guī)劃
- 幼兒教師資格《保教知識與能力》歷年考試真題題庫(含答案及解析)
- 《水質(zhì)六價鉻的監(jiān)測現(xiàn)場快速監(jiān)測分光光度法》編制說明
評論
0/150
提交評論