




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年河北省廊坊市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.以下程序的輸出結(jié)果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}
A.19B.17C.15D.12
2.有以下程序:#include<stdio.h>main(){inti,data;scanf(“%d”,&data);for(i=0;i<8;i++){if(i<=data)continue;printf(“%d,”,i);}}程序運(yùn)行時(shí)輸入5并按〈Enter〉鍵,則程序輸出結(jié)果為()。
A.5,6,7,B.0,1,2,3,4,C.6,7,D.6,7,8,
3.
4.對(duì)于下述說明,不能使變量p->b的值增1的表達(dá)式是______。structexm{inta;intb;floatc}*p;
A.++p->bB.++(p++)->bC.p->b++D.(++p)->b++
5.
6.有下列程序:#include<stdio.h>voidfun(char*a,char*B){while(*a=='*')a++;while(*b=*A){b++;a++;}}main(){char*s="*****a*b****",t[80];fun(s,t);puts(t);程序的運(yùn)行結(jié)果是()。A.*****a*bB.a*bC.a*b****D.ab
7.有以下程序段chareh;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是
A.因變量類型與格式描述符的類型不匹配輸出無(wú)定值
B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值
C.a,97,12k=12
D.a,97,k=12
8.若有定義inta=12,n=5,則表達(dá)式a%=(n%2)運(yùn)算后,a的值()。
A.0B.1C.12D.6
9.下列關(guān)于C語(yǔ)言文件的敘述中正確的是()。
A.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件
B.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
C.文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
D.文件由字符序列組成,其類型只能是文本文件
10.
11.輸出語(yǔ)句“printf(“%d\n”,11+011);”的輸出結(jié)果是()。
A.20B.22C.022D.021
12.下列字符數(shù)組初始化語(yǔ)句中,不正確的是()。
A.charc[]=goodmorning;
B.charc[20]="goodmorning";
C.charc[]={a,b,c,d);
D.charc[]={"ffgoodmorning"};
13.有以下程序(說明:字母A的ASCIl碼值是65):#include<stdio.h>voidfun(char*s){while(*s){if(*s%2)printf("%C",*s);s++;}}main(){chara[]="BYTE";Fun(a);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A.BYB.BTC.YTD.YE
14.以下敘述中正確的是()
A.C程序由函數(shù)和過程組成B.C程序由主函數(shù)組成C.C程序由函數(shù)組成D.C程序中,主函數(shù)必須放在其他函數(shù)之前
15.
16.
若輸入“abcdef”“abdef”,下述程序的輸出結(jié)果為()。
#include<stdio.h>
#include<string.h>
main
{intn;
chars1[20],s2[20],*p1,*p2;
scanf("%s",s1);
scanf("%S",s2);
p1=s1;
p2=s2;
n=strcmp(p1,p2);
printf("Vood\n",n);
}
A.-1B.0C."abcdef"D."abdef"
17.下列算法中,()算法用來求圖中某頂點(diǎn)到其他頂點(diǎn)所有頂點(diǎn)之間的最短路徑。
A.DijkstraB.FloyedC.PrimD.Kruskal
18.有以下程序:main{inta=0,b=0;a=10;/*給a賦值b=20;給b賦值*/printf(“a+b=%d\n”,a+b);/*輸出計(jì)算機(jī)結(jié)果*/}程序運(yùn)行后的輸出結(jié)果是()。A.a+b=10B.a+b=30C.30D.出錯(cuò)
19.有以下程序:#includc<stdio.h>voidfun(int*p){printf("%d\n",p[5]);}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};fun(&a[3]);}程序運(yùn)行后的輸出結(jié)果是()。A.5B.6C.8D.9
20.視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)次序的是()。
A.自頂而下B.由內(nèi)向外C.由外向內(nèi)D.自底向上
二、2.填空題(20題)21.軟件的可移植性是用來衡量軟件【】的重要尺度之一。
22.以下程序運(yùn)行后輸入3,abcde<回車>,則輸出結(jié)果是【】。
#include<string.h>
move(char*str,intn)
{chartemp;inti;
temp=str[n-1];
for(i=n-1;i>0;i--)str[i]=str[i-1];
str[0]=temp;
}
main()
{chars[50];intn,i,z;
scanf("%d,%s",&n,s);
z=strlen(S);
for(i=1;i<=n;i++)move(s,z);
printf("%s\n",s);
}
23.在最壞情況下,冒泡排序所需要的比較次數(shù)為【】。
24.寫出下列程序的輸出結(jié)果______。
main()
{intn=0;
while(n++<=1);
printf("%d,",n);
printf("%d",n++);
}
25.以下程序段打開文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長(zhǎng)度,請(qǐng)?zhí)羁铡?/p>
FILE*myf;longf1;
myf=【】("test,t","rb");
fseek(myf,(),SEEK_END;f1+ftell(myf);
fclose(myf);
printf("%1d\n",f1);
26.設(shè)一棵二叉樹的中序遍歷結(jié)果為ABCDEFG,前序遍歷結(jié)果為DBACFEG,則后序遍歷結(jié)果為【】。
27.設(shè)一棵完全二叉樹共有700個(gè)結(jié)點(diǎn),則在該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。
28.以上程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inti=10,j=0;
do
{j=j+i;i-;}
while(i>2);
printf("%d\n",j);
}
29.函數(shù)viodfun(float*sn,intn)的功能是:根據(jù)以下公式計(jì)算S,計(jì)算結(jié)果通過形參指針sn傳回;n通過形參傳入,n的值大于等于0。請(qǐng)?zhí)羁铡?/p>
s=1-1/3+1/5-1/7+…1/(2n+1)
voidfun(float*sn,intn)
{floats=0.0,w,f=-1.0;
inti=0;
for(i=0;i<=n;i++)
{f=【】*f;
w=f/(2i+1);
s++=w;
}
【】=s;
}
30.函數(shù)pi的功能是根據(jù)以下公式近似求得的:
pi*pi/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)
請(qǐng)?jiān)谙旅娴暮瘮?shù)中填空,完成求pi的功能。
#include<math.h>
doublepi(longn)
{doubles=0.0,longi;
for(i=1;i<=n;i++)s=s+【】。
return(sqrt(6*s));
}
31.對(duì)軟件是否能達(dá)到用戶所期望的要求的測(cè)試稱為【】。
32.下列程序段的運(yùn)行結(jié)果是______。
intx=0,y=0;
while(x<15)y++,x+=++y;
printf("%d,%d",y,x);
33.有一個(gè)已排好序的數(shù)組,今輸入一個(gè)數(shù),要求按原來的順序規(guī)律將它插入到數(shù)組中。算法是:假設(shè)排序順序是從小到大,對(duì)輸入的數(shù),檢查它在數(shù)組中哪個(gè)數(shù)之后,然后將比這個(gè)數(shù)大的數(shù)順序后移一個(gè)位置,在空出的位置上將該數(shù)插入。請(qǐng)?jiān)诔绦蛑械目瞻滋幪钌弦粭l語(yǔ)句或一個(gè)表達(dá)式。
#defineN100
main()
{floata[N+1],x;
inti,p;
for(i=0;i<N;i++)
scanf("%f"&a[i]);
scanf("%f",&x);
for(i=0,p=N;i<N;i++)
if(x<a[i])
{【】;
break;}
for(i=N-1;【】;i-)
a[i+1]=a[i];
a[p]=x;
for(i=0;【】;i++)
{printf("%8.2f",a[i]);
if(i%5=0)
printf("\n");
}
}
34.若有如下定義,則該數(shù)組的第一維大小為【】。
intb[][4]={1,2,3,4,5,6,7,8,9);
35.以下程序中函數(shù)huiwen的功能是檢查一個(gè)字符串是否是回文,當(dāng)字符串是回文時(shí),函數(shù)返回字符串:yes!,否則函數(shù)返回字符串:no!,并在主函數(shù)中輸出。所謂回文即正向與反向的拼寫都一樣,例如:adgda,請(qǐng)?zhí)羁铡?/p>
#include<string.h>
char*huiwen(char*str)
{char*p1,*p2;inti,t=0;
p1=str;p2=();
for(i=0;i<=strlen(str)/2;i++)
if(*p1++!=*p2--){t=1;break;}
if(t==0)return("yes!");
elsereturn("no!");
}
main()
{charstr[50];
printf("Input:");scanf("%s",str);
printf("%s\n",huiwen(str));
}
36.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
37.下面程序的輸出結(jié)果是【】。
structaa
{intx,*y;
}*p;
inta[8]={10,20,30,40,50,60,70,80};
structaab[4]={100,&a[1],200,&a[3],10,&a[5],20,&a[7]};
main()
{p=b;
printf(%d",*++p->y);
printf("%d\n",++(p->x));
}
38.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
39.以下程序的輸出結(jié)果是【】。
main()
{inta=0;
a+=(a=8);
printf("%d\n",A);
}
40.如下圖所示的二叉樹后序遍歷序列是【】。
三、1.選擇題(20題)41.以下程序的輸出結(jié)果是intf(){stadcinti=0;ints=1;s+=i;i++;returns;}main(){inti,a=0;for(i=0;i<5;i++)a+=f();printf(“%d\n”,A);}
A.20B.24C.25D.15
42.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中
A.詳細(xì)設(shè)計(jì)階段B.需求分析階段C.總體設(shè)計(jì)階段D.編程調(diào)試階段
43.下列關(guān)于線性鏈表的描述中正確的是()。
A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的
B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
C.存儲(chǔ)空間必須連續(xù),且各前件元素一定存儲(chǔ)在后件元素的前面
D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
44.若有說明:inta[][3]={0,0};則不正確的敘述是()。
A.數(shù)組a的每個(gè)元素的初值都是0
B.數(shù)組a的第一維大小為1
C.數(shù)組a的行數(shù)為1
D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
45.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.x=y*5=x+z
B.int(15.8%5.
C.x=y+z+5,++y
D.x=25%5.0
46.下列關(guān)于標(biāo)識(shí)符的說法中錯(cuò)誤的是
A.合法的標(biāo)識(shí)符是由字母、數(shù)字和下劃線組成
B.C語(yǔ)言的標(biāo)識(shí)符中,大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符
C.C語(yǔ)言的標(biāo)識(shí)符可以分為三類,即關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符
D.用戶標(biāo)識(shí)符與關(guān)鍵字不同時(shí),程序在執(zhí)行時(shí)將給出出錯(cuò)信息
47.在C語(yǔ)言系統(tǒng)中,假設(shè)int類型數(shù)據(jù)占兩個(gè)字節(jié),則double、long、unsignedint、char類型數(shù)據(jù)所占字節(jié)數(shù)分別為()。
A.8,2,4,1B.2,8,4,1C.4,2,8,1D.8,4,2,1
48.若有定義:inta[4][10];,則以下選項(xiàng)中對(duì)數(shù)組元素a[i][j]引用錯(cuò)誤的是______。(o<=i<4,0<=j<=10
A.*(&a[0][0]+10*i+j)B.*(a+i)+jC.*(*(a+i)+j)D.*(a[i]+j)
49.設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+′a′+i*f值的數(shù)據(jù)類型為
A.intB.floatC.doubleD.不確定
50.以下選項(xiàng)中可作為C語(yǔ)言合法常量的是
A.-80B.-080C.-8e1.0D.-80.0e
51.
執(zhí)行下列程序中的輸出語(yǔ)句后,a的值是()。
main
{inta;
printf("%d\n",(a=2*3,a*5,a+7));
}
A.17B.37C.6D.13
52.若有定義intb[8],*p=b;則p+6表示()。
A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[0]的值加上6
53.以下語(yǔ)句段執(zhí)行后的輸出結(jié)果是()。#include<stdio.h>main(){intk=3;if(k)printf("###")elseprintf("&&&&");}
A.###
B.&&&&
C.###&&&&
D.有語(yǔ)法錯(cuò)誤,不能執(zhí)行
54.函數(shù)fun的返回值是fun(char*a,char*b){intnum=0,n=0;while(*(a+num)!='\0')num++;while(b[n]){*(a+num)=b[n];num++;n++;}returnnum;}
A.字符串a(chǎn)的長(zhǎng)度B.字符串b的長(zhǎng)度C.字符串a(chǎn)和b的長(zhǎng)度之差D.字符串a(chǎn)和b的長(zhǎng)度之和
55.下列不合法的main函數(shù)命令行參數(shù)的表示形式是______。
A.main(inta,char*c[]);
B.main(ac,av)intarc;char**av;
C.main(c,v)intc;char*v[];
D.main(argc,argv)intargc;charargv[];
56.數(shù)據(jù)庫(kù)的故障恢復(fù)一般是由()來執(zhí)行恢復(fù)
A.電腦用戶B.數(shù)據(jù)庫(kù)恢復(fù)機(jī)制C.數(shù)據(jù)庫(kù)管理員D.系統(tǒng)普通用戶
57.以下敘述中不正確的是
A.預(yù)處理命令行都必須以#號(hào)開始
B.在程序中凡是以#號(hào)開始的語(yǔ)句行都是預(yù)處理命令行
C.宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間
D.在以下定義是正確的:#definePI3.1415926;
58.下列函數(shù)值的類型是()。fun(doublex){floaty;y=3*x-4;returny;}
A.intB.不確定C.voidD.float
59.變量a所占的內(nèi)存字節(jié)數(shù)是______。unionU{charst[4];inti;long1;};structA{intc;unionUu;}a;
A.4B.5C.6D.8
60.下列程序中函數(shù)sort()的功能是對(duì)數(shù)組a中的數(shù)據(jù)進(jìn)行由大到小的排序。
#include<stdio.h>
voidsort(inta[],intn)
{inti,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;
}
}
main()
{inta[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&a[1],7);
for(i:0;i<10;i++)printf("%d,",a[i]);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.1,8,7,6,5,4,3,2,9,10,
D.1,2,10,9,8,7,6,5,4,3,
四、選擇題(20題)61.下面程序的運(yùn)行結(jié)果是()。
A.gaeB.gaC.LanguageD.有語(yǔ)法錯(cuò)
62.以下程序的輸出結(jié)果是()。main{inta=3:printf("%d\n",(a+a-=a*a));}A.-6B.12C.0D.-12
63.設(shè)在C語(yǔ)言中,float類型數(shù)據(jù)占4個(gè)字節(jié),則double類型數(shù)據(jù)占()個(gè)字節(jié)。
A.1B.2C.8D.4
64.
65.
66.以下選項(xiàng)中值為1的表達(dá)式是()。
A.
B.
C.
D.
67.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。
A.軟件需求規(guī)格說明書B.數(shù)據(jù)庫(kù)說明書C.集成測(cè)試計(jì)劃D.概要設(shè)計(jì)說明書
68.執(zhí)行下列程序時(shí)輸入:123<空格>456<空格>789<回車>輸出結(jié)果是main(){chars[100];intc,i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s\n",c,i,s);}
A.123,456,789B.1,456,789C.1,23,456,789D.1,23,456
69.
70.
71.若有以下定義:chara;intb;floatc;doubled;則表達(dá)式a*b+b-c值的類型為()。A.floatB.intC.charD.double
72.若k是int類型變量,且有以下for語(yǔ)句:
for(k=-1;k<O;k++)printf("****\n");
下面關(guān)于語(yǔ)句執(zhí)行情況的敘述中正確的是()。、
A.循環(huán)體執(zhí)行一次
B.循環(huán)體執(zhí)行兩次
C.循環(huán)體一次也不執(zhí)行
D.構(gòu)成無(wú)限循環(huán)‘
73.
74.
75.在計(jì)算機(jī)中,算法是指()
A.加工方法B.解題方案的準(zhǔn)確而完整的描述C.排序方法D.查詢方法
76.為了提高測(cè)試的效率,應(yīng)該()。
A.隨機(jī)選取測(cè)試數(shù)據(jù)
B.取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)
C.在完成編碼以后制定軟件的測(cè)試計(jì)劃
D.集中對(duì)付那些錯(cuò)誤群集的程序
77.以下敘述中錯(cuò)誤的是()。
A.C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進(jìn)行的
B.預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束
C.#defineMAX是合法的宏定義命令行
D.在程序中凡是以“#”開始的語(yǔ)句行都是預(yù)處理命令行
78.以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是()。
A.結(jié)構(gòu)化程序使用goto語(yǔ)句會(huì)很便捷
B.在c語(yǔ)言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的
C.一個(gè)結(jié)構(gòu)化程序必須同時(shí)由順序、分支、循環(huán)三種結(jié)構(gòu)組成
D.由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問題
79.對(duì)如下二叉樹進(jìn)行后序遍歷的結(jié)果為()。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
80.有以下程序
#include<stdio.h>
main()
{inti=5;
do
{if(i%3==1)
if(i%5==2)
{printf("*%d",i);break;}
i++;
}while(i!=0);
printf("\n");
}
程序的運(yùn)行結(jié)果是
A.*7B.*3*5
C.*5D.*2*6
五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:計(jì)算并輸出k以內(nèi)最大的10個(gè)能被15或18整除的自然數(shù)之和,k的值由主函數(shù)傳人。若k的值為800,則函數(shù)的值為7605。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.三個(gè)整數(shù)a、b、c,由鍵盤輸入,輸出其中最大的數(shù)。
參考答案
1.D解析:C語(yǔ)言的宏定義包括不帶參數(shù)的宏定義與帶參數(shù)的宏定義。本題為帶參數(shù)的宏定義,其形式為:
#define宏名(形參表)字符串
本題的M(a+b,b+c,c+a)被字符串a(chǎn)+b*b+c+c+a代替。
2.Cmain函數(shù)首先定義一個(gè)整型變量data,使用scanf函數(shù)輸入一個(gè)整數(shù)賦給data。接著執(zhí)行for循環(huán),i的值為0~7。當(dāng)i的值不大于data的值時(shí),使用continue語(yǔ)句跳過當(dāng)前循環(huán),進(jìn)入下一輪循環(huán)。若從鍵盤輸入5,data的值為5,i取值為0~5時(shí),都不執(zhí)行printf語(yǔ)句。當(dāng)i取值為6、7時(shí),執(zhí)行printf語(yǔ)句,輸出6,7。故本題答案為C選項(xiàng)。
3.A
4.D解析:p->b應(yīng)作為一個(gè)整體看待,++p->b和p->b++都使變量b增1,++(p++)->b先使b增1,再使p后移,D中表達(dá)式的含義是使p+1所指結(jié)構(gòu)體變量中的成員b的值增1。
5.C
6.C解析:主函數(shù)main()定義了指向字符串的指針和一個(gè)字符數(shù)組,接著調(diào)用fun(s,t)函數(shù),進(jìn)行實(shí)參向形參傳遞,函數(shù)fun()第一個(gè)while語(yǔ)句判斷*a中的值為“*”時(shí)繼續(xù)掃描,當(dāng)遇到不是“*”時(shí)結(jié)束,接著第二個(gè)while循環(huán)語(yǔ)句,將*a中從“a”開始的后續(xù)所有字符都賦予*b,也就是t[80]中的內(nèi)容為“a*b****”,所以此題的運(yùn)行結(jié)果為選項(xiàng)C)。
7.D解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號(hào)的十進(jìn)制整型數(shù)輸出,所以第一個(gè)輸出語(yǔ)句輸出的結(jié)果為a,97;第二個(gè)輸出語(yǔ)句輸出的結(jié)果為k=12。
8.A
9.C文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件。故本題答案為C選項(xiàng)。
10.B本題考查標(biāo)準(zhǔn)輸入輸出函數(shù)和循環(huán)語(yǔ)句。gets(s)函數(shù)的作用是將輸入的字符讀入字符串s,直到遇到回車。而scanf函數(shù)接收字符串時(shí)的結(jié)束標(biāo)志為回車或者空格。因此選項(xiàng)B)不能,選項(xiàng)C)和選項(xiàng)D)中按字符逐個(gè)讀入字符串s中,直到讀入的字符是換行符為止,因此B正確。
11.A“printf(“%d\\n”,11+011);”中,“11”為十進(jìn)制數(shù),“011”為八進(jìn)制數(shù),%d表示以十進(jìn)制格式輸出。因此,先將八進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù),即(011)8=81×1+1×80=(9)10,相當(dāng)于“printf(“%d\\n”,11+9)”,輸出結(jié)果為20。故本題答案為A選項(xiàng)。
12.A本題考查兩個(gè)概念:①用單引號(hào)括起來的一個(gè)字符常量只能存放一個(gè)字符;②℃語(yǔ)言中沒有字符串變量,只能用字符數(shù)組來存儲(chǔ)字符串。
13.Dfun函數(shù)的意思是當(dāng)*s%2==0的時(shí)候就輸出并且s自加l次,然后判斷。所以可知只有第2和第4個(gè)位置上的才符合要求,所以答案為D。
14.C
15.A
16.D
\n本題考查字符串比較函數(shù)strcmp(s1,s2),若s1>s2,則返回1;若s1=s2,則返回0;若s1<s2,則返回-1。字符串依次比較的是它們字符的ASCIl碼值。
\n
17.A
18.AC語(yǔ)言規(guī)定,注釋語(yǔ)句可以換行寫,并且一個(gè)“/*”和其后緊跟的第一個(gè)“*/”中間的部分是注釋內(nèi)容,并且注釋部分的內(nèi)容不參與程序的執(zhí)行,因此本題中沒有執(zhí)行“b=20”;這條語(yǔ)句。
19.B由題可知,fun(&a[3])是將&a[3]作為參數(shù),而fun(int*p)后執(zhí)行的語(yǔ)句為p[5],由數(shù)組a可知輸出的為6。
20.C視圖設(shè)計(jì)的設(shè)計(jì)次序分3種:自頂向下、自底向上和由內(nèi)向外。它們?yōu)橐晥D設(shè)計(jì)提供了具體的操作方法,設(shè)計(jì)者可根據(jù)實(shí)際情況靈活掌握。
21.質(zhì)量質(zhì)量
22.cdeabcdeab解析:本題move()函數(shù)的作用,是將形參s仕所指地址的連續(xù)n位循環(huán)右移1位,即讓str[n-1]=str[n-2],str[n-2]=str[n-3],…,str[1]=str[0],str[0]=str[n-1](原)。主函數(shù)中用了一個(gè)for循環(huán)調(diào)用move()函數(shù),共循環(huán)3次,所以數(shù)組s被循環(huán)右移了3位,故最后輸出的值為cdeab。
23.n(n-1)/2n(n-1)/2解析:在最壞情況下,冒泡排序所需要的比較次數(shù)為n(n-1)/2。
24.333,3解析:本題在while(n++<=1)語(yǔ)句后,直接加了分號(hào),說明如果while()的條件為真時(shí),該循環(huán)什么都不做:n++是先取n的當(dāng)前值和1做比較,然后再將n加1。第一次循環(huán),n=0時(shí),循環(huán)條件n++=<1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時(shí),循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時(shí),循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時(shí)仍將n加1,得到n=3.退出循環(huán)后執(zhí)行printf語(yǔ)句,第二個(gè)printf語(yǔ)句輸出n++,是先輸出n的當(dāng)前值3,然后再將n加l,即程序結(jié)束后得到n=4,但輸出的是3。
25.fopenfopen解析:C語(yǔ)言中的文件分為:ASCII文件與二進(jìn)制文件。文件在使用前打開,使用后要關(guān)閉。打開文件的函數(shù)為:fopen(),調(diào)用形式為:fp=fopen(“文件名”,“使用文件方式”);關(guān)閉文件的函數(shù)為:fclose(),調(diào)用形式為:fclose(fp);其中fp為文件指針。
26.ACBEGFDACBEGFD解析:①確定根節(jié)點(diǎn)。在前序遍歷中,首先防問根結(jié)點(diǎn),因此可以確定前序序列DBACFEG中的第一個(gè)結(jié)點(diǎn)D為二叉樹的根結(jié)點(diǎn)。
②劃分左子樹和右子樹。在中序遍歷中,訪問根結(jié)點(diǎn)的次序?yàn)榫又?,首先訪問訪問左子樹上的結(jié)點(diǎn),最后訪問右子樹上的結(jié)點(diǎn),可知,在中序序列ABCDEFG中,以根結(jié)點(diǎn)D為分界線,子序列ABC在左子樹中,子序列EFG在右子樹中。如下圖所示。
③確定左子樹的結(jié)構(gòu)。對(duì)于左子樹ABC,位于前序序列最前面的一個(gè)結(jié)點(diǎn)為了樹的根結(jié)點(diǎn),根據(jù)前序遍歷結(jié)果,B為該了樹的根結(jié)點(diǎn),中序序列中位于該根結(jié)點(diǎn)前面的結(jié)點(diǎn)構(gòu)成左子樹上的結(jié)點(diǎn)子序列,位于該根結(jié)點(diǎn)后面的結(jié)點(diǎn)構(gòu)成右子樹上的結(jié)點(diǎn)子序列,所以A為該左子樹的左結(jié)點(diǎn),C為右結(jié)點(diǎn)。現(xiàn)在可確定左子樹結(jié)構(gòu)如下:
④確定右子樹的結(jié)構(gòu)。同理,可知右子樹的結(jié)構(gòu)。
本二叉樹恢復(fù)的結(jié)果如圖所示。
根據(jù)后序遍歷的原則,該二叉樹后序遍歷的結(jié)果為ACBEGFD。
27.350350解析:在任意一棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。在根據(jù)完全二叉樹的定義,在一棵完全二叉樹中,最多有1個(gè)度為1的結(jié)點(diǎn)。因此,設(shè)一棵完全二叉樹具有n個(gè)結(jié)點(diǎn),若n為偶數(shù),則在該二叉樹中有n/2個(gè)葉子結(jié)點(diǎn)以及n/2-1個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn):若n為奇數(shù),則在該二叉樹中有[n/2]+1個(gè)葉子結(jié)點(diǎn)以及[n/2]個(gè)度為2的結(jié)點(diǎn),沒有度為1的結(jié)點(diǎn)。本題中,完全二叉樹共有700個(gè)結(jié)點(diǎn),700是偶數(shù),所以,在該二叉樹中有350個(gè)葉子結(jié)點(diǎn)以及349個(gè)度為2的結(jié)點(diǎn),還有1個(gè)是度為1的結(jié)點(diǎn)。所以,本題的正確答案為350。
28.5252解析:do...while語(yǔ)句的形式為:
do
{
語(yǔ)句;
}while(條件表達(dá)式)
當(dāng)條件表達(dá)式為非零時(shí),繼續(xù)執(zhí)行循環(huán)體,直到條件表達(dá)式為零時(shí)退出循環(huán)。
29.-1或-1.0或-1*sn-1或-1.0或-1\r\n*sn
30.0/i/i或1.0/(i*i)0/i/i或1.0/(i*i)解析:由題面中提供的計(jì)算pi的公式可知;在第i項(xiàng)其值為1/(i*i),考慮到運(yùn)算結(jié)果為浮點(diǎn)數(shù),故必須要將1轉(zhuǎn)化為浮點(diǎn)數(shù)或采用1.0/(i*i)的形式。故本題應(yīng)填1.0/(i*i)或其等效形式。
31.有效性測(cè)試有效性測(cè)試
32.8208,20解析:本題考查while循環(huán)和++運(yùn)算符的運(yùn)用。x=0符合條件x<15,則執(zhí)行y++,x+=++y后,y=1,x=0+2=2后y=2,符合條件繼續(xù)循環(huán),y=3,x=x+4=6后y=4,再循環(huán)y=5,x=x+6=6+6=12后,y=6,繼續(xù)循環(huán)y=7,x=x+8=12+8-20,此時(shí)y=8。
33.p=i;i>=pi<=Np=i;\r\ni>=p\r\ni<=N解析:本題主要考查了插入排序。由于程序中的數(shù)組在開始己經(jīng)按從小到大順序排序排好。在插入時(shí),首先要查到第一個(gè)大于恃插入數(shù)的數(shù)組下標(biāo),即當(dāng)待插入元素小于數(shù)組中當(dāng)前元素時(shí),記下數(shù)組的當(dāng)前下標(biāo)p,并結(jié)束循環(huán),故第一空目的是為了記下數(shù)組下標(biāo),應(yīng)填p=i;插入排序的第二部是將大于待插入元素的所有元素都向后移動(dòng)—位,故在循環(huán)時(shí),要從最后一個(gè)元素到第p個(gè)元素都要后移一位,因此第二空應(yīng)填>i=p。最后一個(gè)循環(huán)是將N+1個(gè)元素都輸出,故最后一空應(yīng)為i<=N。(注:本題有多種答案,以上僅提供一種)
34.33解析:在初始化一個(gè)含有未指定維度的數(shù)組時(shí),C語(yǔ)言總是在能完全容納初始化列表的基礎(chǔ)上盡可能小地設(shè)定該維度,來作為指定維度的標(biāo)準(zhǔn)。本題有9個(gè)初始值,若指定第一維度為2,則數(shù)組含有2*4=8個(gè)元素,容納不下,所以指定維度為3,3*4=12,足夠容納了。故應(yīng)該填3。
35.str+strlen(str)-1str+strlen(str)-1解析:檢查一個(gè)字符串是否是回文,函數(shù)huiwen中定義了兩個(gè)字符指針,pl=str指向字符串頭,p2應(yīng)該指向字符串尾,因此該處應(yīng)該填入:str+strlen(str)-1或&str[strlen(str)-1]。
36.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
37.3010130101解析:注意地址自增與變量自增的區(qū)別。
38.軟件開發(fā)
39.1616解析:在程序中首先將8賦值給變量a,然后在進(jìn)行復(fù)合賦值運(yùn)算。即a=a+a=8+8=16,所以該空格處應(yīng)該填16。
40.GDBHIEFCAGDBHIEFCA解析:后序遍歷二叉樹的順序?yàn)椋汉笮虮闅v左子樹→后序遍歷右子樹→訪問根結(jié)點(diǎn)。按照定義,后序遍歷序列是GDBHIEFCA。
41.D解析:在C語(yǔ)言中聲明為static型的變量,在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存的靜態(tài)存儲(chǔ)區(qū)中占據(jù)永久性的存儲(chǔ)單元。即使退出函數(shù)后,下次再進(jìn)入該函數(shù)時(shí),靜態(tài)局部變量仍使用原來的存儲(chǔ)單元。由于并不釋放這些存儲(chǔ)單元,因此這些存儲(chǔ)單元中的值得以保留;因而可以繼續(xù)使用存儲(chǔ)單元中原來的值。本題中函數(shù)f()中定義了一個(gè)static型變量i,故每調(diào)用一次函數(shù)f(),i的值加1,返回s的值等于i,在主函數(shù)中用了一個(gè)for循環(huán),該循環(huán)執(zhí)行了5次,每次都調(diào)用f()函數(shù),將其返回值累加到變量a中,故最后a的值為1+2+3+4+5=15。
42.C解析:詳細(xì)設(shè)計(jì)的任務(wù)是:在使用程序設(shè)計(jì)語(yǔ)言編程以前,對(duì)所采用算法的邏輯關(guān)系進(jìn)行分析,并給予清晰的表達(dá)。需求分析是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的希望。編程調(diào)試任務(wù)是診斷和改正程序中潛在的錯(cuò)誤。軟件功能分解只能發(fā)生在總體設(shè)計(jì)階段。
43.A解析:線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的結(jié)點(diǎn)空間是動(dòng)態(tài)生成的,它們?cè)趦?nèi)存中的地址可能是連續(xù)的,也可能是不連續(xù)的。
44.D解析:本題考查給二維數(shù)組元素賦值。給二維數(shù)組元素賦值時(shí)應(yīng)注意下列兩點(diǎn):①在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0。②二維數(shù)組第一維的大小由下列規(guī)則確定;當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大?。划?dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),第一維的大小等于所得商數(shù)加1。
45.C解析:求余運(yùn)算符'%'兩邊的運(yùn)算對(duì)象必須是整型,而選項(xiàng)B)和D)中'%'兩邊的運(yùn)算對(duì)象有浮點(diǎn)整數(shù)據(jù),所以選項(xiàng)B)和D)是錯(cuò)誤的表達(dá)式。在選項(xiàng)A)中賦值表達(dá)式的兩邊出現(xiàn)相同的變量x,也是錯(cuò)誤的。選項(xiàng)C)是一個(gè)逗號(hào)表達(dá)式,所以正確答案為C)。
46.D解析:用戶標(biāo)識(shí)符與關(guān)鍵字相同時(shí),程序在編譯過程中將給出出錯(cuò)信息。注意:選項(xiàng)D)應(yīng)該改為用戶標(biāo)識(shí)符與關(guān)鍵字相同,程序在編譯時(shí)將給出出錯(cuò)信息。注意:合法的標(biāo)識(shí)符第一個(gè)字符必須為字母或下劃線。
47.D解析:在C語(yǔ)言中,double類型數(shù)據(jù)占8個(gè)字節(jié)、long型占4個(gè)、unsignedint和int型一樣占2個(gè)、char型占1個(gè)。所以本題應(yīng)該選擇D。
48.B解析:本題中選項(xiàng)B是錯(cuò)誤的引用,*(a+i)+j只代表了a[i][j]的地址。
49.C解析:根據(jù)混合運(yùn)算規(guī)則,如果有一個(gè)數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運(yùn)算的結(jié)果最終也是double型。
50.A解析:C語(yǔ)言的常量分為整型常量、實(shí)型常量和字符型常量。本題中包含整型常量和實(shí)型常量。選項(xiàng)B)以0打頭,應(yīng)該屬于八進(jìn)制整數(shù),而八進(jìn)制整數(shù)只能用數(shù)字0~7表示,所以選項(xiàng)B)不合法;選項(xiàng)C)和D)從形式上看屬于實(shí)型常量,但對(duì)于指數(shù)形式的實(shí)型常量,e(或E)之前必須有數(shù)字,且e后面的指數(shù)必須為整數(shù),所以選項(xiàng)C)和D)都不合法;選項(xiàng)A)屬于實(shí)型常量中正確的十進(jìn)制小數(shù)形式。
51.C解析:本題考查逗號(hào)表達(dá)式。本題的返回值是a+7,a=2*3=6,a+7=13(注意:本題問的是a的值,而不是程序的輸出值)。
52.B解析:指針中存放的是變量的地址,指針也可以進(jìn)行增減運(yùn)算,這時(shí)指針移動(dòng)的最小單位是一個(gè)存儲(chǔ)單元,而不是一個(gè)字節(jié)。所以題中將p+6指的是將指針向后移動(dòng)了6個(gè)存儲(chǔ)單元,指向b[6],存放的是b[6]的地址。
53.D解析:在C語(yǔ)言中語(yǔ)句結(jié)束時(shí)應(yīng)該以分號(hào)結(jié)尾,程序中的第1個(gè)printf('###')輸出語(yǔ)句后面少了一個(gè)分號(hào)(;),因此執(zhí)行程序時(shí)會(huì)出錯(cuò)。
54.D解析:第一個(gè)while循環(huán)是字符串a(chǎn)的長(zhǎng)度,第二個(gè)while是將字符串b接在a的后面,num在a串長(zhǎng)度上繼續(xù)累計(jì),為兩個(gè)字符串長(zhǎng)度之和。
55.D解析:main函數(shù)的參數(shù)通常有兩個(gè),前者為整型,后者為字符型指針數(shù)組。參數(shù)的名字可以是任意合法的標(biāo)識(shí)符。而且,形如**av與*av[]等價(jià),所以選項(xiàng)A、B、C均正確,選項(xiàng)D是錯(cuò)誤的。
56.CC)【解析】數(shù)據(jù)庫(kù)一旦發(fā)生故障,需要及時(shí)進(jìn)行故障恢復(fù),并由數(shù)據(jù)庫(kù)管理員負(fù)責(zé)執(zhí)行故障恢復(fù)。
57.D解析:帶參數(shù)的宏定義如下:#define宏名(參數(shù))字符串。本題中,宏定義的作用是指定用標(biāo)識(shí)符PI來代替“3.1415926”這個(gè)字符串,但宏定義不是C語(yǔ)句,不必在行末加分號(hào)。
58.A解析:本題考查默認(rèn)函數(shù)的函數(shù)值的類型。在函數(shù)調(diào)用時(shí),盡管y的類型是float,x的類型是double,但是因?yàn)楹瘮?shù)定義時(shí)省去類型說明,系統(tǒng)默認(rèn)函數(shù)值的類型為int型,所以計(jì)算后的y的類型是int型。
59.C解析:結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占內(nèi)存長(zhǎng)度之和,而共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。本題結(jié)構(gòu)體變量a中成員c為整型占2個(gè)字節(jié),共用體變量u最大長(zhǎng)度為4個(gè)字節(jié),故選C。
60.C解析:本程序中的函數(shù)sort(inta[],intn)實(shí)現(xiàn)的功能是將數(shù)組a中的前n個(gè)數(shù)進(jìn)行從大到小排序。sort(&a[1],7)是將數(shù)組中從a[1]到a[7]這7個(gè)數(shù)進(jìn)行從大到小排序,其他數(shù)不變。
61.A考查用指針來引用字符數(shù)組元素的方法。指針pl+k相當(dāng)于指針pl向后移動(dòng)了k個(gè)字符的位置,指針p2同理。
62.D本題可以寫成:a+a+(a-(a*a)),所以*的優(yōu)先級(jí)最高,其次是-=的,+的優(yōu)先級(jí)最低,因此先求a-=a*a=9,表達(dá)式變?yōu)閍+a+-=9,a即a=a-9=-6,再次變?yōu)閍+(-6)=-12,故選擇D選項(xiàng)。
63.C
\n在C語(yǔ)言中各種數(shù)據(jù)類型在內(nèi)存中所占的字節(jié)數(shù)與機(jī)器的位數(shù)有關(guān),16位機(jī)中(也就是在標(biāo)準(zhǔn)c中),若int類型數(shù)據(jù)占2個(gè)字節(jié),則float類型數(shù)據(jù)占4個(gè)字節(jié),double類型數(shù)據(jù)占8個(gè)字節(jié)。
\n
64.C
65.D\r\n
66.B解析:‘0’代表ASCⅡ碼為48的字符,‘\\0’代表ASCⅡ碼為0的字符,‘1’代表ASCⅡ碼為49的字符,所以只有選項(xiàng)B的表達(dá)式的值為1。
67.A軟件需求規(guī)格說明書是需求分析階段最后的成果,它是作為需求分析的一部分而制定
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度證件外借風(fēng)險(xiǎn)評(píng)估與管理合同
- 洗衣店裝修簡(jiǎn)易協(xié)議
- 二零二五年度商場(chǎng)家居用品柜臺(tái)租賃管理合同
- 2025年度建筑工程施工環(huán)境保護(hù)責(zé)任協(xié)議書
- 2025年度供應(yīng)鏈物流保密協(xié)議合同
- 文化產(chǎn)業(yè)借款融資居間合同
- 2025年度農(nóng)村土地承包經(jīng)營(yíng)權(quán)流轉(zhuǎn)及農(nóng)業(yè)產(chǎn)業(yè)結(jié)構(gòu)調(diào)整合作合同
- 2025年度企業(yè)兼職市場(chǎng)營(yíng)銷人員勞務(wù)合同模板
- 2025年度房產(chǎn)贈(zèng)與資產(chǎn)重組合同
- 2025年度人工智能系統(tǒng)維護(hù)與數(shù)據(jù)安全合同
- 2024屆南通二模(又蘇北七市二模)數(shù)學(xué)試題
- 菜點(diǎn)與酒水知識(shí)課件
- 新修訂《中小學(xué)教師職業(yè)道德規(guī)范》解讀
- 品質(zhì)月工作總結(jié)
- 江西省南昌市2024屆高三一模語(yǔ)文試題及答案解析
- 第一章村集體經(jīng)濟(jì)組織會(huì)計(jì)制度講解
- 2024年濟(jì)南護(hù)理職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- -藝術(shù)博覽會(huì)與藝術(shù)品拍賣
- 2024年貴州水投水務(wù)集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- (完整版)ERP流程及操作手冊(cè)
- 接上童氣:小學(xué)《道德與法治》統(tǒng)編教材研究
評(píng)論
0/150
提交評(píng)論