




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年河南省鄭州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.采用表結(jié)構(gòu)來(lái)表示數(shù)據(jù)和數(shù)據(jù)間聯(lián)系的模型是()。
A.層次模型B.概念模型C.網(wǎng)狀模型D.關(guān)系模型
2.如有inta=11;則表達(dá)式(a/1)的值是()。
A.0B.3C.4D.11
3.下列選項(xiàng)不符合良好程序設(shè)計(jì)風(fēng)格的是()。
A.源程序要文檔化B.數(shù)據(jù)說(shuō)明的次序要規(guī)范化C.避免濫用goto語(yǔ)句D.模塊設(shè)計(jì)原則是高耦合、高內(nèi)聚
4.以下程序的輸出結(jié)果是()main(){staticchara[10]={"Chinese"};printf("%d",strlen(a));}
A.7B.2C.9D.10
5.在一個(gè)元素個(gè)數(shù)為N的數(shù)組里,找到升序排在N/5位置的元素的最優(yōu)算法時(shí)間復(fù)雜度是()A.O(n)B.O(nlogn)C.O(n(logn)2)D.O(n3/2)
6.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()。
A.學(xué)生成績(jī)管理系統(tǒng)B.C語(yǔ)言編譯程序C.UNIX操作系統(tǒng)D.數(shù)據(jù)庫(kù)管理系統(tǒng)
7.以下選項(xiàng)中錯(cuò)誤的是()。A.printf(“%s\n”,‘s’);
B.printf“%d%c\n”,‘s’,‘s’);
C.printf(“%c\n”,‘s’-32);
D.printf(“%c\n”,65);
8.
9.字符串"\\"ABCDEF\"\\”的長(zhǎng)度是()。
A.11B.10C.5D.3
10.有以下程序:#include<stdio.h>main(){inta=10,b=11;if(++a==b++) printf(“T”);else printf(“F”);printf(“a=%d,b=%d\n”,a,b);}程序運(yùn)行后的輸出結(jié)果是()。
A.Fa=11,b=11B.Fa=10,b=12C.Ta=10,b=11D.Ta=11,b=12
11.有如下說(shuō)明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達(dá)式是()
A.*p+9B.*(p+8)C.*p+=9D.p+8
12.下面不屬于需求分析階段任務(wù)的是()。
A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的性能需求C.制定軟件集成測(cè)試計(jì)劃D.需求規(guī)格說(shuō)明書評(píng)審
13.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.0B.1C.2D.3
14.有下列程序:fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printS(”%d,”,k);k=fun(j,m);printf(”%d\n”,k);)執(zhí)行后的輸出結(jié)果是()。A.5,5B.5,11C.11,11D.11,5
15.對(duì)于一個(gè)正常運(yùn)行的C程序,下列敘述中正確的是()。A.A.程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束
B.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在main函數(shù)結(jié)束
C.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束
D.程序的執(zhí)行總是從程序中的第一個(gè)函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束
16.在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為()。
A.31B.32C.16D.15
17.下列定義數(shù)組的語(yǔ)句中錯(cuò)誤的是()。
A.intx[2][3]={1,2,3,4,5,6};
B.intx[][3]={0};
C.intx[][3]={{1,2,3},{4,5,6}};
D.intx[2][3]={{1,2},{3,4},{5,6}};
18.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。
A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試
19.廣義表(a,b,c,d)的表尾是()。
A.aB.(a)C.(b,c,d)D.((b,c,c))
20.利用fseek函數(shù)可實(shí)現(xiàn)的操作是()。
A.實(shí)現(xiàn)文件的順序讀寫B(tài).改變文件的位置指針C.實(shí)現(xiàn)文件的隨機(jī)讀寫D.以上答案均正確
二、2.填空題(20題)21.關(guān)系操作的特點(diǎn)是______操作。
22.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{intX=10,y=20,t=0;
if(X==y)t=x;x=y;y=t;
printf("%d,%d\n",x,y);
}
23.下面的程序能求a:ab.c文件中最長(zhǎng)行和它的位置。
#include<stdio.h>
main()
{intlin,i,j=0,k=0;
charc;
FILE*fp;
fp=(【】("a:ab.c","r");
rewind(fp);
while(fgetc(fp)!=EOF)
i=1;
【】
{i++;
j++;
if(i>=k){k=i;【】;}
}
printf("\n%d\t%d\n",k,lin);
【】;
}
24.按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。
25.下面函數(shù)用來(lái)求兩個(gè)單精度數(shù)之和,并通過(guò)形參將結(jié)果傳回,請(qǐng)?zhí)羁铡?/p>
Voidsub(floatx,noaty,【】z)
{【】=x+y;}
26.如下程序片段:
ina,b,c;
printf("inputa,b,c:");
scanf("a=%d,b=%d,c=%d",&a,&b,&c);
欲使輸出結(jié)果為1、2、3(分別對(duì)應(yīng)于a、b、c),輸入數(shù)據(jù)的正確形式為【】。
27.下列程序的運(yùn)行結(jié)果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
28.存儲(chǔ)結(jié)構(gòu)的4種基本類型分別是順序、鏈?zhǔn)?、索引和【】?/p>
29.多媒體計(jì)算機(jī)所用的CD-ROM是【】。
30.若有如下定義,則該數(shù)組的第一維大小為【】。
intb[][4]={1,2,3,4,5,6,7,8,9}
31.語(yǔ)句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請(qǐng)寫出一條同一功能的賦值語(yǔ)句(不得與列舉的相同)【】。
32.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及對(duì)數(shù)據(jù)的操作運(yùn)算。
33.下面程序的運(yùn)行結(jié)果是【】。
voidswap(int*a,int*b)
{
int*tp;
t=a;a=b;b=t;
}
main()
{
intx=3,y=5,*p=&x,*q=&y;
swap(p,q);
printf("%d%d\n",*p,*q);
}
34.以下程序的輸出結(jié)果是【】。
#include<string.h>
main()
{printf("%d\n",strlen("IBM\n012\1\\"));}
35.在E-R圖中,矩形表示【】。
36.數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和______兩大類。
37.在關(guān)系數(shù)據(jù)庫(kù)中,將數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為______。
38.以下函數(shù)的功能是求x的y次方,請(qǐng)?zhí)羁铡?/p>
doublefun(doublex,inty)
{inti;
doublez;
for(i=1,z=x;i<y;i++)z=z*【】;
returnz;
}
39.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
#defineMAX(a,b)(a>b?a:b)+1
main()
{inti=6,j=8,k;
printf("%d\n",MAX(i,j));
}
40.若有定義語(yǔ)句chars[100],d[100];intj=0,i=0;且s中已賦字符串,請(qǐng)?zhí)羁找詫?shí)現(xiàn)拷貝。(注:不使用逗號(hào)表達(dá)式)
while(s[i]){d[j]=【】;j++;}
d[j]=0;
三、1.選擇題(20題)41.以下程序段的執(zhí)行結(jié)果為#definePLUS(X,Y)X+Ymain(){intx=1,y=2,z=3,sum;sum=PLUS(x+y,z)*PLUS(y,z);printf("SUM=%d",sum);}
A.SUM=9B.SUM=12C.SUM=18D.SUM=28
42.下列合法的標(biāo)識(shí)符是()。
A.123B.#256C.a.55D.abhj1_2_3
43.下列程序段中,不能正確賦值的是
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();
44.下面判斷正確的是
A.char*a="china";等價(jià)于char*a;*a="china";
B.charstr[5]={"china"};等價(jià)于charstr[]={"china"};
C.char*s="china";等價(jià)于char*s;s="china";
D.charc[4]="abc",d[4]="abc";等價(jià)于charc[4]=d[4]="abc";
45.下列敘述中,不屬于軟件需求規(guī)格說(shuō)明書的作用的是()
A.便于用戶,開發(fā)人員進(jìn)行理解和交流
B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D.便于開發(fā)人員進(jìn)行需求分析
46.算法的時(shí)間復(fù)雜度是指______。
A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長(zhǎng)度C.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)D.算法程序中的指令條數(shù)
47.若已定義
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
其中則對(duì)a數(shù)組元素不正確的引用是
A.a[p-a]B.*(&a[i])C.p[i]D.a[10]
48.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。
A.多態(tài)性B.繼承C.封裝性D.模塊化
49.有以下程序main(){chara='a',b;printf("%c,",++A);printf("%c\n"。b=a++);}程序運(yùn)行后的輸出結(jié)果是
A.b,bB.b,cC.a,bD.a,c
50.設(shè)有以下定義和語(yǔ)句inta[3][2]={1,2,3,4,5,6},*p[3];p[0]=a[1];則*(p[0]+1)所代表的數(shù)組元素是
A.a[0][1]B.a[1][0]C.a[1][1]D.a[1][2]
51.以下程序段的輸出結(jié)果是chars[]=“\\141\141abc\t”;printf(“%d\n”,strlen(s));
A.9B.12C.13D.14
52.有如下程序
main()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x<10.0)y=1.0/x;
elsey=1.0;
printf("%f\n",y);}
該程序的輸出結(jié)果是
A.0.000000B.0.250000C.0.500000D.1.000000
53.下面程序的輸出是_______。main(){intm=0xa,n=2;m+=n;printf(""%X\n"",m);}
A.CB.cC.99D.2
54.一個(gè)完整的C語(yǔ)言程序包含一個(gè)或多個(gè)函數(shù),其中唯一不可缺少的函數(shù)是()。
A.庫(kù)函數(shù)B.scanf函數(shù)C.main主函數(shù)D.printf函數(shù)
55.已知intt=0;while(t=1){…}則以下敘述正確的是()。
A.循環(huán)控制表達(dá)式的值為0B.循環(huán)控制表達(dá)式的值為1C.循環(huán)控制表達(dá)式不合法D.以上說(shuō)法都不對(duì)
56.一個(gè)算法應(yīng)該具有“確定性”等5個(gè)特性,下面對(duì)另外4個(gè)特性的描述中錯(cuò)誤的是()A.有零個(gè)或多個(gè)輸入B.有零個(gè)或多個(gè)輸出C.有窮性D.可行性
57.C語(yǔ)言可執(zhí)行程序的開始執(zhí)行點(diǎn)是()
A.程序中第一條可執(zhí)行語(yǔ)言B.程序中第一個(gè)函數(shù)C.程序中的main函數(shù)D.包含文件中的第一個(gè)函數(shù)
58.有下列二叉樹,對(duì)此二叉樹前序遍歷的結(jié)果為()。
A.XZCYABB.XYZABCC.XYABCZD.XYAZBC
59.有以下結(jié)構(gòu)體說(shuō)明和變量定義,如圖所示,指針p、q、r,分別指向此鏈表中的3個(gè)連續(xù)結(jié)點(diǎn)。Structnode{intdata;Structnode*hext;}*p,*q,
*r;
現(xiàn)要將Q所指結(jié)點(diǎn)從鏈表中刪除,同時(shí)要保持鏈表的連續(xù),以下不能完成指定操作的語(yǔ)句是
A.p->next=q->next;
B.p->next=p->next->next;
C.p->next=r;
D.p=q->next;
60.有以下程序:main(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}printf("x=%d\n",x);}程序執(zhí)行后輸出結(jié)果是()。
A.x=4B.x=8C.x=6D.x=12
四、選擇題(20題)61.下面不屬于軟件設(shè)計(jì)階段任務(wù)的是()。
A.制訂軟件確認(rèn)測(cè)試計(jì)劃B.數(shù)據(jù)庫(kù)設(shè)計(jì)C.軟件總體設(shè)計(jì)D.算法設(shè)計(jì)
62.
63.面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過(guò)程的方法有本質(zhì)不同,它的基本原理是()。
A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系
B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念
C.使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題
D.不強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而強(qiáng)調(diào)概念
64.以下敘述中錯(cuò)誤的是______。A.C語(yǔ)言中對(duì)二進(jìn)制文件的訪問速度比文本文件快
B.C語(yǔ)言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)
C.語(yǔ)句FILEfp:定義了一個(gè)名為fp的文件指針
D.C語(yǔ)言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)
65.
66.
67.
68.
69.以下程序的輸出結(jié)果為
main()
{
char*alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};
char**p;
inti;
p=alpha;
for(i=0;i<4;i++)
printf("%s",p[i]);
printf("\n");
}
A.ABCDEFGHIJKLB.ABCD
C.ABCDEFGHIJKLMNOPD.AEIM
70.
71.某二叉樹有5個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)是A.10B.8C.6D.4
72.下列敘述中正確的是()。
A.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大
B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小
C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小
D.上述三種說(shuō)法都不對(duì)
73.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。.
A.3,3B.1,1C.2,3D.1,2
74.
75.
76.下面的函數(shù)調(diào)用語(yǔ)句中func函數(shù)的實(shí)參個(gè)數(shù)是()。func((f2v1,v2),(v3,v4,v5),(v6,max(v7,v8)))
A.3B.4C.5D.8
77.以下關(guān)于typedef的敘述錯(cuò)誤的是()。
A.用typedef可以增加新類型
B.typedef只是將已存在的類型用一個(gè)新的名字來(lái)代替
C.用typedef可以為各種類型說(shuō)明一個(gè)新名,但不能用來(lái)為變量說(shuō)明一個(gè)新名
D.用typedef為類型說(shuō)明一個(gè)新名,通??梢栽黾映绦虻目勺x性
78.下列關(guān)于棧敘述正確的是()。A.棧頂元素最先能被刪除B.棧頂元素最后才能被刪除C.棧底元素永遠(yuǎn)不能被刪除D.棧底元素最先能被胍除
79.以下符合C語(yǔ)言語(yǔ)法的實(shí)型常量是
A.1.2E0.7B.3.33.145EC.E23D..4E-2
80.有以下程序:
#include<stdio.h>
intfun
{staticintx=1;
x+=1;returnX;
}
main
{inti,S=1;
for(i=1;i<=S;i++)s+=fun;
printf("%d\n",s);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.11B.21C.6D.120
五、程序改錯(cuò)題(1題)81.程序改錯(cuò)題(共l8分)下列給定程序中,函數(shù)fun的功能是:傳人一個(gè)整數(shù)m,計(jì)算如下公式的值。例如,若輸入5,則應(yīng)輸出一0.283333。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組stu中,請(qǐng)編寫函數(shù)proc,其功能是:按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:#include<stdio.h>#defineMl6typedefstruct{charnum[l0];intS;}STREC:voidproc(STRECa[]){inti,j;STRECt;for(i=1;i<M;i++)/*用冒泡法來(lái)按從高到低排序*/for(j=0;j<M-1;j++)。if(a[j].s<a[j+1].s)//*按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前*/{t=a[j];a[j]=a[j+1];a[j+1]=t;)}voidmain{STRECstu[M]={{"GA005",85),{"GA003",76},{"GA002",69},{"GA004",85),{"GA001",91),{"GA007",72),{"GA008",64),{"GA006",87),{"GA015",85),{"GA013",91),{"GA012",64),{¨GA014",91),{"GA011",66),{"GA017",64},{"GA018",64),{"GA016",72}};inti;proc(stu);printf("Thedataaftersorted:\n");for(i=0;i<M;i++){if(i%4==0)//每行輸出4個(gè)學(xué)生記錄printf("n");printf("%s%4d",stu[i],num,stu[i].s);}printf("\n");}
參考答案
1.D關(guān)系模型采用二維表來(lái)表示,簡(jiǎn)稱表。本題答案為D選項(xiàng)。
2.D
3.D在程序設(shè)計(jì)中,對(duì)于軟件設(shè)計(jì)中的模塊設(shè)計(jì)要保證高內(nèi)聚和低耦合,源程序要有文檔說(shuō)明,同時(shí)對(duì)程序中數(shù)據(jù)的說(shuō)明要規(guī)范化。而goto語(yǔ)句破壞程序的結(jié)構(gòu),要盡量避免使用。所以選項(xiàng)D不正確。
4.A
5.A
6.A
7.A%d表示以字符和整型類型的格式輸出,%c表示以字符類型的格式輸出,%s表示以字符串類型的格式輸出。選項(xiàng)A中,‘s’是字符,不能用%s格式來(lái)輸出。故本題答案為A選項(xiàng)。
8.D
9.B解析:本題涉及字符串的兩個(gè)最基本的概念。①字符串的長(zhǎng)度是指字符串中字符的個(gè)數(shù),但不包含字符串結(jié)束符;②以反斜線“\\”開頭的特殊字符序列,意思是把反斜線后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來(lái)的含義,不包含在字符串長(zhǎng)度之內(nèi),“\\”連同后面的字符為一個(gè)長(zhǎng)度。
10.D自增運(yùn)算符是將運(yùn)算對(duì)象的值增1,它有前綴形式“++a”和后綴形式“b++”。其中“++a”表示首先將a的值自增1,然后表達(dá)式“++a”的值就是自增后a的值;而“b++”表示首先將b的值作為表達(dá)式的值,然后再將b的值自增1。本題中,a的初值為10,b的初值為11,則表達(dá)式“++a==b++”,等價(jià)于“11==11”,條件為真,所以輸出“T”。if語(yǔ)句執(zhí)行完后,a的值為11,b的值為12,輸出“a=11,b=12”。故本題答案為D選項(xiàng)。
11.B解析:在C語(yǔ)言的數(shù)組元素的引用方法,我們?cè)谇懊嬉呀?jīng)講過(guò)了,比如數(shù)組元素a[0],可以用表達(dá)式*(p+0),即*p來(lái)引用,對(duì)于數(shù)組元素a[1],可以用表達(dá)式*(p+1)來(lái)引用,在這里,p+1的值就是數(shù)組元素a[1]的地址,對(duì)此地址使用“間接訪問運(yùn)算符”:*(p+1)就代表存儲(chǔ)單元a[1],注意:一對(duì)圓括號(hào)不可少。同樣,對(duì)于數(shù)組元素a[2],則可以用表達(dá)式。(p+2)來(lái)引用…,對(duì)于數(shù)組元素a[9],可以用表達(dá)式,(p+9)來(lái)引用。因此,當(dāng)指針變量p指向a數(shù)組的起始地址時(shí),若0≤i<10,則數(shù)組元素a[i]可以用*(p+i)來(lái)表示。
12.C【答案】:C
【知識(shí)點(diǎn)】:需求分析階段的任務(wù)
【解析】:需求分析階段的任務(wù)是深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的約束和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求,借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問題。可分為需求提出、需求描述及需求評(píng)審三個(gè)階段。從此可以看出需求分析的任務(wù)不包括制定軟件集成測(cè)試計(jì)劃,故選C。
13.B第一次執(zhí)行外循環(huán)i的值為1,滿足條件,判斷第一次內(nèi)循環(huán),j的值為3,不滿足條件,跳出內(nèi)循環(huán)。第二次執(zhí)行外循環(huán)i的值為2,同理也不滿足內(nèi)循環(huán)條件,跳出內(nèi)循環(huán)。第三次執(zhí)行外循環(huán)i的值為3,此時(shí)進(jìn)入內(nèi)循環(huán)判斷條件時(shí),條件成立,執(zhí)行m=m%j,m的值為1,跳出內(nèi)循環(huán),跳出外循環(huán)打印m的值。
14.B子函數(shù)fun(intx,inty),將變量m和i聲明為局部靜態(tài)變量,因此第l次調(diào)用主函數(shù)后,局部靜態(tài)變量m和i的值為5和3,第l次函數(shù)調(diào)用結(jié)束時(shí),它們的值不釋放保持不變,所以第2次調(diào)用時(shí),局部靜態(tài)變量m和i的初始值分別為5和3,即在執(zhí)行“i+=m+1”時(shí),i的值為9,因此最終m的值為11。
15.A解析:一個(gè)C語(yǔ)言源程序無(wú)論包括了多少函數(shù),總是從main函數(shù)開始執(zhí)行,從main函數(shù)結(jié)束。
16.C解析:二叉樹的一個(gè)性質(zhì)是,在二叉樹的第k層上,最多有2(k-1)(k>=1)個(gè)結(jié)點(diǎn)。對(duì)于滿二叉樹,每一層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹的第k層上有2k-1個(gè)結(jié)點(diǎn)。所以,在深度為5的滿二叉樹中,所有葉子結(jié)點(diǎn)在第5層上,即其結(jié)點(diǎn)數(shù)為2(k-1)=2(5-1)=16。
17.DD選項(xiàng)中“x[2][3]”定義的是一個(gè)2行3列的二維數(shù)組,而在給數(shù)組元素賦值時(shí)卻賦成了3行,所以錯(cuò)誤。故本題答案為D選項(xiàng)。
18.C解析:軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)包括:基于功能層次結(jié)構(gòu)建立系統(tǒng)、按功能劃分成模塊的層次結(jié)構(gòu)、確定每個(gè)模塊的功能、建立與已確定的軟件需求的對(duì)應(yīng)關(guān)系、確定模塊間的調(diào)用關(guān)系和模塊間的接口、評(píng)估模塊劃分的質(zhì)量等方面。詳細(xì)設(shè)計(jì)的任務(wù)是:在使用程序設(shè)計(jì)語(yǔ)言編制程序以前,對(duì)所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過(guò)程細(xì)節(jié),并給予清晰的表達(dá)。需求分析是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開發(fā)進(jìn)度需求等。編程調(diào)試的任務(wù)是診斷和改正程序中潛在的錯(cuò)誤。綜上所述。軟件功能分解只能發(fā)生在總體設(shè)計(jì)階段。
19.C
20.D解析:改變文件位置指針函數(shù)fseek()的功能:①改變文件的位置指針;②輔助實(shí)現(xiàn)文件的順序讀寫;③輔助實(shí)現(xiàn)文件的隨機(jī)讀寫。
21.集合集合
22.20020,0解析:在主函數(shù)中首先定義了3個(gè)整型變量x、y、t,并分別給它們賦初值為10、20、0,接著執(zhí)行汀語(yǔ)句,在if后面括號(hào)內(nèi)的條件表達(dá)式中,條件x==y即10==20不成立,則不執(zhí)行其后的語(yǔ)句t=x,然后退出if語(yǔ)句,順序執(zhí)行語(yǔ)句x=y;y=t;。執(zhí)行完這兩條語(yǔ)句后x的值變?yōu)?0,y的值變?yōu)?,所以最后輸出x、y的值為20和0。
23.fopenwhile(fgetc(fp)!='\n')lin=jclose(fp)fopen\r\nwhile(fgetc(fp)!='\\n')\r\nlin=j\r\nclose(fp)
24.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。常見的線性結(jié)構(gòu)有線性表、棧和隊(duì)列等,常見的非線性結(jié)構(gòu)有樹、二叉樹等。
25.float*z
26.a=1b=2c=3a=1,b=2,c=3解析:此題考查了scanf函數(shù)的輸入格式。scanf函數(shù)的輸入格式規(guī)定如果兩個(gè)格式說(shuō)明項(xiàng)間有一個(gè)或多個(gè)普通字符,那么在輸入數(shù)據(jù)時(shí),在兩個(gè)數(shù)據(jù)之間也必須以這一個(gè)或多個(gè)字符作為分隔符。
27.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。運(yùn)算過(guò)程為:t=POW(x+y)=(2+3)*(2+3)=25。
28.散列散列
29.只讀光盤只讀光盤
30.3
31.x+=1;
32.存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括3個(gè)方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)及對(duì)數(shù)據(jù)的操作運(yùn)算。
33.3535解析:在主函數(shù)中通過(guò)定義和賦初值使p和q分別指向了x和y,執(zhí)行函數(shù)調(diào)用“swap(p,q)”,把p和q中的地址值傳給了形參指針.變量a和b,a和b分別指向了實(shí)參x和y。在函數(shù)swap()中交換了指針變量a和b的值,并沒有交換a和b指向的實(shí)參的值,所以函數(shù)調(diào)用返回后x和y依舊是原來(lái)的值。
34.99解析:本題要輸出的結(jié)果是字符串'IBM\\n012\\1\\\\'的長(zhǎng)度,'IBM'是3個(gè)字符,\'\\n\'是1個(gè)字符,'012'又是3個(gè)字符,最后的\'\\1\'和\'\\\\\'都是1個(gè)字符。所以最終字符串的長(zhǎng)度應(yīng)該是3+1+3+1+1=9。故本題應(yīng)該填9。
35.實(shí)體實(shí)體解析:E-R模型中,有3個(gè)基本的抽象概念:實(shí)體、聯(lián)系和屬性。在E-R圖中,用矩形框表示實(shí)體,菱形框表示聯(lián)系,橢圓形框表示屬性。
36.非線性結(jié)構(gòu)非線性結(jié)構(gòu)
37.關(guān)系或關(guān)系表關(guān)系或關(guān)系表解析:在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)關(guān)系.表中的每一列稱為一個(gè)屬性,相當(dāng)于記錄中的一個(gè)數(shù)據(jù)項(xiàng),對(duì)屬性的命名稱為屬性名,表中的一行稱為一個(gè)元組,相當(dāng)于記錄值。
38.xx解析:函數(shù)的定義形式為;
函數(shù)類型函數(shù)名(形參表)
{
類型說(shuō)明語(yǔ)句;
執(zhí)行語(yǔ)句;
}
本題中函數(shù)的功能是:累積變量以求得變量的Y次方。
39.99解析:本題考查宏定義與三目運(yùn)算符的綜合應(yīng)用。宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個(gè)表達(dá)式的值,否則b+1的值為整個(gè)表達(dá)式的值(應(yīng)注意后面的加1)。
40.s[i++]s[i++]解析:本題中為了能實(shí)現(xiàn)字符串的拷貝,需要使字符數(shù)組s從頭到尾依次遍歷其所有元素。本題應(yīng)使用i的自增后置來(lái)實(shí)現(xiàn)。
41.B解析:本題考查帶參數(shù)的宏定義及應(yīng)用方法,這種宏不只是進(jìn)行字符串的替換,還要進(jìn)行參數(shù)的替換。
格式為:#define宏名(參數(shù)表)字符串
我們先看一個(gè)簡(jiǎn)單的帶參數(shù)的宏定義:#defineX(A,B)A*B*B并且在程序中有語(yǔ)句:y=X(4,3);經(jīng)過(guò)替換后變?yōu)閥=4*3*3;這就是帶參數(shù)的宏定義的使用方法。注意:宏是按原形替換,本題替換后為sun=1+2+3*2+3;。
42.DC語(yǔ)言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成,并且它的第一個(gè)字符必須是字母或者下劃線?!?”、“.”不允許出現(xiàn)在標(biāo)識(shí)符中。
43.C解析:本題考查了字符的輸入函數(shù)getchar和利用scanf函數(shù)輸入一個(gè)字符。用scanf輸入字符時(shí),格式說(shuō)明字符應(yīng)該為%c。本題選項(xiàng)C)因?yàn)橹羔榩沒有賦初值,所以是一個(gè)不定值,不能直接將getchar讀入的字符賦給指針p所指向的字符,所以選項(xiàng)C錯(cuò)誤。
44.C解析:選項(xiàng)A)char*a;*a=“china”應(yīng)改為a=china;,選項(xiàng)B)應(yīng)該是charstr[6];D)項(xiàng)表述方法有錯(cuò)誤。
45.D解析:軟件需求規(guī)格說(shuō)明書SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它有以下幾個(gè)方面的作用,①便于用戶、開發(fā)人員進(jìn)行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。
46.C解析:算法的時(shí)間復(fù)雜度實(shí)際上就是執(zhí)行算法程序所需要的計(jì)算工作量。為了客觀地反映算法性能,在度量算法的時(shí)間復(fù)雜度時(shí),應(yīng)該與編寫算法程序所使用的程序設(shè)計(jì)語(yǔ)言、執(zhí)行算法程序時(shí)所使用的計(jì)算的工具以及程序員的水平無(wú)關(guān)。選項(xiàng)A錯(cuò)誤,因?yàn)橥凰惴ǔ绦蛟谶\(yùn)行速度不同的計(jì)算機(jī)上運(yùn)行時(shí),其計(jì)算時(shí)間是不同的。選項(xiàng)B錯(cuò)誤,因?yàn)樗惴ㄋ帉懙某绦蜷L(zhǎng)度往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),同一個(gè)算法,用不同的程序設(shè)計(jì)語(yǔ)言或者不同的程序員所編寫出的程序其長(zhǎng)度可能會(huì)大不相同。選項(xiàng)D錯(cuò)誤,因?yàn)楦鶕?jù)一個(gè)算法所編制出的程序之中,其指令條數(shù)往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來(lái)度量算法的時(shí)間復(fù)雜度。所以,本題正確答案為C。
47.D解析:通常,引用一個(gè)數(shù)組元素可以用下標(biāo)法,如a[p-a]形式,或指針法,如*(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標(biāo)是從0開始的。
48.DD?!窘馕觥棵嫦?qū)ο笤O(shè)計(jì)方法與面向過(guò)程設(shè)計(jì)方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題。其特點(diǎn)包括:分類性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)。
49.A解析:程序中的第一個(gè)輸出語(yǔ)句輸出表達(dá)式++a的值,該++a是在使用a之前,先使a的值加1,即為a加1為字符b,此時(shí)a的值為b,所以第一個(gè)輸出語(yǔ)句輸出的值為b,第二個(gè)輸出語(yǔ)句中輸出的b的值,這時(shí)b的值為表達(dá)式a++的值,a++是在使用a之后(此時(shí)a的值為b,所以賦給b的值為B),使a的值加一因此第二個(gè)輸出的值也為b.所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
50.C解析:本題中首先定義了一個(gè)3行2列的數(shù)組a,一個(gè)長(zhǎng)度為3的指針數(shù)組p,接著把地址a[1]賦給p[0]此時(shí)p[0]為a[1][0]的地址,p[0]+1為a[1][1]的地址,故*(P[0]+1)代表的元素為a[1][1]。
51.A解析:字符數(shù)組中可以存放字符串,但字符數(shù)組的長(zhǎng)度并不是字符串的長(zhǎng)度,字符串的長(zhǎng)度是指字符數(shù)組中存放的有效字符個(gè)數(shù),即\'\\0\',之前的字符數(shù)。字符數(shù)組s中依次存放的字符是:\'\\\\'1'4'1'\\141'a'b'c'\\t\',和最后一個(gè)字符串結(jié)束標(biāo)記\'\\0\',故字符串的長(zhǎng)度是9。
52.C解析:該題目測(cè)驗(yàn)考生對(duì)if...elseif結(jié)構(gòu)的理解,比較簡(jiǎn)單。x的值滿足x<10.0的關(guān)系,所以程序?qū)?zhí)行y=1.0/x;語(yǔ)句,y的值應(yīng)該等于0.5。最后,用printf函數(shù)輸出時(shí),%f的輸出格式為小數(shù)點(diǎn)后保留6位。
53.A解析:格式控制x表示數(shù)據(jù)按十六進(jìn)制格式輸出(不輸出前導(dǎo)符ox)。本題在執(zhí)行語(yǔ)句m+=n;后,m的值變?yōu)樽帜竎,又因?yàn)樵谳敵鯽-f時(shí),如果格式控制符用X,則以大寫字母輸出;如果用x,則以小寫字母輸出,故本題答案為A。
54.C解析:一個(gè)完整的C程序有且僅有一個(gè)主函數(shù)(main()函數(shù)),主函數(shù)可以調(diào)用其他各種函數(shù),但其他函數(shù)不能調(diào)用主函數(shù),C程序從主函數(shù)開始執(zhí)行,并在主函數(shù)中結(jié)束整個(gè)程序的運(yùn)行。故選項(xiàng)C正確。
55.B解析:t=1是將t賦值為1,所以循環(huán)控制表達(dá)式的值為1。判斷t是否等于1時(shí),應(yīng)用t==1,注意“=”與“==”的用法。
56.B解析:本題考核的知識(shí)點(diǎn)是算法的性質(zhì)。算法是為解決某個(gè)特定問題而采取的確定的且有限的步驟,一個(gè)算法應(yīng)當(dāng)具有以下5個(gè)基本特性:1.有窮性,就是指一個(gè)算法應(yīng)當(dāng)包含有限個(gè)操作步驟。2.確定性,就是說(shuō)算法中每一條指令必須有確切的含義,不能有二義性,對(duì)于相同的輸入必能得出相同的執(zhí)行結(jié)果。3.有零個(gè)或多個(gè)輸入。4.可行性,就是說(shuō)算法中指定的操作,都可以通過(guò)已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次實(shí)現(xiàn),5.有一個(gè)或多個(gè)輸出。由此可知選項(xiàng)B不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
57.C
58.D解析:對(duì)二叉樹的前序遍歷是指先訪問根結(jié)點(diǎn),然后訪問左于樹,最后訪問右子樹,并且在訪問左、右子樹時(shí),先訪問根結(jié)點(diǎn),再依次訪問其左、右于樹。
59.D解析:要?jiǎng)h除鏈表中間的某個(gè)結(jié)點(diǎn),只需要使它的前一個(gè)結(jié)點(diǎn)的next指針指向它的后一個(gè)結(jié)點(diǎn)-不過(guò),嚴(yán)格來(lái)講還需要使用free()函數(shù)釋放掉該結(jié)點(diǎn)在內(nèi)存中所占的空間。本題要?jiǎng)h除的是q所指結(jié)點(diǎn)(以下簡(jiǎn)稱q結(jié)點(diǎn)),只需使p結(jié)點(diǎn)的next指針指向r結(jié)點(diǎn)即可。選項(xiàng)A中,因?yàn)镼結(jié)點(diǎn)的next指向r結(jié)點(diǎn),所以執(zhí)行p->next=q->next;語(yǔ)句后p結(jié)點(diǎn)的next就指向了r結(jié)點(diǎn),故選項(xiàng)A能完成刪除。選項(xiàng)B中,p->next->next等價(jià)于q->next,因此也能完成刪除。選項(xiàng)C直接讓p->next指向r結(jié)點(diǎn),當(dāng)然可以刪除。選項(xiàng)D使指針p指向q->next(即r結(jié)點(diǎn)),這樣做不會(huì)影響到內(nèi)存中的鏈表,所以應(yīng)該選擇D。
60.B解析:外循環(huán)的循環(huán)變量i從0遞增到1會(huì)循環(huán)2次,內(nèi)循環(huán)的循環(huán)變量j從0遞增到3會(huì)循環(huán)4次。但是內(nèi)循環(huán)中有一條if語(yǔ)句,每當(dāng)j%2為真,即j為奇數(shù)時(shí)會(huì)跳過(guò)下面的x++;語(yǔ)句,所以4次內(nèi)循環(huán)只有2次執(zhí)行到x++;語(yǔ)句,再加上外循環(huán)中包含的2條x++語(yǔ)句,所以每次外循環(huán)會(huì)使x自增4次,2次外循環(huán)下來(lái)x的值為8。故應(yīng)該選擇B。
61.A軟件設(shè)計(jì)階段的主要任務(wù)包括丙個(gè):一是進(jìn)行軟件系統(tǒng)的可行性分析,確定軟件系統(tǒng)的建設(shè)是否值得,能否建成。二是進(jìn)行軟件的系統(tǒng)分析,了解用戶的需求,定義應(yīng)用功能,詳細(xì)估算開發(fā)成本和開發(fā)周期。
62.C
63.C\n面向?qū)ο蟮脑O(shè)計(jì)方法的基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題。它雖強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的概念而不強(qiáng)調(diào)算法,但是它鼓勵(lì)開發(fā)者在軟件開發(fā)的過(guò)程中從應(yīng)用領(lǐng)域的概念角度去思考。
\n
6
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國(guó)門窗鉸鏈行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2030年中國(guó)酚酞單磷酸二環(huán)己胺鹽數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年安徽商貿(mào)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)及完整答案一套
- 2025年安徽審計(jì)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 2025年北??叼B(yǎng)職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)及完整答案1套
- 2025年安徽省宿州市單招職業(yè)傾向性考試題庫(kù)標(biāo)準(zhǔn)卷
- 2025年二手教育設(shè)備購(gòu)買合同范本
- 2025年花園租賃合同樣本
- 2025年工程項(xiàng)目混凝土訂貨合同模板
- 2025年酒店實(shí)訓(xùn)場(chǎng)地租用合同
- DeepSeek科普學(xué)習(xí)解讀
- 第一單元第2課《生活之美》課件-七年級(jí)美術(shù)下冊(cè)(人教版)
- 2025年七下道德與法治教材習(xí)題答案
- 危險(xiǎn)化學(xué)品目錄(2024版)
- 人教版八年級(jí)數(shù)學(xué)第二學(xué)期教學(xué)計(jì)劃+教學(xué)進(jìn)度表
- 模糊邏輯與模糊推理
- 玉米收割機(jī)的設(shè)計(jì)(機(jī)械CAD圖紙)
- 金屬補(bǔ)償器計(jì)算大全
- 國(guó)際部SOP手冊(cè)2014修改版(2.0版)
- 凈菜配送標(biāo)準(zhǔn)
- 水工環(huán)地質(zhì)調(diào)查技術(shù)標(biāo)準(zhǔn)手冊(cè)
評(píng)論
0/150
提交評(píng)論