版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022-2023年貴州省銅仁地區(qū)全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.在瀏覽WWW時(shí),如果連接到一個(gè)安全的站點(diǎn),應(yīng)當(dāng)以()開(kāi)頭來(lái)書(shū)寫(xiě)統(tǒng)一資源定位器。
A.shttp://B.http:s//C.http://D.https//
2.假設(shè)整型數(shù)i的地址為0x12345678,指針ip地址為0x21850043,則執(zhí)行以下后,k的值為()。A.0x12345678B.0x21850043C.100D.不確定
3.若有定義“a[]={1,2,3,4,5,6,7,8,9,10};”,則“a[a[5]-a[7]/a[1]]”的值是()。
A.2B.4C.3D.10
4.若有定義;intw[3][5];,則以下不能正確表示該數(shù)組元素的表達(dá)式是()。A.*(*w+3)B.*(w+1)[4]C.*(*(w+1))D.*(&w[0][0]+1)
5.如有inta=11;則表達(dá)式(a/1)的值是()。
A.0B.3C.4D.11
6.
7.下列關(guān)系表達(dá)式中,結(jié)果為“假”的是()。A.(3+4)>6B.(3!=4)>2C.3<=4||D.(3<4)=1
8.有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+l;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main{intc[10]={1,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序運(yùn)行的結(jié)果是()。A.1,2,3,4,5,6,7,8,9,0,
B.0,9,8,7,6,5,1,2,3,4,
C.0,9,8,7,6,5,4,3,2,1,
D.1,2,3,4,9,8,7,6,5,0,
9.
10.以下敘述中錯(cuò)誤的是()。
A.形參可以是常量、變量或表達(dá)式
B.實(shí)參可以是常量、變量或表達(dá)式
C.實(shí)參的類(lèi)型應(yīng)與形參的類(lèi)型賦值兼容
D.實(shí)參的個(gè)數(shù)應(yīng)與形參的個(gè)數(shù)一致
11.下列關(guān)于棧敘述正確的是A.棧頂元素最先能被刪除B.棧頂元素最后才能被刪除C.棧底元素永遠(yuǎn)不能被刪除D.以上三種說(shuō)法都不對(duì)
12.對(duì)以下四個(gè)序列用直接插入排序方法由小到大進(jìn)行排序時(shí),元素比較次數(shù)最少的是()
A.89,27,35,78,41,15
B.27,35,41,16,89,70
C.15,27,46,40,64,85
D.90,80,45,38,30,25
13.
14.
15.下列表達(dá)式中,可以正確表示的關(guān)系是()。
A.(x>=1)10(x<=0)B.x>1‖x=0C.x>=1ORx<=0D.X>=1&&x<=0
16.向一個(gè)棧頂指針為H的鏈棧中執(zhí)行出棧運(yùn)算時(shí),需執(zhí)行()。
A.p=H;H=H->link;free(p);
B.H=H->link;free(H);
C.p=H;H->link=H->link->link;free(p);
D.p=H;H=H->link;
17.有以下程序:structSTU{charname[10];intnum;floatTotalScore;};voidf(structSTU*p){structSTUs[2]={{"SunDan",20044,550},{"Penghua",20045,537}},*q=s;++p;++q;*p=*q;}main(){structSTUs[3]={{"YangSan",20041,703},{"LiSiGuo",20042,580}};f(s);printf("%s%d%3.0f\n",s[1].name,s[1].num,s[1].TotalScore);}程序運(yùn)行后的輸出結(jié)果是______。
A.SunDan20044580
B.Penghua20045537
C.LiSiGUO20042580
D.SunDan20041703
18.
19.以下敘述中錯(cuò)誤的是()。
A.C語(yǔ)言程序在運(yùn)行過(guò)程中的所有計(jì)算都以二進(jìn)制方式進(jìn)行
B.C語(yǔ)言程序在運(yùn)行過(guò)程中的所有計(jì)算都以十進(jìn)制方式進(jìn)行
C.所有C語(yǔ)言程序都需要編譯、鏈接無(wú)誤后才能運(yùn)行
D.C語(yǔ)言程序中字符變量存放的是字符的ASCII值
20.
二、2.填空題(20題)21.有下列程序,功能是把輸入的+進(jìn)制長(zhǎng)整型數(shù)以+六進(jìn)制的形式輸出,完成程序
#include"stdio.h"
main()
{charb[17]={"0123456789ABCDEF"};
intc[50],d,i=0,base=16;
longn;
scanf("%1d",&n);
do{c[i]=n%base;i++;n=【】;}
while(n!=0);
for(--i;i>=0;--i)
{d=【】;printf("%c",b[d]);}
printf("H\n");}
22.有以下程序片段,請(qǐng)問(wèn)執(zhí)行后的輸出結(jié)果是【】。
intn=10;
while(n>7)
{printf("%d",n--);
}
23.以下程序的運(yùn)行結(jié)果是:【】。
#include<stdio.h>
#include<string.h>
char*ss(char*s)
{returns+strlen(s)/2;}
main()
{char*p,*str="abcdefgh";
p=ss(str);printf("%s\n",p);
24.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件是______。
25.診斷和改正程序中錯(cuò)誤的工作通常稱(chēng)為【】。
26.對(duì)下列二叉樹(shù)進(jìn)行中序遍歷的結(jié)果為【】。
27.在樹(shù)形結(jié)構(gòu)中,樹(shù)根結(jié)點(diǎn)沒(méi)有______。
28.有以下程序
main()
{intn=0,m+1,X=2;
if(!n)X-=l;
if(m)X-=2;
if(X)X-=3;
printf("%d\n",x);
}
執(zhí)行后輸出的結(jié)果是【】。
29.若a=1,b=2,則表達(dá)式!(x=A)‖(y=B)&&0的值是______。
30.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
longfunc(intx)
{longp;
if(x==O‖x==1)
return(1);
p=x*func(x-1);
return(p);
}
main()
{printf("%d\n",func(4));
}
31.下面程序的功能是將一個(gè)字符串str的內(nèi)容顛倒過(guò)來(lái),請(qǐng)?zhí)羁铡?/p>
main()
{
inti,j,【】;charstr[]={"1234567");
for(i=0,j=strlen(str)【】;i<j;i++,j--)
{k=str[i];str[i]=str[j];str[j]=k;}
printf("%s\n",str);
}
32.以下函數(shù)的功能是【】。
floatav(a,n)
floata[];
intn;
{inti;floats;
for(i=0,s=0;i<n;i++)s=s+a[i];
returns/n;}
33.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
longfib(intg)
{switch(g)
{case0:return0;
case1:
case2:return1;}
return(fib(g-1)+fib(g-2));}
main()
{longk;
k=fib(5);
printf("k=%5ld\n",k);}
34.在面向?qū)ο蠓椒▽W(xué)中,直接反映了用戶(hù)對(duì)目標(biāo)系統(tǒng)的要求的模型是【】。
35.下列程序輸出的結(jié)果是【】。
fun(intx)
{staticinta=3;
a+=x;
return(a);
}
main()
{intk=2,m=1,n;
n=fun(k);
n=fun(m);
printf("%d\n",n);
}
36.關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件,包括實(shí)體完整性、______和自定義完整性。
37.在面向?qū)ο蠓椒ㄖ校?)是具有相似性質(zhì)的對(duì)象的集合。
38.數(shù)據(jù)元素之間______的整體稱(chēng)為邏輯結(jié)構(gòu)。
39.下列語(yǔ)句的輸出結(jié)果是______。
chars[20]="aaaa",*sp=s;
puts(strcat(sp,"AAAAA"));
40.以下sstrcpy()函數(shù)實(shí)現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指向內(nèi)存空間中,形成一個(gè)新的字符串s。請(qǐng)?zhí)羁铡?/p>
voidsstrcpy(char*s,char*t)
{while(*s++=______);}
main()
{charstr1[100],str2[]="abcdefgh";
sstrcpy(str1,str2);
printf("%s\n",str1);
}
三、1.選擇題(20題)41.下列敘述中正確的是()。
A.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間具有密切的聯(lián)系
B.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象都是公用的
C.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴(lài)性小
D.上述三種說(shuō)法都不對(duì)
42.有以下程序main(){intk=5,n=0;while(k>0){switch(k){default:break;case1:n+=k;case2:case3:n+=k;}k--;}printf("%d\n",n);程序運(yùn)行后的輸出結(jié)果是
A.0B.4C.6D.7
43.設(shè)x為整型變量,n=14,n的地址為4000;m=6,m的地址為2000;執(zhí)行語(yǔ)句x=&n后的結(jié)果為()。
A.14B.6C.2000D.4000
44.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。
A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語(yǔ)言的先進(jìn)性D.程序的易讀性
45.對(duì)存有重要數(shù)據(jù)的5.25英寸軟盤(pán),防止計(jì)算機(jī)病毒感染的方法是()
A.不要與有病毒的軟盤(pán)放在一起B(yǎng).在寫(xiě)保護(hù)口貼上膠條C.保持軟盤(pán)清潔D.定期對(duì)軟格化式
46.設(shè)有如下程序段:intx=2002,y=2003;printf(“%d\n”,(x,y));則以下敘述中正確的是
A.輸出語(yǔ)句中格式說(shuō)明符的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),不能正確輸出
B.運(yùn)行時(shí)產(chǎn)生出錯(cuò)信息
C.輸出值為2002
D.輸出值為2003
47.當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是______。
A.數(shù)組的長(zhǎng)度B.數(shù)組的首地址C.數(shù)組每一個(gè)元素的地址D.數(shù)組每個(gè)元素中的值
48.若要用fopen函數(shù)打開(kāi)一個(gè)文本文件,該文件要既能讀也能寫(xiě),則文件使用方式的字符串為()。
A.r+B.a+C.rb+D.'wb+"
49.若有說(shuō)明inta[3][4];則下面屬于a數(shù)組元素的非法引用的是()。
A.a[0][2*1]B.a[1][3]C.a[4-2][0]D.a[0][4]
50.以下程序的功能是:按順序讀入10名學(xué)生4門(mén)課程的成績(jī),計(jì)算出每位學(xué)生的平均分并輸出,程序如下:main(){intn.k;floatscore.sum,ave;sum=0.0;for(n=1;n<=10;n++){for(k=1;k<=4;k++){scanf("%f",&score);sum+=score;}ave=sum/4.0;printf("NO%d:%f\n",n,ave);}}上述程序運(yùn)行后結(jié)果不正確,調(diào)試中發(fā)現(xiàn)有—條語(yǔ)句出現(xiàn)在程序中的位置不正確。這條語(yǔ)句是
A.sum=0.0;
B.sum+=score;
C.ave=sun/4.0;
D.printf("NO%d:%f\n",n,ave);
51.在函數(shù)scanf的格式控制中,格式說(shuō)明的類(lèi)型與輸入項(xiàng)的類(lèi)型應(yīng)該對(duì)應(yīng)匹配。如果類(lèi)型不匹配,系統(tǒng)將()。
A.不予接收B.并不給出出錯(cuò)信息,但不能得到正確的數(shù)據(jù)C.能接收到正確輸入D.給出出錯(cuò)信息,不予接收輸入
52.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.x=y*5=x+z
B.int(15.8%5.
C.x=y+z+5,++y
D.x=25%5.0
53.軟磁盤(pán)最外邊的磁道數(shù)是()
A.0B.1C.39D.79
54.下列關(guān)于單目運(yùn)算符++、--的敘述中正確的是A.它們的運(yùn)算對(duì)象可以是任何變量和常量
B.它們的運(yùn)算對(duì)象可以是char型變量和int型變量,但不能是float型變量
C.它們的運(yùn)算對(duì)象可以是int型變量,但不能是double型變量和float型變量
D.它們的運(yùn)算對(duì)象可以是char型變量、int型變量和float型變量
55.以下程序的輸出結(jié)果是______。main(){inta=3;printf("%d\n",(a+=a-=a*A));}
A.-6B.1C.2D.-12
56.對(duì)于白箱(盒)測(cè)試用例的各設(shè)計(jì)準(zhǔn)則,下列敘述中正確的是()。
A.分支覆蓋準(zhǔn)則比語(yǔ)句覆蓋準(zhǔn)則嚴(yán)密
B.條件覆蓋要比分支覆蓋優(yōu)越。因此,條件覆蓋能完全滿(mǎn)足分支覆蓋
C.組合條件覆蓋準(zhǔn)則既能滿(mǎn)足分支覆蓋準(zhǔn)則,也能滿(mǎn)足條件覆蓋準(zhǔn)則。因此,組合條件覆蓋準(zhǔn)則是一種完全測(cè)試
D.上述說(shuō)法都不對(duì)
57.以下程序的結(jié)果是______。inta,b;voidfun(){a=100;b=200;}main(){inta=5;b=7fun();printf("%d%d\n",a,b);}
A.100200B.57C.200100D.75
58.以下選項(xiàng)中非法的表達(dá)式是()。
A.0<=x<100B.i=j==0C.(char)(65+3)D.x+1=x+1
59.循環(huán)鏈表的主要優(yōu)點(diǎn)是______。
A.不再需要頭指針了
B.己知某個(gè)結(jié)點(diǎn)的位置后,能夠容易找到它的直接前驅(qū)
C.在進(jìn)行插入、刪除運(yùn)算時(shí),能更好地保證鏈表不斷開(kāi)
D.從表中任一結(jié)點(diǎn)出發(fā)都能掃描到整個(gè)鏈表
60.以下程序的輸出結(jié)果是_______。#include<stdio.h>main(){inti;for(i=1;i<5;i++){if(i%2)printf("*");elsecontinue;printf("#");}printf("$\n");}
A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$
四、選擇題(20題)61.
62.以下選項(xiàng)中合法的標(biāo)識(shí)符是()。A.1_2B._12C.2_1D.12__
63.#define能作簡(jiǎn)單的替代,用宏來(lái)替代計(jì)算多項(xiàng)式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語(yǔ)句為()。
A.#definef(x)5*x*x+5*x+5
B.#definef5*X*x+5*x+5
C.#definef(a)(5*a*a+5*a+5)
D.#define(5*x*x+5*x+5)f(x)
64.有如下程序
#include"stdio.h"
main()
{intj,i,k=0;
for(j=20;j<=30;j++)
{if(!(k%10))printf("\n");
for(i=2;i<j;i++)if(!(j%i))break;
if(i>=j-1)
{printf("%d",j);
k++;}
}
}
程序的運(yùn)行結(jié)果是
A.2329B.2923
C.3292D.9232
65.
66.有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示,指針p、q、r分別指向此鏈表中的3個(gè)連續(xù)結(jié)點(diǎn)。structnode{
int
data;structnode
*next;
}*p,*q,*r;現(xiàn)要將這個(gè)鏈表構(gòu)成一個(gè)環(huán),以下(
)操作是正確的。A.p->next=q->nextB.r->next=pC.p->next=rD.r->next=q->next->next
67.
68.若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
69.下面結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是()。
A.structord{intx;intY;intz;}structorda;
B.structord{intx;imY;imz;};structorda;
C.structord{intx;intY;intZ;}a;
D.struct{intx;intY;intz;}a;
70.
71.有三個(gè)關(guān)系R、s和T如下:
由關(guān)系R和s通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.并B.自然連接C.笛卡爾積D.交
72.以下定義數(shù)組的語(yǔ)句中錯(cuò)誤的是()。
73.
74.
有下列程序:
main
{intx=5;
do
{printf("%d",X-=4);)
while(!(--x));
}
程序的輸出結(jié)果是()。
A.1B.20C.1-4D.死循環(huán)
75.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.45B.20C.25D.36
76.
77.若有以下的說(shuō)明和語(yǔ)句,則在執(zhí)行for語(yǔ)句后,’(*(pt+1)+2)表示的數(shù)組元素是()。
intt[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]=&t[k][0];A.A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
78.
設(shè)有定義:“inta;floatb;”,執(zhí)行“scanf("%2d%f",&a,&b);”語(yǔ)句時(shí),若從鍵盤(pán)輸入876543.0<回車(chē)>,a和b的值分別是()。
A.876和543.000000
B.87和6.000000
C.87和543.000000
D.76和543.000000
79.
80.設(shè)A為存放(短)整型的一維數(shù)組,如果A的首地址為P,那么A中第i個(gè)元素的地址為()。
A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:利用插入排序法對(duì)字符串中的字符按從小到大的順序進(jìn)行排序。插入法的基本方法是:先對(duì)字符串中的頭2個(gè)元素進(jìn)行排序,然后把第3個(gè)字符插入到前2個(gè)字符中,插入后前3個(gè)字符依然有序;再把第4個(gè)字符插人到前3個(gè)字符中,待排序的字符串已在主函數(shù)中賦予。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,定義了NxN的二維數(shù)組,并在主函數(shù)中賦值。請(qǐng)編寫(xiě)函數(shù)fun(),其功能是求出數(shù)組周邊元素的平均值并將其作為函數(shù)值返回給主函數(shù)中的s。例如,若a數(shù)組中的值為0127919745238314568259141則返回主程序后s的值應(yīng)為3.375。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:1#include<stdio.h>2#include<conio.h>3#include<stdlib.h>4#defineN55doublefun(intw[][n])6{78}9voidmain()10{11FILE*wf;12inta[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,13inti,j;14doubles;15system("CLS");16printf("***Thearray***\n");17for(i=0;i<N;i++)18{for(j=0;j<N;j++)19{printf("%4d",a[i][j]);}20printf("\n");21}22s=fun(a);23printf("***TheResult***\n");24printf("Thesumis:%lf\n",s);25/******************/26wf=fopen("out.dat","w");27fprintf(wf,"%if",s);28fclose(wf);29/******************/30}
參考答案
1.C
2.C
3.C題干中,數(shù)組a包含10個(gè)元素。其中a[5]為6,a[7]為8,a[1]為2,所以表達(dá)式“a[a[5]-a[7]/a[1]]”等價(jià)于“a[6-8/2]”,等價(jià)于a[2],即3。故本題答案為C選項(xiàng)。
4.B通過(guò)—維數(shù)組名或指向維數(shù)組元素的指針來(lái)引用數(shù)組元素有兩種寫(xiě)法:a[i]和*(a+i),它們是等價(jià)的。這是一種運(yùn)算符之間的等價(jià)轉(zhuǎn)換,就好像a-(b-C)等價(jià)于a-b+c一樣。知道了這種轉(zhuǎn)換,我們可以將之?dāng)U展到二維數(shù)組甚至任意維數(shù)組上來(lái)。因?yàn)閇]運(yùn)算符的結(jié)合性是從左至右的,所以w[i][j]等價(jià)于(w[i][j],此時(shí)可以先將任意一個(gè)[]運(yùn)算符轉(zhuǎn)換為指針形式為:(*(w+i)[j]或*(w[i]+j),或者同時(shí)轉(zhuǎn)換:*(*(w+i)+j)。上述幾種形式都完全等價(jià)于w[i][j]。選項(xiàng)A中,*(*w+3)可以看成*(*(w+0)+3),即w[0][3],是正確的。選項(xiàng)B小,因?yàn)閇]運(yùn)算符的優(yōu)先級(jí)高于*運(yùn)算符,所以*(w+1)[4]等價(jià)于*((w+1)[4]等價(jià)于*(*((w+1)+4)),即*(*(w+5)+0),它等價(jià)于w[5][0],很明顯它超過(guò)數(shù)組的范圍了,故不正確。選項(xiàng)C等價(jià)于w[1][0],是下確的。選項(xiàng)D中,&w[0][0]是數(shù)組w第1個(gè)元素的地址,它等價(jià)于&*(*(w+0)+0),外面的&和*可以抵消,就好像先乘以個(gè)數(shù),然后再除以這個(gè)數(shù)一樣。所以,&w[0][0]等價(jià)于*(w+0)+0。即*w。所以原式就變?yōu)?(*w+1)等價(jià)于w[0][1],這個(gè)也是合法的。綜上所述,本題應(yīng)該選擇B。
5.D
6.A
7.B在一個(gè)表達(dá)式中,括號(hào)的優(yōu)先級(jí)高,先計(jì)算3!=4,為真即是l,1>2為假。
8.Dfun函數(shù)的功能是對(duì)數(shù)組a[]的元素從大到小進(jìn)行排序。
9.C
10.A函數(shù)中,形參必須是變量,實(shí)參可以是常量、變量或表達(dá)式,選項(xiàng)A錯(cuò)誤,選項(xiàng)B正確;實(shí)參的個(gè)數(shù)和類(lèi)型要與形參一致,選項(xiàng)C、D正確。本題答案為A選項(xiàng)。
11.A棧是限定只在一端進(jìn)行插入與刪除的線(xiàn)性表,按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。
12.C
13.D
14.B
15.A解析:題中要求x的取值是小于等于0或者大于等于1,這說(shuō)明表達(dá)式是或的關(guān)系,所以在寫(xiě)成C語(yǔ)言表達(dá)式應(yīng)是邏輯或的關(guān)系,邏輯或運(yùn)算符是'‖'。
16.A
17.B解析:f函數(shù)用了顯式傳地址的方式,因此主函數(shù)中的s值發(fā)生了變化。
18.C
19.BC語(yǔ)言程序在運(yùn)行過(guò)程中的所有計(jì)算都以二進(jìn)制方式進(jìn)行,所以B選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。
20.B
21.n/base或n/16c[i]n/base或n/16\r\nc[i]解析:字符串的綜合運(yùn)用。
22.1098
23.efghefgh解析:函數(shù)*ss的作用是使字符串指針往后移strlen(s)/2個(gè)位置。形參指針a指向字符串'abcdefeh',調(diào)用函數(shù)*ss后,指針指向e,所以輸出為efgh。
24.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)的管理機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等。
25.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。程序調(diào)試與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)誤,然后借助于調(diào)試工具找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期,而調(diào)試主要在開(kāi)發(fā)階段。
26.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”。
27.前件前件
28.-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=O,可以判斷(!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。所以,最后輸出為-4。
29.00解析:根據(jù)運(yùn)算符的運(yùn)算順序可知,該表達(dá)式最后運(yùn)算的是與(&&)運(yùn)算,而任何表達(dá)式與“0”進(jìn)行“與”運(yùn)算,結(jié)果都為0。
30.本題考查函數(shù)的循環(huán)調(diào)用。p=x*func(x-1),當(dāng)x=4時(shí),不滿(mǎn)足if語(yǔ)句的條件,p=4*func(3),x=3也不滿(mǎn)足條件,則func(3)=3*func(2),func(2)=2*func(1),x=1滿(mǎn)足條件return(1),則輸出結(jié)果為4*3*2*1=24。\r\n\r\n
31.k-1k\r\n-1解析:程序山使用了整型變量i、j、k,使用前應(yīng)先聲明,因此第1個(gè)空應(yīng)填變量k。i和j作為下標(biāo)的值,i被賦初值為0,j應(yīng)為下標(biāo)的最大值,下標(biāo)的最大值為數(shù)組的長(zhǎng)度減1。
32.求出數(shù)組元素平均值求出數(shù)組元素平均值解析:函數(shù)有一個(gè)數(shù)組形參a和一個(gè)整型形參n。函數(shù)首先用循環(huán)求數(shù)組a的前n個(gè)元素和,然后將和除以n。即求數(shù)組元素的平均值。
33.k=5k=5解析:本題主要考查了函數(shù)的遞歸調(diào)用方法。g=0或\ue008g=1\ue009或g=2是遞歸的終止條件,然后用回代的方法從一個(gè)已知值推出下一個(gè)值,直到計(jì)算出最終結(jié)果。
34.功能模型功能模型
35.6
36.參照完整性參照完整性
37.類(lèi)類(lèi)解析:將屬性、操作相似的對(duì)象歸為類(lèi),也就是說(shuō),類(lèi)是具有共同屬性、共同操作性質(zhì)的對(duì)象的集合,是已經(jīng)定義了的關(guān)于對(duì)象的特征、外觀和行為的模板。所以類(lèi)是對(duì)象的抽象,它描述了屬于該對(duì)象類(lèi)型的所有對(duì)象的性質(zhì),而一個(gè)對(duì)象則是其劃應(yīng)類(lèi)的一個(gè)實(shí)例。
38.邏輯關(guān)系邏輯關(guān)系
39.aaaaAAAAAaaaaAAAAA解析:函數(shù)strcat(sp,'AAAAA')的作用是將字符中“AAAAA”連接到字符串sp的末尾,并自動(dòng)覆蓋字符數(shù)組sp末尾的\'\\0\'。
40.*t++或*(t++)*t++或*(t++)解析:主函數(shù)中定義了兩個(gè)字符型數(shù)組st1l和str2,并且給str2賦初值“abcdefgh”,接著調(diào)用函數(shù)sstrcpy(str1,str2),將字符串str2的值賦給str1.在函數(shù)sstrcpy(*s,*t)中,用了一個(gè)while循環(huán),每循環(huán)一次將形參指針t所指的字符賦給形參指針s所指向的存儲(chǔ)空間,然后指針s和指針t都下移到下一個(gè)元素。所以空格處應(yīng)該填*t++或*(t++)。
41.C解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,對(duì)象是面向?qū)ο蟮能浖幕灸K,它是由數(shù)據(jù)及可以對(duì)這些數(shù)據(jù)施加的操作所組成的統(tǒng)一體,而且對(duì)象是以數(shù)據(jù)為中心的,操作圍繞對(duì)其數(shù)據(jù)所需做的處理來(lái)設(shè)置,沒(méi)有無(wú)關(guān)的操作。從模塊的獨(dú)立性考慮,對(duì)象內(nèi)部各種元素彼此結(jié)合得很緊密,內(nèi)聚性強(qiáng)。由于完成對(duì)象功能所需要的元素(數(shù)據(jù)和方法)基本上都被封裝在對(duì)象內(nèi)部,它與外界的聯(lián)系自然就比較少,所以,對(duì)象之間的耦合通常比較松。所以,選項(xiàng)A與B錯(cuò)誤,選項(xiàng)C正確。
42.D解析:本題考查的是switch語(yǔ)句。switch語(yǔ)句中的case或default只是一種入口標(biāo)號(hào),它并不形成一種子句的概念。當(dāng)滿(mǎn)足其中某個(gè)標(biāo)號(hào)的條件而進(jìn)入switch語(yǔ)句中時(shí),如果沒(méi)碰到break語(yǔ)句,將一直執(zhí)行到switch語(yǔ)句的結(jié)尾。題目中使用了一個(gè)while循環(huán)使k從5遞減到1,當(dāng)k=5或4的時(shí)候從default標(biāo)號(hào)進(jìn)入switch,碰到break;語(yǔ)句立即跳出,沒(méi)有改變n:當(dāng)k=3時(shí),執(zhí)行了一次n+=k;;k=2時(shí),也執(zhí)行了一次n+=k;k=1時(shí),執(zhí)行了兩次n+=k;所以最終n的值為3+2+1+1=7。故應(yīng)該選擇D。
43.D解析:&是取地址運(yùn)算符,表達(dá)式x=&a是表示將a的地址賦給變量x。
44.D解析:程序不僅是編寫(xiě)完就結(jié)束了,為了測(cè)試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡(jiǎn)單和清晰,即程序的易讀性,“清晰第一,效率第二”。
45.B
46.D解析:逗號(hào)運(yùn)算符的結(jié)合性為從左到右,其一般形式為“表達(dá)成1,表達(dá)式2”,整個(gè)表達(dá)式的值為表達(dá)式2的值。故4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
47.B解析:當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是數(shù)組的首地址,函數(shù)中的形參可定義成以下三種形式:
①形參定義成數(shù)組;
②形參定義成可變長(zhǎng)數(shù)組:
③形參定義為指針變量。
48.A解析:選項(xiàng)A表示為讀/寫(xiě)打開(kāi)一個(gè)文本文件,符合題意;選項(xiàng)B表示為讀/寫(xiě)建立一個(gè)新的文本文件;選項(xiàng)C表示為讀/寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件:選項(xiàng)D表示為讀/寫(xiě)建立一個(gè)新的二進(jìn)制文件。故應(yīng)該選擇A。
49.D解析:本題定義a為3行X4列的數(shù)組,數(shù)組的下標(biāo)是從零開(kāi)始的,因此本題可用的行下標(biāo)為0-2,列下標(biāo)為0-3。a[0][4]的列下標(biāo)超過(guò)了數(shù)組的范圍,所以錯(cuò)誤。
50.A解析:程序中使用了兩層for循環(huán),外層循環(huán)的作用是控制人數(shù),循環(huán)一次是求一個(gè)人的成績(jī)和,然后除以4得到平均成績(jī)。每個(gè)人的成績(jī)總和一開(kāi)始時(shí)都必須清0,否則就會(huì)出現(xiàn)后面人的總成績(jī)?cè)絹?lái)越大。“sum=0.0”;應(yīng)在外層循環(huán)中。選項(xiàng)A正確。
51.B解析:在scanf函數(shù)的格式控制中,格式說(shuō)明的類(lèi)型與輸入項(xiàng)的類(lèi)型必須一一對(duì)應(yīng)匹配,如不匹配將導(dǎo)致數(shù)據(jù)輸入出現(xiàn)錯(cuò)誤,但是系統(tǒng)并不報(bào)錯(cuò)。
52.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)。
53.A
54.D本題主要考查自加與自減運(yùn)算符。在C語(yǔ)言中,自加與自減運(yùn)算符具有以下性質(zhì):
(1)自加運(yùn)算符“++”和自減運(yùn)算符“--”的運(yùn)算本身是一種賦值運(yùn)算,其結(jié)果是使運(yùn)算對(duì)象的值增1或減1。
(2)++、--運(yùn)算符是單目運(yùn)算符,運(yùn)算對(duì)象可以是整型變量或字符型變量,也可以是實(shí)型變量,但不能是常量和表達(dá)式。
(3)自加、自減運(yùn)算符無(wú)論是作為前綴還是后綴運(yùn)算符,對(duì)于變量而言,其效果相同,但作為表達(dá)式來(lái)說(shuō),其值不同。
(4)++和--運(yùn)算符的結(jié)合方向是“自右向左”。
(5)不要在一個(gè)表達(dá)式中對(duì)同一個(gè)變量進(jìn)行多次自增或自減運(yùn)算??梢灾辣绢}正確的答案是D。
55.D解析:賦值運(yùn)算符的結(jié)合方向是自右至左,所以表達(dá)式a+=a-=a*a先運(yùn)算最右邊的a*a得9,再運(yùn)算a=a-9,即a=3-9,所以此時(shí)a的值由3變成了-6,最后運(yùn)算a=a-+(-6),即a=(-6)+(-6)=-12。
56.A解析:白箱(盒)測(cè)試是根據(jù)對(duì)程序內(nèi)部邏輯結(jié)構(gòu)的分析來(lái)選取測(cè)試用例的。白箱(盒)測(cè)試用例的設(shè)計(jì)準(zhǔn)則有:語(yǔ)句覆蓋、分支覆蓋、條件覆蓋和組合條件覆蓋。分支覆蓋通過(guò)足夠多的測(cè)試用例,使程序中的每個(gè)分支至少通過(guò)一次。分支覆蓋準(zhǔn)則比語(yǔ)句覆蓋準(zhǔn)則嚴(yán)密一些,選項(xiàng)A正確;條件覆蓋通過(guò)執(zhí)行足夠多的測(cè)試用例,使每個(gè)判定中的每個(gè)條件都能取到兩種不同的結(jié)果(“真”與“假”)。雖然條件覆蓋要比分支覆蓋優(yōu)越,但、并不能完全滿(mǎn)足分支覆蓋,選項(xiàng)B錯(cuò)誤;組合條件覆蓋要求通過(guò)足夠多的測(cè)試用例,使每個(gè)判定中各條件的各種可能組合至少出現(xiàn)一次,它既能滿(mǎn)足分支覆蓋準(zhǔn)則,也能滿(mǎn)足條件覆蓋準(zhǔn)則,但也不是完全測(cè)試,選項(xiàng)C錯(cuò)誤。
57.B解析:全程變量是可以在子函數(shù)中對(duì)其值作改變,且它也可作為函數(shù)間的值傳遞。但當(dāng)函數(shù)或子函數(shù)中定義了與全程變量名稱(chēng)相同的局部變量,則全程變量將被屏蔽。
58.D解析:選項(xiàng)A)在C語(yǔ)言中是一個(gè)合法的關(guān)系表達(dá)式,但它并不代表數(shù)學(xué)式o<=x<100。計(jì)算0<=x<100時(shí),從左到右結(jié)合,先計(jì)算0<=x,其結(jié)果只能是0或1,然后再比較0<100或1<100。根據(jù)運(yùn)算符的優(yōu)先級(jí),選項(xiàng)B)先判斷j==0是否成立,其結(jié)果只能是0或1,然后再將0或1賦給i。選項(xiàng)C)中,(char)(65+3)為類(lèi)型強(qiáng)制轉(zhuǎn)換,將整數(shù)型數(shù)據(jù)轉(zhuǎn)換為字符型。選項(xiàng)D)是將一個(gè)數(shù)據(jù)賦給一個(gè)表達(dá)式,等號(hào)左邊不合要求,所以錯(cuò)誤。
59.D
60.C解析:當(dāng)i不可以整除2時(shí)打印“*”然后打印“#”,不能整除2則執(zhí)行continue,跳撾printf('#');語(yǔ)句,結(jié)束本次循環(huán),返回到循環(huán)的起始點(diǎn)。當(dāng)循環(huán)結(jié)束后,打印“$”。
61.D
62.B標(biāo)識(shí)符命名規(guī)則:標(biāo)識(shí)符必須由字母(a~z或A~z)或下劃線(xiàn)(_)開(kāi)頭;標(biāo)識(shí)符的其他部分可以用字母、下劃線(xiàn)或數(shù)字(0~9)組成;大小寫(xiě)字母表示不同意義,如cout和Cout代表不同的標(biāo)識(shí)符;在定義標(biāo)識(shí)符時(shí),雖然語(yǔ)法上允許用下劃線(xiàn)開(kāi)頭,但是,最好避免定義用下劃線(xiàn)開(kāi)頭的標(biāo)識(shí)符,因?yàn)榫幾g器常常定義一些下劃線(xiàn)開(kāi)頭的標(biāo)識(shí)符。因此,本題正確答案為B)。
63.C解析:帶參數(shù)宏的格式為:#define標(biāo)識(shí)符(形參表)形參表達(dá)式。其功能是:在預(yù)處理程序中將程序中出現(xiàn)的所有帶實(shí)參的宏名,展開(kāi)成由實(shí)參組成的表達(dá)式。
64.A在本題中,程序首先定義了三個(gè)整型變量,并將變量k賦值為0,然后開(kāi)始循環(huán),循環(huán)開(kāi)始時(shí),變量j的值為20,結(jié)束時(shí),變量j的值為30,每循環(huán)一次,變量j自加1,即循環(huán)10。
當(dāng)j=20,k=0時(shí),“!(k%10)”為真,輸出換行,即循環(huán)開(kāi)始時(shí),輸出從新的一行開(kāi)始,執(zhí)行第二重循環(huán),此時(shí)的i=2,“!(j%i)”為真,運(yùn)行break語(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 提高銷(xiāo)售管理能力的培訓(xùn)課程
- 2025天津市農(nóng)資買(mǎi)賣(mài)合同范文
- 家居裝飾設(shè)計(jì)與施工方案
- 勞動(dòng)合同知識(shí)產(chǎn)權(quán)保密條款
- 房屋中介買(mǎi)賣(mài)服務(wù)合同范本
- 2025《代理企業(yè)所得稅年度納稅申報(bào)合同》(合同模版)
- 的買(mǎi)賣(mài)合同范本
- 社工勞動(dòng)合同
- 2025工程外包合同模板
- 農(nóng)業(yè)機(jī)械設(shè)備采購(gòu)安裝合同
- JTGT H21-2011 公路橋梁技術(shù)狀況評(píng)定標(biāo)準(zhǔn)
- 賣(mài)花生混聲合唱簡(jiǎn)譜
- 【永輝超市公司員工招聘問(wèn)題及優(yōu)化(12000字論文)】
- 柴油加氫裝置知識(shí)培訓(xùn)課件
- 汽油安全技術(shù)說(shuō)明書(shū)(MSDS)
- 中國(guó)直銷(xiāo)發(fā)展四個(gè)階段解析
- 2024屆浙江省寧波市鎮(zhèn)海區(qū)鎮(zhèn)海中學(xué)高一物理第一學(xué)期期末質(zhì)量檢測(cè)試題含解析
- 部編版語(yǔ)文四年級(jí)下冊(cè) 教材解讀
- 《一次函數(shù)與方程、不等式》說(shuō)課稿
- 動(dòng)火作業(yè)安全管理要求及控制措施
- 詩(shī)豪劉禹錫一生部編教材PPT
評(píng)論
0/150
提交評(píng)論