




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年山西省太原市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.假設(shè)下圖中每個(gè)正方形的邊長(zhǎng)為1,則從A到Z的最短路徑條數(shù)為()A.11B.12C.13D.14
2.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inti,j,k,a=3,b=2;i=(--a==b++)?--a;++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}
A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=1,j=1,k=3
3.以下能正確定義一維數(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";
4.一個(gè)隊(duì)列的入隊(duì)序列是1,2,3,4,則隊(duì)列的輸出序列是()。
A.4,3,2,1B.l,4,3,2C.1,2,3,4D.3,2,4,1
5.在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是()。
A.數(shù)據(jù)庫(kù)系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據(jù)項(xiàng)管理
6.C語(yǔ)言結(jié)構(gòu)體類(lèi)型變量在程序執(zhí)行期間,()。
A.所有成員一直駐留在內(nèi)存中B.沒(méi)有成員駐留在內(nèi)存中C.部分成員駐留在內(nèi)存中D.只有一個(gè)成員駐留在內(nèi)存中
7.有以下程序:#include<stdio.h>main(){chars[]=“abcde”;s+=2;printf(“%d\n”,s[0]);}程序的運(yùn)行結(jié)果是()。
A.輸出字符c的ASCII值B.程序出錯(cuò)C.輸出字符cD.輸出字符a的ASCII值
8.將兩個(gè)各有n個(gè)元素的有序表歸并成一個(gè)有序表,最少的比較次數(shù)是()。
A.nB.2n-1C.2nD.n-1
9.需要分配較大空間,插入和刪除不需要移動(dòng)元素的線(xiàn)性表,其存儲(chǔ)結(jié)構(gòu)是()。A.單鏈表B.靜態(tài)鏈表C.線(xiàn)性鏈表D.順序存儲(chǔ)結(jié)構(gòu)
10.
11.下列敘述中錯(cuò)誤的是()。A.在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,
B.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題
C.數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)
D.數(shù)據(jù)庫(kù)系統(tǒng)需要操作系統(tǒng)的支持
12.若已定義:inta[9],*p=a;并在以后的語(yǔ)句中未改變p的值,不能表示a[1]地址的表達(dá)式是_______。
A.p+1B.a+1C.a++D.++p
13.設(shè)q1和q2是指向一個(gè)float型一維數(shù)組的指針變量,k為float型變量,則不能正確執(zhí)行的語(yǔ)句是()。
A.k=*q1+*q2;B.q1=k;C.q1=q2;D.k=*q1*(*q2);
14.該程序試圖通過(guò)指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語(yǔ)句正確的是()#includeMain(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);print("outputn:");print("%d\n",p);A.intn,*p=NULL;
B.*p=&n;
C.scanf("%d",&p)
D.printf("%d\n",p);
15.檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為()。
A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試
16.有以下程序
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d%d\n",*p,*q);
}
程序運(yùn)行后的輸出結(jié)果是A.運(yùn)行后報(bào)錯(cuò)B.66C.611D.510
17.
18.以下對(duì)結(jié)構(gòu)體類(lèi)型變量的定義中,不正確的是()。
A.typedefstruetaa{intn;floatm;}AA;AAtdl;
B.#defineAAstructaaAA{intn;floatm;}tdl;
C.struct{intn;floatm;}aa;structaatdl;
D.struct{intn;floatm;}tdl;
19.有以下程序:#include<stdio.h>main(){charch=‘D’;while(ch>‘A’){ch--;putchar(ch);if(ch==‘A’)break;putchar(ch+1);}}程序運(yùn)行后的輸出結(jié)果是()。
A.CBB.BCAC.CCBBD.CDBCA
20.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][20][{"One*World","One*Dream!"},*p=str[1];prinft("%d,",strlen(p));printf("%s\n",p);}程序運(yùn)行后的輸出結(jié)果是()。A.9,0ne*WorldB.9,0ne*Dream!C.10,One*Dream!D.10,Ome*World
二、2.填空題(20題)21.下列程序的輸出結(jié)果是______。
longfun5(intn)
{longs;
if((n==1)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main()
{longx;
x=fun5(4);
printff"%1d\n",x);}
22.下列程序的輸出結(jié)果是【】。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
23.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inti,m=0,n=0,k=0;
for(i=9;i<=11;i++)
switch(i/10)
{case0:m++;n++;break;
case1:n++;break;
default:k++;n++;
}
printf("%d%d%d\n",m,n,k);
}
24.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對(duì)象。
25.下列程序的運(yùn)行結(jié)果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
26.以下程序的運(yùn)行結(jié)果是【】。
#include<string.h>
char*ss(char*s)
{returns+strlen(s)/2;}
main()
{char*p,*str="abcdefgh";
p=ss(str);printf("%s\n",p);
}
27.在______個(gè)容量為32的循環(huán)隊(duì)列中,若頭指針front=3,尾指針rear=2,則該循環(huán)隊(duì)列中共有______個(gè)元素。
28.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
29.下面程序調(diào)用fun函數(shù)動(dòng)態(tài)分配兩個(gè)整型存儲(chǔ)單元,并通過(guò)形參傳回這兩個(gè)整型存儲(chǔ)單元的地址給s1和s2,將程序補(bǔ)充完整。
┇
main()
{
int*s1,*s2;
┇
fun(【】);
┇
}
intfun(【】);
{
*p=(int*)malloc(sizeof(int));
*q=(int*)malloc(sizeof(int));
}
30.下列程序的輸出結(jié)果是【】。
main()
{inti;
for(i=1;i+1;i++)
{if(i>4)
{printf("%d\n",i);
break;}
printf("%d\n",i++);}}
31.下列程序的運(yùn)行結(jié)果為【】。
main()
{inti;
chara[]="Ilovechina!",b[20],*p1,*p2;
p1=a;
p2=b;
while(*p1)
{*p2=*p1;
p1++;
p2++;
}
*p2='\0';
printf("stringbis:%s\n",b);
}
32.下列的for語(yǔ)句的循環(huán)次數(shù)為_(kāi)_____。
for(x=1,y=0;(y!=19)&&(x<7);x++);
33.設(shè)有定義“stmct{inta;floatb;charc}abc,*p_abc=&abc;”,則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc______。
34.常用的黑箱測(cè)試有等價(jià)類(lèi)劃分法、【】和錯(cuò)誤推測(cè)法3種。
35.當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時(shí),說(shuō)明循環(huán)隊(duì)列已滿(mǎn),不能進(jìn)行人隊(duì)運(yùn)算。這種情況稱(chēng)為【】。
36.以下程序運(yùn)行后的輸出結(jié)果是______。
#include<string.h>
voidfun(char*s,intp,intk)
{inti;
for(i=p;i<k-1;i++)s[i]=s[i+2];
}
main()
{chars[]="abcdefg";
fun(s,3,strlen(s));puts(s);
}
37.現(xiàn)有兩個(gè)C程序文件T18.c和myfun.c同在TC系統(tǒng)目錄(文件夾)下,其中T18.c文件如下:
#include<stdio.h>
#include"myfun.c"
main()
{fun();printf("\n");}
myfun.c文件如下:
voidfun()
{chars[80],c;intn=0;
while((c=getchar())!=′\n′)s[n++]=c;
n--;
while(n>=0)printf("%c",s[n--]);
}
當(dāng)編譯連接通過(guò)后,運(yùn)行程序T18時(shí),輸入Thank!,則輸出結(jié)果是【】。
38.有以下定義和語(yǔ)句,則sizeof(a.share)的值是()。
structdate
{unsignedintday;
unsignedintmouth;
unsignedintyear;
union{intshare1;
floatshare2;
}share;
}a;
39.計(jì)算機(jī)病毒除有破壞性、潛伏性和激發(fā)性外,還有一個(gè)最明顯的特性是【】
40.以下程序的輸出結(jié)果是【】。
main()
{chars[]="ABCD",*p;
for(p=s+1;p<s+4;p++)printf("%s\n",p);}
三、1.選擇題(20題)41.字符(char)型數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)形式是______。
A.反碼B.補(bǔ)碼C.EBCDIC碼D.ASCII碼
42.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為()個(gè)字節(jié)。
A.4B.5C.6D.7
43.有如下程序
main()
{intn=9;
while(n>6){n--;printf("%d",n);}}
該程序的輸出結(jié)果是
A.987B.876C.8765D.9876
44.按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。
A.隊(duì)列B.棧C.雙向鏈表D.二叉樹(shù)
45.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間是()。
A.4個(gè)字節(jié)B.5個(gè)字節(jié)C.6個(gè)字節(jié)D.7個(gè)字節(jié)
46.下列關(guān)于棧的描述中,正確的是()
A.在棧中只能插入元素B.在棧中只能刪除元素C.只能在一端插入或刪除元素D.只能在一端插入元素,而在另一端刪除元素
47.若有定義:intx=0,*p=&x;,則語(yǔ)句printf("%d\n",*p);的輸出結(jié)果是()。
A.隨機(jī)值B.0C.x的地址D.p的地址
48.在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦值40000的正確語(yǔ)句是()
A.a=20000+20000;B.a=4000*10;C.a=30000+10000;D.a=4000L*10L;
49.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過(guò)程中可以出棧,則下列不可能的一個(gè)出棧序列是______。
A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1
50.設(shè)有定義語(yǔ)句:charc1=92,c2=92;,則以下表達(dá)式中值為零的是
A.c1c2
B.c1&c2C.~c2D.c1│c2
51.以下所列的各函數(shù)首部中,正確的是______。
A.voidplay(Var:Integer,varb:Integer)
B.voidplay(inta,b)
C.voidplay(inta,intb)
D.Subplay(aasinteger,basinteger)
52.軟件是指()。A.程序B.程序和文檔C.算法加數(shù)據(jù)結(jié)構(gòu)D.程序、數(shù)據(jù)與相關(guān)文檔的完整集合
53.如果需要打開(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+");
54.下面程序的輸出是______。main(){char*s="12134211";intv1=0,v2=0,v3=0,v4=0,k;for(k=0;s[k];k++)switch(s[k]){default:v4++;case'1':v1++;case'3':v3++;case'2':v2++;}printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);}
A.v1=4,v2=2,v3=1,v4=1
B.v1=4,v2=9,v3=3,v4=1
C.v1=5,v2=8,v3=6,v4=1
D.v1=8,v2=8,v3=8,v4=8
55.分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}printf("%d,%d",*p1,*p2);printf("%d,%d",a,b);}程序的輸出結(jié)果為()。
A.9,66,9B.6,99,6C.6,96,9D.9,69,6
56.以下合法的賦值語(yǔ)句是()
A.x=y=100B.d--;C.x+y;D.c=int(a+b);
57.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()
A.便于用戶(hù),開(kāi)發(fā)人員進(jìn)行理解和交流
B.反映出用戶(hù)問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開(kāi)發(fā)人員進(jìn)行需求分析
58.若有說(shuō)明:inta[][3]={0,0};則不正確的敘述是()。
A.數(shù)組a的每個(gè)元素的初值都是0
B.數(shù)組a的第一維大小為1
C.數(shù)組a的行數(shù)為1
D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
59.關(guān)于線(xiàn)性表的描述,錯(cuò)誤的一條是______。
A.線(xiàn)性表是線(xiàn)性結(jié)構(gòu)
B.線(xiàn)性表就是單鏈表
C.線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu),必須占用一片連續(xù)的存儲(chǔ)單元
D.線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),不必占用連續(xù)的存儲(chǔ)單元
60.不能與do…while(exp)語(yǔ)句中的(exp)等價(jià)的表達(dá)式是()。
A.(!exp==O)B.(exp>0||exp<0)C.(exp==0)D.(exp!=O)
四、選擇題(20題)61.(57)下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是______。
A.便于用戶(hù)、開(kāi)發(fā)人員進(jìn)行理解和交流
B.反映出用戶(hù)問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開(kāi)發(fā)人員進(jìn)行需求分析
62.(59)SQL語(yǔ)言又稱(chēng)為()
A.結(jié)構(gòu)化定義語(yǔ)言
B.結(jié)構(gòu)化控制語(yǔ)言
C.結(jié)構(gòu)化查詢(xún)語(yǔ)言
D.結(jié)構(gòu)化操縱語(yǔ)言
63.
以下程序輸出結(jié)果是()。
main
{intm=5;
if(m++>5)printf("%d\n",m):
elseprintf("%d\n",m--);
}
A.7B.6C.5D.4
64.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖內(nèi)容的是
A.控制流B.加工C.?dāng)?shù)據(jù)存儲(chǔ)D.?dāng)?shù)據(jù)流
65.以下符合C語(yǔ)言語(yǔ)法的實(shí)型常量是
A.1.2E0.7B.3.33.145EC.E23D..4E-2
66.以下定義數(shù)組的語(yǔ)句中錯(cuò)誤的是()。
A.intnum[][3]={{1,2},3,4,5,6};
B.intnUITI[2][4]={{1,2},{3,4},{5,6}};
C.intnum[]={1,2,3,4,5,6};
D.intnum[][4]={1,2,3,4,5,6’};
67.以下敘述中錯(cuò)誤的是______。A.C語(yǔ)言中對(duì)二進(jìn)制文件的訪(fǎng)問(wèn)速度比文本文件快
B.C語(yǔ)言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)
C.語(yǔ)句FILEfp:定義了一個(gè)名為fp的文件指針
D.C語(yǔ)言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)
68.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1,0,7,0,B.1,2,3,4,C.1,4,5,9,D.3,4,8,10,
69.當(dāng)變量c的值不為2、4、6時(shí),值也為“真”的表達(dá)式是()。
70.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體間聯(lián)系的是()。
A.網(wǎng)狀結(jié)構(gòu)B.樹(shù)狀結(jié)構(gòu)C.屬性D.二維表
71.已知一棵二叉樹(shù)前序遍歷和中序遍歷分別為ABDEFGCHI和DBFEGACIH,則該二叉樹(shù)的后序遍歷為
A.DFGEBHICAB.DGEBHFCAIC.DFGEBIHCAD.DGEBFIHCA
72.若運(yùn)行以下程序時(shí),從鍵盤(pán)輸入ADescriptor<CR>(<CR>表示回車(chē)),則下面程序的運(yùn)行結(jié)果是()。
A.v0=7,vl=4,v2=7
B.v0=8,vl=4,v2=8
C.v0=11,vl=4,v2=11
D.v0=13,vl=4,v2=12
73.下列詞語(yǔ)中,不屬于面向?qū)ο蠓椒ǖ氖?/p>
A.對(duì)象、消息B.繼承、多態(tài)C.類(lèi)、封裝D.過(guò)程調(diào)用
74.
75.若有以下定義和語(yǔ)句:“doubler=99,*p=&r;*P=r;”,則以下正確的敘述是()。
A.兩個(gè)*p含義相同,都說(shuō)明給指針變量p賦值
B.在“doubler=99,*p=&r;”中,把r的地址賦值給了P所指的存儲(chǔ)單元
C.語(yǔ)句“*p=r;”把變量r的值賦給指針變量P
D.語(yǔ)句“*p=r;”取變量r的值放回r中
76.
77.下面程序段的運(yùn)行結(jié)果是()。
A.8B.12C.4D.7
78.
79.對(duì)長(zhǎng)度為n的線(xiàn)性表排序,在最壞情況下,比較次數(shù)是nlog2n的排序方法是()。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
80.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的描述錯(cuò)誤的是()。
A.選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口
B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)
C.不允許使用GOTO語(yǔ)句
D.語(yǔ)言中若沒(méi)有控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來(lái)模擬
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將字符串str中的所有字符復(fù)制到字符串b中,要求在每復(fù)制3個(gè)字符之后插入1個(gè)空格。例如,在調(diào)用proc()函數(shù)之前給字符
串str輸入abcdefghijk,調(diào)用函數(shù)之后,字符串b中的內(nèi)容則為abcdefghijk。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)一個(gè)函數(shù)voidproc(char*str),其功能是:將字符串str中所有下標(biāo)為偶數(shù)位置上的字母轉(zhuǎn)化為大寫(xiě)(若該位置上不是字母,則不轉(zhuǎn)換)。例如,若輸入字符串:“thankyou6verymuch”,則應(yīng)輸出:“TbAnKYoU6vErYMuCh”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.C
2.D
3.B數(shù)組1標(biāo)從0開(kāi)始,A選項(xiàng)中所賦值的個(gè)數(shù)超過(guò)了數(shù)組的長(zhǎng)度;C選項(xiàng)中定義a為字符型變量,而不是數(shù)組,賦值錯(cuò)誤;D選項(xiàng)中,整型數(shù)組不能賦字符串。
4.C
5.A在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫(kù)系統(tǒng)這一階段。數(shù)據(jù)庫(kù)系統(tǒng)階段用數(shù)據(jù)模型來(lái)表示復(fù)雜的數(shù)據(jù),有較高的數(shù)據(jù)獨(dú)立性。數(shù)據(jù)庫(kù)系統(tǒng)為用戶(hù)提供了方便的用戶(hù)接口,用戶(hù)既可使用查詢(xún)語(yǔ)言或終端命令操作數(shù)據(jù)庫(kù),也可以用程序方式來(lái)操作。數(shù)據(jù)庫(kù)管理系統(tǒng)提供了數(shù)據(jù)控制功能。
6.A解析:C語(yǔ)言結(jié)構(gòu)體類(lèi)型變量在程序執(zhí)行期間所有成員一直駐留在內(nèi)存中。
7.B在C語(yǔ)言中,數(shù)組名類(lèi)似于一個(gè)指向數(shù)組首地址的指針常量,一旦定義就不能修改其內(nèi)容。所以本題中的“s+=2;”語(yǔ)句讓數(shù)組名S的內(nèi)容加2是錯(cuò)誤的,編譯無(wú)法通過(guò)。故本題答案為B選項(xiàng)。
8.B
9.B
10.B
11.A解析:本題考查數(shù)據(jù)庫(kù)系統(tǒng)的基本概念和知識(shí)。數(shù)據(jù)的邏輯結(jié)構(gòu),是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管其在計(jì)算機(jī)中的存儲(chǔ)方式。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),又叫物理結(jié)構(gòu),是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)器里的實(shí)現(xiàn)。這兩者之間沒(méi)有必然的聯(lián)系。因此,選項(xiàng)A的說(shuō)法是錯(cuò)誤的。
數(shù)據(jù)庫(kù)可以看成是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫(kù)具有為各種用戶(hù)所共享的特點(diǎn)。不同的用戶(hù)可以使用同一個(gè)數(shù)據(jù)庫(kù),可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫(kù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題。因此,選項(xiàng)B的說(shuō)法是正確的。
數(shù)據(jù)庫(kù)設(shè)計(jì)是在數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下,按照應(yīng)用的要求,設(shè)計(jì)一個(gè)結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)。數(shù)據(jù)庫(kù)設(shè)計(jì)包含兩方面的內(nèi)容:一是結(jié)構(gòu)設(shè)計(jì),也就是設(shè)計(jì)數(shù)據(jù)庫(kù)框架或數(shù)據(jù)庫(kù)結(jié)構(gòu);二是行為設(shè)計(jì),即設(shè)計(jì)基于數(shù)據(jù)庫(kù)的各類(lèi)應(yīng)用程序、事務(wù)等。因此,選項(xiàng)C的說(shuō)法是錯(cuò)誤的。
數(shù)據(jù)庫(kù)系統(tǒng)除了數(shù)據(jù)庫(kù)管理軟件之外,還必須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開(kāi)發(fā)工具等。對(duì)于大型的多用戶(hù)數(shù)據(jù)庫(kù)系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng),還需要多用戶(hù)系統(tǒng)軟件和網(wǎng)絡(luò)系統(tǒng)軟件的支持。因此,選項(xiàng)D的說(shuō)法是正確的。因此,本題的正確答案是選項(xiàng)A。
12.C解析:數(shù)組名是指針常量,是個(gè)固定的指針,不能對(duì)數(shù)組名賦予一個(gè)新的地址值,也不能使這個(gè)指針常駐量“移動(dòng)”,指向數(shù)組的其他元素。
13.B解析:選項(xiàng)A)是將指針q1和q2所指向的變量值相加,然后賦給k;選項(xiàng)B)中,float型數(shù)據(jù)和指針型數(shù)據(jù)之間不能進(jìn)行賦值運(yùn)算:選項(xiàng)C)中,是兩個(gè)指針變量之間的賦值:選項(xiàng)D)中,是兩個(gè)指針型變量所指向的兩個(gè)float型數(shù)據(jù)相乘。
14.A選項(xiàng)B)的正確寫(xiě)法應(yīng)為p=&n;選項(xiàng)C)的正確寫(xiě)法應(yīng)為scanf("%d",p);選項(xiàng)D)的正確寫(xiě)法應(yīng)為print("%d\\n",*p)。
15.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)證軟件的功能和性能及其他特性是否與用戶(hù)的要求一致。確認(rèn)測(cè)試主要用于發(fā)現(xiàn)需求分析時(shí)犯下的錯(cuò)誤,一般使用黑盒法測(cè)試,以表明軟件符合需求說(shuō)明書(shū)的要求,應(yīng)該仔細(xì)設(shè)計(jì)測(cè)試用例和測(cè)試過(guò)程。確認(rèn)測(cè)試必須有用戶(hù)參加,或以用戶(hù)為主,用戶(hù)應(yīng)參與設(shè)計(jì)測(cè)試用例,通常情況下,主要使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測(cè)試,測(cè)試數(shù)據(jù)通過(guò)用戶(hù)接口輸入。
(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ò)誤。
16.C解析:本題中第一行代碼對(duì)指針P進(jìn)行了初始化,其指向數(shù)組a的第6個(gè)元素,在其后的操作中p的值也沒(méi)有改變過(guò),所以最后輸出*p=*\u3000\u3000(p+0)\u3000\u3000=a\u3000[5]\u3000=6,而第二行代碼中對(duì)q指向的值進(jìn)行賦值,等價(jià)于*q=a[10]=11,所以輸出結(jié)果*q為11。
17.D
18.C解析:定義結(jié)構(gòu)體類(lèi)型的變量有如下幾種方法:
①定義結(jié)構(gòu)體類(lèi)型的同時(shí),定義結(jié)構(gòu)體類(lèi)型的變量,如:
stractaa
{…}tdl;
選項(xiàng)B)中將宏名AA用宏體structaa替換后,與該定義形式一樣,因此是正確的。在這一定義形式中,結(jié)構(gòu)體類(lèi)型名aa是可以省略的,因此,D)項(xiàng)也是正確的。
②先定義結(jié)構(gòu)體類(lèi)型,然后再定義結(jié)構(gòu)體類(lèi)型的變量,形式如下:
structaa
{…};
strnctaatdl;
這種定義形式也可演變?yōu)椋合扔妙?lèi)型定義語(yǔ)句typedef將該結(jié)構(gòu)體類(lèi)型定義成一個(gè)類(lèi)型名AA,然后直接用該類(lèi)型名AA定義一個(gè)結(jié)構(gòu)體變量(這時(shí)不再需要使用關(guān)鍵字struct)。因此選項(xiàng)A)正確。
19.Dputchar函數(shù)的功能是輸出一個(gè)字符,由whlie判斷條件和ch初始值可知,只要“ch≠‘A’”,執(zhí)行兩次putchar函數(shù),否則跳出循環(huán)。第1次輸出“CD”,第2次輸出“BC”,第3次輸出“A”后跳出循環(huán)。故本題答案為D選項(xiàng)。
20.C本題輸出兩個(gè)結(jié)果,第一個(gè)是求字符串的長(zhǎng)度。第二個(gè)是輸出的字符串,數(shù)組的下標(biāo)是從0開(kāi)始的,所以當(dāng)str取1的時(shí)候,應(yīng)為“One*Dream!”。
21.99解析:考查ifelse語(yǔ)句,n==4不滿(mǎn)足條件,所以fun5(4)=4+fun5(3),n==3也不滿(mǎn)足條件,fun5(3)=3+funS(2),n==2滿(mǎn)足條件fun5(2)=2,故x=4+3+2=9。
22.5656解析:本題中a,b,c,d足實(shí)參,x,y,cp,dp是形參。C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。因此,程序的輸出結(jié)果是56。
23.130130解析:本題主函數(shù)中用了一個(gè)for循環(huán),循環(huán)了3次:當(dāng)i=9時(shí),i/10=0,執(zhí)行switch語(yǔ)句中case0分支,m和n的值各增1,變?yōu)?和1,然后遇到break語(yǔ)句,退出switch語(yǔ)句;當(dāng)i=10和11時(shí),i/10都等于1,執(zhí)行switch語(yǔ)句中的case1分支,兩次使n增1,變?yōu)?,退出switch語(yǔ)句。故該空格處應(yīng)該填130。
24.類(lèi)類(lèi)解析:在面向?qū)ο蠓椒ㄖ?,?lèi)描述的是具有相似屬性與操作的一組對(duì)象。
25.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。運(yùn)算過(guò)程為:t=POW(x+y)=(2+3)*(2+3)=25。
26.efghefgh解析:函數(shù)ss返回形參s所指向的符號(hào)串的后半部分,故p='efgh'。
27.3131解析:設(shè)隊(duì)列容量為m,如果:rear>front,則隊(duì)列中元素個(gè)數(shù)為rear-front;如果rear<front,則隊(duì)列中元素個(gè)數(shù)為m+(rear-front)。本題rear<front,則m=32+(2-3)=31。
28.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)
29.&s1&s2
30.1351\r\n3\r\n5解析:本題考查了for循環(huán)語(yǔ)句的使用,break語(yǔ)句用在本題中是結(jié)束for循環(huán)直接跳出循環(huán)體外。當(dāng)i=1時(shí),因?yàn)閕f語(yǔ)句條件不滿(mǎn)足,所以直接執(zhí)行printf('%d\\n',i++);輸出1,同時(shí)i自加1;執(zhí)行第二次for循環(huán)時(shí),i=3;同樣的if語(yǔ)句條件不滿(mǎn)足,所以直接執(zhí)行printf('%d\\n',i++);輸出3,同時(shí)i自加1;執(zhí)行第三次for循環(huán)時(shí),i=5,if語(yǔ)句條件滿(mǎn)足,所以執(zhí)行printf('%d\\n',i),輸出5,然后break語(yǔ)句跳出了for循環(huán)。
31.stringbis:Ilovechina!
32.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測(cè)循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿(mǎn)足x<7時(shí)循環(huán)6次。
33.若結(jié)構(gòu)體變量abc有成員a,并有指針p_abc指向結(jié)構(gòu)變量abe,則引用變量abe成員s的標(biāo)記形式有abe.a和p_abc->a。
34.邊界值分析法邊界值分析法解析:黑箱測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例。常用的黑箱測(cè)試有等價(jià)類(lèi)劃分、邊界值分析法和錯(cuò)誤推測(cè)法3種。
35.上溢上溢解析:入隊(duì)運(yùn)算是指在循環(huán)隊(duì)列的隊(duì)尾加入一個(gè)新元素。這個(gè)運(yùn)算有兩個(gè)基本操作:首先將隊(duì)尾指針進(jìn)一(即rear=rear+1),并當(dāng)rear=m+1時(shí),置rear=1;然后將新元素插入隊(duì)尾指針指向的位置。當(dāng)循環(huán)隊(duì)列非空(s=1)且隊(duì)尾指針等于隊(duì)頭指針時(shí),說(shuō)明循環(huán)隊(duì)列已滿(mǎn),不能進(jìn)行人隊(duì)運(yùn)算,這種情況稱(chēng)為“上溢”。
36.abcfgabcfg解析:本題考查的是字符數(shù)組用作函數(shù)參數(shù)。C語(yǔ)言中數(shù)組名可以看作該數(shù)組首地址的常量指針、因此可以直接傳遞給指針類(lèi)型的參數(shù)。本題的主函數(shù)調(diào)用fun(s,3,strlen(s));后,函數(shù)中for循環(huán)就是for(i=3;i<strlen(s)-1;i++),即i從3遞增到字符數(shù)組s的長(zhǎng)度-2位置,循環(huán)中讓s[i]=s[i+2],所以函數(shù)fun()實(shí)現(xiàn)的功能簡(jiǎn)單來(lái)說(shuō)就是將字符串s下標(biāo)為p+2~k范圍的字符整體復(fù)制到字符串s下標(biāo)為p~k-2的位置上。在本題中strlen(s)返回s的長(zhǎng)度7,所以復(fù)制的字符為s[5]~s[7],即'f'、'g','\\0'三個(gè)字符,復(fù)制到s[3]~s[5],故最終輸出的字符串為abcfg(因?yàn)閟[5]為'\\0',所以后面的字符不會(huì)輸出)。
37.!knahT!knahT解析:此程序是一道次序顛倒題,即輸入'Thank!',則輸出'!knahT'。
38.4
39.傳染性或傳播性傳染性或傳播性
40.BCDCDDBCD\r\nCD\r\nD解析:本題考查指向字符串的指針的運(yùn)算方法。指針變量p首先指向字符串中的第一個(gè)字符A,執(zhí)行p=s+1后,p指向字符串中的第二個(gè)字符B,然后輸出值“BCD”并換行,依次執(zhí)行循環(huán)語(yǔ)句。
41.D解析:將—個(gè)字符常量放到一個(gè)字符變量中,實(shí)際上并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的ASCII碼值放到存儲(chǔ)單元中。
42.C解析:在定義字符數(shù)組用字符串常量進(jìn)行初始化時(shí),系統(tǒng)會(huì)自動(dòng)在結(jié)尾加'\\0'做結(jié)束標(biāo)志,所以數(shù)組array所占的空間為6個(gè)字節(jié)。
43.B解析:該題目應(yīng)該根據(jù)循環(huán)體第一次和最后一次執(zhí)行時(shí)的輸出結(jié)果來(lái)決定哪一項(xiàng)是正確的。第一次進(jìn)入循環(huán)時(shí),n的值是9,循環(huán)體內(nèi),先經(jīng)過(guò)n--運(yùn)算,n的值變?yōu)?,所以第一次的輸出值是8,由此可以排除選項(xiàng)A)和D)。由循環(huán)條件n>6可以知道,最后一次循環(huán)開(kāi)始時(shí),n的值應(yīng)該為7,所以最后一次執(zhí)行循環(huán)時(shí),輸出為6,由此可以排除選項(xiàng)C)。
44.A隊(duì)列是一種特殊的線(xiàn)性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元素的一端叫“隊(duì)尾”,刪除元素的一端叫“隊(duì)頭”。先插入的元素先被刪除,是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。
【知識(shí)拓展】“隊(duì)列”和“?!倍际且环N特殊的線(xiàn)性表。之所以稱(chēng)之為“隊(duì)列”,其形式如“排隊(duì)”。要講究“先來(lái)后到”,先進(jìn)先出,后進(jìn)后出。
45.C解析:在定義字符數(shù)組時(shí),可以用一個(gè)字符串作為初值,對(duì)數(shù)組進(jìn)行初始化。要注意的是,數(shù)組array的長(zhǎng)度不是5,而是6,因?yàn)橄到y(tǒng)將自動(dòng)在字符串常量的后面加上一個(gè)'\\0',因此,題干中的初始化語(yǔ)句與chararray[]={'C','h','i','n','9','\\0'};等價(jià)。
46.C\nC)【解析】棧實(shí)際也是線(xiàn)性表,只不過(guò)是一種特殊的線(xiàn)性表。棧是只能在表的~端進(jìn)行插入和刪除運(yùn)算的線(xiàn)性表,通常稱(chēng)插入、刪除的這一端為棧頂另一端為棧底。當(dāng)表中沒(méi)有元素時(shí)稱(chēng)為空棧。棧頂元素總是最后被插入的元素,從而也是最先被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。
\n
47.B解析:p為整型指針,指向整型變量x,輸出項(xiàng)為*p,即x的值,所以輸出結(jié)果為0。
48.D
49.C解析:棧是一種后進(jìn)先出表,選項(xiàng)C中,先出棧的是3,說(shuō)明此時(shí)棧內(nèi)必然有1,2,由于1先于2進(jìn)淺,所以1不可能在2之前出棧,故選項(xiàng)C這種出棧序列是不可能的。
50.A解析:本題考核的知識(shí)點(diǎn)是位運(yùn)算的應(yīng)用。選項(xiàng)A為異或運(yùn)算符,如果參加運(yùn)算的兩個(gè)位相同,結(jié)果為O,否則為1。顯然選項(xiàng)A中參加運(yùn)算c1和c2相同,故其值位0;選項(xiàng)B為位與運(yùn)算,如果參加運(yùn)算的兩位都為1,則結(jié)果為1,否則結(jié)果為0,選項(xiàng)B中參加運(yùn)算的c1和c2都為真,所該結(jié)果為1;選項(xiàng)C為取反運(yùn)算,用來(lái)對(duì)一個(gè)二進(jìn)制取反,顯然c2取反后不為0,選項(xiàng)D為位或運(yùn)算,參加運(yùn)算的兩位只要有一個(gè)為1,那么運(yùn)算結(jié)果為1,顯然參加運(yùn)算的c1和c2都不為0,故運(yùn)算結(jié)果不為0。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
51.C解析:C語(yǔ)言中函數(shù)首部中的各參數(shù)必須分開(kāi)單獨(dú)定義,因此選項(xiàng)C才是正確的。而選項(xiàng)A和D是其他語(yǔ)言的函數(shù)定義方式。
52.D軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。其中,程序是軟件開(kāi)發(fā)人員根據(jù)用戶(hù)需求開(kāi)發(fā)的、用程序設(shè)計(jì)語(yǔ)言描述的、適合計(jì)算機(jī)執(zhí)行的指令(語(yǔ)句)序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開(kāi)發(fā)、維護(hù)和使用有關(guān)的圖文資料。因此本題的正確答案是D。
53.D解析:此題考查文件打開(kāi)方式對(duì)文件操作的影響。由于打開(kāi)文件進(jìn)行修改,可見(jiàn)選項(xiàng)A)是錯(cuò)誤的,因?yàn)榇朔N方式打開(kāi)時(shí),只能讀,不能寫(xiě),當(dāng)然無(wú)法修改;選項(xiàng)B)是以追加方式'ab+'打開(kāi)文件讀寫(xiě),以這種方式打開(kāi)時(shí),新寫(xiě)入的數(shù)據(jù)只能追加在文件原有內(nèi)容之后,但可以對(duì)以前的數(shù)據(jù)讀出。換言之,'ab+'或'a+'方式打文件后,對(duì)于寫(xiě)操作,文件指針只能定位在文件的原有內(nèi)容之后,但對(duì)于讀操作,文件指針可以定位在全文件范圍內(nèi),可見(jiàn),按此種方式打開(kāi)文件不能實(shí)現(xiàn)文件內(nèi)容的修改;選項(xiàng)C)以'w+'方式打開(kāi)文件,此時(shí),原文件中已存在的內(nèi)容都被清除,但新寫(xiě)入文件的數(shù)據(jù)可以被再次讀出或再次寫(xiě)入,故也不能實(shí)現(xiàn)對(duì)文件的修改。只有以'r+'方式打開(kāi)文件時(shí),才允許將文件原來(lái)數(shù)據(jù)讀出,也允許在某些位置上再寫(xiě)入,從而實(shí)現(xiàn)對(duì)文件的修改。
54.C解析:當(dāng)switch后面括弧內(nèi)的表達(dá)式的值與某一個(gè)case后面的常量的表達(dá)式的值相等時(shí),就執(zhí)行此case后面的語(yǔ)句,若所有的case中的常量表達(dá)式的值都沒(méi)有與表達(dá)式的值匹配的,就執(zhí)行default后面的語(yǔ)句。
55.A解析:通過(guò)p1=&a,p2=&b分別將a、b的地址賦給指針p1、p2,接著執(zhí)行if語(yǔ)句,發(fā)現(xiàn)a<b成立,則通過(guò)交換p1、p2的值,即交換a、b所在存儲(chǔ)單元的地址,但是a、b的值并沒(méi)有發(fā)生變化。
56.B解析:選項(xiàng)A的結(jié)尾沒(méi)用‘;’,所以不是一條語(yǔ)句:選項(xiàng)C中的表達(dá)式不會(huì)改變?nèi)魏巫兞康膬?nèi)容,也不是合法的賦值語(yǔ)句;選項(xiàng)D有語(yǔ)法錯(cuò)誤,int應(yīng)該加上括號(hào)。所以,4個(gè)選項(xiàng)中只有選項(xiàng)B符合題意,運(yùn)行后d的內(nèi)容被減一。
57.D解析:軟件需求規(guī)格說(shuō)明書(shū)SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開(kāi)發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用,①便于用戶(hù)、開(kāi)發(fā)人員進(jìn)行理解和交流;②反映出用戶(hù)問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。
58.D解析:本題考查給二維數(shù)組元素賦值。給二維數(shù)組元素賦值時(shí)應(yīng)注意下列兩點(diǎn):①在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0。②二維數(shù)組第一維的大小由下列規(guī)則確定;當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大??;當(dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),第一維的大小等于所得商數(shù)加1。
59.A解析:線(xiàn)性表是一種最簡(jiǎn)單,最常用的數(shù)據(jù)結(jié)構(gòu)。線(xiàn)性表操作的實(shí)現(xiàn)依賴(lài)于線(xiàn)性表中數(shù)據(jù)元素及元素之間的關(guān)系在存儲(chǔ)器中如何存儲(chǔ)。采用順序存儲(chǔ)方式存儲(chǔ)的線(xiàn)性表稱(chēng)為順序表,用鏈?zhǔn)酱鎯?chǔ)方式存儲(chǔ)的線(xiàn)性表稱(chēng)為線(xiàn)性鏈表,用散列方法存儲(chǔ)的線(xiàn)性表稱(chēng)為散列表。
60.C解析:本題考查do…while循環(huán)。在do…while循環(huán)中,當(dāng)表達(dá)式的值為非零(真)時(shí),執(zhí)行循環(huán),不能與其等價(jià)的是為零的表達(dá)式,即(exp==0)。
61.D
62.C
63.B
\nm++的意思是先用m的值再自加1,所以表達(dá)式的值為5,m為6,此時(shí)if語(yǔ)句條件m++>5不成立,執(zhí)行else語(yǔ)句,則輸出m--的值為6,而此時(shí)m為5,故選擇B選項(xiàng)。
\n
64.A數(shù)據(jù)流圖(DFD)是用來(lái)描繪系統(tǒng)的邏輯模型的,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,反映系統(tǒng)必須完成的邏輯功能。
數(shù)據(jù)流圖的4種基本符號(hào)分別是數(shù)據(jù)的源點(diǎn)或終點(diǎn)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和加工。
65.D本題主要考查實(shí)型常量的合法表示。在C語(yǔ)言中,實(shí)型常量主要有兩種表現(xiàn)形式,分別為:
(1)十進(jìn)制小數(shù)表示法。這種表示法中主要用數(shù)字和小數(shù)點(diǎn)組成實(shí)數(shù)。用這種表示法表示實(shí)數(shù)沒(méi)有什么其他的要求,不容易出錯(cuò)。
(2)指數(shù)形式表示法,如123e3或123E3。用這種表示法表示實(shí)數(shù)需要注意以下事項(xiàng)。
①字母E之前必須有數(shù)字。
②字母E之后的數(shù)字必須為整數(shù)。
③字母E前后不能有空格字符。
根據(jù)前面的分析,不難看出本題中只有D選項(xiàng)的描述是正確的。在A選項(xiàng)中,由于E后面的數(shù)字是小數(shù)而不正確;在B選項(xiàng)中,由于E后面沒(méi)有數(shù)字而不正確;在選項(xiàng)C中,由于E之前沒(méi)有數(shù)字而不正確。
66.B選項(xiàng)B中,intIrlllm[2][4]={{1,2},{3,4},{5,6}};定義數(shù)組是2行4列,但是初始化的結(jié)構(gòu)是3行2列,因此初始化錯(cuò)誤。故答案為B選項(xiàng)。
67.C解析:FILE是由系統(tǒng)定義的一個(gè)結(jié)構(gòu)體類(lèi)型,并用該類(lèi)型來(lái)定義若干個(gè)FILE類(lèi)型的變量,以便存放若干個(gè)文件。所以用FILE定義的變量必須是數(shù)組或指針,所以選項(xiàng)C中的“FILE\u3000\u3000fp;”改為“FILE*fp;”就對(duì)了。
68.A該程序首先在定義變量時(shí),對(duì)二維數(shù)組a[][N]進(jìn)行賦值操作;調(diào)用函數(shù)fun,函數(shù)fun的功能是將二維數(shù)組中的a[0兒0]、a[1][1]、a[2][2]和a[3][3]賦值給一維數(shù)組,最后將一維數(shù)組元素l,0,7,0,輸出。
69.Ac=2&&c<=6)Il(ct_3)I|(c1=5)可以滿(mǎn)足題目條件,所以選擇A)。
70.D單一的數(shù)據(jù)結(jié)構(gòu)——關(guān)系,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來(lái)表示。數(shù)據(jù)的邏輯結(jié)構(gòu)——二維表,從用戶(hù)角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。但是關(guān)系模型的這種簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)能夠表達(dá)豐富的語(yǔ)義,描述出現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種關(guān)系。
71.C本題主要考查二叉樹(shù)的遍歷。題目中給出了二叉樹(shù)的前序遍歷和中序遍歷結(jié)果,要求其后序遍歷的結(jié)果。
由于二叉樹(shù)的前序遍歷為ABDEFGCHI,可以知道這個(gè)二叉樹(shù)的根結(jié)點(diǎn)是A,根據(jù)二叉樹(shù)的中序遍歷為DBFEGACIH,可以知道D、B、F、E、G結(jié)點(diǎn)為二叉樹(shù)的左子樹(shù),而C、I、H結(jié)點(diǎn)為二叉樹(shù)的右子樹(shù)。
然后由前序遍歷序列BDEFG可知,B結(jié)點(diǎn)為左子樹(shù)的根結(jié)點(diǎn),由前序遍歷序列CHI可知,C結(jié)點(diǎn)為右子樹(shù)的根結(jié)點(diǎn);由中序遍歷序列DBFEG可知,D結(jié)點(diǎn)為B子樹(shù)的左子樹(shù),而F、E、G結(jié)點(diǎn)為B子樹(shù)的右子樹(shù),由中序遍歷序列CIH可知,I、H序列為C子樹(shù)的右子樹(shù)。
同理可以推導(dǎo)出,E為B右子樹(shù)的根結(jié)點(diǎn),而F為E的左子樹(shù),G為E的右子樹(shù),H為C的右子樹(shù),I為H的左子樹(shù)。然后將構(gòu)成的樹(shù)
進(jìn)行后序遍歷得到結(jié)果為DFGEBIHCA。因此,本題的答案選C。\r\n\r\n\r\n
72.D本題考查switch語(yǔ)句的掌握。必須撐握以下內(nèi)容:首先應(yīng)該明白switch語(yǔ)句的語(yǔ)法格式:
另外,以下幾點(diǎn)關(guān)于switch語(yǔ)句的重點(diǎn):
①系統(tǒng)在執(zhí)行時(shí)計(jì)算開(kāi)關(guān)表達(dá)式的值;②根據(jù)所得的值在各個(gè)case標(biāo)號(hào)表達(dá)式中尋找匹配,直到發(fā)現(xiàn)與表達(dá)式匹配的
一般而言,在多分支結(jié)構(gòu)中總會(huì)出現(xiàn)”意外”的情況,這時(shí)均可歸入default程序段,作統(tǒng)一的處理。default標(biāo)號(hào)是可選性的,不必每次都有,視需要而定。switch語(yǔ)句中還可以包含switch語(yǔ)句,形成switch的嵌套。
73.D面向?qū)ο蠓椒ㄊ且环N運(yùn)用對(duì)象、類(lèi)、封裝、繼承、多態(tài)和消息等概念來(lái)構(gòu)造、測(cè)試、重構(gòu)軟件的方法。面向?qū)ο蠓椒◤膶?duì)象出發(fā),發(fā)展出對(duì)象、類(lèi)、消息、繼承等概念。
74.D
75.B在定義*p=&r時(shí),是表示r的地址賦給了p所指的存儲(chǔ)單元,因此選項(xiàng)B正確。
76.C
77.C本題考查兩個(gè)知識(shí)點(diǎn):strlen函數(shù)的功能
78.C
79.D在最壞情況下,快速排序、冒泡排序和直接插入排序需要的比較次數(shù)都是n(n一1)/2,堆排序需要比較的次數(shù)為nlog2n。
80.C結(jié)構(gòu)化程序設(shè)計(jì)的原則和方法之一是限制使用GOT0語(yǔ)句,但不是絕對(duì)不允許使用GOT0語(yǔ)句。其他三項(xiàng)為結(jié)構(gòu)化程序設(shè)計(jì)的原則。
81.
82.
【解析】要將字符串str中下標(biāo)為偶數(shù)位置上的字符轉(zhuǎn)化為大寫(xiě)字母,首先應(yīng)該判斷字符串str中下標(biāo)為偶數(shù)位置上的字符是否為小寫(xiě)字母,若是將其轉(zhuǎn)化為大寫(xiě)字母.若不是不做任何變化。
2021年山西省太原市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.假設(shè)下圖中每個(gè)正方形的邊長(zhǎng)為1,則從A到Z的最短路徑條數(shù)為()A.11B.12C.13D.14
2.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inti,j,k,a=3,b=2;i=(--a==b++)?--a;++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}
A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=1,j=1,k=3
3.以下能正確定義一維數(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";
4.一個(gè)隊(duì)列的入隊(duì)序列是1,2,3,4,則隊(duì)列的輸出序列是()。
A.4,3,2,1B.l,4,3,2C.1,2,3,4D.3,2,4,1
5.在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是()。
A.數(shù)據(jù)庫(kù)系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據(jù)項(xiàng)管理
6.C語(yǔ)言結(jié)構(gòu)體類(lèi)型變量在程序執(zhí)行期間,()。
A.所有成員一直駐留在內(nèi)存中B.沒(méi)有成員駐留在內(nèi)存中C.部分成員駐留在內(nèi)存中D.只有一個(gè)成員駐留在內(nèi)存中
7.有以下程序:#include<stdio.h>main(){chars[]=“abcde”;s+=2;printf(“%d\n”,s[0]);}程序的運(yùn)行結(jié)果是()。
A.輸出字符c的ASCII值B.程序出錯(cuò)C.輸出字符cD.輸出字符a的ASCII值
8.將兩個(gè)各有n個(gè)元素的有序表歸并成一個(gè)有序表,最少的比較次數(shù)是()。
A.nB.2n-1C.2nD.n-1
9.需要分配較大空間,插入和刪除不需要移動(dòng)元素的線(xiàn)性表,其存儲(chǔ)結(jié)構(gòu)是()。A.單鏈表B.靜態(tài)鏈表C.線(xiàn)性鏈表D.順序存儲(chǔ)結(jié)構(gòu)
10.
11.下列敘述中錯(cuò)誤的是()。A.在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,
B.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題
C.數(shù)據(jù)庫(kù)設(shè)計(jì)是指在已有數(shù)據(jù)庫(kù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫(kù)
D.數(shù)據(jù)庫(kù)系統(tǒng)需要操作系統(tǒng)的支持
12.若已定義:inta[9],*p=a;并在以后的語(yǔ)句中未改變p的值,不能表示a[1]地址的表達(dá)式是_______。
A.p+1B.a+1C.a++D.++p
13.設(shè)q1和q2是指向一個(gè)float型一維數(shù)組的指針變量,k為float型變量,則不能正確執(zhí)行的語(yǔ)句是()。
A.k=*q1+*q2;B.q1=k;C.q1=q2;D.k=*q1*(*q2);
14.該程序試圖通過(guò)指針p為變量n讀入數(shù)據(jù)并輸出,但程序有多處錯(cuò)誤,以下語(yǔ)句正確的是()#includeMain(){intn,*p=NULL;*p=&n;printf("Inputn:");scanf("%d",&p);print("outputn:");print("%d\n",p);A.intn,*p=NULL;
B.*p=&n;
C.scanf("%d",&p)
D.printf("%d\n",p);
15.檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為()。
A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試
16.有以下程序
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d%d\n",*p,*q);
}
程序運(yùn)行后的輸出結(jié)果是A.運(yùn)行后報(bào)錯(cuò)B.66C.611D.510
17.
18.以下對(duì)結(jié)構(gòu)體類(lèi)型變量的定義中,不正確的是()。
A.typedefstruetaa{intn;floatm;}AA;AAtdl;
B.#defineAAstructaaAA{intn;floatm;}tdl;
C.struct{intn;floatm;}aa;structaatdl;
D.struct{intn;floatm;}tdl;
19.有以下程序:#include<stdio.h>main(){charch=‘D’;while(ch>‘A’){ch--;putchar(ch);if(ch==‘A’)break;putchar(ch+1);}}程序運(yùn)行后的輸出結(jié)果是()。
A.CBB.BCAC.CCBBD.CDBCA
20.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][20][{"One*World","One*Dream!"},*p=str[1];prinft("%d,",strlen(p));printf("%s\n",p);}程序運(yùn)行后的輸出結(jié)果是()。A.9,0ne*WorldB.9,0ne*Dream!C.10,One*Dream!D.10,Ome*World
二、2.填空題(20題)21.下列程序的輸出結(jié)果是______。
longfun5(intn)
{longs;
if((n==1)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main()
{longx;
x=fun5(4);
printff"%1d\n",x);}
22.下列程序的輸出結(jié)果是【】。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
23.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inti,m=0,n=0,k=0;
for(i=9;i<=11;i++)
switch(i/10)
{case0:m++;n++;break;
case1:n++;break;
default:k++;n++;
}
printf("%d%d%d\n",m,n,k);
}
24.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對(duì)象。
25.下列程序的運(yùn)行結(jié)果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
26.以下程序的運(yùn)行結(jié)果是【】。
#include<string.h>
char*ss(char*s)
{returns+strlen(s)/2;}
main()
{char*p,*str="abcdefgh";
p=ss(str);printf("%s\n",p);
}
27.在______個(gè)容量為32的循環(huán)隊(duì)列中,若頭指針front=3,尾指針rear=2,則該循環(huán)隊(duì)列中共有______個(gè)元素。
28.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
29.下面程序調(diào)用fun函數(shù)動(dòng)態(tài)分配兩個(gè)整型存儲(chǔ)單元,并通過(guò)形參傳回這兩個(gè)整型存儲(chǔ)單元的地址給s1和s2,將程序補(bǔ)充完整。
┇
main()
{
int*s1,*s2;
┇
fun(【】);
┇
}
intfun(【】);
{
*p=(int*)malloc(sizeof(int));
*q=(int*)malloc(sizeof(int));
}
30.下列程序的輸出結(jié)果是【】。
main()
{inti;
for(i=1;i+1;i++)
{if(i>4)
{printf("%d\n",i);
break;}
printf("%d\n",i++);}}
31.下列程序的運(yùn)行結(jié)果為【】。
main()
{inti;
chara[]="Ilovechina!",b[20],*p1,*p2;
p1=a;
p2=b;
while(*p1)
{*p2=*p1;
p1++;
p2++;
}
*p2='\0';
printf("stringbis:%s\n",b);
}
32.下列的for語(yǔ)句的循環(huán)次數(shù)為_(kāi)_____。
for(x=1,y=0;(y!=19)&&(x<7);x++);
33.設(shè)有定義“stmct{inta;floatb;charc}abc,*p_abc=&abc;”,則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc______。
34.常用的黑箱測(cè)試有等價(jià)類(lèi)劃分法、【】和錯(cuò)誤推測(cè)法3種。
35.當(dāng)循環(huán)隊(duì)列非空且隊(duì)尾指針等于隊(duì)頭指針時(shí),說(shuō)明循環(huán)隊(duì)列已滿(mǎn),不能進(jìn)行人隊(duì)運(yùn)算。這種情況稱(chēng)為【】。
36.以下程序運(yùn)行后的輸出結(jié)果是______。
#include<string.h>
voidfun(char*s,intp,intk)
{inti;
for(i=p;i<k-1;i++)s[i]=s[i+2];
}
main()
{chars[]="abcdefg";
fun(s,3,strlen(s));puts(s);
}
37.現(xiàn)有兩個(gè)C程序文件T18.c和myfun.c同在TC系統(tǒng)目錄(文件夾)下,其中T18.c文件如下:
#include<stdio.h>
#include"myfun.c"
main()
{fun();printf("\n");}
myfun.c文件如下:
voidfun()
{chars[80],c;intn=0;
while((c=getchar())!=′\n′)s[n++]=c;
n--;
while(n>=0)printf("%c",s[n--]);
}
當(dāng)編譯連接通過(guò)后,運(yùn)行程序T18時(shí),輸入Thank!,則輸出結(jié)果是【】。
38.有以下定義和語(yǔ)句,則sizeof(a.share)的值是()。
structdate
{unsignedintday;
unsignedintmouth;
unsignedintyear;
union{intshare1;
floatshare2;
}share;
}a;
39.計(jì)算機(jī)病毒除有破壞性、潛伏性和激發(fā)性外,還有一個(gè)最明顯的特性是【】
40.以下程序的輸出結(jié)果是【】。
main()
{chars[]="ABCD",*p;
for(p=s+1;p<s+4;p++)printf("%s\n",p);}
三、1.選擇題(20題)41.字符(char)型數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)形式是______。
A.反碼B.補(bǔ)碼C.EBCDIC碼D.ASCII碼
42.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為()個(gè)字節(jié)。
A.4B.5C.6D.7
43.有如下程序
main()
{intn=9;
while(n>6){n--;printf("%d",n);}}
該程序的輸出結(jié)果是
A.987B.876C.8765D.9876
44.按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。
A.隊(duì)列B.棧C.雙向鏈表D.二叉樹(shù)
45.設(shè)有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間是()。
A.4個(gè)字節(jié)B.5個(gè)字節(jié)C.6個(gè)字節(jié)D.7個(gè)字節(jié)
46.下列關(guān)于棧的描述中,正確的是()
A.在棧中只能插入元素B.在棧中只能刪除元素C.只能在一端插入或刪除元素D.只能在一端插入元素,而在另一端刪除元素
47.若有定義:intx=0,*p=&x;,則語(yǔ)句printf("%d\n",*p);的輸出結(jié)果是()。
A.隨機(jī)值B.0C.x的地址D.p的地址
48.在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦值40000的正確語(yǔ)句是()
A.a=20000+20000;B.a=4000*10;C.a=30000+10000;D.a=4000L*10L;
49.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過(guò)程中可以出棧,則下列不可能的一個(gè)出棧序列是______。
A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1
50.設(shè)有定義語(yǔ)句:charc1=92,c2=92;,則以下表達(dá)式中值為零的是
A.c1c2
B.c1&c2C.~c2D.c1│c2
51.以下所列的各函數(shù)首部中,正確的是______。
A.voidplay(Var:Integer,varb:Integer)
B.voidplay(inta,b)
C.voidplay(inta,intb)
D.Subplay(aasinteger,basinteger)
52.軟件是指()。A.程序B.程序和文檔C.算法加數(shù)據(jù)結(jié)構(gòu)D.程序、數(shù)據(jù)與相關(guān)文檔的完整集合
53.如果需要打開(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+");
54.下面程序的輸出是______。main(){char*s="12134211";intv1=0,v2=0,v3=0,v4=0,k;for(k=0;s[k];k++)switch(s[k]){default:v4++;case'1':v1++;case'3':v3++;case'2':v2++;}printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);}
A.v1=4,v2=2,v3=1,v4=1
B.v1=4,v2=9,v3=3,v4=1
C.v1=5,v2=8,v3=6,v4=1
D.v1=8,v2=8,v3=8,v4=8
55.分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}printf("%d,%d",*p1,*p2);printf("%d,%d",a,b);}程序的輸出結(jié)果為()。
A.9,66,9B.6,99,6C.6,96,9D.9,69,6
56.以下合法的賦值語(yǔ)句是()
A.x=y=100B.d--;C.x+y;D.c=int(a+b);
57.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是()
A.便于用戶(hù),開(kāi)發(fā)人員進(jìn)行理解和交流
B.反映出用戶(hù)問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開(kāi)發(fā)人員進(jìn)行需求分析
58.若有說(shuō)明:inta[][3]={0,0};則不正確的敘述是()。
A.數(shù)組a的每個(gè)元素的初值都是0
B.數(shù)組a的第一維大小為1
C.數(shù)組a的行數(shù)為1
D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
59.關(guān)于線(xiàn)性表的描述,錯(cuò)誤的一條是______。
A.線(xiàn)性表是線(xiàn)性結(jié)構(gòu)
B.線(xiàn)性表就是單鏈表
C.線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu),必須占用一片連續(xù)的存儲(chǔ)單元
D.線(xiàn)性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),不必占用連續(xù)的存儲(chǔ)單元
60.不能與do…while(exp)語(yǔ)句中的(exp)等價(jià)的表達(dá)式是()。
A.(!exp==O)B.(exp>0||exp<0)C.(exp==0)D.(exp!=O)
四、選擇題(20題)61.(57)下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書(shū)的作用的是______。
A.便于用戶(hù)、開(kāi)發(fā)人員進(jìn)行理解和交流
B.反映出用戶(hù)問(wèn)題的結(jié)構(gòu),可以作為軟件開(kāi)發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開(kāi)發(fā)人員進(jìn)行需求分析
62.(59)SQL語(yǔ)言又稱(chēng)為()
A.結(jié)構(gòu)化定義語(yǔ)言
B.結(jié)構(gòu)化控制語(yǔ)言
C.結(jié)構(gòu)化查詢(xún)語(yǔ)言
D.結(jié)構(gòu)化操縱語(yǔ)言
63.
以下程序輸出結(jié)果是()。
main
{intm=5;
if(m++>5)printf("%d\n",m):
elseprintf("%d\n",m--);
}
A.7B.6C.5D.4
64.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖內(nèi)容的是
A.控制流B.加工C.?dāng)?shù)據(jù)存儲(chǔ)D.?dāng)?shù)據(jù)流
65.以下符合C語(yǔ)言語(yǔ)法的實(shí)型常量是
A.1.2E0.7B.3.33.145EC.E23D..4E-2
66.以下定義數(shù)組的語(yǔ)句中錯(cuò)誤的是()。
A.intnum[][3]={{1,2},3,4,5,6};
B.intnUITI[2][4]={{1,2},{3,4},{5,6}};
C.intnum[]={1,2,3,4,5,6};
D.intnum[][4]={1,2,3,4,5,6’};
67.以下敘述中錯(cuò)誤的是______。A.C語(yǔ)言中對(duì)二進(jìn)制文件的訪(fǎng)問(wèn)速度比文本文件快
B.C語(yǔ)言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)
C.語(yǔ)句FILEfp:定義了一個(gè)名為fp的文件指針
D.C語(yǔ)言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)
68.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1,0,7,0,B.1,2,3,4,C.1,4,5,9,D.3,4,8,10,
69.當(dāng)變量c的值不為2、4、6時(shí),值也為“真”的表達(dá)式是()。
70.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體間聯(lián)系的是()。
A.網(wǎng)狀結(jié)構(gòu)B.樹(shù)狀結(jié)構(gòu)C.屬性D.二維表
71.已知一棵二叉樹(shù)前序遍歷和中序遍歷分別為ABDEFGCHI和DBFEGACIH,則該二叉樹(shù)的后序遍歷為
A.DFGEBHICAB.DGEBHFCAIC.DFGEBIHCAD.DGEBFIHCA
72.若運(yùn)行以下程序時(shí),從鍵盤(pán)輸入ADescriptor<CR>(<CR>表示回車(chē)),則下面程序的運(yùn)行結(jié)果是()。
A.v0=7,vl=4,v2=7
B.v0=8,vl=4,v2=8
C.v0=11,vl=4,v2=11
D.v0=13,vl=4,v2=12
73.下列詞語(yǔ)中,不屬于面向?qū)ο蠓椒ǖ氖?/p>
A.對(duì)象、消息B.繼承、多態(tài)C.類(lèi)、封裝D.過(guò)程調(diào)用
74.
75.若有以下定義和語(yǔ)句:“doubler=99,*p=&r;*P=r;”,則以下正確的敘述是()。
A.兩個(gè)*p含義相同,都說(shuō)明給指針變量p賦值
B.在“doubler=99,*p=&r;”中,把r的地址賦值給了P所指的存儲(chǔ)單元
C.語(yǔ)句“*p=r;”把變量r的值賦給指針變量P
D.語(yǔ)句“*p=r;”取變量r的值放回r中
76.
77.下面程序段的運(yùn)行結(jié)果是()。
A.8B.12C.4D.7
78.
79.對(duì)長(zhǎng)度為n的線(xiàn)性表排序,在最壞情況下,比較次數(shù)是nlog2n的排序方法是()。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
80.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的描述錯(cuò)誤的是()。
A.選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口
B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)
C.不允許使用GOTO語(yǔ)句
D.語(yǔ)言中若沒(méi)有控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來(lái)模擬
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將字符串str中的所有字符復(fù)制到字符串b中,要求在每復(fù)制3個(gè)字符之后插入1個(gè)空格。例如,在調(diào)用proc()函數(shù)之前給字符
串str輸入abcdefghijk,調(diào)用函數(shù)之后,字符串b中的內(nèi)容則為abcdefghijk。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)一個(gè)函數(shù)voidproc(char*str),其功能是:將字符串str中所有下標(biāo)為偶數(shù)位置上的字母轉(zhuǎn)化為大寫(xiě)(若該位置上不是字母,則不轉(zhuǎn)換)。例如,若輸入字符串:“thankyou
溫馨提示
- 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-2030年中國(guó)防暑降溫藥品行業(yè)運(yùn)行趨勢(shì)及發(fā)展戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)道路標(biāo)線(xiàn)行業(yè)規(guī)模分析及發(fā)展建議研究報(bào)告
- 2025-2030年中國(guó)進(jìn)口葡萄酒行業(yè)運(yùn)營(yíng)狀況與發(fā)展?jié)摿Ψ治鰣?bào)告
- 2025-2030年中國(guó)輕型卡車(chē)市場(chǎng)發(fā)展?fàn)顩r及營(yíng)銷(xiāo)戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)花生蛋白飲料行業(yè)發(fā)展趨勢(shì)及競(jìng)爭(zhēng)調(diào)研分析報(bào)告
- 2025-2030年中國(guó)聚苯胺市場(chǎng)運(yùn)行狀況與前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)翡翠玉鐲行業(yè)市場(chǎng)需求規(guī)模及前景趨勢(shì)預(yù)測(cè)報(bào)告
- 2025-2030年中國(guó)稀土磁鋼行業(yè)運(yùn)營(yíng)狀況與發(fā)展?jié)摿Ψ治鰣?bào)告
- 2025-2030年中國(guó)碼垛機(jī)器人市場(chǎng)發(fā)展?fàn)顩r及營(yíng)銷(xiāo)戰(zhàn)略研究報(bào)告
- 2025年住宅建筑質(zhì)量保障合同樣本
- 盆景造型經(jīng)驗(yàn)
- 2023年廣東省佛山市順德區(qū)小升初數(shù)學(xué)試卷(含答案)
- ICU護(hù)理查房記錄【范本模板】
- 威風(fēng)堂堂進(jìn)行曲
- 銅及銅合金物理冶金基礎(chǔ)-黃銅
- 煤礦信息化管理制度
- 金融科技學(xué)-完整全套課件
- 物理學(xué)史中國(guó)古代物理學(xué)
- 導(dǎo)管滑脫應(yīng)急預(yù)案演練住院患者導(dǎo)尿管道滑脫
- (完整)小學(xué)語(yǔ)文考試專(zhuān)用作文方格紙
- 軟考中級(jí)網(wǎng)絡(luò)工程師學(xué)習(xí)筆記(考點(diǎn)歸納總結(jié)全)
評(píng)論
0/150
提交評(píng)論