




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年江西省宜春市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序intfun(intx,inty){return(x+y);}main{inta=1,b=2,C=3,sum;sum=fun((a++,b++,a+b),c++printf("%d\n",sum);)執(zhí)行后的輸出結(jié)果是()。A.6B.7C.8D.9
2.已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是()。
A.數(shù)組a和b的長(zhǎng)度相同B.a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度C.a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度D.以述說(shuō)法都不對(duì)
3.有以下程序
main()
{
intn[3],i,j;
for(i=0;i<3;i++)
n[i]=0;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
n[j]=n[i]+1;
printf("%d\n",n[1]);
}
程序運(yùn)行后的輸出結(jié)果是A.A.2
B.1
C.0
D.3
4.設(shè)有以下語(yǔ)句:inta=1,b=2,c;c=a^(b<<2);執(zhí)行后,c的值為()。A.6B.7C.8D.9
5.設(shè)有以下定義:inta=0;doubleb=1.25;charc='A';#defined2則下面語(yǔ)句中錯(cuò)誤的是()。
A.a++;B.b++;C.c++;D.d++;
6.有以下程序:
A.1,5,9,B.1,4,7,C.3,5,7,D.3,6,9,
7.設(shè)有6個(gè)結(jié)點(diǎn)的無(wú)向圖,該圖至少應(yīng)有()條邊才能確保是一個(gè)連通圖。
A.5B.6C.7D.8
8.計(jì)算機(jī)能夠直接識(shí)別和執(zhí)行的語(yǔ)言是
A.匯編語(yǔ)言B.自然語(yǔ)言C.機(jī)器語(yǔ)言D.高級(jí)語(yǔ)言
9.下列運(yùn)算符中優(yōu)先級(jí)最低的算符是()。
A.||B.!=C.<;=D.十
10.若有如下程序:main(){inta=0,t=0;while(!a!=0)t+=a++;printf("%d,%d\n",t,A);}則程序運(yùn)行后的輸出結(jié)果是()
A.0,1B.1,0C.0,0D.1,1
11.C語(yǔ)言中char類(lèi)型數(shù)據(jù)占字節(jié)數(shù)為()。
A.3B.4C.1D.2
12.若執(zhí)行下述程序時(shí),若從鍵盤(pán)輸入6和8,結(jié)果為()。main(){inta,b,s;scanf("%d%dt",&a,&B);s=a:if(s=B)s*=s;printf("%d",s);}
A.36B.64C.48D.以上都不對(duì)
13.在多媒體計(jì)算機(jī)系統(tǒng)中,不能用以存儲(chǔ)多媒體信息的是A.光纜B.軟盤(pán)C.硬盤(pán)D.光盤(pán)
14.對(duì)兩個(gè)數(shù)組a和b進(jìn)行下列初始化:charm[]1="l234567":charn[]={1,2,3,4,5,6,7);則下列敘述正確的是()。A.數(shù)組m與數(shù)組n完全相同B.數(shù)組m與數(shù)組n長(zhǎng)度相同C.數(shù)組m比數(shù)組n長(zhǎng)1D.數(shù)組m與數(shù)組n中都存放字符串
15.有下列程序:#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
16.
17.下列選項(xiàng)中,能夠滿(mǎn)足“若字符串sl等于字符串s2,則執(zhí)行ST”要求的是()。
A.if(stremp(s2,s1)==0)ST;
B.if(s1==s2)ST;
C.if(strcpy(sl,s2)==l)ST;
D.if(sl,s2==O)ST;
18.算術(shù)運(yùn)算符和圓括號(hào)有不同的運(yùn)算優(yōu)先級(jí),對(duì)于表達(dá)式“a+b+c*(d+e)”,關(guān)于執(zhí)行順序,以下說(shuō)法正確的是()。
A.先執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,再執(zhí)行“a+b”得r1,最后執(zhí)行“r1+r3”得表達(dá)式最后結(jié)果
B.先執(zhí)行“a+b”得r1,再執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,最后執(zhí)行“r1+r3”得表達(dá)式最后結(jié)果
C.先執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,再執(zhí)行“b+r3”得r4,最后執(zhí)行“a+r4”得表達(dá)式最后結(jié)果
D.先執(zhí)行“a+b”得r1,再執(zhí)行“r1+c”得r5,再執(zhí)行“(d+e)”得r2,最后執(zhí)行“r5*r2”得表達(dá)式最后結(jié)果
19.考慮一個(gè)特殊的hash函數(shù)h,能將任一字符串hash成一個(gè)整數(shù)k,其概率P(k)=2^(-k),k=1,2,…,∞。對(duì)一個(gè)未知大小的字符串集合S中的每一個(gè)元素取hash值所組成的集合為h(S)。若h(S)中最大的元素Maxh(S)=10,那么S的大小的期望是()
A.1024B.512C.5D.10
20.下列敘述中正確的是()。
A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系
B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)
C.一個(gè)關(guān)系的屬性名表稱(chēng)為關(guān)系模式
D.一個(gè)關(guān)系可以包括多個(gè)二維表
二、2.填空題(20題)21.有以下程序
voidf(inty,int*x)
{y=y+*x;*X=*X+y;}
main()
{intx=2,y=4;
f(y,&x);
printf("%d%d\n",x,y);
}
執(zhí)行后輸出結(jié)果是______。
22.若a=1,b=2,則表達(dá)式!(x=A)‖(y=B)&&0的值是______。
23.表示“整數(shù)x的平方大于36"時(shí)的值為“真”的C語(yǔ)言邏輯表達(dá)式是【】。
24.對(duì)軟件是否能達(dá)到用戶(hù)所期望的要求的測(cè)試稱(chēng)為【】。
25.注釋一般分為序言性注釋和______注釋。
26.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且函數(shù)fun為void型,請(qǐng)寫(xiě)出函數(shù)fun的首部【】。要求形參名為b。
main()
}doubles[10][22];
intn;
┆
fun(s);
┆
}
27.關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件,包括實(shí)體完整性、______和自定義完整性。
28.在對(duì)文件操作的過(guò)程中,若要求文件的位置指針回到文件的開(kāi)始處,應(yīng)當(dāng)調(diào)用的函數(shù)是【】。
29.在先左后右的原則下,根據(jù)訪(fǎng)問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
30.己定義charch='$';inti=l,j;,執(zhí)行j=!ch&&ii++以后,i的值為【】。
31.以下程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a、b、c輸入三角形三條邊長(zhǎng)時(shí),確定a、b、c能構(gòu)成三角形的條件是需同時(shí)滿(mǎn)足三個(gè)條件:a+b>c,a+c>b,b+c>a。
請(qǐng)?zhí)羁铡?/p>
main()
{floata,b,c;
scanf("%f%f%f",&a,&b,&c);
if(【】)printf("YES\n");/*a、b、c能構(gòu)成三角形*/
elseprintf("NO\n");/*a、b、c不能構(gòu)成三角形*/
}
32.數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶(hù)與______之間的軟件系統(tǒng)。
33.以下程序的功能是:利用指針指向三個(gè)整型變量,并通過(guò)指針運(yùn)算找出三個(gè)數(shù)中的最大值,輸出到屏幕上。請(qǐng)?zhí)羁铡?/p>
main()
{intx,y,z,max,*px,*py,*pz,*pmax;
scanf("%d%d%d",&x,&y,&z);
px=&x;py=&y;pz=&z;pmax=&max;
【】;
if(*pmax<*py)*pmax=*py;
if(*pmax<*pz)*pmax=*pz;
printf("max=%d\n",max);}
34.下面程序的運(yùn)行結(jié)果是【】。
intf(inta[],intn)
{if(n>1)returna[0]+f(&a[1],n-1);
elsereturna[0];
}
main()
{intaa[3]={1,2,3},s;
s=f(&aa[0],3);
printf("%d\n",s);
}
35.已有定義:charc='';inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&Ra;后b的值為_(kāi)_____。
36.下面程序有兩個(gè)printf語(yǔ)句,如果第一個(gè)printf語(yǔ)句輸出的是194,則第二個(gè)printf語(yǔ)句的輸出結(jié)果是【】。
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%\n",p+9);
}
37.下面程序的功能是將一個(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);
}
38.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
39.語(yǔ)句:x++;++x;x=1+x;執(zhí)行后都使變量x中的值增1,請(qǐng)寫(xiě)出一條同一功能的賦值語(yǔ)句______。
40.函數(shù)compare的功能是比較兩個(gè)字符串是否相等,若相等則函數(shù)返回值0,否則返回值1,請(qǐng)?zhí)羁铡?/p>
compare(chars[],chart[])
{inti=0;
while(s[i]==t[i]||【】)i++;
return(【】?1:0);
}
三、1.選擇題(20題)41.下列關(guān)于線(xiàn)性鏈表的描述中正確的是()。
A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的
B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
C.存儲(chǔ)空間必須連續(xù),且各前件元素一定存儲(chǔ)在后件元素的前面
D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
42.下列說(shuō)法中不正確的是()
A.調(diào)制解調(diào)器(Modem)是局域網(wǎng)絡(luò)設(shè)備
B.集線(xiàn)器(Hub)是局域網(wǎng)絡(luò)設(shè)備
C.網(wǎng)卡(NIC)是局域網(wǎng)絡(luò)設(shè)備
D.中繼器(Repeater)是局域網(wǎng)絡(luò)設(shè)備
43.以下敘述中錯(cuò)誤的是()。
A.可以通過(guò)typedef增加新的類(lèi)型
B.可以用typedef將已存在的類(lèi)型用一個(gè)新的名字來(lái)代表
C.用typedef定義新的類(lèi)型名后,原有類(lèi)型名仍有效
D.用typedef可以為各種類(lèi)型起別名,但不能為變量起別名
44.下列敘述中正確的是()。
A.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間具有密切的關(guān)系
B.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象都是公用的
C.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴(lài)性小
D.上述3種說(shuō)法都不對(duì)
45.設(shè)一棵滿(mǎn)二叉樹(shù)共有15個(gè)結(jié)點(diǎn),則在該滿(mǎn)二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為()
A.7B.8C.9D.10
46.軟件設(shè)計(jì)中,有利于提高模塊獨(dú)立性的一個(gè)準(zhǔn)則是______。A.低內(nèi)聚低耦合B.低內(nèi)聚高耦合C.高內(nèi)聚低耦合D.高內(nèi)聚高耦合
47.數(shù)據(jù)庫(kù)管理系統(tǒng)中用來(lái)定義模式、內(nèi)模式和外模式的語(yǔ)言為()。
A.CB.BasicC.DDLD.DML
48.下列敘述中正確的是()。
A.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)必定是一一對(duì)應(yīng)的
B.由于計(jì)算機(jī)存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)一定是線(xiàn)性結(jié)構(gòu)
C.程序設(shè)計(jì)語(yǔ)言中的數(shù)組一般是順序存儲(chǔ)結(jié)構(gòu),因此,利用數(shù)組只能處理線(xiàn)性結(jié)構(gòu)
D.以上3種說(shuō)法都不對(duì)
49.若有定義inta[9],*p=a;則p+5表示
A.數(shù)組元素a[5]的值B.數(shù)組元素a[5]的地址C.數(shù)組元素a[6]的地址D.數(shù)組元素a[0]的值加上5
50.以下描述中正確的是()。
A.由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句
B.do-while循環(huán)由do開(kāi)始,用while結(jié)束,在while(表達(dá)式.后面不能寫(xiě)分號(hào)
C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷
D.do-while循環(huán)中,根據(jù)情況可以省略while
51.以下函數(shù)值的類(lèi)型是_______。fun(floatx){floaty;y=3*x-4;returny;}
A.intB.不確定C.voidD.float
52.C語(yǔ)言結(jié)構(gòu)體類(lèi)型變量在程序運(yùn)行期間
A.TC環(huán)境在內(nèi)存中僅僅開(kāi)辟一個(gè)存放結(jié)構(gòu)體變量地址的單元
B.所有的成員一直駐留在內(nèi)存中
C.只有最開(kāi)始的成員駐留在內(nèi)存中
D.部分成員駐留在內(nèi)存中
53.數(shù)據(jù)處理的最小單位是()。
A.數(shù)據(jù)B.數(shù)據(jù)元素C.數(shù)據(jù)項(xiàng)D.數(shù)據(jù)結(jié)構(gòu)
54.已知各變量的類(lèi)型說(shuō)明如下:intk,a,b;unsignedlongw=5;doublex=1.42;則以下不符合C語(yǔ)言語(yǔ)法的表達(dá)式是():
A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)
55.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){intn=4;while(n--)printf("%d",--n);}
A.20B.31C.321D.210
56.有如下程序main(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}運(yùn)行該程序的輸出結(jié)果是______。
A.34B.42C.43D.33
57.設(shè)有定義:Structcomplex{intreal,unreal;}data1={1,8},data2;則以下賦值語(yǔ)句中錯(cuò)誤的是()。
A.data2={data1.rea1,data1.unrea1};
B.data2=(2,6);
C.data2.rea1=data1->rea1;
D.data2->rea1=data1.unrea1;
58.下列程序輸出的結(jié)果是()。
main()
{inta;
a=-4+4*5-6;printf("d",a);
a=4+4%5-6;printf("%d",a);
a=-3+4%6/5;printf("%d",a);
a=(7+6)%5/2;printf("%d",a);
}
A.102-31B.10-221C.11-221D.10221
59.下列程序段中,不能正確賦值的是
A.char*p,ch;p=&ch;scanf("%c,&p")
B.char*p;p=(char*)malloc(1)scanf("%c",p);
C.char*p*p=getchar();
D.char*p,ch;p=&ch;*p=getchar();
60.下列程序的輸出結(jié)果是()。#include<stdio.h>voidp(int*x){printf("%d",++*x);}voidmain(){inty=3;p(&y);}
A.3B.4C.2D.5
四、選擇題(20題)61.有以下程序:
#include<stdio.h>
structSTU{charname[9];charsex;intscore[2];};
voidf(structSTUa[])
{structSTUb={"Zhao",m,85,90);
a[1]=b;
}
main()
{structSTUc[2]={{"Qian",f,95,92},{"Sun",m98,99}};
f(c);
printf(”%s,%c,%d,%d,¨,c[o].name,c[o].sex,c[o].score[o],c[o].score[1]);
printf("%s,%c,%d,%d\n",c[1].name,c[1].sex,c[1].score[o],c[1].score
[1]);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.Zhao,m,85,90,Sun,m,98,99
B.Zhao,m,85,90,Qian,f,95,92
C.Qian,f,95,92,Sun,m,98,99
D.Qian,f,95,92,Zhao,m,85,90
62.下列敘述中正確的是()。
A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的
B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線(xiàn)性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線(xiàn)性結(jié)構(gòu)
C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表
D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
63.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.9B.8C.7D.10
64.要求通過(guò)while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán),若變量已正確定義,下列正確的程序段是()。
A.while((ch—getchar)!=N)printf("%c",ch);
B.while(oh=getchar!=N)printf("%c",ch);
C.while(ch=getchar==N)printf("%c",ch);
D.while((ch—getchar)==N)printf("%c",ch);
65.
在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。
A.(!E==0)B.(E>0C.D.E<0)E.(E==0)F.(E!=0)
66.設(shè)文件指針fp已定義,執(zhí)行語(yǔ)句fp=fopen(”61e”,”W”);后,以下針對(duì)文本文件file操作敘述的選項(xiàng)中正確的是()。
A.只能寫(xiě)不能讀B.寫(xiě)操作結(jié)束后可以從頭開(kāi)始讀C.可以在原有內(nèi)容后追加寫(xiě)D.可以隨意讀和寫(xiě)
67.
68.
69.以下錯(cuò)誤的定義語(yǔ)句是()。
70.
71.
72.
73.有如下嵌套的if語(yǔ)句:
if(a<b)
if(a<c)k=a;
elsek=C:
else
if(b<c)k=b;
elsek=C;
以下選項(xiàng)中與上述if語(yǔ)句等價(jià)的語(yǔ)句是()。
A.k=(a<b)?a:b;k=(b<c)?b:C;
B.k=(a<b)?((b<c)?a:b):((b>c)?b:c);
C.k=(a<b)?((a<c)?a:c):((b<c)?b:c);
D.k=(a<b)?a:b;k=(a<c)?a:c;
74.在E—R圖中,用來(lái)表示實(shí)體聯(lián)系的圖形是()。
A.橢圓形B.矩形C.菱形D.三角形
75.
76.
77.
78.為了避免嵌套的條件分支語(yǔ)句if—else的二義性,C語(yǔ)言規(guī)定:C程序中的else總是與_____組成配對(duì)關(guān)系。
A.縮排位置相同的ifB.在其之前未配對(duì)的ifC.在其之前未配對(duì)的最近的ifD.同一行上的if
79.
80.數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)之間的關(guān)系是()。
A.數(shù)據(jù)庫(kù)包括數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)
B.數(shù)據(jù)庫(kù)系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)
C.數(shù)據(jù)庫(kù)管理系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)系統(tǒng)
D.三者沒(méi)有明顯的包含關(guān)系
五、程序改錯(cuò)題(1題)81.下列給定程序、中,函數(shù)proc()的功能是:先將字符串s中的字符按順序存放到t中,然后把s中的字符按正序連接到t的后面。例如,當(dāng)s中的字符串為WXYZ時(shí),則t中的字符串應(yīng)為WXYZWXYZ。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc,其功能是:將str所指字符串中除下標(biāo)為偶數(shù)、同時(shí)ASCIl碼值為奇數(shù)的字符外,其余的字符都刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為ABCDEFGl2345,其中字符B的ASCIl碼值為偶數(shù),所在元素的下標(biāo)為奇數(shù),因此必須刪除;而字符A的ASCIl碼值為奇數(shù),所在數(shù)組中的下標(biāo)為偶數(shù),因此不應(yīng)當(dāng)刪除。依此類(lèi)推,最后t所指的數(shù)組中的內(nèi)容應(yīng)是ACEG。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所寫(xiě)的若干語(yǔ)句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<string.h>voidproc(char*str,chart[]){}voidmain{charstr[100],t[100];system("CLS");printf("\nPleaseenterstringstr:");scanf("%S",str);proc(str,t);printf("\nTheresultiS:%s\n",t);
參考答案
1.Csum=fun((a++,b++,a+b),c++)中a++,b++,a+b為逗號(hào)表達(dá)式,運(yùn)算后取a+b的值為5,c++為3,故函數(shù)調(diào)用后輸出結(jié)果為8。
2.C解析:對(duì)字符型一維數(shù)組在定義時(shí)初始化,既可以使用初始化列表,也可以使用字符串常量。不過(guò)由于字符串常量會(huì)自動(dòng)在結(jié)尾添加\'\\0\',字符做結(jié)束標(biāo)志,所以用字符串常量的初始化列表項(xiàng)個(gè)數(shù)是字符串的長(zhǎng)度加1。因此題目中的chara[]='xyz';等價(jià)于chara[]={\'x\',\'y\',\'z\',\'\\0\');,所以a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度,應(yīng)該選C。
3.D初始時(shí)定義一個(gè)大小為3個(gè)一維整型數(shù)組,第一個(gè)for語(yǔ)句是對(duì)數(shù)組賦初值,每個(gè)值都為0。后面是一個(gè)for語(yǔ)句的嵌套調(diào)用,外層的循環(huán)變量i的取值為[0,2],內(nèi)層循環(huán)變量的取值范圍為[0,2]。最初外層的循環(huán)變量i=0,內(nèi)層的循環(huán)變量j取值從0到2,計(jì)算n[j]=n[0]+1,得到n[0]=1,n[1]=1,n[2]=1。外層for語(yǔ)句的循環(huán)變量為1時(shí),內(nèi)層的循環(huán)變量j取值從0到2,計(jì)算n[j]=n[1]+1,得到n[0]=2,n[1]=2,n[2]=2。外層for語(yǔ)句的循環(huán)變量為2時(shí),內(nèi)層的循環(huán)變量j取值從0到2,計(jì)算n[j]=n[2]+1,得到n[0]=3,n[1]=3,n[2]=3。最后的輸出結(jié)果為3。
4.D本題考查兩個(gè)知識(shí)點(diǎn),按位異或左移把b左移2位化成二進(jìn)制c=a(b<<2)=a^(000010<<2)=a^001000=0000001^O01000=9,故選擇D。
5.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符合題意。
6.C即輸出x[0][2]x[l][1]x[2][0]分別為357。
7.A:在一個(gè)無(wú)向圖G中,若從頂點(diǎn)Vi到頂點(diǎn)Vj有路徑相連,則稱(chēng)Vi和Vj是連通的。連通圖是指任意兩個(gè)結(jié)點(diǎn)之間都有一個(gè)路徑相連。6個(gè)節(jié)點(diǎn)的無(wú)向圖,至少要5個(gè)邊才能確保是任意兩個(gè)節(jié)點(diǎn)之間都有路徑相連。下圖是一種可能的連接方式:故本題選A。
8.C
9.AC語(yǔ)言中規(guī)定運(yùn)算符的優(yōu)先順序:一元算術(shù)運(yùn)算符一>二元算術(shù)運(yùn)算符一>關(guān)系運(yùn)算符一>邏輯運(yùn)算符一>賦值運(yùn)算符,A項(xiàng)中為邏輯運(yùn)算符,B項(xiàng)和c項(xiàng)都為關(guān)系運(yùn)算符,D項(xiàng)為一元運(yùn)算符。因此最低的是A項(xiàng)。
10.A
11.CChar類(lèi)型數(shù)據(jù)占1個(gè)字節(jié)。
12.B
13.A解析:光纜是傳輸多媒體信息的通道,不能用以存儲(chǔ)多媒體信息。
14.C在m數(shù)組中賦值的是字符串,其長(zhǎng)度為7,末尾有結(jié)束符\0,故字節(jié)數(shù)為8,而n數(shù)組中賦的是字符,其長(zhǎng)度為7,故C選項(xiàng)正確。
15.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”開(kāi)始的后續(xù)所有字符都賦予*b,也就是t[80]中的內(nèi)容為“a*b****”,所以此題的運(yùn)行結(jié)果為選項(xiàng)C)。
16.A
\r\n
17.Astrcmp(char*,char*),函數(shù)strcmp用于比較兩個(gè)字符串的長(zhǎng)度,長(zhǎng)者為大,若字符個(gè)數(shù)也一樣,則從左至右依次比較相同位上的字符,字符大小按ASCIl表值計(jì)算,直到最后一個(gè)字符,若還相同,則兩個(gè)字符串相等,返回值0。選項(xiàng)A中if(strcmp(s2,sl)==0)ST,若s2等于sl,則返回值0,0等于0,所以邏輯表達(dá)式strcmp(s2,sl)==0為真,執(zhí)行ST。
18.B題干表達(dá)式中,圓括號(hào)的優(yōu)先級(jí)最高,乘法運(yùn)算符次之,加法運(yùn)算符最低。同優(yōu)先級(jí)中,加法運(yùn)算符的結(jié)合性從左向右結(jié)合,所以題干中的表達(dá)式執(zhí)行順序是:先執(zhí)行“a+b”得r1,再執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,最后執(zhí)行“r1+r3”得表達(dá)式最后結(jié)果。故本題答案為B選項(xiàng)。
19.A
20.C解析:在格式化模型中,要事先根據(jù)應(yīng)用的需要,確定數(shù)據(jù)之間的邏輯關(guān)系,即先對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化。在關(guān)系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關(guān)系,只要將數(shù)據(jù)按照一定的關(guān)系存入計(jì)算機(jī),也就是建立關(guān)系。所以選項(xiàng)A錯(cuò)誤。對(duì)于一個(gè)表示關(guān)系的二維表,其最基本的要求是表中元組的每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng),即不允許表中再有表。所以,選項(xiàng)B、D說(shuō)法是錯(cuò)誤的。一個(gè)關(guān)系的屬性名表稱(chēng)為關(guān)系模式,也就是二維表的表框架,相當(dāng)于記錄型。因此,選項(xiàng)C說(shuō)法正確。
21.8484解析:本題考核的知識(shí)點(diǎn)是函數(shù)的調(diào)用、值傳遞和地址傳遞的區(qū)別?!爸祩鬟f”指實(shí)參將值傳遞給形參后,實(shí)參與形參再無(wú)聯(lián)系。也就是說(shuō)對(duì)行參的改變將不影響實(shí)參;地址傳遞是指地址或數(shù)組名作為形參時(shí)的參數(shù)傳遞,這種情況下對(duì)形參的改變將對(duì)實(shí)參產(chǎn)生影響.函數(shù)f(Y*x)的作用是讓y的值加上指針x所指向變量的值,讓指針x所指向變量的值加上y的值。由于形參y是傳值的,形參x是傳地址的,故調(diào)用該函數(shù)后,作為實(shí)參的y的值將不改變,而實(shí)參x的值將改變,故最后輸出的y的值為4,而x的值為8。
22.00解析:根據(jù)運(yùn)算符的運(yùn)算順序可知,該表達(dá)式最后運(yùn)算的是與(&&)運(yùn)算,而任何表達(dá)式與“0”進(jìn)行“與”運(yùn)算,結(jié)果都為0。
23.x<-6||x>6
24.有效性測(cè)試有效性測(cè)試
25.功能性功能性解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個(gè)程序的開(kāi)頭部分,給出程序的整體說(shuō)明;功能性注釋一般嵌在源程序體之中,主要描述其后的語(yǔ)句或程序做什么,
26.voidfun(double*b)或voidfun(doubleb[10][12])voidfun(double*b)或voidfun(doubleb[10][12])解析:本題考查數(shù)組名作函數(shù)參數(shù)。程序中被調(diào)用函數(shù)fun(s)的實(shí)參s是數(shù)組名,而s為double型數(shù)組名,所以函數(shù)fun的形參類(lèi)型為double*。
27.參照完整性參照完整性
28.rewind()或fseek()rewind()或fseek()
29.中序中序解析:在先左后右的原則下,根據(jù)訪(fǎng)問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪(fǎng)問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先訪(fǎng)問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然先訪(fǎng)問(wèn)根結(jié)點(diǎn),然后遍歷左子樹(shù),最后遍歷右子樹(shù)。中序遍歷指在訪(fǎng)問(wèn)根結(jié)點(diǎn)、遍歷左了樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷左子樹(shù),然后訪(fǎng)問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù):并且遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后訪(fǎng)問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)。后序遍歷指在訪(fǎng)問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,首先遍歷右子樹(shù),然后訪(fǎng)問(wèn)根結(jié)點(diǎn),最后遍歷左子樹(shù);并且遍歷左、右子樹(shù)時(shí),仍然光遍歷右子樹(shù),然后訪(fǎng)問(wèn)根結(jié)點(diǎn),最后遍歷左子樹(shù)。
30.11解析:本題中的ch是一個(gè)字符變量,其初始值為'$'(非0值即為真),所以!ch的結(jié)果為假,此時(shí)&&右邊的i++被“短路”,即不會(huì)被計(jì)算。由此可見(jiàn),i的值不會(huì)改變,故本題應(yīng)該填1。
31.a+b>c&&a+c>b&&b+c>aa+b>c&&a+c>b&&b+c>a解析:在邏輯表達(dá)式中,如果要同時(shí)滿(mǎn)足幾個(gè)條件可以使用邏輯與運(yùn)算符“&&”,故本題的答案應(yīng)該為:a+b>c&&a+c>b&&b+c>a或其他等價(jià)形式。
32.操作系統(tǒng)操作系統(tǒng)解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是幫助用戶(hù)創(chuàng)建和管理數(shù)據(jù)庫(kù)的應(yīng)用程序的集合。因此,數(shù)據(jù)庫(kù)管理系統(tǒng)需要操作系統(tǒng)的支持,為用戶(hù)提供服務(wù)。
33.*pmax=*px*pmax=*px解析:首先將變量x的值放到max中,然后依次和變量y、z進(jìn)行比較。若有比max大的數(shù),將該數(shù)存放到max中,這樣最后在max中的值就是x、y、z中的最大值。
34.66解析:經(jīng)過(guò)分析將遞歸函數(shù)寫(xiě)成其數(shù)學(xué)表達(dá)式如下:
本題中定義了一個(gè)長(zhǎng)度為3的數(shù)組aa并初始化。接著調(diào)用遞歸函數(shù)f,由上面的數(shù)學(xué)表達(dá)式以計(jì)算其返回值s=1+2+3=6,所以空格處應(yīng)該填6。
35.11解析:字符空格的ASCII碼不為0,所以本題中表達(dá)式!c的值為0,b=0&&1的結(jié)果顯然為0。
36.1a61a6解析:對(duì)于指針變量的運(yùn)算,就是對(duì)地址的運(yùn)算。本題中由于指針指向的是整型變量,所以,使指針變量移動(dòng)9個(gè)位置也就是移動(dòng)18個(gè)字節(jié)。注意,本題是以十六進(jìn)制輸出的。
37.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。
38.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
39.x+=1x+=1解析:本題考查“++”,“--”運(yùn)算符。“++”、“--”只能作用于變量,不能用于表達(dá)式或常量;前綴形式是在使用變量之前先將其值增1或減1,后綴形式是先使用變量原來(lái)的值,使用完后再使其增1或減1。
40.s[i]!='\0'||t[i]!='\0's[i]=='\0'&&t[i]=='\0's[i]!='\\0'||t[i]!='\\0'\r\ns[i]=='\\0'&&t[i]=='\\0'
41.A解析:線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的結(jié)點(diǎn)空間是動(dòng)態(tài)生成的,它們?cè)趦?nèi)存中的地址可能是連續(xù)的,也可能是不連續(xù)的。
42.D解析:為了讓計(jì)算機(jī)接入局域網(wǎng)必須要網(wǎng)卡,Hub用于把局域網(wǎng)中的所有計(jì)算機(jī)連接起來(lái),調(diào)制解調(diào)器用于把局域網(wǎng)和互聯(lián)網(wǎng)連接起來(lái),中繼器是廣域網(wǎng)設(shè)備,用于網(wǎng)絡(luò)中信息的傳遞。
43.A解析:typedef用來(lái)聲明新的類(lèi)型名來(lái)代替已有的類(lèi)型名,typedef只是對(duì)已經(jīng)存在的類(lèi)型增加了一個(gè)類(lèi)型名,原有類(lèi)型名仍有效。typedef不能用來(lái)定義變量。
44.C本題考查對(duì)面向?qū)ο蟮睦斫?。面向?qū)ο蟮某绦蛟O(shè)計(jì)是對(duì)象模擬問(wèn)題領(lǐng)域中的實(shí)體,各對(duì)象之間相對(duì)獨(dú)立,相互依賴(lài)性小,通過(guò)消息來(lái)實(shí)現(xiàn)對(duì)象之間的相互聯(lián)系。
45.BB)【解析】在具有11個(gè)結(jié)點(diǎn)的滿(mǎn)二叉樹(shù),其非葉子結(jié)點(diǎn)數(shù)為int(n/2),而葉子結(jié)點(diǎn)數(shù)等于總結(jié)點(diǎn)數(shù)減去葉子結(jié)點(diǎn)數(shù)。本題n=15,故非葉子結(jié)點(diǎn)數(shù)等于int(15/2)=7,葉子結(jié)點(diǎn)數(shù)等于15-7=8。
46.C耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量,耦合度越高,則模塊的獨(dú)立性越差。內(nèi)聚反映一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度。高內(nèi)聚是指一個(gè)軟件模塊是由相關(guān)性很強(qiáng)的代碼組成,只負(fù)責(zé)一項(xiàng)任務(wù),也就是常說(shuō)的單一責(zé)任原則。低耦合是指不同軟件模塊之間通過(guò)穩(wěn)定的接口交互,而不需要關(guān)心模塊內(nèi)部的實(shí)現(xiàn)。
47.C解析:選項(xiàng)A),B)顯然不合題意。數(shù)據(jù)定義語(yǔ)言(DataDefinitionLanguage,簡(jiǎn)稱(chēng)DDL)負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱語(yǔ)言(DataManipulationLanguage,簡(jiǎn)稱(chēng)DML)負(fù)責(zé)數(shù)據(jù)的操縱,包括增、刪、改等操作。
48.D解析:本題考查數(shù)據(jù)結(jié)構(gòu)的基本知識(shí)。數(shù)據(jù)之間的相耳關(guān)系稱(chēng)為邏輯結(jié)構(gòu)。通常分為4類(lèi)基本邏輯結(jié)構(gòu),即集合、線(xiàn)性結(jié)構(gòu)、樹(shù)形結(jié)構(gòu)、圖狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)。存儲(chǔ)結(jié)構(gòu)是邏輯結(jié)構(gòu)在存儲(chǔ)器中的映象,它包含數(shù)據(jù)元素的映象和關(guān)系的映象。存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中有兩種,即順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。順序存儲(chǔ)結(jié)構(gòu)是把數(shù)據(jù)元素存儲(chǔ)在一塊連續(xù)地址空間的內(nèi)存中;鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是使用指針把相互直接關(guān)聯(lián)的節(jié)點(diǎn)鏈接起來(lái)。因此,這兩種存儲(chǔ)結(jié)構(gòu)都是線(xiàn)性的。可見(jiàn),邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)不是一一對(duì)應(yīng)的。因此,選項(xiàng)A和選項(xiàng)B的說(shuō)法都是錯(cuò)誤的。無(wú)論數(shù)據(jù)的邏輯結(jié)構(gòu)是線(xiàn)性的還是非線(xiàn)性的,只能選擇順序存儲(chǔ)結(jié)構(gòu)或鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)來(lái)實(shí)現(xiàn)存儲(chǔ)。程序設(shè)計(jì)語(yǔ)言中,數(shù)組是內(nèi)存中一段連續(xù)的地址空間,可看作是順序存儲(chǔ)結(jié)構(gòu)??梢杂脭?shù)組來(lái)實(shí)現(xiàn)樹(shù)型邏輯結(jié)構(gòu)的存儲(chǔ),比如二叉樹(shù)。因此,選項(xiàng)C的說(shuō)法是錯(cuò)誤的。
49.B解析:本題考查了通過(guò)指針來(lái)引用一維數(shù)組元素的方法。題中*p=a;這一賦值語(yǔ)句是指針p指向了數(shù)組a的首地址,p+5是指針p向后移動(dòng)了5個(gè)int類(lèi)型的存儲(chǔ)單元,所以p+5指向了數(shù)組元素a[5]。
50.C解析:do-while語(yǔ)句的一般形式為:do循環(huán)體語(yǔ)句while(表達(dá)式);,其中循環(huán)體語(yǔ)句可以是復(fù)合型語(yǔ)句,但必須用花括號(hào)括起來(lái)。while后必須要有分號(hào)作為語(yǔ)句的結(jié)束,在do-while循環(huán)中,不可以省略while。
51.A解析:函數(shù)定義時(shí)如果數(shù)據(jù)類(lèi)型默認(rèn),則默認(rèn)為int。函數(shù)中如果有“retum(表達(dá)式):”語(yǔ)句,表達(dá)式的類(lèi)型可能與函數(shù)的類(lèi)型不一致,但它并不能改變函數(shù)的類(lèi)型,實(shí)際情況是把表達(dá)式轉(zhuǎn)換為函數(shù)值的類(lèi)型作為返回值,因此本題的函數(shù)值類(lèi)型是int。
52.B解析:結(jié)構(gòu)體類(lèi)型的變量在程序運(yùn)行期間要作為一個(gè)整體占用連續(xù)的內(nèi)存單元。
53.C解析:數(shù)據(jù)處理的最小單位是數(shù)據(jù)項(xiàng);由若干數(shù)據(jù)項(xiàng)組成數(shù)據(jù)元素;而數(shù)據(jù)是指能夠被計(jì)算機(jī)識(shí)別、存儲(chǔ)和加工處理的信息載體;數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)之間的相互關(guān)系和數(shù)據(jù)運(yùn)算。故正確答案為選項(xiàng)C)。
54.A解析:“%”是求余運(yùn)算符或模運(yùn)算符,“%”兩側(cè)均應(yīng)為整型數(shù)據(jù),選項(xiàng)A)中的x是double型數(shù)據(jù)。
55.A解析:n--是先使用后自減,--n是先自減后使用。n=4時(shí),執(zhí)行n--后,n變?yōu)?,執(zhí)行--n后,n變?yōu)?,所以,第一次輸出時(shí),n為2;同上過(guò)程,第二次輸出時(shí),n為0。
56.D解析:逗號(hào)表達(dá)式(++x,y++)的值應(yīng)該是y++的值,由于y++是先引用后自增,所以y++的值是3。
57.B
58.A解析:本題考查%和/運(yùn)算符的使用。如果兩個(gè)數(shù)不能整除,只取結(jié)果的整數(shù)部分,小數(shù)部分全部舍去。運(yùn)算符“%”要求兩個(gè)運(yùn)算對(duì)象都為整型,其結(jié)果是整數(shù)除法的余數(shù)。表達(dá)式:a=-4+4*5-6=-4+20-6=10;表達(dá)式:a=4+4%5-6=4+4-6=2:表達(dá)式:a=-3+4%6/5=-3+0=-3:表達(dá)式:a=(7+6)%5/2=13%5/2=1。
59.C解析:本題考查了字符的輸入函數(shù)getchar和利用scanf函數(shù)輸入一個(gè)字符。用scanf輸入字符時(shí),格式說(shuō)明字符應(yīng)該為%c。本題選項(xiàng)C)因?yàn)橹羔榩沒(méi)有賦初值,所以是一個(gè)不定值,不能直接將getchar讀入的字符賦給指針p所指向的字符,所以選項(xiàng)C錯(cuò)誤。
60.B解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在函數(shù)調(diào)用時(shí),形參是指向?qū)崊⒌闹羔樧兞?,則printf的執(zhí)行結(jié)果為3+1=4。
61.D\nF函數(shù)是為結(jié)構(gòu)體數(shù)組的第二個(gè)數(shù)賦值,數(shù)組的第一個(gè)數(shù)沒(méi)有變化,所以正確答案應(yīng)選D。
\n
62.A解析:順序存儲(chǔ)結(jié)構(gòu)就是用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)該線(xiàn)性表中的各個(gè)元素,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項(xiàng)A是正確的。兩者都可以存儲(chǔ)線(xiàn)性的、有序的邏輯結(jié)構(gòu),所以選項(xiàng)B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲(chǔ),鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰(shuí)節(jié)約空間的說(shuō)法,所以選項(xiàng)D不正確。
63.A題目中靜態(tài)局部變量a,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元,在程序整個(gè)運(yùn)行期間都不釋放。所以第-次調(diào)用函數(shù)執(zhí)行n+=a++;時(shí)a先與n相加在再進(jìn)行自增。n的值為4,a的值為2,且a變量執(zhí)行完后空間沒(méi)有釋放。再執(zhí)行s:。+f(a)時(shí),s的值為4,調(diào)用f(a)函數(shù)時(shí)n的返回值為n=3+2=5,且此時(shí)a的值為3了。所以s的值為9。
64.Awhile循環(huán)的執(zhí)行過(guò)程如下:①計(jì)算while后面圓括號(hào)中表達(dá)式的值。當(dāng)值為非0時(shí),執(zhí)行步驟②;當(dāng)值為0時(shí),執(zhí)行步驟④。②執(zhí)行循環(huán)體一次。③轉(zhuǎn)去執(zhí)行步驟①。④退出循環(huán)。在選項(xiàng)A中,表達(dá)式(ch=get-char)!=N表示輸入的字符不等于N,如果這個(gè)條件表達(dá)式成立,則執(zhí)行循環(huán)體,打印輸出輸入的字符。如果這個(gè)條件表達(dá)式不成立,即輸入的字符等于N,則退出循環(huán)。所以選項(xiàng)A為正確答案。
65.B
\n在while(E)中,表達(dá)式E可以是C語(yǔ)言中任意合法的條件表達(dá)式,但不能為空,由它來(lái)控制循環(huán)體是否執(zhí)行。在選項(xiàng)8中表達(dá)式E>0||E<0是一個(gè)邏輯表達(dá)式。
\n
66.A考查文件操作函數(shù)fopen的基礎(chǔ)知識(shí),以”W”方式打開(kāi)文件,只能寫(xiě)不能讀。選項(xiàng)A正確。
67.B
68.A
69.A二維數(shù)組定義行數(shù)可以省略,列數(shù)不能省略,所以答案選擇A)。
70.A
71.B
72.A
73.C\n條件運(yùn)算符(?:)是C語(yǔ)言中唯一的一個(gè)三目運(yùn)算符,它是對(duì)第一個(gè)表達(dá)式做真/假檢測(cè),然后根據(jù)結(jié)果返回兩個(gè)表達(dá)式中的一個(gè)作為運(yùn)算的結(jié)果。<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>。在運(yùn)算中,首先對(duì)第一個(gè)表達(dá)式進(jìn)行檢驗(yàn),如果為真,則返回表達(dá)式2的值;如果為假,則返回表達(dá)式3的值。
\n
74.CC?!窘馕觥縀—R圖也即實(shí)體~聯(lián)系圖(EntityRelationshipDiagram),提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型,構(gòu)成E—R圖的基本要素是實(shí)體型、屬性和聯(lián)系,其表示方法為:實(shí)體型(Entity):用矩形表示,矩形框內(nèi)寫(xiě)明實(shí)體名;屬性(Attribute):用橢圓形表示,并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái);聯(lián)系(Relationship):用菱形表示,菱形框內(nèi)寫(xiě)明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類(lèi)型(1:1,1:n或m:n)。
75.D
76.C
77.B
78.C
79.C
80.B數(shù)據(jù)庫(kù)可以看成是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)可以被直觀(guān)地理解為存放數(shù)據(jù)的倉(cāng)庫(kù),只不過(guò)這個(gè)倉(cāng)庫(kù)在計(jì)算機(jī)的大容量存儲(chǔ)器上,例如,硬盤(pán)就是一種最常見(jiàn)的計(jì)算機(jī)大容量存儲(chǔ)設(shè)備。數(shù)據(jù)必須按一定的格式存放,因?yàn)樗粌H需要存放,而且還要便于查找和使用。
數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是位于用戶(hù)與操作系統(tǒng)之間的完成數(shù)據(jù)管理的系統(tǒng)軟件。它是用戶(hù)與數(shù)據(jù)庫(kù)的接口。應(yīng)用程序一般要通過(guò)DBMS才能訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)建立、運(yùn)用和維護(hù)時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一控制。
數(shù)據(jù)庫(kù)系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng),一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶(hù)構(gòu)成。數(shù)據(jù)庫(kù)是整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)最基本的成分。數(shù)據(jù)庫(kù)管理系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)的核心。數(shù)據(jù)庫(kù)管理員是數(shù)據(jù)庫(kù)系統(tǒng)的責(zé)任維護(hù)者,負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的整體維護(hù)。
綜上所述,本題中只有B選項(xiàng)的描述是正確的。
81.錯(cuò)誤:t[i]=s[s1];
正確:t[i]=s[i];
【解析】函數(shù)proc()首先要實(shí)現(xiàn)將數(shù)組s中的元素順序放在數(shù)組t中,即數(shù)組t中下標(biāo)為i的元素在數(shù)組S中下標(biāo)也為i,因此“t[i]=s[s1];”應(yīng)改為“t[i]=s[i];”。
82.voidproc(char*str。chart[3]){inti,j=0;for(i=0;str[i]!=\\O;i++)//從數(shù)組的第一個(gè)元素開(kāi)始,到其最后一個(gè){if(i%2==0str[i]%21=o)//下標(biāo)為偶數(shù)、同時(shí)ASCIl碼值為奇數(shù)的字符t[j++]=str[i];}//如果成立,則把它放到t數(shù)組中t[i]=\\o;//字符串結(jié)束標(biāo)志為\\0}【解析】題目中要求將字符串str中下標(biāo)為偶數(shù),同時(shí)ASCIl碼值為奇數(shù)的字符放在數(shù)組t中。首先,需要檢查字符串str中下標(biāo)為偶數(shù)的字符其ASCIl碼值是否為奇數(shù),將符合要求的字符放在數(shù)組t中。最后,為新的字符串?dāng)?shù)組添加結(jié)束符。2022年江西省宜春市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序intfun(intx,inty){return(x+y);}main{inta=1,b=2,C=3,sum;sum=fun((a++,b++,a+b),c++printf("%d\n",sum);)執(zhí)行后的輸出結(jié)果是()。A.6B.7C.8D.9
2.已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是()。
A.數(shù)組a和b的長(zhǎng)度相同B.a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度C.a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度D.以述說(shuō)法都不對(duì)
3.有以下程序
main()
{
intn[3],i,j;
for(i=0;i<3;i++)
n[i]=0;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
n[j]=n[i]+1;
printf("%d\n",n[1]);
}
程序運(yùn)行后的輸出結(jié)果是A.A.2
B.1
C.0
D.3
4.設(shè)有以下語(yǔ)句:inta=1,b=2,c;c=a^(b<<2);執(zhí)行后,c的值為()。A.6B.7C.8D.9
5.設(shè)有以下定義:inta=0;doubleb=1.25;charc='A';#defined2則下面語(yǔ)句中錯(cuò)誤的是()。
A.a++;B.b++;C.c++;D.d++;
6.有以下程序:
A.1,5,9,B.1,4,7,C.3,5,7,D.3,6,9,
7.設(shè)有6個(gè)結(jié)點(diǎn)的無(wú)向圖,該圖至少應(yīng)有()條邊才能確保是一個(gè)連通圖。
A.5B.6C.7D.8
8.計(jì)算機(jī)能夠直接識(shí)別和執(zhí)行的語(yǔ)言是
A.匯編語(yǔ)言B.自然語(yǔ)言C.機(jī)器語(yǔ)言D.高級(jí)語(yǔ)言
9.下列運(yùn)算符中優(yōu)先級(jí)最低的算符是()。
A.||B.!=C.<;=D.十
10.若有如下程序:main(){inta=0,t=0;while(!a!=0)t+=a++;printf("%d,%d\n",t,A);}則程序運(yùn)行后的輸出結(jié)果是()
A.0,1B.1,0C.0,0D.1,1
11.C語(yǔ)言中char類(lèi)型數(shù)據(jù)占字節(jié)數(shù)為()。
A.3B.4C.1D.2
12.若執(zhí)行下述程序時(shí),若從鍵盤(pán)輸入6和8,結(jié)果為()。main(){inta,b,s;scanf("%d%dt",&a,&B);s=a:if(s=B)s*=s;printf("%d",s);}
A.36B.64C.48D.以上都不對(duì)
13.在多媒體計(jì)算機(jī)系統(tǒng)中,不能用以存儲(chǔ)多媒體信息的是A.光纜B.軟盤(pán)C.硬盤(pán)D.光盤(pán)
14.對(duì)兩個(gè)數(shù)組a和b進(jìn)行下列初始化:charm[]1="l234567":charn[]={1,2,3,4,5,6,7);則下列敘述正確的是()。A.數(shù)組m與數(shù)組n完全相同B.數(shù)組m與數(shù)組n長(zhǎng)度相同C.數(shù)組m比數(shù)組n長(zhǎng)1D.數(shù)組m與數(shù)組n中都存放字符串
15.有下列程序:#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
16.
17.下列選項(xiàng)中,能夠滿(mǎn)足“若字符串sl等于字符串s2,則執(zhí)行ST”要求的是()。
A.if(stremp(s2,s1)==0)ST;
B.if(s1==s2)ST;
C.if(strcpy(sl,s2)==l)ST;
D.if(sl,s2==O)ST;
18.算術(shù)運(yùn)算符和圓括號(hào)有不同的運(yùn)算優(yōu)先級(jí),對(duì)于表達(dá)式“a+b+c*(d+e)”,關(guān)于執(zhí)行順序,以下說(shuō)法正確的是()。
A.先執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,再執(zhí)行“a+b”得r1,最后執(zhí)行“r1+r3”得表達(dá)式最后結(jié)果
B.先執(zhí)行“a+b”得r1,再執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,最后執(zhí)行“r1+r3”得表達(dá)式最后結(jié)果
C.先執(zhí)行“(d+e)”得r2,再執(zhí)行“c*r2”得r3,再執(zhí)行“b+r3”得r4,最后執(zhí)行“a+r4”得表達(dá)式最后結(jié)果
D.先執(zhí)行“a+b”得r1,再執(zhí)行“r1+c”得r5,再執(zhí)行“(d+e)”得r2,最后執(zhí)行“r5*r2”得表達(dá)式最后結(jié)果
19.考慮一個(gè)特殊的hash函數(shù)h,能將任一字符串hash成一個(gè)整數(shù)k,其概率P(k)=2^(-k),k=1,2,…,∞。對(duì)一個(gè)未知大小的字符串集合S中的每一個(gè)元素取hash值所組成的集合為h(S)。若h(S)中最大的元素Maxh(S)=10,那么S的大小的期望是()
A.1024B.512C.5D.10
20.下列敘述中正確的是()。
A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系
B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)
C.一個(gè)關(guān)系的屬性名表稱(chēng)為關(guān)系模式
D.一個(gè)關(guān)系可以包括多個(gè)二維表
二、2.填空題(20題)21.有以下程序
voidf(inty,int*x)
{y=y+*x;*X=*X+y;}
main()
{intx=2,y=4;
f(y,&x);
printf("%d%d\n",x,y);
}
執(zhí)行后輸出結(jié)果是______。
22.若a=1,b=2,則表達(dá)式!(x=A)‖(y=B)&&0的值是______。
23.表示“整數(shù)x的平方大于36"時(shí)的值為“真”的C語(yǔ)言邏輯表達(dá)式是【】。
24.對(duì)軟件是否能達(dá)到用戶(hù)所期望的要求的測(cè)試稱(chēng)為【】。
25.注釋一般分為序言性注釋和______注釋。
26.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且函數(shù)fun為void型,請(qǐng)寫(xiě)出函數(shù)fun的首部【】。要求形參名為b。
main()
}doubles[10][22];
intn;
┆
fun(s);
┆
}
27.關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件,包括實(shí)體完整性、______和自定義完整性。
28.在對(duì)文件操作的過(guò)程中,若要求文件的位置指針回到文件的開(kāi)始處,應(yīng)當(dāng)調(diào)用的函數(shù)是【】。
29.在先左后右的原則下,根據(jù)訪(fǎng)問(wèn)根結(jié)點(diǎn)的次序,二叉樹(shù)的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
30.己定義charch='$';inti=l,j;,執(zhí)行j=!ch&&ii++以后,i的值為【】。
31.以下程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a、b、c輸入三角形三條邊長(zhǎng)時(shí),確定a、b、c能構(gòu)成三角形的條件是需同時(shí)滿(mǎn)足三個(gè)條件:a+b>c,a+c>b,b+c>a。
請(qǐng)?zhí)羁铡?/p>
main()
{floata,b,c;
scanf("%f%f%f",&a,&b,&c);
if(【】)printf("YES\n");/*a、b、c能構(gòu)成三角形*/
elseprintf("NO\n");/*a、b、c不能構(gòu)成三角形*/
}
32.數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶(hù)與______之間的軟件系統(tǒng)。
33.以下程序的功能是:利用指針指向三個(gè)整型變量,并通過(guò)指針運(yùn)算找出三個(gè)數(shù)中的最大值,輸出到屏幕上。請(qǐng)?zhí)羁铡?/p>
main()
{intx,y,z,max,*px,*py,*pz,*pmax;
scanf("%d%d%d",&x,&y,&z);
px=&x;py=&y;pz=&z;pmax=&max;
【】;
if(*pmax<*py)*pmax=*py;
if(*pmax<*pz)*pmax=*pz;
printf("max=%d\n",max);}
34.下面程序的運(yùn)行結(jié)果是【】。
intf(inta[],intn)
{if(n>1)returna[0]+f(&a[1],n-1);
elsereturna[0];
}
main()
{intaa[3]={1,2,3},s;
s=f(&aa[0],3);
printf("%d\n",s);
}
35.已有定義:charc='';inta=1,b;(此處c的初值為空格字符),執(zhí)行b=!c&Ra;后b的值為_(kāi)_____。
36.下面程序有兩個(gè)printf語(yǔ)句,如果第一個(gè)printf語(yǔ)句輸出的是194,則第二個(gè)printf語(yǔ)句的輸出結(jié)果是【】。
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%\n",p+9);
}
37.下面程序的功能是將一個(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);
}
38.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
39.語(yǔ)句:x++;++x;x=1+x;執(zhí)行后都使變量x中的值增1,請(qǐng)寫(xiě)出一條同一功能的賦值語(yǔ)句______。
40.函數(shù)compare的功能是比較兩個(gè)字符串是否相等,若相等則函數(shù)返回值0,否則返回值1,請(qǐng)?zhí)羁铡?/p>
compare(chars[],chart[])
{inti=0;
while(s[i]==t[i]||【】)i++;
return(【】?1:0);
}
三、1.選擇題(20題)41.下列關(guān)于線(xiàn)性鏈表的描述中正確的是()。
A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的
B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
C.存儲(chǔ)空間必須連續(xù),且各前件元素一定存儲(chǔ)在后件元素的前面
D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
42.下列說(shuō)法中不正確的是()
A.調(diào)制解調(diào)器(Modem)是局域網(wǎng)絡(luò)設(shè)備
B.集線(xiàn)器(Hub)是局域網(wǎng)絡(luò)設(shè)備
C.網(wǎng)卡(NIC)是局域網(wǎng)絡(luò)設(shè)備
D.中繼器(Repeater)是局域網(wǎng)絡(luò)設(shè)備
43.以下敘述中錯(cuò)誤的是()。
A.可以通過(guò)typedef增加新的類(lèi)型
B.可以用typedef將已存在的類(lèi)型用一個(gè)新的名字來(lái)代表
C.用typedef定義新的類(lèi)型名后,原有類(lèi)型名仍有效
D.用typedef可以為各種類(lèi)型起別名,但不能為變量起別名
44.下列敘述中正確的是()。
A.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間具有密切的關(guān)系
B.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象都是公用的
C.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴(lài)性小
D.上述3種說(shuō)法都不對(duì)
45.設(shè)一棵滿(mǎn)二叉樹(shù)共有15個(gè)結(jié)點(diǎn),則在該滿(mǎn)二叉樹(shù)中的葉子結(jié)點(diǎn)數(shù)為()
A.7B.8C.9D.10
46.軟件設(shè)計(jì)中,有利于提高模塊獨(dú)立性的一個(gè)準(zhǔn)則是______。A.低內(nèi)聚低耦合B.低內(nèi)聚高耦合C.高內(nèi)聚低耦合D.高內(nèi)聚高耦合
47.數(shù)據(jù)庫(kù)管理系統(tǒng)中用來(lái)定義模式、內(nèi)模式和外模式的語(yǔ)言為()。
A.CB.BasicC.DDLD.DML
48.下列敘述中正確的是()。
A.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)必定是一一對(duì)應(yīng)的
B.由于計(jì)算機(jī)存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)一定是線(xiàn)性結(jié)構(gòu)
C.程序設(shè)計(jì)語(yǔ)言中的數(shù)組一般是順序存儲(chǔ)結(jié)構(gòu),因此,利用數(shù)組只能處理線(xiàn)性結(jié)構(gòu)
D.以上3種說(shuō)法都不對(duì)
49.若有定義inta[9],*p=a;則p+5表示
A.數(shù)組元素a[5]的值B.數(shù)組元素a[5]的地址C.數(shù)組元素a[6]的地址D.數(shù)組元素a[0]的值加上5
50.以下描述中正確的是()。
A.由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句
B.do-while循環(huán)由do開(kāi)始,用while結(jié)束,在while(表達(dá)式.后面不能寫(xiě)分號(hào)
C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷
D.do-while循環(huán)中,根據(jù)情況可以省略while
51.以下函數(shù)值的類(lèi)型是_______。fun(floatx){floaty;y=3*x-4;returny;}
A.intB.不確定C.voidD.float
52.C語(yǔ)言結(jié)構(gòu)體類(lèi)型變量在程序運(yùn)行期間
A.TC環(huán)境在內(nèi)存中僅僅開(kāi)辟一個(gè)存放結(jié)構(gòu)體變量地址的單元
B.所有的成員一直駐留在內(nèi)存中
C.只有最開(kāi)始的成員駐留在內(nèi)存中
D.部分成員駐留在內(nèi)存中
53.數(shù)據(jù)處理的最小單位是()。
A.數(shù)據(jù)B.數(shù)據(jù)元素C.數(shù)據(jù)項(xiàng)D.數(shù)據(jù)結(jié)構(gòu)
54.已知各變量的類(lèi)型說(shuō)明如下:intk,a,b;unsignedlongw=5;doublex=1.42;則以下不符合C語(yǔ)言語(yǔ)法的表達(dá)式是():
A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)
55.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){intn=4;while(n--)printf("%d",--n);}
A.20B.31C.321D.210
56.有如下程序main(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}運(yùn)行該程序的輸出結(jié)果是______。
A.34B.42C.43D.33
57.設(shè)有定義:Structcomplex{intreal,unreal;}data1={1,8},data2;則以下賦值語(yǔ)句中錯(cuò)誤的是()。
A.data2={data1.rea1,data1.unrea1};
B.data2=(2,6);
C.data2.rea1=data1->rea1;
D.data2->rea1=data1.unrea1;
58.下列程序輸出的結(jié)果是()。
main()
{inta;
a=-4+4*5-6;printf("d",a);
a=4+4%5-6;printf("%d",a);
a=-3+4%6/5;printf("%d",a);
a=(7+6)%5/2;printf("%d",a);
}
A.102-31B.10-221C.11-221D.10221
59.下列程序段中,不能正確賦值的是
A.char*p,ch;p=&ch;scanf("%c,&p")
B.char*p;p=(char*)malloc(1)scanf("%c",p);
C.char*p*p=getchar();
D.char*p,ch;p=&ch;*p=getchar();
60.下列程序的輸出結(jié)果是()。#include<stdio.h>voidp(int*x){printf("%d",++*x);}voidmain(){inty=3;p(&y);}
A.3B.4C.2D.5
四、選擇題(20題)61.有以下程序:
#include<stdio.h>
structSTU{charname[9];charsex;intscore[2];};
voidf(structSTUa[])
{structSTUb={"Zhao",m,85,90);
a[1]=b;
}
main()
{structSTUc[2]={{"Qian",f,95,92},{"Sun",m98,99}};
f(c);
printf(”%s,%c,%d,%d,¨,c[o].name,c[o].sex,c[o].score[o],c[o].score[1]);
printf("%s,%c,%d,%d\n",c[1].name,c[1].sex,c[1].score[o],c[1].score
[1]);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.Zhao,m,85,90,Sun,m,98,99
B.Zhao,m,85,90,Qian,f,95,92
C.Qian,f,95,92,Sun,m,98,99
D.Qian,f,95,92,Zhao,m,85,90
62.下列敘述中正確的是()。
A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的
B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線(xiàn)性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線(xiàn)性結(jié)構(gòu)
C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表
D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
63.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.9B.8C.7D.10
64.要求通過(guò)while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán),若變量已正確定義,下列正確的程序段是()。
A.while((ch—getchar)!=N)printf("%c",ch);
B.while(oh=getchar!=N)printf("%c",ch);
C.while(ch=getchar==N)printf("%c",ch);
D.while((ch—getchar)==N)printf("%c",ch);
65.
在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。
A.(!E==0)B.(E>0C.D.E<0)E.(E==0)F.(E!=0)
66.設(shè)文件指針fp已定義,執(zhí)行語(yǔ)句fp=fopen(”61e”,”W”);后,以下針對(duì)文本文件file操作敘述的選項(xiàng)中正確的是()。
A.只能寫(xiě)不能讀B.寫(xiě)操作結(jié)束后可以從頭開(kāi)始讀C.可以在原有內(nèi)容后追加寫(xiě)D.可以隨意讀和寫(xiě)
67.
68.
69.以下錯(cuò)誤的定義語(yǔ)句是()。
70.
71.
72.
73.有如下嵌套的if語(yǔ)句:
if(a<b)
if(a<c)k=a;
elsek=C:
else
if(b<c)k=b;
elsek=C;
以下選項(xiàng)中與上述if語(yǔ)句等價(jià)的語(yǔ)句是()。
A.k=(a<b)?a:b;k=(b<c)?b:C;
B.k=(a<b)?((b<c)?a:b):((b>c)?b:c);
C.k=(a<b)?((a<c)?a:c):((b<c)?b:c);
D.k=(a<b)?a:b;k=(a<c)?a:c;
74.在E—R圖中,用來(lái)表示實(shí)體聯(lián)系的圖形是()。
A.橢圓形B.矩形C.菱形D.三角形
75.
76.
77.
78.為了避免嵌套的條件分支語(yǔ)句if—else的二義性,C語(yǔ)言規(guī)定:C程序中的else總是與_____組成配對(duì)關(guān)系。
A.縮排位置相同的ifB.在其之前未配對(duì)的ifC.在其之前未配對(duì)的最近的ifD.同一行上的if
79.
80.數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)之間的關(guān)系是()。
A.數(shù)據(jù)庫(kù)包括數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)
B.數(shù)據(jù)庫(kù)系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)
C.數(shù)據(jù)庫(kù)管理系統(tǒng)包括數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)系統(tǒng)
D.三者沒(méi)有明顯的包含關(guān)系
五、程序改錯(cuò)題(1題)81.下列給定程序、中,函數(shù)proc()的功能是:先將字符串s中的字符按順序存放到t中,然后把s中的字符按正序連接到t的后面。例如,當(dāng)s中的字符串為WXYZ時(shí),則t中的字符串應(yīng)為WXYZWXYZ。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc,其功能是:將str所指字符串中除下標(biāo)為偶數(shù)、同時(shí)ASCIl碼值為奇數(shù)的字符外,其余的字符都刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為ABCDEFGl2345,其中字符B的ASCIl碼值為偶數(shù),所在元素的下標(biāo)為奇數(shù),因此必須刪除;而字符A的ASCIl碼值為奇數(shù),所在數(shù)組中的下標(biāo)為偶數(shù),因此不應(yīng)當(dāng)刪除。依此類(lèi)推,最后t所指的數(shù)組中的內(nèi)容應(yīng)是ACEG。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所寫(xiě)的若干語(yǔ)句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<string.h>voidproc(char*str,chart[]){}voidmain{charstr[100],t[100];system("CLS");printf("\nPleaseenterstringstr:");scanf("%S",str);proc(str,t);printf("\nTheresultiS:%s\n",t);
參考答案
1.Csum=fun((a++,b++,a+b),c++)中a++,b++,a+b為逗號(hào)表達(dá)式,運(yùn)算后取a+b的值為5,c++為3,故函數(shù)調(diào)用后輸出結(jié)果為8。
2.C解析:對(duì)字符型一維數(shù)組在定義時(shí)初始化,既可以使用初始化列表,也可以使用字符串常量。不過(guò)由于字符串常量會(huì)自動(dòng)在結(jié)尾添加\'\\0\',字符做結(jié)束標(biāo)志,所以用字符串常量的初始化列表項(xiàng)個(gè)數(shù)是字符串的長(zhǎng)度加1。因此題目中的chara[]='xyz';等價(jià)于chara[]={\'x\',\'y\',\'z\',\'\\0\');,所以a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度,應(yīng)該選C。
3.D初始時(shí)定義一個(gè)大小為3個(gè)一維整型數(shù)組,第一個(gè)for語(yǔ)句是對(duì)數(shù)組賦初值,每個(gè)值都為0。后面是一個(gè)for語(yǔ)句的嵌套調(diào)用,外層的循環(huán)變量i的取值為[0,2],內(nèi)層循環(huán)變量的取值范圍為[0,2]。最初外層的循環(huán)變量i=0,內(nèi)層的循環(huán)變量j取值從0到2,計(jì)算n[j]=n[0]+1,得到n[0]=1,n[1]=1,n[2]=1。外層for語(yǔ)句的循環(huán)變量為1時(shí),內(nèi)層的循環(huán)變量j取值從0到2,計(jì)算n[j]=n[1]+1,得到n[0]=2,n[1]=2,n[2]=2。外層for語(yǔ)句的循環(huán)變量為2時(shí),內(nèi)層的循環(huán)變量j取值從0到2,計(jì)算n[j]=n[2]+1,得到n[0]=3,n[1]=3,n[2]=3。最后的輸出結(jié)果為3。
4.D本題考查兩個(gè)知識(shí)點(diǎn),按位異或左移把b左移2位化成二進(jìn)制c=a(b<<2)=a^(000010<<2)=a^001000=0000001^O01000=9,故選擇D。
5.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
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專(zhuān)利抵押合同范本
- 公司銷(xiāo)售人員合同范例
- 勞務(wù)合同范本 短期
- 單位購(gòu)買(mǎi)電腦合同范本
- 勾機(jī)鏟車(chē)出租合同范本
- 公司水果采購(gòu)合同范本
- 單位玻璃保潔合同范本
- 蛋糕師招聘合同范本
- 代買(mǎi)股合同范本
- 制式采購(gòu)合同范本
- 2024小學(xué)語(yǔ)文新教材培訓(xùn):一年級(jí)語(yǔ)文教材的修訂思路和主要變化
- 人教統(tǒng)編版高中歷史選擇性必修一第三單元-法律與教化-復(fù)習(xí)課件
- 成語(yǔ)故事-鄭人買(mǎi)履-課件
- 數(shù) 學(xué)2024-2025學(xué)年人教版七年級(jí)數(shù)學(xué)上冊(cè)有理數(shù)混合運(yùn)算100題
- 上消化道異物的內(nèi)鏡處理
- 健康教育學(xué)全套課件完整版
- 2024年遼寧省中考語(yǔ)文真題含解析
- 農(nóng)產(chǎn)品食品檢驗(yàn)員二級(jí)技師技能理論考試題含答案
- 《財(cái)政學(xué)》財(cái)政及經(jīng)管類(lèi)專(zhuān)業(yè)全套教學(xué)課件
- 《抖音運(yùn)營(yíng)》課件-3.短視頻拍攝基礎(chǔ)
- 質(zhì)量管理體系相關(guān)標(biāo)準(zhǔn)知識(shí)講解(一)-質(zhì)量管理-組織的質(zhì)量-實(shí)現(xiàn)持續(xù)成功指南-答案
評(píng)論
0/150
提交評(píng)論