版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021-2022年河南省鄭州市全國計算機等級考試C語言程序設計真題(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.采用表結(jié)構(gòu)來表示數(shù)據(jù)和數(shù)據(jù)間聯(lián)系的模型是()。
A.層次模型B.概念模型C.網(wǎng)狀模型D.關(guān)系模型
2.如有inta=11;則表達式(a/1)的值是()。
A.0B.3C.4D.11
3.下列選項不符合良好程序設計風格的是()。
A.源程序要文檔化B.數(shù)據(jù)說明的次序要規(guī)范化C.避免濫用goto語句D.模塊設計原則是高耦合、高內(nèi)聚
4.以下程序的輸出結(jié)果是()main(){staticchara[10]={"Chinese"};printf("%d",strlen(a));}
A.7B.2C.9D.10
5.在一個元素個數(shù)為N的數(shù)組里,找到升序排在N/5位置的元素的最優(yōu)算法時間復雜度是()A.O(n)B.O(nlogn)C.O(n(logn)2)D.O(n3/2)
6.軟件按功能可以分為應用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應用軟件的是()。
A.學生成績管理系統(tǒng)B.C語言編譯程序C.UNIX操作系統(tǒng)D.數(shù)據(jù)庫管理系統(tǒng)
7.以下選項中錯誤的是()。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\"\\”的長度是()。
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);}程序運行后的輸出結(jié)果是()。
A.Fa=11,b=11B.Fa=10,b=12C.Ta=10,b=11D.Ta=11,b=12
11.有如下說明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達式是()
A.*p+9B.*(p+8)C.*p+=9D.p+8
12.下面不屬于需求分析階段任務的是()。
A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的性能需求C.制定軟件集成測試計劃D.需求規(guī)格說明書評審
13.有以下程序:
程序運行后的輸出結(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.對于一個正常運行的C程序,下列敘述中正確的是()。A.A.程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束
B.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結(jié)束
C.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
D.程序的執(zhí)行總是從程序中的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
16.在深度為5的滿二叉樹中,葉子結(jié)點的個數(shù)為()。
A.31B.32C.16D.15
17.下列定義數(shù)組的語句中錯誤的是()。
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.詳細設計B.需求分析C.總體設計D.編程調(diào)試
19.廣義表(a,b,c,d)的表尾是()。
A.aB.(a)C.(b,c,d)D.((b,c,c))
20.利用fseek函數(shù)可實現(xiàn)的操作是()。
A.實現(xiàn)文件的順序讀寫B(tài).改變文件的位置指針C.實現(xiàn)文件的隨機讀寫D.以上答案均正確
二、2.填空題(20題)21.關(guān)系操作的特點是______操作。
22.以下程序運行后的輸出結(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文件中最長行和它的位置。
#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ù)用來求兩個單精度數(shù)之和,并通過形參將結(jié)果傳回,請?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(分別對應于a、b、c),輸入數(shù)據(jù)的正確形式為【】。
27.下列程序的運行結(jié)果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
28.存儲結(jié)構(gòu)的4種基本類型分別是順序、鏈式、索引和【】。
29.多媒體計算機所用的CD-ROM是【】。
30.若有如下定義,則該數(shù)組的第一維大小為【】。
intb[][4]={1,2,3,4,5,6,7,8,9}
31.語句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請寫出一條同一功能的賦值語句(不得與列舉的相同)【】。
32.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及對數(shù)據(jù)的操作運算。
33.下面程序的運行結(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ù)庫中,將數(shù)據(jù)表示成二維表,每一個二維表稱為______。
38.以下函數(shù)的功能是求x的y次方,請?zhí)羁铡?/p>
doublefun(doublex,inty)
{inti;
doublez;
for(i=1,z=x;i<y;i++)z=z*【】;
returnz;
}
39.以下程序的運行結(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.若有定義語句chars[100],d[100];intj=0,i=0;且s中已賦字符串,請?zhí)羁找詫崿F(xiàn)拷貝。(注:不使用逗號表達式)
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.下列合法的標識符是()。
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";等價于char*a;*a="china";
B.charstr[5]={"china"};等價于charstr[]={"china"};
C.char*s="china";等價于char*s;s="china";
D.charc[4]="abc",d[4]="abc";等價于charc[4]=d[4]="abc";
45.下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是()
A.便于用戶,開發(fā)人員進行理解和交流
B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎和依據(jù)
C.作為確認測試和驗收的依據(jù)
D.便于開發(fā)人員進行需求分析
46.算法的時間復雜度是指______。
A.執(zhí)行算法程序所需要的時間B.算法程序的長度C.算法執(zhí)行過程中所需要的基本運算次數(shù)D.算法程序中的指令條數(shù)
47.若已定義
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
其中則對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++);}程序運行后的輸出結(jié)果是
A.b,bB.b,cC.a,bD.a,c
50.設有以下定義和語句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.一個完整的C語言程序包含一個或多個函數(shù),其中唯一不可缺少的函數(shù)是()。
A.庫函數(shù)B.scanf函數(shù)C.main主函數(shù)D.printf函數(shù)
55.已知intt=0;while(t=1){…}則以下敘述正確的是()。
A.循環(huán)控制表達式的值為0B.循環(huán)控制表達式的值為1C.循環(huán)控制表達式不合法D.以上說法都不對
56.一個算法應該具有“確定性”等5個特性,下面對另外4個特性的描述中錯誤的是()A.有零個或多個輸入B.有零個或多個輸出C.有窮性D.可行性
57.C語言可執(zhí)行程序的開始執(zhí)行點是()
A.程序中第一條可執(zhí)行語言B.程序中第一個函數(shù)C.程序中的main函數(shù)D.包含文件中的第一個函數(shù)
58.有下列二叉樹,對此二叉樹前序遍歷的結(jié)果為()。
A.XZCYABB.XYZABCC.XYABCZD.XYAZBC
59.有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r,分別指向此鏈表中的3個連續(xù)結(jié)點。Structnode{intdata;Structnode*hext;}*p,*q,
*r;
現(xiàn)要將Q所指結(jié)點從鏈表中刪除,同時要保持鏈表的連續(xù),以下不能完成指定操作的語句是
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.下面不屬于軟件設計階段任務的是()。
A.制訂軟件確認測試計劃B.數(shù)據(jù)庫設計C.軟件總體設計D.算法設計
62.
63.面向?qū)ο蟮脑O計方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是()。
A.模擬現(xiàn)實世界中不同事物之間的聯(lián)系
B.強調(diào)模擬現(xiàn)實世界中的算法而不強調(diào)概念
C.使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題
D.不強調(diào)模擬現(xiàn)實世界中的算法而強調(diào)概念
64.以下敘述中錯誤的是______。A.C語言中對二進制文件的訪問速度比文本文件快
B.C語言中,隨機文件以二進制代碼形式存儲數(shù)據(jù)
C.語句FILEfp:定義了一個名為fp的文件指針
D.C語言中的文本文件以ASCII碼形式存儲數(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個度為2的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)是A.10B.8C.6D.4
72.下列敘述中正確的是()。
A.一個算法的空間復雜度大,則其時間復雜度也必定大
B.一個算法的空間復雜度大,則其時間復雜度必定小
C.一個算法的時間復雜度大,則其空間復雜度必定小
D.上述三種說法都不對
73.有以下程序:
程序運行后的輸出結(jié)果是()。.
A.3,3B.1,1C.2,3D.1,2
74.
75.
76.下面的函數(shù)調(diào)用語句中func函數(shù)的實參個數(shù)是()。func((f2v1,v2),(v3,v4,v5),(v6,max(v7,v8)))
A.3B.4C.5D.8
77.以下關(guān)于typedef的敘述錯誤的是()。
A.用typedef可以增加新類型
B.typedef只是將已存在的類型用一個新的名字來代替
C.用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名
D.用typedef為類型說明一個新名,通??梢栽黾映绦虻目勺x性
78.下列關(guān)于棧敘述正確的是()。A.棧頂元素最先能被刪除B.棧頂元素最后才能被刪除C.棧底元素永遠不能被刪除D.棧底元素最先能被胍除
79.以下符合C語言語法的實型常量是
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);
}
程序運行后的輸出結(jié)果是()。
A.11B.21C.6D.120
五、程序改錯題(1題)81.程序改錯題(共l8分)下列給定程序中,函數(shù)fun的功能是:傳人一個整數(shù)m,計算如下公式的值。例如,若輸入5,則應輸出一0.283333。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設計題(1題)82.學生的記錄由學號和成績組成,M名學生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組stu中,請編寫函數(shù)proc,其功能是:按分數(shù)的高低排列學生的記錄,高分在前。注意:部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填入所編寫的若干語句。試題程序:#include<stdio.h>#defineMl6typedefstruct{charnum[l0];intS;}STREC:voidproc(STRECa[]){inti,j;STRECt;for(i=1;i<M;i++)/*用冒泡法來按從高到低排序*/for(j=0;j<M-1;j++)。if(a[j].s<a[j+1].s)//*按分數(shù)的高低排列學生的記錄,高分在前*/{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個學生記錄printf("n");printf("%s%4d",stu[i],num,stu[i].s);}printf("\n");}
參考答案
1.D關(guān)系模型采用二維表來表示,簡稱表。本題答案為D選項。
2.D
3.D在程序設計中,對于軟件設計中的模塊設計要保證高內(nèi)聚和低耦合,源程序要有文檔說明,同時對程序中數(shù)據(jù)的說明要規(guī)范化。而goto語句破壞程序的結(jié)構(gòu),要盡量避免使用。所以選項D不正確。
4.A
5.A
6.A
7.A%d表示以字符和整型類型的格式輸出,%c表示以字符類型的格式輸出,%s表示以字符串類型的格式輸出。選項A中,‘s’是字符,不能用%s格式來輸出。故本題答案為A選項。
8.D
9.B解析:本題涉及字符串的兩個最基本的概念。①字符串的長度是指字符串中字符的個數(shù),但不包含字符串結(jié)束符;②以反斜線“\\”開頭的特殊字符序列,意思是把反斜線后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來的含義,不包含在字符串長度之內(nèi),“\\”連同后面的字符為一個長度。
10.D自增運算符是將運算對象的值增1,它有前綴形式“++a”和后綴形式“b++”。其中“++a”表示首先將a的值自增1,然后表達式“++a”的值就是自增后a的值;而“b++”表示首先將b的值作為表達式的值,然后再將b的值自增1。本題中,a的初值為10,b的初值為11,則表達式“++a==b++”,等價于“11==11”,條件為真,所以輸出“T”。if語句執(zhí)行完后,a的值為11,b的值為12,輸出“a=11,b=12”。故本題答案為D選項。
11.B解析:在C語言的數(shù)組元素的引用方法,我們在前面已經(jīng)講過了,比如數(shù)組元素a[0],可以用表達式*(p+0),即*p來引用,對于數(shù)組元素a[1],可以用表達式*(p+1)來引用,在這里,p+1的值就是數(shù)組元素a[1]的地址,對此地址使用“間接訪問運算符”:*(p+1)就代表存儲單元a[1],注意:一對圓括號不可少。同樣,對于數(shù)組元素a[2],則可以用表達式。(p+2)來引用…,對于數(shù)組元素a[9],可以用表達式,(p+9)來引用。因此,當指針變量p指向a數(shù)組的起始地址時,若0≤i<10,則數(shù)組元素a[i]可以用*(p+i)來表示。
12.C【答案】:C
【知識點】:需求分析階段的任務
【解析】:需求分析階段的任務是深入描述軟件的功能和性能,確定軟件設計的約束和軟件同其他系統(tǒng)元素的接口細節(jié),定義軟件的其他有效性需求,借助于當前系統(tǒng)的邏輯模型導出目標系統(tǒng)邏輯模型,解決目標系統(tǒng)“做什么”的問題??煞譃樾枨筇岢?、需求描述及需求評審三個階段。從此可以看出需求分析的任務不包括制定軟件集成測試計劃,故選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,此時進入內(nèi)循環(huán)判斷條件時,條件成立,執(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é)束時,它們的值不釋放保持不變,所以第2次調(diào)用時,局部靜態(tài)變量m和i的初始值分別為5和3,即在執(zhí)行“i+=m+1”時,i的值為9,因此最終m的值為11。
15.A解析:一個C語言源程序無論包括了多少函數(shù),總是從main函數(shù)開始執(zhí)行,從main函數(shù)結(jié)束。
16.C解析:二叉樹的一個性質(zhì)是,在二叉樹的第k層上,最多有2(k-1)(k>=1)個結(jié)點。對于滿二叉樹,每一層上的結(jié)點數(shù)都達到最大值,即在滿二叉樹的第k層上有2k-1個結(jié)點。所以,在深度為5的滿二叉樹中,所有葉子結(jié)點在第5層上,即其結(jié)點數(shù)為2(k-1)=2(5-1)=16。
17.DD選項中“x[2][3]”定義的是一個2行3列的二維數(shù)組,而在給數(shù)組元素賦值時卻賦成了3行,所以錯誤。故本題答案為D選項。
18.C解析:軟件系統(tǒng)結(jié)構(gòu)的總體設計包括:基于功能層次結(jié)構(gòu)建立系統(tǒng)、按功能劃分成模塊的層次結(jié)構(gòu)、確定每個模塊的功能、建立與已確定的軟件需求的對應關(guān)系、確定模塊間的調(diào)用關(guān)系和模塊間的接口、評估模塊劃分的質(zhì)量等方面。詳細設計的任務是:在使用程序設計語言編制程序以前,對所采用算法的邏輯關(guān)系進行分析,設計出全部必要的過程細節(jié),并給予清晰的表達。需求分析是指用戶對目標軟件系統(tǒng)在功能、行為、性能、設計約束等方面的期望。需求分析的任務是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開發(fā)進度需求等。編程調(diào)試的任務是診斷和改正程序中潛在的錯誤。綜上所述。軟件功能分解只能發(fā)生在總體設計階段。
19.C
20.D解析:改變文件位置指針函數(shù)fseek()的功能:①改變文件的位置指針;②輔助實現(xiàn)文件的順序讀寫;③輔助實現(xiàn)文件的隨機讀寫。
21.集合集合
22.20020,0解析:在主函數(shù)中首先定義了3個整型變量x、y、t,并分別給它們賦初值為10、20、0,接著執(zhí)行汀語句,在if后面括號內(nèi)的條件表達式中,條件x==y即10==20不成立,則不執(zhí)行其后的語句t=x,然后退出if語句,順序執(zhí)行語句x=y;y=t;。執(zhí)行完這兩條語句后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)有線性表、棧和隊列等,常見的非線性結(jié)構(gòu)有樹、二叉樹等。
25.float*z
26.a=1b=2c=3a=1,b=2,c=3解析:此題考查了scanf函數(shù)的輸入格式。scanf函數(shù)的輸入格式規(guī)定如果兩個格式說明項間有一個或多個普通字符,那么在輸入數(shù)據(jù)時,在兩個數(shù)據(jù)之間也必須以這一個或多個字符作為分隔符。
27.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運算。運算過程為:t=POW(x+y)=(2+3)*(2+3)=25。
28.散列散列
29.只讀光盤只讀光盤
30.3
31.x+=1;
32.存儲結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括3個方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)及對數(shù)據(jù)的操作運算。
33.3535解析:在主函數(shù)中通過定義和賦初值使p和q分別指向了x和y,執(zhí)行函數(shù)調(diào)用“swap(p,q)”,把p和q中的地址值傳給了形參指針.變量a和b,a和b分別指向了實參x和y。在函數(shù)swap()中交換了指針變量a和b的值,并沒有交換a和b指向的實參的值,所以函數(shù)調(diào)用返回后x和y依舊是原來的值。
34.99解析:本題要輸出的結(jié)果是字符串'IBM\\n012\\1\\\\'的長度,'IBM'是3個字符,\'\\n\'是1個字符,'012'又是3個字符,最后的\'\\1\'和\'\\\\\'都是1個字符。所以最終字符串的長度應該是3+1+3+1+1=9。故本題應該填9。
35.實體實體解析:E-R模型中,有3個基本的抽象概念:實體、聯(lián)系和屬性。在E-R圖中,用矩形框表示實體,菱形框表示聯(lián)系,橢圓形框表示屬性。
36.非線性結(jié)構(gòu)非線性結(jié)構(gòu)
37.關(guān)系或關(guān)系表關(guān)系或關(guān)系表解析:在關(guān)系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個關(guān)系.表中的每一列稱為一個屬性,相當于記錄中的一個數(shù)據(jù)項,對屬性的命名稱為屬性名,表中的一行稱為一個元組,相當于記錄值。
38.xx解析:函數(shù)的定義形式為;
函數(shù)類型函數(shù)名(形參表)
{
類型說明語句;
執(zhí)行語句;
}
本題中函數(shù)的功能是:累積變量以求得變量的Y次方。
39.99解析:本題考查宏定義與三目運算符的綜合應用。宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個表達式的值,否則b+1的值為整個表達式的值(應注意后面的加1)。
40.s[i++]s[i++]解析:本題中為了能實現(xiàn)字符串的拷貝,需要使字符數(shù)組s從頭到尾依次遍歷其所有元素。本題應使用i的自增后置來實現(xiàn)。
41.B解析:本題考查帶參數(shù)的宏定義及應用方法,這種宏不只是進行字符串的替換,還要進行參數(shù)的替換。
格式為:#define宏名(參數(shù)表)字符串
我們先看一個簡單的帶參數(shù)的宏定義:#defineX(A,B)A*B*B并且在程序中有語句:y=X(4,3);經(jīng)過替換后變?yōu)閥=4*3*3;這就是帶參數(shù)的宏定義的使用方法。注意:宏是按原形替換,本題替換后為sun=1+2+3*2+3;。
42.DC語言規(guī)定,標識符是由字母、數(shù)字或下劃線組成,并且它的第一個字符必須是字母或者下劃線?!?”、“.”不允許出現(xiàn)在標識符中。
43.C解析:本題考查了字符的輸入函數(shù)getchar和利用scanf函數(shù)輸入一個字符。用scanf輸入字符時,格式說明字符應該為%c。本題選項C)因為指針p沒有賦初值,所以是一個不定值,不能直接將getchar讀入的字符賦給指針p所指向的字符,所以選項C錯誤。
44.C解析:選項A)char*a;*a=“china”應改為a=china;,選項B)應該是charstr[6];D)項表述方法有錯誤。
45.D解析:軟件需求規(guī)格說明書SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它有以下幾個方面的作用,①便于用戶、開發(fā)人員進行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎和依據(jù);③作為確認測試和驗收的依據(jù)。
46.C解析:算法的時間復雜度實際上就是執(zhí)行算法程序所需要的計算工作量。為了客觀地反映算法性能,在度量算法的時間復雜度時,應該與編寫算法程序所使用的程序設計語言、執(zhí)行算法程序時所使用的計算的工具以及程序員的水平無關(guān)。選項A錯誤,因為同一算法程序在運行速度不同的計算機上運行時,其計算時間是不同的。選項B錯誤,因為算法所編寫的程序長度往往與程序設計語言以及程序員的水平有關(guān),同一個算法,用不同的程序設計語言或者不同的程序員所編寫出的程序其長度可能會大不相同。選項D錯誤,因為根據(jù)一個算法所編制出的程序之中,其指令條數(shù)往往與程序設計語言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來度量算法的時間復雜度。所以,本題正確答案為C。
47.D解析:通常,引用一個數(shù)組元素可以用下標法,如a[p-a]形式,或指針法,如*(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標是從0開始的。
48.DD?!窘馕觥棵嫦?qū)ο笤O計方法與面向過程設計方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。其特點包括:分類性、多態(tài)性、封裝性、模塊獨立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設計的特點。
49.A解析:程序中的第一個輸出語句輸出表達式++a的值,該++a是在使用a之前,先使a的值加1,即為a加1為字符b,此時a的值為b,所以第一個輸出語句輸出的值為b,第二個輸出語句中輸出的b的值,這時b的值為表達式a++的值,a++是在使用a之后(此時a的值為b,所以賦給b的值為B),使a的值加一因此第二個輸出的值也為b.所以,4個選項中選項A符合題意。
50.C解析:本題中首先定義了一個3行2列的數(shù)組a,一個長度為3的指針數(shù)組p,接著把地址a[1]賦給p[0]此時p[0]為a[1][0]的地址,p[0]+1為a[1][1]的地址,故*(P[0]+1)代表的元素為a[1][1]。
51.A解析:字符數(shù)組中可以存放字符串,但字符數(shù)組的長度并不是字符串的長度,字符串的長度是指字符數(shù)組中存放的有效字符個數(shù),即\'\\0\',之前的字符數(shù)。字符數(shù)組s中依次存放的字符是:\'\\\\'1'4'1'\\141'a'b'c'\\t\',和最后一個字符串結(jié)束標記\'\\0\',故字符串的長度是9。
52.C解析:該題目測驗考生對if...elseif結(jié)構(gòu)的理解,比較簡單。x的值滿足x<10.0的關(guān)系,所以程序?qū)?zhí)行y=1.0/x;語句,y的值應該等于0.5。最后,用printf函數(shù)輸出時,%f的輸出格式為小數(shù)點后保留6位。
53.A解析:格式控制x表示數(shù)據(jù)按十六進制格式輸出(不輸出前導符ox)。本題在執(zhí)行語句m+=n;后,m的值變?yōu)樽帜竎,又因為在輸出a-f時,如果格式控制符用X,則以大寫字母輸出;如果用x,則以小寫字母輸出,故本題答案為A。
54.C解析:一個完整的C程序有且僅有一個主函數(shù)(main()函數(shù)),主函數(shù)可以調(diào)用其他各種函數(shù),但其他函數(shù)不能調(diào)用主函數(shù),C程序從主函數(shù)開始執(zhí)行,并在主函數(shù)中結(jié)束整個程序的運行。故選項C正確。
55.B解析:t=1是將t賦值為1,所以循環(huán)控制表達式的值為1。判斷t是否等于1時,應用t==1,注意“=”與“==”的用法。
56.B解析:本題考核的知識點是算法的性質(zhì)。算法是為解決某個特定問題而采取的確定的且有限的步驟,一個算法應當具有以下5個基本特性:1.有窮性,就是指一個算法應當包含有限個操作步驟。2.確定性,就是說算法中每一條指令必須有確切的含義,不能有二義性,對于相同的輸入必能得出相同的執(zhí)行結(jié)果。3.有零個或多個輸入。4.可行性,就是說算法中指定的操作,都可以通過已經(jīng)實現(xiàn)的基本運算執(zhí)行有限次實現(xiàn),5.有一個或多個輸出。由此可知選項B不正確,所以,4個選項中選項B符合題意。
57.C
58.D解析:對二叉樹的前序遍歷是指先訪問根結(jié)點,然后訪問左于樹,最后訪問右子樹,并且在訪問左、右子樹時,先訪問根結(jié)點,再依次訪問其左、右于樹。
59.D解析:要刪除鏈表中間的某個結(jié)點,只需要使它的前一個結(jié)點的next指針指向它的后一個結(jié)點-不過,嚴格來講還需要使用free()函數(shù)釋放掉該結(jié)點在內(nèi)存中所占的空間。本題要刪除的是q所指結(jié)點(以下簡稱q結(jié)點),只需使p結(jié)點的next指針指向r結(jié)點即可。選項A中,因為Q結(jié)點的next指向r結(jié)點,所以執(zhí)行p->next=q->next;語句后p結(jié)點的next就指向了r結(jié)點,故選項A能完成刪除。選項B中,p->next->next等價于q->next,因此也能完成刪除。選項C直接讓p->next指向r結(jié)點,當然可以刪除。選項D使指針p指向q->next(即r結(jié)點),這樣做不會影響到內(nèi)存中的鏈表,所以應該選擇D。
60.B解析:外循環(huán)的循環(huán)變量i從0遞增到1會循環(huán)2次,內(nèi)循環(huán)的循環(huán)變量j從0遞增到3會循環(huán)4次。但是內(nèi)循環(huán)中有一條if語句,每當j%2為真,即j為奇數(shù)時會跳過下面的x++;語句,所以4次內(nèi)循環(huán)只有2次執(zhí)行到x++;語句,再加上外循環(huán)中包含的2條x++語句,所以每次外循環(huán)會使x自增4次,2次外循環(huán)下來x的值為8。故應該選擇B。
61.A軟件設計階段的主要任務包括丙個:一是進行軟件系統(tǒng)的可行性分析,確定軟件系統(tǒng)的建設是否值得,能否建成。二是進行軟件的系統(tǒng)分析,了解用戶的需求,定義應用功能,詳細估算開發(fā)成本和開發(fā)周期。
62.C
63.C\n面向?qū)ο蟮脑O計方法的基本原理是:使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。它雖強調(diào)模擬現(xiàn)實世界中的概念而不強調(diào)算法,但是它鼓勵開發(fā)者在軟件開發(fā)的過程中從應用領(lǐng)域的概念角度去思考。
\n
6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色金融創(chuàng)新產(chǎn)品開發(fā)貸款合同3篇
- 2024質(zhì)保協(xié)議書范本
- 2024葡萄品種專項銷售代理協(xié)議版B版
- 2024跨區(qū)域連鎖加盟門店承包合同
- 2024版最正式的借款合同
- 二零二五年度電商綠色物流合作協(xié)議3篇
- 2024軟件許可合同 with 軟件功能與技術(shù)支持服務
- 二零二五年度陜西省旅游項目開發(fā)合作合同2篇
- 西安文理學院《汽車試驗技術(shù)及性能試驗》2023-2024學年第一學期期末試卷
- 2025年度國際貿(mào)易供應鏈合同解析3篇
- 2024年公務員考試《公共基礎知識》全真模擬試題1000題及答案
- DB3301T 0382-2022 公共資源交易開評標數(shù)字見證服務規(guī)范
- 幼兒教育專業(yè)國家技能人才培養(yǎng)工學一體化課程設置方案
- 2025年會計從業(yè)資格考試電算化考試題庫及答案(共480題)
- 江蘇省無錫市2023-2024學年八年級上學期期末數(shù)學試題(原卷版)
- DL-T 5876-2024 水工瀝青混凝土應用酸性骨料技術(shù)規(guī)范
- GB/T 44889-2024機關(guān)運行成本統(tǒng)計指南
- 2024年6月英語六級考試真題及答案(第2套)
- 職業(yè)院校技能大賽(高職組)市政管線(道)數(shù)字化施工賽項考試題庫(含答案)
- 危險化學品目錄(2024版)
- 華為經(jīng)營管理-華為的股權(quán)激勵(6版)
評論
0/150
提交評論