版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年貴州省貴陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.
2.下列判斷正確的是()。
A.chara="ABCD":等價(jià)于char*a;*a="ABCD":
B.charstr[10]={"ABCD"}:等價(jià)于charstr[10];str[]={"ABCD"};
C.char*s="ABCD":等價(jià)于chars;*s="ABCD";
D.charc[5]="ABCD",d[5]="ABCD":等價(jià)于charc[5]-d[5]="ABCD";
3.設(shè)散列表長(zhǎng)m=14,散列函數(shù)H(K)=K%11,已知表中已有4個(gè)結(jié)點(diǎn):r(15)=4;r(38)=5;r(61)=6;r(84)=7,其他地址為空,如用二次探測(cè)再散列處理沖突,關(guān)鍵字為49的結(jié)點(diǎn)地址是_____。
A.8B.3C.5D.9
4.用二分法查找長(zhǎng)度為10的、排好序的線性表,查找不成功時(shí),最多需要比較多少次?()
A.3B.4C.5D.6
5.已知一算術(shù)表達(dá)式的中綴表達(dá)式為a-(b+c/d)*e,其后綴形式為()
A.-a+b*c/dB.-a+b*cd/eC.-+*abc/deD.abcd/+e*-
6.有以下程序:#include<stdio.h>intfun(intX,inty){if(X!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf("%d/n",fun(2*a,fun(b,c)));}程序運(yùn)行后的輸入結(jié)果是()。A.3B.6C.8D.12
7.
8.下面程序的輸出結(jié)果是()。#include<stdio.h>intm=13;intfun2(intx,inty){intm=3;return(x*y-m);}main(){inta=7,b=5;printf("%d\n",fun2(a,b)/m);}
A.1B.2C.7D.10
9.下面關(guān)于哈希(Hash,雜湊)查找的說(shuō)法正確的是()
A.哈希函數(shù)構(gòu)造的越復(fù)雜越好,因?yàn)檫@樣隨機(jī)性好,沖突小
B.除留余數(shù)法是所有哈希函數(shù)中最好的
C.不存在特別好與壞的哈希函數(shù),要視情況而定
D.若需在哈希表中刪去一個(gè)元素,不管用任何方法解決沖突都只要簡(jiǎn)單地將該元素刪去即可
10.下面合法的C語(yǔ)言字符常量是()。
A.'\t'B."A"C.65D.A
11.由權(quán)值分別為3,8,6,2,5的葉子結(jié)點(diǎn)生成一棵哈夫曼樹(shù),它的帶權(quán)路徑長(zhǎng)度為_(kāi)_______。
A.24B.48C.72D.53
12.有以下程序:#includeMain(){intb[3][3]={0.1,2.0,1,},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf(“%d\n”,t);程序運(yùn)行后的輸出結(jié)果是()。A.3B.4C.1D.9
13.
14.以下關(guān)于C語(yǔ)言的敘述中正確的是()。
A.C語(yǔ)言中的注釋不可以?shī)A在變量名或關(guān)鍵字的中間
B.C語(yǔ)言中的變量可以在使用之前的任何位置進(jìn)行定義
C.在C語(yǔ)言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致
D.C語(yǔ)言的數(shù)值常量中夾帶空格不影響常量值的正確表示
15.若輸入“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"
16.
17.若有定義“inta;longb;doublex,y;”,則以下選項(xiàng)中正確的表達(dá)式是()。
A.a=x<>yB.a%(int)(x-y)C.(a*y)%bD.y=x+y=x
18.以下敘述中正確的是
A.語(yǔ)句inta[8]={0};是合法的
B.語(yǔ)句inta[]={0};是不合法的,遺漏了數(shù)組的大小
C.語(yǔ)句chara[2]={"A","BII};是合法的,定義了一個(gè)包含兩個(gè)字符的數(shù)組
D.語(yǔ)句chara[3];a="AB";是合法的,因?yàn)閿?shù)組有三個(gè)字符空間的容量,可以保存兩個(gè)字符
19.有以下程序:fun(intx){intp;if(x=0||x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7));}執(zhí)行后的輸出結(jié)果是()。
A.7B.3C.2D.0
20.數(shù)據(jù)庫(kù)的故障恢復(fù)一般是由()來(lái)執(zhí)行恢復(fù)
A.電腦用戶B.數(shù)據(jù)庫(kù)恢復(fù)機(jī)制C.數(shù)據(jù)庫(kù)管理員D.系統(tǒng)普通用戶
二、2.填空題(20題)21.軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。
22.為了建立如圖所示的存儲(chǔ)結(jié)構(gòu)(即每個(gè)結(jié)點(diǎn)含兩個(gè)域,data是數(shù)據(jù)域,next是指向結(jié)點(diǎn)的指針域)。請(qǐng)?zhí)羁铡?/p>
structlink{chardata;【】;}node;
23.下列語(yǔ)句的輸出結(jié)果是______。
chars[20]="aaaa",*sp=s;
puts(strcat(sp,"AAAAA"));
24.“printf("%d\n",strlen("\t\"\023\xAB\nC"));”語(yǔ)句的輸出結(jié)果是()。
25.以下程序運(yùn)行后的輸出結(jié)果是()。main(){inta,b,c;a=10;b=20;c=(a/b<1)&&(a%b<1);printf("%d%d%d\n",a,b,C);}
26.下列程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
voidmain()
{ints=0,k;
for(k=7;k>4;k--)
{switch(k)
{case1:
case4:
case7:s++;break;
case2:
case3:
case6:break;
case0:
case5:s+=2;break;}}
printf("s=%d",s);}
27.已知字母A的ASCⅡ碼為65。以下程序運(yùn)行后的輸出結(jié)果是()。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
28.設(shè)Y是int型變量,請(qǐng)寫出判斷Y為奇數(shù)的關(guān)系表達(dá)式【】。
29.若有說(shuō)明chars1[]="Thatgirl",s2[]="isbeautiful";則使用函數(shù)strcmp(s1,s2)后,結(jié)果是______。
30.當(dāng)線性表的操作無(wú)插入和刪除時(shí),采用【】結(jié)構(gòu)為好。
31.下列程序段的輸出結(jié)果是【】。
main()
{charb[]="Hello,you";
b[5]=0;
printf("%s\n",B);
}
32.以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個(gè)。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個(gè)數(shù)。
例如,若一維數(shù)組中的數(shù)據(jù)是:
2223445666677899101010
刪除后,數(shù)組中的內(nèi)容應(yīng)該是:
2345678910。
請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#defineN80
intfun(inta[],intn)
{inti,j=1;
for(i=1;i<n;i++)
if(a[j-1]【】a[i])
a[j++]=a[i];
【】;
}
main()
{inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19;
printf("Theoriginaldata:\n");
for(i=0;i<n;i++)printf("%3d",a[i]);
n=fun(a,n);
printf("\nThedataafterdeleted:\n");
for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\n");
}
33.某二叉樹(shù)中度為2的結(jié)點(diǎn)有n個(gè),則該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。
34.以下程序的輸出結(jié)果是【】。
main()
{inta=0;
a+=(a=8);
printf("%d\n",A);
}
35.以下程序用來(lái)輸出結(jié)構(gòu)體變量student所占存儲(chǔ)單元的字節(jié)數(shù),請(qǐng)?zhí)羁铡?/p>
structst
{charname[20];doublescore;
};
main()
{structststudent;
printf("studentsize:%d\n",sizeof(【】));
}
36.下列程序的輸出結(jié)果是______。
#defineP(A)printf("%d,",(int)(A))
#definePRINT(A)P(A);printf("theend")
main()
{inti,a=0;
for(i=1;i<5.i++)
PRINT(a+i);
printf("\n");
}
37.軟件是程序、數(shù)據(jù)和【】的集合。
38.已有文本文件test.txt,其中的內(nèi)容為:Hello,everyone!。以下程序中,文件test.txt已正確為“讀”而打開(kāi),由文件指針fr指向該文件,則程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{
FILE*fr;charstr[40];
fgets(str,5,fr);
printf("%s\n",str);
fclose(fr);
}
39.派生類對(duì)基類繼承控制訪問(wèn)有三種。派生類可以定義其基類中不具備的【】。
40.以下程序的輸出結(jié)果是【】。
main()
{inty=9;
for(;y>0;y--)
if(y%3==0)
{printf("%d",--y);continue;}}
三、1.選擇題(20題)41.以下敘述中正確的是______。A.預(yù)處理命令行必須位于源文件的開(kāi)頭
B.在源文件的一行上可以有多條預(yù)處理命令
C.宏名必須用大寫字母表示
D.宏替換不占用程序的運(yùn)行時(shí)間
42.有以下程序段:intx=3;do{printf("%d",x-=2);}while(!(--x));其輸出結(jié)果是______。
A.1B.30C.1-2D.死循環(huán)
43.有以下程序:main(){char*p[]={"3697","2584"};inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0'){if((p[il[j]-'0')%2)num=10*num+p[i][j]-'0';j+=2;}printf("%d\n",num);}程序執(zhí)行后的輸出結(jié)果是()。
A.35B.37C.39D.3975
44.下列敘述中正確的是()。
A.程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)
B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)
C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量
D.以上三種說(shuō)法都不對(duì)
45.以下程序執(zhí)行后x的值是main(){intx,y=252,i=386,*m=&y,*z=&i;x=(z==y);printf("%d",x);}
A.252B.1C.0D.運(yùn)行時(shí)出錯(cuò),x無(wú)定值
46.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體之間聯(lián)系的是
A.樹(shù)結(jié)構(gòu)B.網(wǎng)結(jié)構(gòu)C.線性表D.二維表
47.檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱為()。
A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試
48.如果需要打開(kāi)一個(gè)已經(jīng)存在的非空文件"Demo"進(jìn)行修改,下面選項(xiàng)中正確的是
A.fp=fopen("Demo","r");
B.fp=fopen("Demo","ab+");
C.fp=fopen("Demo","w+");
D.fp=fopen("Demo","r+");
49.若有定義:inta[2][3];,以下選項(xiàng)中對(duì)a數(shù)組元素正確引用的是A.a[2][!1]B.a[2][3]C.a[0][3]D.a[1>2][!1]
50.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta[2][3]={{1,2,3},{4,5,6}},(*p)[3],i;p=a;for(i=0;i<3;i++){if(i<2)p[1][i]=p[1][i]-1;elsep[1][i]=1;}printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}
A.8B.7C.12D.9
51.已定義c為字符型變量,則下列語(yǔ)句中正確的是()。
A.c='97'B.c="97"C.c=97D.c="a"
52.執(zhí)行下面的程序后,a的值為
main()
{inta,b;
for(a=1,b=1;a<=10;a++)
{if(b%3==1)
{b+=3;
continue;}
b-=5;}}
A.7B.8C.9D.10
53.單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為_(kāi)_____。
A.外模式B.概念模式C.內(nèi)模式D.存儲(chǔ)模式
54.以下程序的輸出結(jié)是_______。#include<stdio.h>main(){inta=200;#definea100printf("%d",a);#undefaprintf(%d",a);}
A.200100B.100100C.100200D.200200
55.下列程序的輸出結(jié)果是______。#defineA100main(){inti=0,sum=0;do{if(i=(i/2)*2)continue;sum+=i;}while(++i<A);print("%d\n",sum);}
A.2500B.2050C.4D.0
56.算法的空間復(fù)雜度是指()。
A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.執(zhí)行算法需要的內(nèi)存空間
57.有以下程序:mam(){inti=10,j=1;printf("%d,%d\n",i--,++j);}執(zhí)行后輸出的結(jié)果是()。
A.9,2B.10,2C.9,1D.10,1
58.在長(zhǎng)度為64的有序線性表中進(jìn)行順序查找,最壞情況下需要比較的次數(shù)為A.63B.64C.6D.7
59.執(zhí)行下列程序后,輸出的結(jié)果是()。
#include<stdio.h>
#defineS(X)X*X
voidmain()
{ihta=9,k=3,m=2;
a/=S(k+m)/S(k+m);
printf("%d",A);
}
A.1B.4C.9D.0
60.設(shè)有以下說(shuō)明語(yǔ)句typedefstruct{intn;charch[8];}PER;則下面敘述中正確的是
A.PER是結(jié)構(gòu)體變量名
B.PER是結(jié)構(gòu)體類型名
C.typedefstruct是結(jié)構(gòu)體類型
D.struct是結(jié)構(gòu)體類型名
四、選擇題(20題)61.有以下程序:
fun(intx)
{intP;
if(x==0||x==l)return(3);
p=x-fun(x-2);
returnp;
}
main
{printf("%d\n",fun(7));}
程序執(zhí)行后的輸出結(jié)果是()。A.A.7B.3C.2D.0
62.
63.將c語(yǔ)言的整數(shù)設(shè)為整數(shù)類1,則下面屬于類I實(shí)例的是()。
A.一103B.10E3C.10.3D.“0103”
64.設(shè)有以下程序段:
intX=0,s=0;
while(!X!=0.s+=++X;
prinff(”%d”,S.;
則()。
A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出lC.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無(wú)限次
65.一些重要的程序設(shè)計(jì)語(yǔ)言(inC語(yǔ)言和Pascal語(yǔ)言)允許過(guò)程的遞歸調(diào)用,而實(shí)現(xiàn)遞歸調(diào)用中的存儲(chǔ)分配通常用()。
A.棧B.堆C.數(shù)組D.鏈表
66.
67.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()
A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)
68.
69.
70.
71.以下程序段完全正確的是()。
A.int*p;scanf(”%d”,&p);
B.int*p;scanf(”%d”,P);
C.intk,*P:&k;scanf(’’%d”,P);
D.intk,*p;*P=&k;scanf(”%d”,P);
72.以下能正確定義一維數(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";
73.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.6B.3C.8D.12
74.
75.有以下程序:main{inta=1,b=3,C=5,*P;int*p1=&a,*p2=&b,*p3=&c;*p=*p1*(*p2);}執(zhí)行后的輸出結(jié)果是()。A.1B.2C.3D.4
76.
77.
78.以下不構(gòu)成無(wú)限循環(huán)的語(yǔ)句或語(yǔ)句組是()。
79.有下列程序:intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i]:returnsum;}main(){inta[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;s=fun(a,5)+fun(b,4);printf(“%d\n”,s);}程序執(zhí)行后的輸出結(jié)果是()。A.45B.50C.60D.55
80.若有說(shuō)明:intn=2,*p=&n,*q=p;,則以下非法的賦值語(yǔ)句是()。
A.p=qB.*p=*qC.n=*qD.p=*n
五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:將P所指字符串中的所有字符復(fù)制到b中,要求每復(fù)制三個(gè)字符之后插入一個(gè)空格。
例如,若給a輸入字符串:ABCDEFGKHHK,調(diào)用函數(shù)后,字符數(shù)組b中的內(nèi)容為:ABCDEFGHIJK。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫一個(gè)函數(shù)voidproc(intm,intk,intxx[]),該函數(shù)的功能是將大于整數(shù)m且緊靠m的k個(gè)非素?cái)?shù)存人所指的數(shù)組中。例如,若輸入:105(即M=10,k=5),則應(yīng)輸出:l214151618。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:
參考答案
1.C
2.Da=“ABCD”書寫錯(cuò)誤,因?yàn)椤?”左邊不能出現(xiàn)常量;數(shù)組名S是代表S數(shù)組首地址常量,而不是變量;字符串只有在定義時(shí)維數(shù)可以省略。
3.D
4.B
5.D
6.B此題考查的是函數(shù)fun,fun(b,c)=5,然后fun(2*a,5)=fun(8,5)=6。
7.B
8.B解析:本題考查函數(shù)的調(diào)用。函數(shù)fun2的作用是將形參x和y的值相乘后減去3,在fun2中的變量m是一個(gè)局部變量,它的值在fun2函數(shù)內(nèi)有效;在主函數(shù)中的m指的是全局變量,其值為13,所以fun2(a,b)/m的值為(7*5-3)/13,即2。
9.C
10.A
11.D
12.B
13.B
14.B解析:C語(yǔ)言中注釋可以放在任何位置,選項(xiàng)A錯(cuò)誤;C語(yǔ)言中的變量只要在使用之前定義即可,位置可以是使用前的任何位置,故選項(xiàng)B正確;C語(yǔ)言中兩側(cè)數(shù)據(jù)類型可以不一致,系統(tǒng)可進(jìn)行強(qiáng)制類型轉(zhuǎn)換,選項(xiàng)C錯(cuò)誤;C語(yǔ)言數(shù)值常量中不允許存在空格,選項(xiàng)D錯(cuò)誤。
15.D本題考查字符串比較函數(shù)strcmp(s1,s2),若s1>s2,則返回1;若s1=s2,則返回0;若s1<s2,則返回-1。字符串依次比較的是它們字符的ASCIl碼值。
16.A
17.BC語(yǔ)言中沒(méi)有“<>”運(yùn)算符,所以A選項(xiàng)錯(cuò)誤。運(yùn)算符“%”的左右兩個(gè)操作數(shù)必須為整型數(shù)據(jù),所以B選項(xiàng)正確。表達(dá)式“a*y”的結(jié)果為double型,所以C選項(xiàng)錯(cuò)誤。不能將值賦給像“x+y”這樣的表達(dá)式,所以D選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。
18.AB選項(xiàng)中,如給全部元素賦值,則在數(shù)組說(shuō)明中,可以不給出數(shù)組元素的個(gè)數(shù);C選項(xiàng)中,chara[2]={"","B"};不合法,應(yīng)為chara[2]={′A′,′B′};;D選項(xiàng)中,字符數(shù)組只能在定義的時(shí)候可以用字符串常量來(lái)初始化,但不能夠先定義字符數(shù)組,然后再用字符串常量進(jìn)行賦值。因此A選項(xiàng)正確。
19.C解析:x=7,通過(guò)遞歸調(diào)用fun函數(shù)后得到結(jié)果。
20.CC)【解析】數(shù)據(jù)庫(kù)一旦發(fā)生故障,需要及時(shí)進(jìn)行故障恢復(fù),并由數(shù)據(jù)庫(kù)管理員負(fù)責(zé)執(zhí)行故障恢復(fù)。
21.完善性軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對(duì)軟件提出的新功能與性能要求,需要修改或再開(kāi)發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。
22.structlink*next
23.aaaaAAAAAaaaaAAAAA解析:函數(shù)strcat(sp,'AAAAA')的作用是將字符中“AAAAA”連接到字符串sp的末尾,并自動(dòng)覆蓋字符數(shù)組sp末尾的\'\\0\'。
24.66解析:strlen()函數(shù)的作用是計(jì)算字符串的長(zhǎng)度并作為函數(shù)的返回值,這里的長(zhǎng)度不包括串尾的結(jié)束標(biāo)志\'\\0\'。\'\\t\'是轉(zhuǎn)義字符,代表橫向跳若干格;\'\\'\'是轉(zhuǎn)義字符,代表雙引號(hào):\'\\023\'也只代表一個(gè)字符,而不管轉(zhuǎn)義字符后面有幾個(gè)符;\'\\xAB\'是以兩位十六進(jìn)制數(shù)AB表示的ASCII碼字符,只代表一個(gè)字符;\'\\n\'是轉(zhuǎn)義字符,代表回車換行。題中語(yǔ)句中的字符串有5個(gè)字符常量各代表一個(gè)字符,再加上字母C,所以返回的長(zhǎng)度是6。
25.1020010200解析:本題考查的是混合運(yùn)算。“(a/b<1)&&(a%b<1)”的運(yùn)算順序?yàn)椋豪ㄌ?hào)>算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符。其中a%b=10,a,b=0,所以a%b<1的值為0,a/b<1的值為1,故整個(gè)表達(dá)式的結(jié)果為0,所以輸出的a,b,c的值為10200。
26.s=3s=3解析:當(dāng)k=7時(shí),執(zhí)行case7,s++,s的值為1。當(dāng)k=6時(shí),直接break出switch結(jié)構(gòu);當(dāng)k=5時(shí),執(zhí)行case5,s+=2,s的值為3;當(dāng)k=4時(shí)由于不滿足for循環(huán)的條件,所以結(jié)束循環(huán),所以輸出的s的值為3。注意:循環(huán)語(yǔ)句和條件的嵌套使用。
27.67G67G解析:根據(jù)題意,a=‘A’+‘5’-‘3’=65+2=67,b=67+4=71,71即為字母G的ASCⅡ碼值。程序要求按十進(jìn)制形式輸出a,按字符形式輸出b,所以結(jié)果為67G。
28.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。
29.-1-1解析:strcmp(s1,s2)函數(shù)的作用是:對(duì)字符數(shù)組s2和字符數(shù)組s1進(jìn)行比較。如果s1<s2,則返回負(fù)數(shù);如果s1==s2,則返回0;如果s1>s2,則返回正數(shù)。
30.順序順序解析:當(dāng)線性表的操作無(wú)插入和刪除時(shí),在對(duì)線性表進(jìn)行操作時(shí),不能改變?cè)氐奈恢?,采用順序結(jié)構(gòu)的效率高于鏈?zhǔn)浇Y(jié)構(gòu)。因?yàn)椴捎庙樞蚪Y(jié)構(gòu),對(duì)元素的查找可通過(guò)計(jì)算得到。
31.HelloHello解析:字符串中,數(shù)值0或符號(hào)'/0'表示字符串的結(jié)束。本題中,b[5]被賦了0值,表明字符串b的第六個(gè)字符就是結(jié)束標(biāo)志。因此,只輸出前五個(gè)字符,即Hello。
32.!=returnj!=,returnj解析:本題程序的流程是:讓i,j都從1開(kāi)始,其中j用于控制刪除后剩下的數(shù)中的下標(biāo),i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個(gè)元素的下一個(gè)元素的下標(biāo),所以if()中的條件是a[j-1]!=a[i],其中a[j-1]就是新數(shù)組中的最后一個(gè)元素,若條件成立則表示出現(xiàn)了不同的值,所以a[i]要留到新數(shù)組中。注本題中i、j的初值都要從1開(kāi)始,該算法只能用于數(shù)組已排序的題目中。
33.n+1n+1解析:在任意一棵二叉樹(shù)中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為0的結(jié)點(diǎn)多一個(gè)。
34.1616解析:在程序中首先將8賦值給變量a,然后在進(jìn)行復(fù)合賦值運(yùn)算。即a=a+a=8+8=16,所以該空格處應(yīng)該填16。
35.structst或studentstructst或student
36.1234theend1,2,3,4,theend解析:本題考查帶參數(shù)的宏的定義。第1次循環(huán),i=1時(shí),調(diào)用PRINT(1),P(1)輸出1;第2次循環(huán),i=2時(shí),調(diào)用PRINT(2),P(2)輸出2:第3次循環(huán),i=3時(shí),調(diào)用PRINT(3),P(3)輸出3:第4次循環(huán),i=4時(shí),調(diào)用PRINT(4),P(4)輸出4,theend。
37.文檔文檔解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
38.HellHell解析:該函數(shù)有3個(gè)參數(shù),第三個(gè)參數(shù)是文件指針指向要讀取數(shù)據(jù)的文件,第二個(gè)參數(shù)是一個(gè)整數(shù)(假設(shè)為n),表示從文件中讀取n-1個(gè)字符并在其后加一個(gè)'\\0',第一個(gè)參數(shù)為存放讀取的字符串的內(nèi)存區(qū)的起始地址,讀取的數(shù)據(jù)保存在其中??梢?jiàn)本題的輸出結(jié)果為Hell。
39.數(shù)據(jù)和操作數(shù)據(jù)和操作
40.852852解析:循環(huán)前,變量y的值為9,其中,循環(huán)語(yǔ)句在y大于0情況下循環(huán),每次循環(huán)后y的值都減1。循環(huán)體是當(dāng)y能被3整除時(shí)輸出表達(dá)式--y,輸出的是減1后的y值。這樣,第一次循環(huán)因y為9,能被3整除,輸出8,y也變成8。又經(jīng)兩次循環(huán),y的值變?yōu)?,又讓y減1變成5,并輸出5;又經(jīng)兩次循環(huán),y的值變成3,讓y減1變成2,輸出2;再經(jīng)兩次循環(huán)后,y的值變成0,結(jié)束循環(huán),所以程序輸出852。
41.D本題主要考查宏的一些基本概念。通常,預(yù)處理命令位于源文件的開(kāi)頭,但不一定必須位于開(kāi)頭,也可以寫在函數(shù)與函數(shù)之間;由于預(yù)處理命令的末尾不加分號(hào),不以分號(hào)來(lái)區(qū)分一條宏命令,所以,不能在一行上寫多條預(yù)處理命令,只能寫一條,否則,系統(tǒng)處理時(shí)就會(huì)把它當(dāng)做一條命令處理;宏名一般習(xí)慣用大寫字母表示,以便與變量名相區(qū)別,這只是習(xí)慣用法,并不是C語(yǔ)言中有這樣的規(guī)定,宏的定義可用小寫字母;C語(yǔ)言中,宏的替換是在程序編譯時(shí)進(jìn)行,不占用程序運(yùn)行的時(shí)間,故本題答案為D。
42.C解析:在程序中,首先定義了一個(gè)整型變量x并賦初值為3,接著執(zhí)行do-while循環(huán)。在do-while循環(huán)中,先執(zhí)行循環(huán)體,即執(zhí)行printf語(yǔ)句(輸出表達(dá)式X-=2;的值,這個(gè)表達(dá)式相當(dāng)于x=x-2=3-2=1,所以第一次輸出值為1),接著判斷while后面括號(hào)里的條件表達(dá)式是否為真。這個(gè)表達(dá)式!(--X)等價(jià)于!(0)為真(這里--X是先自減,再進(jìn)行判斷,此時(shí)x自減1,值為0),繼續(xù)執(zhí)行循環(huán)體,即執(zhí)行printf語(yǔ)句(輸出表達(dá)式x-=2;的值,這個(gè)表達(dá)式相當(dāng)于x=x-2=0-2=-2,所以第二次輸出值為-2),接著判斷while后面括號(hào)里的條件表達(dá)式是否為真,顯然,表達(dá)式!(--x)等價(jià)于(!(-3))為假,退出循環(huán),所以其最終的輸出結(jié)果為1-2。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
43.C解析:本題首先定義了一個(gè)字符指針數(shù)組p,然后使用一個(gè)兩重循環(huán)遍歷數(shù)組p。因?yàn)閮?nèi)循環(huán)的循環(huán)變量j每次會(huì)加2,所以只能遍歷到數(shù)組p每行中列下標(biāo)為偶數(shù)的字符,它們是‘3’、‘9’、‘2’、‘8’。然后,將它們通過(guò)p[i][j]-‘0’表達(dá)式轉(zhuǎn)換為對(duì)應(yīng)的整數(shù)3、9、2、8,并用%2來(lái)判斷該整數(shù)是否為奇數(shù)。所以最終能執(zhí)行到num=10*num+p[i][j]-‘0’,語(yǔ)句的只有‘3’和‘9’兩個(gè)字符。此時(shí)已不難算出,運(yùn)行后num中的值為39。故應(yīng)該選擇C。
44.A本題考查程序效率。程序效率是指程序運(yùn)行速度和程序占用的存儲(chǔ)空間。影響程序效率的因素是多方面的,包括程序的設(shè)計(jì)、使用的算法、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)等。在確定數(shù)據(jù)邏輯結(jié)構(gòu)的基礎(chǔ)上,選擇一種合適的存儲(chǔ)結(jié)構(gòu),可以使得數(shù)據(jù)操作所花費(fèi)的時(shí)間少,占用的存儲(chǔ)空間少,即提高程序的效率。因此,本題選項(xiàng)A的說(shuō)法是正確的。
45.C解析:指針變量m和z分別指向整型變量y和i,所以這兩個(gè)指針變量中存儲(chǔ)的地址是不同的。變量x接受的是一個(gè)關(guān)系運(yùn)算的結(jié)果,因?yàn)閮蓚€(gè)地址是不同的,所以“z=y”的判斷結(jié)果為0。注意:C語(yǔ)言中,邏輯值的表示方法。
46.D解析:在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)關(guān)系。即關(guān)系模型是用表格數(shù)據(jù)來(lái)表示實(shí)體本身及其相互之間的聯(lián)系。本題的正確答案是D。
47.A本題主要考查軟件測(cè)試的基本知識(shí)。軟件測(cè)試的步驟可分為單元測(cè)試(模塊測(cè)試)、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。
(1)單元測(cè)試是針對(duì)每個(gè)模塊進(jìn)行的測(cè)試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例,多個(gè)模塊可以平行、對(duì)立地測(cè)試。單元測(cè)試主要用于發(fā)現(xiàn)詳細(xì)設(shè)計(jì)和編程時(shí)犯下的錯(cuò)誤。單元測(cè)試多采用白盒測(cè)試,輔之以黑盒測(cè)試。
(2)集成測(cè)試是在單元測(cè)試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個(gè)模塊連接起來(lái),必須精心計(jì)劃,應(yīng)提交集成測(cè)試計(jì)劃、集成測(cè)試規(guī)格說(shuō)明和集成測(cè)試分析報(bào)告。主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問(wèn)題。集成測(cè)試可以發(fā)現(xiàn)概要設(shè)計(jì)時(shí)犯的錯(cuò)誤。
(3)確認(rèn)測(cè)試用于驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測(cè)試主要用于發(fā)現(xiàn)需求分析時(shí)犯下的錯(cuò)誤,一般使用黑盒法測(cè)試,以表明軟件符合需求說(shuō)明書的要求,應(yīng)該仔細(xì)設(shè)計(jì)測(cè)試用例和測(cè)試過(guò)程。確認(rèn)測(cè)試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計(jì)測(cè)試用例,通常情況下,主要使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測(cè)試,測(cè)試數(shù)據(jù)通過(guò)用戶接口輸入。
(4)系統(tǒng)測(cè)試是將已經(jīng)通過(guò)確認(rèn)測(cè)試的軟件,作為整個(gè)計(jì)算機(jī)系統(tǒng)的元素與計(jì)算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。系統(tǒng)測(cè)試的目的是通過(guò)與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測(cè)試可以發(fā)現(xiàn)問(wèn)題定義時(shí)犯下的錯(cuò)誤。
48.D解析:此題考查文件打開(kāi)方式對(duì)文件操作的影響。由于打開(kāi)文件進(jìn)行修改,可見(jiàn)選項(xiàng)A)是錯(cuò)誤的,因?yàn)榇朔N方式打開(kāi)時(shí),只能讀,不能寫,當(dāng)然無(wú)法修改;選項(xiàng)B)是以追加方式'ab+'打開(kāi)文件讀寫,以這種方式打開(kāi)時(shí),新寫入的數(shù)據(jù)只能追加在文件原有內(nèi)容之后,但可以對(duì)以前的數(shù)據(jù)讀出。換言之,'ab+'或'a+'方式打文件后,對(duì)于寫操作,文件指針只能定位在文件的原有內(nèi)容之后,但對(duì)于讀操作,文件指針可以定位在全文件范圍內(nèi),可見(jiàn),按此種方式打開(kāi)文件不能實(shí)現(xiàn)文件內(nèi)容的修改;選項(xiàng)C)以'w+'方式打開(kāi)文件,此時(shí),原文件中已存在的內(nèi)容都被清除,但新寫入文件的數(shù)據(jù)可以被再次讀出或再次寫入,故也不能實(shí)現(xiàn)對(duì)文件的修改。只有以'r+'方式打開(kāi)文件時(shí),才允許將文件原來(lái)數(shù)據(jù)讀出,也允許在某些位置上再寫入,從而實(shí)現(xiàn)對(duì)文件的修改。
49.D解析:a是一個(gè)2行3列的二維數(shù)組,行下標(biāo)和列下標(biāo)都是從0開(kāi)始的,數(shù)組中的元素為a[0][0]、a[0][1]、a[0][2]、a[1][0]、a[1][1]、a[1][2],行下標(biāo)最大值為1,列下標(biāo)最大值為2,因此選項(xiàng)A、B、C都是錯(cuò)誤的引用。計(jì)算選項(xiàng)D中數(shù)組元素的下標(biāo)后得a[0][0],為正確的引用。
50.B解析:第1次執(zhí)行for循環(huán),p[1][0]=p[1][0]-1=3:第2次執(zhí)行for循環(huán),p[1][1]=p[1][1]-1=4:第3次執(zhí)行for循環(huán),p[1][2]=1,最后輸出的是a[0][1]+a[1][1]+a[1][2]=2+4+1=7。
51.C解析:本題考核的知識(shí)點(diǎn)是字符型變量的基本概念。用單引號(hào)括起來(lái)的一個(gè)字符稱為字符常量,而選項(xiàng)B和選項(xiàng)D中用的是雙引號(hào),而用雙引號(hào)括起來(lái)的字符為字符串常量,故選項(xiàng)B和選項(xiàng)D不正確。因?yàn)樵贑語(yǔ)言中,字符常量在存儲(chǔ)時(shí),并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的相應(yīng)的ASCII代碼放到存儲(chǔ)單元中,所以C語(yǔ)言使字符型數(shù)據(jù)和整形數(shù)據(jù)之間可以通用,選項(xiàng)C正確.而選項(xiàng)A中,給字符型變量賦值時(shí)只能賦一個(gè)字符,而9,7作為字符時(shí)為兩個(gè)字符且必須分別為單引號(hào)括起來(lái),故選項(xiàng)A不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
52.D解析:考查continue語(yǔ)句的使用。continue語(yǔ)句的作用是結(jié)束本次循環(huán),直接進(jìn)入下次循環(huán)。
53.A解析:選項(xiàng)A)正確,外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見(jiàn)到的數(shù)據(jù)模式;選項(xiàng)B)不正確,全局?jǐn)?shù)據(jù)視圖的描述稱為概念模式,即數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述;選項(xiàng)C)不正確,物理存儲(chǔ)數(shù)據(jù)視圖的描述稱為內(nèi)模式,即數(shù)據(jù)庫(kù)在物理存儲(chǔ)方面的描述;選項(xiàng)D)不正確,存儲(chǔ)模式即為內(nèi)模式。
54.C解析:#define宏名的有效范圍為定義命令之后到本源文件結(jié)束,可以在程序中使用#undef命令終止宏定義的作用域。本題由于#undef的作用,使a的作用范圍在#definea100到#undefa之間,故答案為C。
55.A解析:本題程序的功能是求1到99之間(包括1和99)所有奇數(shù)之和。程序中的while循環(huán)的終止條件為++i=100,在while循環(huán)體內(nèi),如果i是偶數(shù),則執(zhí)行continue,跳過(guò)這一次循環(huán),執(zhí)行下—次循環(huán),否則求和。最后輸出的值是1到99之間(包括1和99)所育奇數(shù)之和(1+99)*50/2=2500。
56.D解析:算法的復(fù)雜度主要包括算法的時(shí)間復(fù)雜度和算法的空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
57.B解析:++、--運(yùn)算符在變量之前是先使變量的值加1或減1,然后再使用變量的值:如果在變量之后則先使用變量之前的值,再把變量的值加1或減1。顯然,程序中表達(dá)式“i--”的值為10,“++j”的值為2,所以最后輸出的值為10和2,所以,B選項(xiàng)為所選。
58.B解析:在長(zhǎng)度為64的有序線性表中,其中的64個(gè)數(shù)據(jù)元素是按照從大到小或從小到大的順序排列有序的。在這樣的線性表中進(jìn)行順序查找,最壞的情況就是查找的數(shù)據(jù)元素不性表中或位于線性表的最后。按照線性表的順序查找算法,首先用被查找的數(shù)據(jù)和線性表的第一個(gè)數(shù)據(jù)元素進(jìn)行比較,若相等,則查找成功,否則,繼續(xù)進(jìn)行比較,即和線性表的第二個(gè)數(shù)據(jù)元素進(jìn)行比較。同樣,若相等,則查找成功,否則,繼續(xù)進(jìn)行比較。依次類推,直到性表中查找到該數(shù)據(jù)或查找到線性表的最后一個(gè)元素,算法才結(jié)束。因此,在長(zhǎng)度為64的有序線性表十進(jìn)行順序查找,最壞的情況下需要比較64次。因此,本題的正確答案為選項(xiàng)B。
59.D解析:本題主要是考查帶參數(shù)的宏定義及其相關(guān)運(yùn)算。本題中宏運(yùn)算過(guò)程如下: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。
60.B解析:本題中,typedef聲明新的類型名PER來(lái)代替已有的類型名,PER代表上面指定的一個(gè)結(jié)構(gòu)體類型,此時(shí),也可以用PER來(lái)定義變量。
61.C在函數(shù)fun(intx)中,有個(gè)if語(yǔ)句判斷,如果參數(shù)x等于0或1時(shí),返回值,否則進(jìn)入
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度醫(yī)院門診部承包經(jīng)營(yíng)服務(wù)合同3篇
- 2025年度海洋工程承包勞務(wù)服務(wù)協(xié)議3篇
- 2025年物業(yè)公司物業(yè)費(fèi)收入權(quán)轉(zhuǎn)讓合同3篇
- 2025版高端景觀工程毛石材料供應(yīng)合作協(xié)議4篇
- XX公司2024年度采購(gòu)協(xié)議樣本版B版
- 二零二五版數(shù)據(jù)中心網(wǎng)絡(luò)安全設(shè)備安裝協(xié)議2篇
- 二零二五年度鐵路客票運(yùn)輸合同樣本3篇
- 2024綠色照明推廣與實(shí)施合同
- 游戲化教學(xué)法在小學(xué)生閱讀能力培養(yǎng)中的應(yīng)用
- 文化背景下創(chuàng)新金融產(chǎn)品的市場(chǎng)反應(yīng)研究
- 2024年國(guó)家公務(wù)員考試公共基礎(chǔ)知識(shí)復(fù)習(xí)題庫(kù)及答案(共三套)
- 《社會(huì)工作實(shí)務(wù)》全冊(cè)配套完整課件3
- 單位違反會(huì)風(fēng)會(huì)書檢討書
- 2024年4月自考00832英語(yǔ)詞匯學(xué)試題
- 《電力用直流電源系統(tǒng)蓄電池組遠(yuǎn)程充放電技術(shù)規(guī)范》
- 《哪吒之魔童降世》中的哪吒形象分析
- 信息化運(yùn)維服務(wù)信息化運(yùn)維方案
- 汽車修理廠員工守則
- 公安交通管理行政處罰決定書式樣
- 10.《運(yùn)動(dòng)技能學(xué)習(xí)與控制》李強(qiáng)
- 1神經(jīng)外科分級(jí)護(hù)理制度
評(píng)論
0/150
提交評(píng)論