版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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.設(shè)有以下定義:inta=0;doubleb=1.25;charc='A';#defined2則下面語(yǔ)句中錯(cuò)誤的是()。
A.a++;B.b++;C.c++;D.d++;
2.if語(yǔ)句基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)于“表達(dá)式”值的敘述中正確的是()。
A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值
3.
4.在inta=3,int*p=&a;中,*p的值是()
A.變量a的地址值B.無(wú)意義C.變量p的地址值D.3
5.有以下函數(shù)定義:
voidfun(intn,doublex){……}
若以下選項(xiàng)中的變量都已正確定義并賦值,則對(duì)函數(shù)fun的正確調(diào)用語(yǔ)句是A.fun(inty,doublem);
B.k=fun(10,12.5);
C.fun(x,n);
D.voidfun(n,x);
6.設(shè)有定義:“char*c;”,以下選項(xiàng)中能夠使字符型指針c正確指向一個(gè)字符串的()。
A.charstr[]="string";c=str;
B.scanf(%s,c):
C.c=getchar();
D.*c="strin9";
7.
8.在有序表(12,24,36,48,60,72,84)中二分查找關(guān)鍵字72時(shí)所需進(jìn)行的關(guān)鍵字比較次數(shù)是()
A.1B.2C.3D.4
9.在一個(gè)C語(yǔ)言源文件中定義的全局變量,其作用域?yàn)椋ǎ?/p>
A.由具體定義位置和extern說(shuō)明來(lái)決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍
10.以下可以正確且安全地用作用戶(hù)標(biāo)識(shí)符的一組選項(xiàng)是()。
A._32int,long64B.Switch,unsignedC.Abc,getchD.3break,enter
11.將兩個(gè)各有n個(gè)元素的有序表歸并成一個(gè)有序表,最少的比較次數(shù)是()。
A.nB.2n-1C.2nD.n-1
12.若有下列說(shuō)明和語(yǔ)句,則對(duì)結(jié)構(gòu)體變量st中成員i的引用方式不正確的是()。Structstu{inti;intname;}st,*p;p=&st;
A.st.iB.*p.iC.(*p).iD.p->i
13.下列程序的輸出結(jié)果是______。main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",s);}
A.69825B.63825C.6385D.693825
14.以下能正確定義一維數(shù)組的選項(xiàng)是()。
A.inta[5]={0,1,2,3,4,5};
B.chara[]={0,1,2,3,4,5};
C.chara={'A','B','C'};
D.inta[5]="0123";
15.用鄰接矩陣A表示有向圖G的存儲(chǔ)結(jié)構(gòu),則有向圖G中頂點(diǎn)i的出度為()。
A.第i行非0元素的個(gè)數(shù)之和B.第i列非0元素的個(gè)數(shù)之和C.第i行0元素的個(gè)數(shù)之和D.第i列0元素的個(gè)數(shù)之和
16.甲乙兩個(gè)聰明人上街,撿到一張10塊錢(qián)的購(gòu)物卡,兩人就想出一個(gè)辦法來(lái)分配這張卡。兩個(gè)分別將自己出的價(jià)格寫(xiě)在紙上,然后看誰(shuí)出的價(jià)高就給誰(shuí),并且那個(gè)出價(jià)高的人要把出的錢(qián)給對(duì)方?,F(xiàn)在甲有6塊錢(qián),乙有8塊錢(qián),甲乙雙方都知道對(duì)方當(dāng)前有多少錢(qián)并且都希望自己收益高于對(duì)方。問(wèn)最后誰(shuí)獲得的錢(qián)多()
A.甲多B.乙多C.一樣多D.有可能出現(xiàn)有人賠錢(qián)的情況
17.下面哪個(gè)不是用來(lái)解決哈希表沖突的開(kāi)放地址法()
A.線(xiàn)性探測(cè)法B.線(xiàn)性補(bǔ)償探測(cè)法C.拉鏈探測(cè)法D.隨機(jī)探測(cè)法
18.若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
19.以下敘述錯(cuò)誤的是()。
A.算術(shù)運(yùn)算符中不包含“=”運(yùn)算符
B.模運(yùn)算符“%”是c語(yǔ)言基本的算術(shù)運(yùn)算符
C.算術(shù)運(yùn)算符中只有“*”、“/”優(yōu)先級(jí)高于關(guān)系運(yùn)算符
D.自加和自減運(yùn)算符只能用于變量,而不能用于常量或表達(dá)式
20.有以下程序:
#include<stdio.h>
voidfunc(intn)
{staticintnum=1);
num=num+n;printf("%d",num);
}
main()
{funo(3);func(4);printf("n");}
程序運(yùn)行后的輸出結(jié)果是()。
A.48B.34C.35D.45
二、2.填空題(20題)21.設(shè)有以下定義
stnctss
{intinfo;sEruc5ss*link;}x.y,z;
且已建立如下圖所示鏈表結(jié)構(gòu):
請(qǐng)寫(xiě)出刪除結(jié)點(diǎn)y的賦值語(yǔ)句______。
22.數(shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)中用于提供信息表示和操作手段的結(jié)構(gòu)形式。實(shí)際數(shù)據(jù)庫(kù)系統(tǒng)中所支持的數(shù)據(jù)模型主要有層次模型、網(wǎng)狀模型和【】3種。
23.x、y、x均為int型變量,描述“x、y和z中至少有兩個(gè)為正數(shù)”的表達(dá)式是______。
24.對(duì)下列二叉樹(shù)進(jìn)行中序遍歷的結(jié)果為【】。
25.函數(shù)fun的功能是使一個(gè)字符串按逆序存放。請(qǐng)?zhí)羁铡?/p>
voidfun(charstr[])
{charm;inti,j;
for(i=0,j=strlen(str);i<【】;i++,j--)
{m=str[i];
str[i]=【】;
str[j-1]=m;
}
printf("%s\n",str);
}
26.已知字符'A'的ASCII碼值為65,以下語(yǔ)句的輸出結(jié)果是【】。
charch='B';
printf("%c%d\n",ch,ch);
27.常用的黑箱測(cè)試有等價(jià)分類(lèi)法、【】、因果圖法和錯(cuò)誤推測(cè)法4種。
28.語(yǔ)句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請(qǐng)寫(xiě)出一條同一功能的賦值語(yǔ)句(不得與列舉的相同)【】。
29.有以下程序
main()
{intn=0,m=1,x=2;
if(!n)x-=1;
if(m)x-=2;
if(x)x-=3;
printf("%d\n",x);
}
執(zhí)行后輸出結(jié)果是【】。
30.以下程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{inta[5]={2,4,6,8,10},*p;
p=a;p++;
printf("%d",*p);
}
31.設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for語(yǔ)句后,k的值為【】。
for(i=0,j=10;i<=j;i++,j--)k=i+j;
32.下面程序的運(yùn)行結(jié)果是______。
typedefunionstudent
{
charname[10];
longsno;
charsex;
floatscore[4];
}STU;
main()
{
STUa[5];
printf("%d\n",sizeof(A));
}
33.以下函數(shù)的功能是計(jì)算s=1+1/21+1/3!+…+1/n!,請(qǐng)?zhí)羁铡?/p>
doublefun(intn)
{doubles=0.0,fac=1.0;
inti,k=1;
for(i=1;i<=n;i++)
{【】;
fac=fac/k;
s=s+fac;
}
}
34.該程序運(yùn)行的結(jié)果是【】。
#include<stdio.h>
main()
{unionEXANPLE
{struct
{
intx;
inty;
}in;
inta;
intb;
}e;
e.a=1;
e.b=2;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf("\n%d,%d",e.in.x,e.in.y);
printf("%d,%d\n",e.a,e.b);
}
35.以下程序的功能是根據(jù)輸入的"y"("Y")與"n"("N"),在屏幕上分別顯示出"ThisisYES."與"ThisisNO."??瞻滋幮枰钊氲膬?nèi)容是
#include<stdio.h>
voidYesNo(charch)
{switch(ch)
{case′y′:
case′Y′:printf("\nThisisYES.\n");
case′n′:
case′N(xiāo)′:printf("\nThisisNO.\n");}
main()
{charch;
printf("\nEnterachary,Yorn,N:");
ch=【】;
printf("ch;%c",ch);
YesNo(ch);}
36.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
37.下面程序是計(jì)算100以?xún)?nèi)能被4整除且個(gè)位數(shù)為4的所有整數(shù),請(qǐng)?zhí)羁铡?/p>
main()
{intm,n;
for(m=0;【】;m++)
{n=m*10+4;
If(【】)continue;
printf("%d\n",n);}}
38.下列程序執(zhí)行后輸出的結(jié)果是【】。
main()
{intarr[10],i,k=0);
fot(i=0;i<10;i++)art[i]=i;
for(i=1:i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
}
39.軟件工程研究的內(nèi)容主要包括:軟件開(kāi)發(fā)技術(shù)和【】。
40.數(shù)據(jù)結(jié)構(gòu)分為線(xiàn)性結(jié)構(gòu)和非線(xiàn)性結(jié)構(gòu),帶鏈的隊(duì)列屬于[]。
三、1.選擇題(20題)41.在長(zhǎng)度為64的有序線(xiàn)性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為A.63B.64C.6D.7
42.以下程序輸出的結(jié)果是_______。main(){inta=65535;printf("%d%u",a,A);}
A.-1-1B.6553565535C.-165535D.65535-1
43.已知i、j、k為int型變量,若要從鍵盤(pán)輸入2、3、4<CR>,使I、j、k的值分別為2、3、4,
A.scanf("%3d,%3d,%3d",&i,&j,&k);
B.scanf("%d,%d,%d",&i,&j,&k);
C.scanf("%d%d%d",&i,&j,&k);
D.seanf("i=%dj=%d,k=%d",&i,&j,&k);
44.程序段如下intk=-20;while(k=0)k=k+1;則以下說(shuō)法中正確的是()
A.while循環(huán)執(zhí)行20次B.循環(huán)是無(wú)限循環(huán)C.循環(huán)體語(yǔ)句一次也不執(zhí)行D.循環(huán)體語(yǔ)句執(zhí)行一次
45.在待排序的元素序列基本有序的前提下,效率最高的排序方法是()。A.A.冒泡排序B.選擇排序C.快速排序D.歸并排序
46.以下敘述中正確的是_______。
A.預(yù)處理是指完成宏替換和文件包含中指定文件的調(diào)用
B.預(yù)處理也是C語(yǔ)句
C.C源程序中,凡是行首以#標(biāo)識(shí)的控制行都是預(yù)處理指令
D.預(yù)處理就是完成C編譯程序?qū)源程序的第一遍掃描,為編譯的詞法分析和語(yǔ)法分析做準(zhǔn)備
47.若已定義:inta=25,b=14,c=19;執(zhí)行以下三目運(yùn)算符(?:)所構(gòu)成的語(yǔ)句:a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d,c=%d\n",a,b,c);輸出結(jié)果是()。
A.***a=25,b=13,c=19
B.***a=26,b=14,c=19
C.###a=25,b=13,c=19
D.###a=26,b=14,c=19
48.為了避免嵌套的if-else的二義性,C語(yǔ)言規(guī)定:else與______配對(duì)。
A.縮排位置相同的ifB.其之前最近的ifC.其之后最近的ifD.同一行上的if
49.有以下程序#defineN20fun(inta[],intn,intm){inti,j;for(i=m;i>=n;i--)a[i+1]=a[i];}main(){inti,a[N]={1,2,3,4,5,6,7,8,9,10};fun(a,2,9);for(i=0;i<5;i++)printf("%d",a[i]);}程序運(yùn)行后的輸出結(jié)果是——。
A.10234B.12344C.12334D.12234
50.以下4個(gè)選項(xiàng)中,不能看成一條語(yǔ)句的是
A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;
51.有以下程序:#include<stdio.h>main(){inti,s=0;for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是()。
A.正整數(shù)1~9的累加和B.正整數(shù)1~10的累加和C.正整數(shù)1~9中奇數(shù)之和D.正整數(shù)1~10中偶數(shù)之和
52.算法的空間復(fù)雜度是指()。
A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.執(zhí)行算法需要的內(nèi)存空間
53.有以下程序:main(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}printf("x=%d\n",x);}程序執(zhí)行后輸出結(jié)果是()。
A.x=4B.x=8C.x=6D.x=12
54.在數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言中,負(fù)責(zé)數(shù)據(jù)的查詢(xún)及增、刪、改等操作的是
A.數(shù)據(jù)定義語(yǔ)言B.數(shù)據(jù)轉(zhuǎn)換語(yǔ)言C.數(shù)據(jù)操縱語(yǔ)言D.數(shù)據(jù)控制語(yǔ)言
55.下列數(shù)據(jù)結(jié)構(gòu)中的______是線(xiàn)性結(jié)構(gòu)。
A.隊(duì)列B.有向圖C.樹(shù)D.哈夫曼樹(shù)
56.若變量已正確定義并賦值,以下符合C++語(yǔ)言語(yǔ)法的表達(dá)式是()。
A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b
57.有以下程序intf(intn){if(n==l)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=i;i<3;i++)j+=f(i);printf{"%d\n",j);}程序運(yùn)行后的輸出結(jié)果是
A.4B.3C.2D.1
58.已定義ch為字符型變量,以下賦值語(yǔ)句中錯(cuò)誤的是
A.ch='\';B.ch=62+3;C.ch=NULL;D.ch='\xaa';
59.對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下列描述正確的是()。
A.程序應(yīng)該簡(jiǎn)單、清晰、可讀性好B.符號(hào)名的命名只需要符合語(yǔ)法C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無(wú)
60.請(qǐng)讀程序:#include<stdio.h>main(){floax,y;scanf("%f",&x);if(x<0.0)y=0.0;elseif((x<5.0)&&(x!=2.0))y=1.0/(x+2.0);elseif(x<10.0)y=1.0/x;elsey=10.0;printf("%f\n",y);}若運(yùn)行時(shí)從鍵盤(pán)上輸入2.0<CR>(<CR>表示回車(chē)),則該程序的輸出結(jié)果是()
A.0B.0.25C.0.5D.1
四、選擇題(20題)61.
62.以下選項(xiàng)中,合法的一組c語(yǔ)言數(shù)值常量是()。
A.12.0Xa234.5e0
B.028.5e…30xf
C.1774el.50abe
D.0x8A10,0003.e5
63.
64.有下列程序
main()
{
inta[5]={2,4,6,8,10},*p,**k;
p=a;
k=&p;
printf("%d",*(p++));
printf("%d\n",**k);
}
運(yùn)行該程序,其輸出結(jié)果是
A.4B.22
C.24D.46
65.
66.以下程序運(yùn)行后的輸出結(jié)果是()。
A.EFGHIJABCD
B.bcdefghij
C.abdefCghij
D.不確定的值
67.以下程序段完全正確的是()。
68.下列敘述中錯(cuò)誤的是()。
A.一個(gè)C語(yǔ)言程序只能實(shí)現(xiàn)一種算法
B.c程序可以由多個(gè)程序文件組成
C.C程序可以由一個(gè)或多個(gè)函數(shù)組成
D.一個(gè)c函數(shù)可以單獨(dú)作為一個(gè)C程序文件存在
69.
70.
71.若有定義語(yǔ)句:doublex,y,*px,*PY;執(zhí)行了laX=&x;lay=&y;之后,正確的輸入語(yǔ)句是()。A.scanf(”%If%le”,px,lay);
B.seanf(”%f%f¨&x,y);
C.seanf(”%f%f",x,y);
D.Scanf(”%If%If"·,x,y):
72.設(shè)有如圖所示二叉樹(shù),對(duì)此二叉樹(shù)后序遍歷的結(jié)果為()。
A.ZBTYCPXAB.ATBZXCYPC.TZBACYXPD.ATBZXCPY
73.
74.一棵二叉樹(shù)共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為l的結(jié)點(diǎn)數(shù)為()。
A.16B.10C.6D.4
75.下列C語(yǔ)言用戶(hù)標(biāo)識(shí)符中,不屬于合法標(biāo)識(shí)符的是
A.a(chǎn)d_intB.bb_7C._dd7D.int
76.
77.
下列程序的輸出結(jié)果是()。
voidfun(int*X,inty)
{printf("%d%d",*x,*y);*x=3;*y=1;}
main
{intx=1,y=2;
fun(&y,&x);
printf("%d%d",x,y);
}
A.2143B.1212C.1234D.2112
78.下列各數(shù)據(jù)類(lèi)型不屬于構(gòu)造類(lèi)型的是()。
A.枚舉型B.共用型C.結(jié)構(gòu)型D.數(shù)組型
79.
80.標(biāo)準(zhǔn)庫(kù)函數(shù)fgets(s,n,file)的功能是()。
A.從文件file中讀取長(zhǎng)度為n的字符串存入字符數(shù)s由
B.從文件file中讀取長(zhǎng)度不超過(guò)n-1個(gè)字符的字符放到字符數(shù)組S中
C.從文件file中讀到n個(gè)字符串存入字符數(shù)組s中
D.從文件file中讀取長(zhǎng)度為n-1個(gè)字符的字符串存字符數(shù)組S中
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:從字符串str中,刪除所有大寫(xiě)字母F。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdio.h>voidproc(char*str){inti,j;//****found****for(i=j=0;str[i]一0;i++)if(str[i]!=F)//****found****str[i]=str[i];str[j]=\0;}voidmain{charstr[80];printf("\nEnterastring:");gets(str);printf("Theoriginalstring:");puts(str);proc(str);printf("Thestringafterdeleted:");puts(str);printf("\n\n");}
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),該函數(shù)的功能是:實(shí)現(xiàn)B=A+A',即把矩陣A加上A的轉(zhuǎn)置,存放在矩陣B中。計(jì)算結(jié)果在main()函數(shù)中輸出。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。
試題程序:
參考答案
1.D解析:本題考核的知識(shí)點(diǎn)是在自加運(yùn)算符的運(yùn)算對(duì)象。自加運(yùn)算對(duì)象可以是整型變量也可以是實(shí)型變量,但不能是表達(dá)式和常量。本題中,#defined2定義了d為常數(shù)2,不能在對(duì)d進(jìn)行自加運(yùn)算.故選項(xiàng)D是個(gè)不正確的語(yǔ)句,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
2.D考查if循環(huán)語(yǔ)句。if(表達(dá)式),其中表達(dá)式是一個(gè)條件,條件中可以是任意的合法的數(shù)值。
3.B
4.D
5.C解析:選項(xiàng)A中應(yīng)將y和m前面的函數(shù)的類(lèi)型說(shuō)明符去掉,故選項(xiàng)A不正確;選項(xiàng)B中函數(shù)傳了2個(gè)參數(shù),其中一個(gè)為整型一個(gè)為浮點(diǎn)型,而fun()函數(shù)在定義時(shí)聲明的2個(gè)參數(shù),一個(gè)為整型一個(gè)為雙精度型,其參數(shù)類(lèi)型不一致,故選項(xiàng)B不正確;選項(xiàng)D在調(diào)用函數(shù)時(shí),不應(yīng)該再聲明其返回類(lèi)型,故迭項(xiàng)D不正確.所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
6.A選項(xiàng)B是從鍵盤(pán)上輸入字符串,選項(xiàng)C是接收字符,選項(xiàng)D不正確。
7.C
8.B
9.A全局變量的作用域是從聲明處到文件的結(jié)束。故本題答案為A選項(xiàng)。
10.AC語(yǔ)言中,合法的標(biāo)識(shí)符由字母、數(shù)字和下劃線(xiàn)組成,并且第1個(gè)字符必須是字母或下劃線(xiàn)。選項(xiàng)D中的“3break”錯(cuò)誤;用戶(hù)標(biāo)識(shí)符不能是C語(yǔ)言中的關(guān)鍵字或函數(shù),選項(xiàng)B中的“unsigned”是關(guān)鍵字,不是合法的用戶(hù)標(biāo)識(shí)符,“Switch”是合法的用戶(hù)標(biāo)識(shí)符;選項(xiàng)C中的“getch”是庫(kù)函數(shù)名,不是合法的用戶(hù)標(biāo)識(shí)符,而C語(yǔ)言區(qū)分字母大小寫(xiě),“Abc”是合法的用戶(hù)標(biāo)識(shí)符;選項(xiàng)A中的兩個(gè)標(biāo)識(shí)符都是合法的用戶(hù)標(biāo)識(shí)符。故本題答案為A選項(xiàng)。
11.B
12.B解析:本題主要考查結(jié)構(gòu)指針:p=&st,訪(fǎng)問(wèn)結(jié)構(gòu)體的成員,可以通過(guò)結(jié)構(gòu)變量訪(fǎng)問(wèn),即st.i,也可以用等價(jià)的指針形式,即(*p).i和p->i。
13.C
14.B解析:選項(xiàng)A)定義的是長(zhǎng)度為5的數(shù)組元素,但初值有6個(gè)元素,所以錯(cuò)誤;選項(xiàng)C)不符合數(shù)組定義形式,數(shù)組名后應(yīng)加上“[];選項(xiàng)D)的類(lèi)型說(shuō)明符錯(cuò)誤,應(yīng)改為char;選項(xiàng)B)中的0,1,2,3,4,5分別表示對(duì)應(yīng)字符的ASCII碼,所以正確。
15.A
16.C
17.C
18.AB選項(xiàng)中運(yùn)算符“%”的運(yùn)算對(duì)象為整數(shù)。C選項(xiàng)中不能將變量賦給表達(dá)式“x+n”。D選項(xiàng)中不能將表達(dá)式“4+1”賦給常量5。故本題答案為A選項(xiàng)。
19.C
20.A\n第一調(diào)用func函數(shù)時(shí)輸出4,第二次調(diào)用func函數(shù)時(shí)num的值并不會(huì)釋放,仍然是上次修改后的值4,第二次調(diào)用結(jié)果為8,所以輸出結(jié)果是48。
\n
21.x.link=&z;或x.link=y.link;或x.1ink=x.1ink->link;或x.1ink=*(x.link).link;x.link=&z;或x.link=y.link;或x.1ink=x.1ink->link;或x.1ink=*(x.link).link;解析:本題考核的知識(shí)點(diǎn)是鏈表中結(jié)點(diǎn)的刪除。要?jiǎng)h除結(jié)點(diǎn)y,只需要讓結(jié)點(diǎn)x的指針域指向y結(jié)點(diǎn)的指針域所指向的后續(xù)結(jié)點(diǎn)就可,因此只需把結(jié)點(diǎn)2的地址賦給x的指針域就可以了即讓結(jié)點(diǎn)x的指針域指向結(jié)點(diǎn)2。而結(jié)點(diǎn)z得地址保存在節(jié)點(diǎn)y的指針域中,因此只需把節(jié)點(diǎn)y的指針城賦值給節(jié)點(diǎn)x的指針域即可。
22.關(guān)系模型關(guān)系模型
23.((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))解析:題目要求“x、y和z中至少有兩個(gè)為正數(shù)”,即x、y和x這3個(gè)數(shù)中必須有兩個(gè)是正數(shù),且這3個(gè)數(shù)中的哪兩個(gè)數(shù)都有可能是正數(shù),所以它們之間是或的關(guān)系。
24.ACBDFEHGPACBDFEHGP解析:中序遍歷方法的遞歸定義;當(dāng)二叉樹(shù)的根不為空時(shí),依次執(zhí)行如下3個(gè)操作:①按中序遍歷左子樹(shù)。②訪(fǎng)問(wèn)根結(jié)點(diǎn)。③技中序遍歷右子樹(shù)。根據(jù)遍歷規(guī)則來(lái)遍歷本題中的二叉樹(shù)。首先遍歷F的左子樹(shù),同樣按中序遍歷。先遍歷C的左子樹(shù),即結(jié)點(diǎn)A,然后訪(fǎng)問(wèn)C,接著訪(fǎng)問(wèn)C的右子樹(shù),同樣按中序遍歷C的右子樹(shù),先訪(fǎng)問(wèn)結(jié)點(diǎn)B,然后訪(fǎng)問(wèn)結(jié)點(diǎn)D,因?yàn)榻Y(jié)點(diǎn)D沒(méi)有右子樹(shù),因此遍歷完C的右子樹(shù),以上就遍歷完根結(jié)點(diǎn)F的左子樹(shù)。然后訪(fǎng)問(wèn)根結(jié)點(diǎn)F,接下來(lái)遍歷F的右子樹(shù),同樣按中序遍歷。首先訪(fǎng)問(wèn)E的左子樹(shù),E的左子樹(shù)為空,則訪(fǎng)問(wèn)結(jié)點(diǎn)E,然后訪(fǎng)問(wèn)結(jié)點(diǎn)E的右子樹(shù),同樣按中序遍歷。首先訪(fǎng)問(wèn)G的左子樹(shù),即H,然后訪(fǎng)問(wèn)結(jié)點(diǎn)G,最后訪(fǎng)問(wèn)G的右子樹(shù)P。以上就把整個(gè)二叉樹(shù)遍歷一遍,中序遍歷的結(jié)果為ACBDFEHGP。因此,劃線(xiàn)處應(yīng)填入“ACBDFEHGP”。
25.strlen(str)/2str[j-1]
26.B66B66解析:字符B的ASCII碼值為66,因此,按%c形式輸出B,按%d形式輸出66,輸出結(jié)果為:B66。
27.邊值分析法邊值分析法解析:本題考查了黑箱測(cè)試的方法。黑箱測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例。常用的黑箱測(cè)試有等價(jià)分類(lèi)法、邊值分析法、因果圖法和錯(cuò)誤推測(cè)法。
28.x+=1;
29.-4-4解析:if…else構(gòu)造了一種二路分支選擇,是一種最基本的選擇結(jié)構(gòu),if(條件)S1(if分結(jié)構(gòu))elseS2(else分結(jié)構(gòu)),它的工作過(guò)程是:先對(duì)條件表達(dá)式進(jìn)行判斷,若為真(成立,值為非零),就執(zhí)行if分結(jié)構(gòu)(S1);否則(不成立,值為0),就執(zhí)行else分結(jié)構(gòu)(S2)。本題中,n=0,可以判斷(!n)為真,執(zhí)行x=x-1=2-1=1;m=1,可以判斷(m)為真,執(zhí)行x=x-2=1-2=-1進(jìn)而可以判斷(x)為真,執(zhí)行x=x-3=-1-3=-4。
30.指針P指向數(shù)組a的首地址,執(zhí)行語(yǔ)句p++;后p指向數(shù)組a的第2個(gè)元素的地址,即a[1]的地址,因此*p=a[1]=4。\r\n\r\n
31.1010解析:該for語(yǔ)句以i為0,j為10作為初始值,循環(huán)條件是i<=j,每次循環(huán)后i增1、j減1,循環(huán)體是將i與j的和賦給k,這樣變量k將保存的是最后一次賦給它的值。一次循環(huán)后i為1、j為9,二次循環(huán)后i為2、j為8,……,五次循環(huán)后i為5、j為5,第六次循環(huán),將i與j的和10賦給k后,i為6、j為4,循環(huán)結(jié)束,k值為10。
32.8080解析:本題考查的知識(shí)點(diǎn)是共用體數(shù)組變量所占內(nèi)存的長(zhǎng)度。數(shù)組a是共用體變量,共用體類(lèi)型變量所占的內(nèi)存長(zhǎng)度為最大成員的長(zhǎng)度,即單精度數(shù)組的長(zhǎng)度,為4×4=16,因此,數(shù)組a所占的內(nèi)存長(zhǎng)度為5×16=80,所以最后輸出的s的值為80。
33.k=k*ik=k*i解析:本題中遺過(guò)for循環(huán)求s表達(dá)式中每一項(xiàng)的和,表達(dá)式“fac=fac/k;”求的是每—項(xiàng)的值,所以k的值應(yīng)為n!,在求n!的時(shí)候,可以用上次循環(huán)階乘的值乘i,就可以直接得此次n!,故本題填k=k*i。
34.4844
35.getchargetchar解析:考查了字符可以作為整型變量來(lái)對(duì)待,參與操作。題中要求根據(jù)輸入的字符調(diào)用函數(shù)YesNo來(lái)判斷輸入的字符是y(Y)還是n(N),字符的輸入可用字符輸入函數(shù)getchar。函數(shù)YesNo用來(lái)判斷一個(gè)字符是y(Y)還是n(N),主要用了一個(gè)switch多分支結(jié)構(gòu)來(lái)比較輸入字符與字符\ue008'y',\ue009'Y'、,'n','N'是否相等來(lái)實(shí)現(xiàn)的。
36.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語(yǔ)句的值應(yīng)當(dāng)為false,即為0。
37.m<10n%4!=0
38.1212解析:本題的第一個(gè)for循環(huán)用于給數(shù)組arr賦初值,第二個(gè)for循環(huán)用于求和運(yùn)算。由于第二個(gè)for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。
39.軟件工程管理軟件工程管理解析:軟件工程足指,采用工程的概念、原理、技術(shù)和方法指導(dǎo)軟件的開(kāi)發(fā)與維護(hù):軟件工程學(xué)的主要研究對(duì)象包括軟件開(kāi)發(fā)與維護(hù)的技術(shù)、方法、工具和管理等方面。即軟件工程研究的內(nèi)容主要包括:軟件開(kāi)發(fā)技術(shù)和軟件工程管理。
40.線(xiàn)性結(jié)構(gòu)線(xiàn)性結(jié)構(gòu)解析:與棧類(lèi)似,隊(duì)列也是線(xiàn)性表,也町以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
41.B解析:在長(zhǎng)度為64的有序線(xiàn)性表中,其中的64個(gè)數(shù)據(jù)元素是按照從大到小或從小到大的順序排列有序的。在這樣的線(xiàn)性表中進(jìn)行順序查找,最壞的情況就是查找的數(shù)據(jù)元素不性表中或位于線(xiàn)性表的最后。按照線(xiàn)性表的順序查找算法,首先用被查找的數(shù)據(jù)和線(xiàn)性表的第一個(gè)數(shù)據(jù)元素進(jìn)行比較,若相等,則查找成功,否則,繼續(xù)進(jìn)行比較,即和線(xiàn)性表的第二個(gè)數(shù)據(jù)元素進(jìn)行比較。同樣,若相等,則查找成功,否則,繼續(xù)進(jìn)行比較。依次類(lèi)推,直到性表中查找到該數(shù)據(jù)或查找到線(xiàn)性表的最后一個(gè)元素,算法才結(jié)束。因此,在長(zhǎng)度為64的有序線(xiàn)性表十進(jìn)行順序查找,最壞的情況下需要比較64次。因此,本題的正確答案為選項(xiàng)B。
42.C解析:printf函數(shù)中不同類(lèi)型的數(shù)據(jù)用不同的格式字符,其中%d是按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出十進(jìn)制整數(shù)。變量a=65535以%d格式輸出時(shí)溢出輸出值為該數(shù)的補(bǔ)碼值,即-1:%u用來(lái)輸出unsigned型數(shù)據(jù),無(wú)符號(hào)整型變量的數(shù)值范圍為0~65535,所以變量a=65535以%u格式輸出的值為65535。
43.B解析:scanf函數(shù)的調(diào)用形式是:scanf(格式字符串;輸入項(xiàng)地址表)。其中,“格式字符串”是要輸入的變量的格式符;“輸入項(xiàng)地址表”是要輸入的變量的地址。若在格式符中插入了其他字符,則在輸入時(shí)要求按一一對(duì)應(yīng)的位置原樣輸入這些字符,其中的逗號(hào)也必須輸入。
44.C
45.A解析:以下幾種算法的時(shí)間復(fù)雜度分別為:冒泡排序(n2);選擇排序(n2);快速排序(nlog2n);歸并排序(nlog2n)。當(dāng)排序元素序列基本有序的情況下,冒泡排序的交換次數(shù)為0,只是順序掃描數(shù)據(jù)而已,所以其效率是最高的。
46.C解析:預(yù)處理功能主要有以下三種:宏定義、文件包含和條件編譯,所以A不正確。預(yù)處理不是C語(yǔ)句,所以B不正確。預(yù)處理命令是由ANSIC統(tǒng)—規(guī)定的,編譯程序不能識(shí)別它們,D也不正確。
47.C解析:此題綜合考查多種運(yùn)算符的使用:首先計(jì)算表達(dá)式a<=25&&b--<=2&&c的值,很容易看出b--<=2的值為假,因此表達(dá)式為假;根據(jù)三目運(yùn)算的特點(diǎn),由于表達(dá)式為假,所以應(yīng)該執(zhí)行printf('###a=%d,b=%d,c=%d\\n',a,b,c);這時(shí)a的值依然為25,b的值經(jīng)過(guò)b--運(yùn)算后變?yōu)?3,而c的值仍為19。
48.B解析:在if語(yǔ)句中又包含—個(gè)或多個(gè)if語(yǔ)句稱(chēng)為if語(yǔ)句的嵌套。應(yīng)當(dāng)注意if與else的配對(duì)關(guān)系,在C語(yǔ)言中,從最內(nèi)層開(kāi)始,else總是與它上面最近的(未曾配對(duì)的)if配對(duì)。
49.C解析:由于用了宏定義a[10]~a[19]均為0。函數(shù)fun的功能是把從a[n]到a[m]中的元素依次賦給后面的一個(gè)元素。調(diào)用了fun(a,2,9)以后,a[N]={1,2,3,3,4,5,6,7,8,9,10}。
50.D解析:選項(xiàng)D)為兩條語(yǔ)句。
51.D解析:通過(guò)for(i=1;i<10;i+=2)可知,i取值為1~10的奇數(shù),即1,3,5,7,9,i+1即為2,4,6,8,10。因此,程序的功能是計(jì)算并輸出1~10中的偶數(shù)之和,s+=i+1就是累加這些偶數(shù)。
52.D解析:算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
53.B解析:外循環(huán)的循環(huán)變量i從0遞增到1會(huì)循環(huán)2次,內(nèi)循環(huán)的循環(huán)變量j從0遞增到3會(huì)循環(huán)4次。但是內(nèi)循環(huán)中有一條if語(yǔ)句,每當(dāng)j%2為真,即j為奇數(shù)時(shí)會(huì)跳過(guò)下面的x++;語(yǔ)句,所以4次內(nèi)循環(huán)只有2次執(zhí)行到x++;語(yǔ)句,再加上外循環(huán)中包含的2條x++語(yǔ)句,所以每次外循環(huán)會(huì)使x自增4次,2次外循環(huán)下來(lái)x的值為8。故應(yīng)該選擇B。
54.C【解析】在數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言中,數(shù)據(jù)操縱語(yǔ)言負(fù)責(zé)數(shù)據(jù)的查詢(xún)及增、刪、改等操作。故答案為C。
55.A
56.B解析:a=b=c+2實(shí)際上相當(dāng)于a=(b=c+2),進(jìn)而可分解為兩個(gè)表達(dá)式:b=c+2和a=b。注意:選項(xiàng)A)中包含一個(gè)不合法的運(yùn)算符“:=”;選項(xiàng)C)應(yīng)改為(int)18.5%3;選項(xiàng)D)可理解為兩個(gè)表達(dá)式:a+7=c+b和a=a+7,其中第一個(gè)是錯(cuò)的,因?yàn)镃++語(yǔ)言規(guī)定賦值號(hào)的左邊只能是單個(gè)變量,不能是表達(dá)式或常量等。注意:C++語(yǔ)言賦值語(yǔ)句的運(yùn)用,
57.B解析:本題考查的知識(shí)點(diǎn)是遞歸函數(shù).通過(guò)分析不難寫(xiě)出,f()函數(shù)的數(shù)學(xué)表達(dá)式為:
f(n)=1n=1;
f(n)=f(n-1)+1n不等于1;
在主函數(shù)中for循環(huán)執(zhí)行了兩次函數(shù)調(diào)用f(i)。第一次:i為1,調(diào)用f(1)得到返回值1,并把它加到i中,i的值為1。第二次i為2,調(diào)用f(n),根據(jù)遞歸公式可知“f(2)=f(1)+1”,得到返回值2并把它加到i中,j的值為3。所以最后輸出的j的值為3,所以4個(gè)選項(xiàng)中B正確。
58.A解析:字符型變量用來(lái)存放字符常量,且只能存放一個(gè)字符。賦值反斜杠線(xiàn)“\\”,必須用轉(zhuǎn)義字符實(shí)現(xiàn),即ch='\\\\',所以選項(xiàng)A)錯(cuò)誤;字符型變量可以賦0~255之間的ASCII碼值,整型數(shù)據(jù)和字符型數(shù)據(jù)有時(shí)可以通用,所以選項(xiàng)B)正確;可以將NULL賦給一個(gè)字符型變量,NULL代表一個(gè)空字符,相當(dāng)于0,選項(xiàng)C)正確;'\\xaa'表示的是1~2位16進(jìn)制數(shù)所代表的字符,所以選項(xiàng)D)正確。
59.A解析:“清晰第一,效率第二”,在考慮到程序的執(zhí)行效率的同時(shí),一定要保證程序清晰、可讀;對(duì)符號(hào)名的命名,除了要符合語(yǔ)法要求外,還要具有一定的含義;程序的注釋可以幫助程序員理解程序,不是可有可無(wú)的。
60.C
61.C
62.AC語(yǔ)言中八進(jìn)制整型常量的開(kāi)頭是數(shù)字0,十六進(jìn)制整型常量的數(shù)字開(kāi)頭是Ox。C語(yǔ)言中的實(shí)型常量有兩種表示形式:小數(shù)形式,小數(shù)形式表示的實(shí)型常量必須要有小數(shù)點(diǎn);指數(shù)形式,以“e”或“E",后跟一個(gè)整數(shù)來(lái)表示以l0為底數(shù)的冪數(shù),且規(guī)定字母e或E之前必須要有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。B選項(xiàng)中028錯(cuò)誤,八透割中沒(méi)有數(shù)字8。c選項(xiàng)中4el.5中e后面的指數(shù)不是整數(shù):D選項(xiàng)中3.e5小數(shù)點(diǎn)后面缺少數(shù)字。
63.C
64.C在本題中,程序首先定義了一個(gè)一維數(shù)組a,賦其初值,并定義一個(gè)同類(lèi)型的指針變量p和一個(gè)指向指針的指針變量k,然后讓指針變量p指向數(shù)組的首地址,接著將指針變量p的地址值賦給指向指針的指針變量k。
在第一條輸出語(yǔ)句中,首先我們需要弄清楚*(p++)的作用,它是先調(diào)用指針變量p的值,然后使其自加,輸出效果等價(jià)于*p,因此,最后輸出的結(jié)果是數(shù)組中的第一個(gè)元素。
在第二條輸出語(yǔ)句中,我們需要弄明白**k的作用,指向指針的指針變量類(lèi)似于指針變量,如果用**k表示一個(gè)數(shù)值,可以確定這條輸出語(yǔ)句的輸出結(jié)果是一個(gè)數(shù)值,而非地址,從表達(dá)式k=&p可以看出,k的值是指針變量p的地址值,p的值改變后,k能實(shí)時(shí)得到改變,那么在第一條輸出語(yǔ)句對(duì)p的改變,在第二條輸出語(yǔ)句中得
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度測(cè)繪項(xiàng)目進(jìn)度管理合同范本4篇
- 二零二五年度還建房聯(lián)營(yíng)開(kāi)發(fā)及投資合同示范文本3篇
- 2025年度新型建材廠房租賃合同標(biāo)準(zhǔn)文本4篇
- 2025年度人工智能語(yǔ)音識(shí)別技術(shù)服務(wù)合同范本4篇
- 2025年度旅游線(xiàn)路定制居間代理合同4篇
- 2024年油氣勘探開(kāi)采技術(shù)研發(fā)投資合同
- 運(yùn)輸合同糾紛訴訟狀范文
- 電子商務(wù)平臺(tái)開(kāi)發(fā)合同
- 生物質(zhì)能供熱項(xiàng)目投資合同
- 私人園藝服務(wù)合同
- 河南省鄭州外國(guó)語(yǔ)高中-【高二】【上期中】【把握現(xiàn)在 蓄力高三】家長(zhǎng)會(huì)【課件】
- 天津市武清區(qū)2024-2025學(xué)年八年級(jí)(上)期末物理試卷(含解析)
- 2025年中煤電力有限公司招聘筆試參考題庫(kù)含答案解析
- 企業(yè)內(nèi)部控制與財(cái)務(wù)風(fēng)險(xiǎn)防范
- 高端民用航空復(fù)材智能制造交付中心項(xiàng)目環(huán)評(píng)資料環(huán)境影響
- 建設(shè)項(xiàng)目施工現(xiàn)場(chǎng)春節(jié)放假期間的安全管理方案
- 胃潴留護(hù)理查房
- 污水處理廠運(yùn)營(yíng)方案計(jì)劃
- 眼科慢病管理新思路
- 三菱張力控制器LE-40MTA-E說(shuō)明書(shū)
- 生活垃圾填埋場(chǎng)污染控制標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論