版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021-2022年河南省新鄉(xiāng)市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.以下不能定義為用戶標(biāo)識符的是()。
A.VoidB.scanfC.intD._3com_
2.目前以比較為基礎(chǔ)的內(nèi)部排序方法中,其比較次數(shù)與待排序的記錄的初始排列狀態(tài)無關(guān)的是()
A.插入排序B.快速排序C.二分插入排序D.冒泡排序
3.以下符號中不能作為標(biāo)識符的是()。A.256B.voidC.vanfD.4Struct
4.
5.可以判斷一個有向圖中是否含有回路的方法為()。
A.廣度優(yōu)先遍歷B.深度優(yōu)先遍歷C.拓撲排序D.求最短路徑
6.以下程序的輸出結(jié)果是()。main{charch[3][4]={"123","456","78"),*p[3];inti;for(i=0;i<3;i++)p[i]=ch[i];for(i=0;i<3;i++)printf("%s",p[i]);}A.123456780B.123456780C.12345678D.147
7.結(jié)構(gòu)化程序設(shè)計方法的3種基本控制結(jié)構(gòu)中不包括
A.循環(huán)結(jié)構(gòu)B.遞歸結(jié)構(gòu)C.順序結(jié)構(gòu)D.選擇結(jié)構(gòu)
8.
9.以下關(guān)于指針的說法錯誤的是()。
A.可以向指針中寫入任意數(shù)據(jù)
B.可以向指針?biāo)竷?nèi)存單元中寫入數(shù)據(jù)
C.指針可以指向與其基類型相同的普通變量
D.可以通過加法運算,使指針指向下一個內(nèi)存單元
10.在一個鏈?zhǔn)疥犃兄校僭O(shè)f和r分別為隊頭和隊尾指針,則刪除結(jié)點的運算是()。
A.r=f->nextB.r=r->nextC.f=f->nextD.f=r->next
11.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.45B.50C.60D.55
12.定義int*swap()指的是______。
A.—個返回整型值的函數(shù)swap()
B.一個返回指向整型值指針的函swap()
C.一個指向函數(shù)swap()的指針,函數(shù)返回一個整型值
D.以上說法均錯
13.用鏈表表示線性表的優(yōu)點是()。
A.便于隨機存取B.花費的存儲空間較順序存儲少C.便于插入和刪除操作D.數(shù)據(jù)元素的物理順序和邏輯順序相同
14.下列二維數(shù)組的說明中,不正確的是()。
A.floata[][4]={0,1,8,5,9};
B.inta[3][4]
C.#defineN5floata[N][3]
D.inta[2][9.5];
15.有以下程序:#include<stdio.h>intf(intm){staticintn=0;n+=m;returnn;}main(){intn=0;printf("%d,"f(++n));printf("%d\n",f(n++));}程序運行后的輸出結(jié)果是()。A.1,2B.1,1C.2,3D.3,3
16.有以下程序:#include<stdio.h>main(){intx=0x9;printf(“%c\n”,‘A’+x);}程序運行后的輸出結(jié)果是()。
A.IB.JC.KD.H
17.堆排序是一種()排序。
A.插入B.選擇C.交換D.歸并
18.以下敘述中正確的是()。
A.文件指針是一種特殊的指針類型變量
B.文件指針的值等于文件當(dāng)前讀寫位置,以字節(jié)為單位
C.文件指針的值等于文件在計算機硬盤中的存儲位置
D.調(diào)用fscanf函數(shù)只能向文本文件中寫入任意字符
19.下列關(guān)于邏輯運算符兩側(cè)運算對象的敘述中正確的是()。
A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.可以是任意合法的表達式
20.下述程序的運行結(jié)果是()。#includedstdio.h>#includedstrin9.h>main{char*s1="abDuj";char*s2="ABdUG";intt;t=strcmp(s1,s2);printf("%d",t);}A.正數(shù)B.負數(shù)C.零D.不確定的值
二、2.填空題(20題)21.設(shè)某循環(huán)隊列的容量為50,頭指針front=5(指向隊頭元素的前一位置),尾指針rear=29(指向隊尾元素),則該循環(huán)隊列中共有【】個元素。
22.以下程序中,for循環(huán)體執(zhí)行的次數(shù)是【】。
#defineN2
#defineMN+1
#defineKM+1*M/2
main()
{
inti;
for(i=1;i<K;i++)
{…}
…
}
23.若輸入字符串:abcde↓,則以下while循環(huán)體將執(zhí)行【】次。
while((ch=getchar())=='e')printf("*");
24.以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素中的最大值,請?zhí)羁铡?/p>
voidfun(int,int,int(*)[4],int*);
main()
{inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;
fun(3,4,a,b);
for(1=0;i<3;i++)printf("%4d",b[i]);
printf("\n");
}
voidfun(intm,intn,intar[][4],int*bar)
{inti,j,x;
for(i=0;i<m;i++)
{x=ar[i][0];
for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];
【】=x;
}
}
25.定義inta=5,b;,則執(zhí)行表達式b=++a*--a之后,變量b的值為【】。
26.以下程序的功能是建立一個帶有頭結(jié)點的單向鏈表,鏈表結(jié)點中的數(shù)據(jù)通過鍵盤輸入,當(dāng)輸入數(shù)據(jù)為-1時,表示輸入結(jié)束(鏈表頭結(jié)點的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請?zhí)羁铡?/p>
#include<stdio.h>
structlist{intdata;structlist*next;};
structlist*creatlist()
{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));
p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");
scanf("%d",&a);
while(a!=-1)
{p=(structlist*)malloc(sizeof(structlist));
[14]=a;q->next=p;[15]=p;scanf("%d",&a);}
p->next='\0';return(ph);}
main()
{stuctlist*head;head=creatlist();}
27.以下程序運行后的輸出結(jié)果是______。
intf(inta[],intn)
{
if(n>=l)
returnf(a,n-1)+a[n-1];
else
return0;
}
main{)
{
intaa[5]={1,2,3,4,5},s;
s=f(aa,5);
printf{'%d\n",s);
}
28.請在以下程序第一行的下劃線處填寫適當(dāng)內(nèi)容,使程序能正確運行。
【】(double,double);
main()
{doublex,y;
seanf("%1f%1f",&x,&y);
pfintf("%1f\n",max(x,y));
}
doublemax(doublea,doubleb)
{return(a>b?a:b);}
29.數(shù)據(jù)流圖的類型有【】和事務(wù)型。
30.注釋一般分為序言性注釋和______注釋。
31.下面程序的運行結(jié)果是:【】。
intf(inta[],intn)
{if(n>1)returna[0]+f(&a[1],n-1);
elselreturna[0];
}
main()
{intaa[3]={1,2,3},s;
s=f(&aa[0],3);printf("%d\n",s);
}
32.在面向?qū)ο蟮某绦蛟O(shè)計中,類描述的是具有相似性質(zhì)的一組【】。
33.算法的復(fù)雜度主要包括【】復(fù)雜度和空間復(fù)雜度。
34.下面程序的運行結(jié)果是______。
#include<stdio.h>
intf(inta[],intn)
{if(n>1)
returna[0]+f(a+1,n-1);
else
returna[0];
}
main()
{intaa[10]={1,2,3,4,5,6,7,8,9,10},s;
s=f(aa+2,4);printf("%d\n",s);
}
35.有以下程序:
voidf(inta[],inti,intj)
{intt;
if(i<j)
{t=a[i];a[i]=a[j];a[j]=t;
f(a,i+1,j-1);
}
}
main()
{inti,aa[5]={1,2,3,4,5};
f(aa,0,4);
for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");
}
執(zhí)行后的輸出結(jié)果是【】。
36.對于長度為n的順序存儲的線性表,當(dāng)隨機插入和刪除一個元素時,需平均移動元素的個數(shù)為【】。
37.開發(fā)軟件所需要的高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象被人們稱之為【】。
38.在面向?qū)ο蟮某绦蛟O(shè)計方法中,類的實例稱為______。
39.下面程序的輸出結(jié)果是【】。
main()
{inti=3,j=2;
char*a="DCBA";
printf("%c%c\n",a[i],a[j])
}
40.下面程序的輸出結(jié)果是()。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
三、1.選擇題(20題)41.結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是
A.程序的規(guī)模B.程序的效率C.程序設(shè)計語言的先進性D.程序易讀性
42.若有如下定義:ints[3]則下面表達式中不能代表數(shù)組元素s[1]的地址的是()
A.&s[1]B.&s[0]+1C.s+1D.s++
43.在深度為5的滿二叉樹中,葉子結(jié)點的個數(shù)為A.32B.31C.16D.15
44.C語言源程序名的后綴是A..exeB..CC..objD..cp
45.以下程序的輸出結(jié)果是()structHAR{intx,y;structHAR*p;}h[2];main(){h[0].x=1;h[0].y=2;h[1].x=3;h[1].y=4;h[0].p=&h[1];h[1].p=h;printf("%d%d\n"h[0].p)->x,(h[1].p)->y);}
A.12B.23C.14D.32
46.C語言中,文件組成的基本單位為()。
A.記錄B.數(shù)據(jù)行C.數(shù)據(jù)塊D.字符序列
47.設(shè)有定義:inta,*pa=&a;以下scanf語句中能正確為變量a讀入數(shù)據(jù)的是
A.scant("%d",pa);
B.scant("%d",a);
C.scanf("%d",&pa);
D.scanf("%d",*pa);
48.以下數(shù)組定義中不正確的是_______。
A.inta[2][3];
B.intb[][3]={0,1,2};
C.intc[100][100={0};
D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
49.實型數(shù)據(jù)在計算機中表示的方法有()。
A.雙精度型和單精度型B.小數(shù)形式和ASCII碼法C.BCD碼法和指數(shù)形式D.小數(shù)形式和指數(shù)形式
50.檢查軟件產(chǎn)品是否符合需求定義的過程稱為()。
A.確認測試B.集成測試C.驗證測試D.驗收測試
51.下列程序的輸出結(jié)果為______。main(){intp,y=0,x=0;p=x<<8|~y>>8;printf("%d",p);p+=(p+=2);printf("%d\n",p);}
A.-10B.00C.04D.-12
52.下列可用于C語言標(biāo)識符的一組是_______。
A.voidWORDdefine
B.a6$sysFor
C.2asizeofabc
D.Intdefinesizeof
53.有定義語句:“inta=1,b=2,c=3,x;”,則以下選項中各程序段執(zhí)行后,x的值不為3的是()。
A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;
B.if(a<3)x=3;elseif(a<2)x=2;elsex=1;
C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;
D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;
54.以下4組用戶定義標(biāo)識符中,全部合法的一組是
A.mainencludesin
B.If-maxturbo
C.txtREAL3COM
D.int12_001
55.設(shè)變量已正確定義,則下列能正確計算f=n!的程序段是()。
A.f=0;for(i=1;i<=n;i++)f*=i;
B.f=1;for(i=1;i<n;i++)f*=i;
C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
56.以下程序輸出的結(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]);}
A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM
57.下面程序段的輸出結(jié)果是()。inti=32770;printf("%d\n",i);
A.32769B.32767C.-32766D.輸出不確定數(shù)
58.將二進制數(shù)10100101轉(zhuǎn)換為十六進制數(shù)應(yīng)該是______。
A.245B.A5C.B5D.165
59.判斷char型變量c1是否為小寫字母的正確表達式為()
A.'a'<=c1<='z'
B.(c1>=a)||(c1<=z)
C.('a'=>c1||('z'<=c1)
D.(c1>='a')&&(c1<='z')
60.已經(jīng)定義ch為字符型變量,以下賦值表達式中錯誤的是______。
A.ch='\'B.ch=62+3C.ch=NULLD.ch='\xaa'
四、選擇題(20題)61.定義如下變量和數(shù)組:
則下面語句的輸出結(jié)果是()。
A.951B.741C.753D.963
62.數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是()。
A.數(shù)據(jù)庫設(shè)計B.數(shù)據(jù)庫系統(tǒng)設(shè)計C.數(shù)據(jù)庫維護D.數(shù)據(jù)庫管理員培訓(xùn)
63.
64.(71)算法分析的目的是______。
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性
B.分析算法的效率以求改進
C.分析算法的易懂性和可靠性
D.找出算法中輸入和輸出之間的關(guān)系
65.
66.開發(fā)大型軟件時,產(chǎn)生困難的根本原因是()
A.大系統(tǒng)的復(fù)雜性B.人員知識不足C.客觀世界千變?nèi)f化D.時間緊、任務(wù)重
67.
68.
69.有以下程序程序運行后的輸出結(jié)果是()。
A.123456B.14C.1234D.12
70.在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()。
A.整型表達式B.整型常量C.整型常量或整型表達式D.任何類型的表達式
71.若有條件表達式
則以下表達式中能完全等價于表達式(exp.的是()。
A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)
72.
73.
74.有下列程序:intfunl(doublea){returna*=a;)intfun2(doublex,doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+h);}main{doublew;w=fun2(1.1,2.0),……)程序執(zhí)行后變量w中的值是()。A.5.21B.5C.5.0D.0.0
75.
76.
77.若有以下程序段(n所賦的是八進制數(shù))
intm=32767,n=032767;
printf("%d,%o\n",m,n);
執(zhí)行后的輸出結(jié)果是
A.32767,32767B.32767,032767
C.32767,77777D.32767,077777
78.下列程序的輸出結(jié)果是()。#includeintfun(inta){intb=0;staticintc=4;a=c++;b++;return(a);}main{inta=2,i,c;for(i=0:i<2;i++)c=f(a+1);printf("%d\n",c);}A.4B.7C.6D.5
79.
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun()的功能是:實現(xiàn)兩個變量值的交換,規(guī)定不允許增加語句和表達式。例如,變量a中的值原為8,b中的值原為3,程序運行后,a中的值為3,b中的值為8。請改正程序中的錯誤,使它得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計題(1題)82.請編寫函數(shù)proc(),其功能是:利用以下所示的簡單迭代方法求方程cos(x)-x=0的一個實根。
xn+1=COS(xn)
迭代步驟如下:
(1)取x1初始值為0.0;
(2)x0=x1,把?X1的值賦給x0;
(3)x1=cos(xO),求出一個新的x1;
(4)若x0-x1的絕對值小于0.000001,則執(zhí)行步驟
(5),否則執(zhí)行步驟(2);
(5)所求x1就是方程cos(x)-x=0的一個實根,作為函數(shù)值返回。
程序?qū)⑤敵鼋Y(jié)果root=0.739085。
注意:部分源程序給出如下。
請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。
試題程序:
參考答案
1.C標(biāo)識符的命名可以由字母、數(shù)字或下劃線組成,并且第1個字符必須為字母或下劃線,另外用戶標(biāo)識符不能使用關(guān)鍵字。選項A中的Void可以定義為用戶標(biāo)識符,因為C語言對大小寫敏感,Void與關(guān)鍵字void屬于不同的標(biāo)識符;選項B中的scanf是庫函數(shù)名,屬于預(yù)定義標(biāo)識符,它也可以作為用戶標(biāo)識符使用,不過通常不建議這么使用;選項C中的int屬于關(guān)鍵字,錯誤;選項D符合標(biāo)識符的命名規(guī)則,也不屬于關(guān)鍵字,可以作為標(biāo)識符使用。本題答案為C選項。
2.C
3.B
4.D
5.C
6.B第一個for循環(huán)的作用是讓p指向每行的首地址,第二個for循環(huán)的作用是把它指向的字符串輸出,故選擇B選項。
7.B解析:本題考查了程序的基本結(jié)構(gòu)。程序由一些基本結(jié)構(gòu)組成。任何一個大型的程序都由3種基本結(jié)構(gòu)組成,由這些基本結(jié)構(gòu)順序的構(gòu)成了一個結(jié)構(gòu)化的程序。這3種基本結(jié)構(gòu)為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
8.B
9.A指針變量必須區(qū)分基類型,可以向指針?biāo)竷?nèi)存單元寫入與基類型相同的數(shù)據(jù),而不能寫入任意數(shù)據(jù),選項A錯誤,選項B正確;指針可以指向與其基類型相同的普通變量,選項C正確;指針是一個內(nèi)存地址,它是一個整數(shù),可以通過加法運算,使指針指向下一個內(nèi)存單元,選項D正確。故本題答案為A選項。
10.C
11.C內(nèi)部靜態(tài)變量是始終存在的,當(dāng)函數(shù)被調(diào)用退出后,內(nèi)部靜態(tài)變量會保存數(shù)據(jù),再次調(diào)用該函數(shù)時,以前調(diào)用時的數(shù)值仍然保留著。Fun(a,5)的值是l5,再次調(diào)用后slim=15,所以Fun(b,4)=45,s=45+15=60。
12.B解析:—個函數(shù)可以帶回—個整型值、字符值、實型值等,但也可以帶回指針型數(shù)據(jù),即地址。本題的定義中,包括括號和*號,由于()優(yōu)先級高于*。故它是—個返回整型指針的函數(shù)。
13.C【解析】在鏈表中因為除了存放數(shù)據(jù)元素之外,還要存放指針,所以鏈表花費的存儲空間要比順序表還要多,在插入和刪除數(shù)據(jù)元素時,只需要移動相應(yīng)的記錄指針即可,在鏈表中,數(shù)據(jù)的物理結(jié)構(gòu)與邏輯結(jié)構(gòu)不一定相同,因為是靠指針來實現(xiàn)對數(shù)據(jù)的指定的,所以不能進行隨機存取。
14.D解析:C語言規(guī)定,對于二維數(shù)組,只可以省略第一個方括號中的常量表達式,而不能省略第二個方括號中的常量表達式:二維數(shù)組的一般定義格式是:類型說明符數(shù)組名[常量表達式][常量表達式]。
15.A解析:static變量用于局部變量中有記憶功能和全局生存期。函數(shù)中的靜態(tài)變量的特點是每次調(diào)用函數(shù),靜態(tài)變量的值是上次調(diào)用完該函數(shù)后的靜態(tài)變量值,所以在此題中,第一調(diào)用函數(shù),返回1,此時函數(shù)中的靜態(tài)變量n的值為l,所以第二次調(diào)用函數(shù)時,返回值為2。
16.B“printf(“%C\\n”,‘A’+X),x=0X9;”中0x9是十六進制數(shù),轉(zhuǎn)為十進制數(shù)x=9?!皃rintf(“%C\\n”,‘A’+9);”,輸出格式要求是“%c”,因此將字符‘A’按字母順序向后偏移9個位置,可得結(jié)果為“J”。故本題答案為B選項。
17.B解析:堆排序是一種選擇排序。選擇排序有直接選擇排序和堆排序兩種。
18.A文件指針實際上是指向一個結(jié)構(gòu)體類型的指針。這個結(jié)構(gòu)體中包含緩沖區(qū)的地址、在緩沖區(qū)中當(dāng)前存取字符的位置、對文件是“讀”還是“寫”、是否出錯、是否已經(jīng)遇到文件結(jié)束標(biāo)識等信息。選項A正確,選項B、C錯誤;fscanf函數(shù)只能從文本文件中輸入數(shù)據(jù)到內(nèi)存,選項D錯誤。故本題答案為A選項。
19.D解析:邏輯運算符兩側(cè)的運算對象可以是任意合法的表達式。邏輯表達式的運算結(jié)果或者為1(“真”),或者為0(“假”)。
20.A本題考查符符串比較函數(shù)和兩個字符串比較的原則這兩個知識點。
(1)兩字符串比較的原則是依次比較兩個字符串同一位置的一對字符,若它們的ASCII碼值相同,則繼續(xù)比較下一對字符,若它們的ASCII碼值不同,則ASCII碼值較大的字符所在的字符串較大;若所有字符相同,則兩個字符串相等;若一個字符串全部i個字符與另一個字符串的前i個字符相同,則字符串較長的較大(2)strcmp(s1,s2)的返回值,當(dāng)str1<str2時,返回值為負數(shù);當(dāng)str1=str2時,返回0;當(dāng)str1>str2,返回值為正數(shù)。
21.2424解析:在循環(huán)隊列中因為頭指針指向的是隊頭元素的前一個位置,所以是從第6個位置開始有數(shù)據(jù)元素,所以隊列中的數(shù)據(jù)元素的個數(shù)為29-5=24。
22.44解析:將程序中所有的宏替換掉可得:M=2+1,K=2+1*2+1/2=4,所以for循環(huán)共循環(huán)了K-1+1次,即4-1+1共4次。
23.00解析:函數(shù)getchar()是從鍵盤得到用戶輸入的一個字符。用戶輸入的第1個字符是a,不管后面輸入的是什么ch的值都是'a',因此條件(ch=getchar())=='e'為假,這個循環(huán)不會被執(zhí)行。
24.bar[i]bar[i]解析:fun函數(shù)中的內(nèi)層for循環(huán),求出了每一行中的最大值x,內(nèi)循環(huán)結(jié)束后就需要把最大值放在存儲每行最大值的數(shù)組bar[i]中,因此應(yīng)填bar[i]。
25.2525解析:#NAME?
26.p->dataqp->data\r\nq解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點是結(jié)構(gòu)體變量中有兩個域,一個是數(shù)據(jù),另一個是指向該結(jié)構(gòu)體變量類型的指針,用以指明鏈表的下一個結(jié)點。
27.1515解析:在函數(shù)f()中只有一條if語句,如果n不小于1,則返回f(a,n-1)+a[n-1);,否則返回0。所以f(aa,5)返回f(aa,4)+aa[4],而f(aa,4)返回f(aa,3)+aa[3]……直到f(aa,0)返回0.故f(aa,5)實際返回值是0+aa[1]+aa[2]+aa[3]+aa[4]+aa[5],所以本題最終輸出15。
28.doublemax或externdoublemaxdoublemax或externdoublemax解析:函數(shù)聲明是對所用到的函數(shù)的特征進行必要的聲明,編譯系統(tǒng)以函數(shù)聲明中給出的信息為依據(jù),對調(diào)用表達式進行檢測,以保證調(diào)用表達式與函數(shù)之間的參數(shù)正確傳遞。函數(shù)聲明的一般格式為:類型標(biāo)識符函數(shù)名(類型標(biāo)識符形參,…);這些信息就是函數(shù)定義中的第一行的內(nèi)容。本題中main()函數(shù)需要調(diào)用max()函數(shù),在main()之前就需要聲明函數(shù)max(),并且可以用extem說明符使變量的作用域擴充到需要用到它的函數(shù),所以,填寫doublemax(或externdoublemax)。
29.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個或多個處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。
30.功能性功能性解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個程序的開頭部分,給出程序的整體說明;功能性注釋一般嵌在源程序體之中,主要描述其后的語句或程序做什么,
31.66解析:經(jīng)過分析將遞歸函數(shù)寫成其數(shù)學(xué)表達式如下:
f(&a,n)=a[0]+f(&a[1],n-1)n>1
f(&a,n)=a[0]n=1
本題中定義了一個長度為3的數(shù)組aa并初始化。接著調(diào)用遞歸函數(shù)f,由上面的數(shù)學(xué)表達式以計算其返回值s=1+2+3=6。
32.對象對象解析:將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同方法的對象的集合。
33.時間時間解析:算法的復(fù)雜度主要指時間復(fù)雜度和空間復(fù)雜度。所謂算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計算工作量;算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。
34.本題主要考查函數(shù)的嵌套調(diào)用和數(shù)組名作為實參。實際程序運行結(jié)果應(yīng)為aa[2]+aa[3]+aa[4]+aa[5]=18。\r\n\r\n
35.154321,5,4,3,2解析:第一次調(diào)用函數(shù)f后aa[0]=5、aa[4]=1;第二次調(diào)用函數(shù)f后aa[1]=4、aa[4]=2;第三次調(diào)用函數(shù)f后aa[3]=3。正確答案為1,5,4,3,2。
36.n/2n/2解析:刪除一個元素,平均移動的元素個數(shù)為(n-1+n-2+…+0)/n=(n-1)/2;插入一個元素,平均移動元素個數(shù)為(n+n-1+n-2+…+1)/n=(n+1)/2;所以總體平均移動元素個數(shù)為n/2。
37.軟件危機軟件危機
38.對象對象解析:在面向?qū)ο蟮某绦蛟O(shè)計方法中,類是具有相同的屬性或方法的對象的抽象,對象是類的實例。
39.AB
40.3232解析:while(表達式)的功能是:首先計算表達式的值.若為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢,再計算表達式的值.若仍為真,則重復(fù)執(zhí)行循環(huán)體語句,直到表達式的值為假,結(jié)束while語句的執(zhí)行,繼續(xù)執(zhí)行while語句后面的語句;i=0時滿足循環(huán)條件,也滿足if的條件,執(zhí)行語句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結(jié)束。
41.D結(jié)構(gòu)化程序設(shè)計由迪杰斯特拉(E.W.dijkstra)在1969年提出,他主張“清晰第一,效率第二”,以模塊化設(shè)計為中心,將待開發(fā)的軟件系統(tǒng)劃分為若干個相互獨立的模塊,這樣使完成每一個模塊的工作變得單純而明確,為設(shè)計一些較大的軟件打下了良好的基礎(chǔ)。
由于模塊相互獨立,因此,在設(shè)計其中一個模塊時,不會受到其他模塊的牽連,因而可將原來較為復(fù)雜的問題化簡為一系列簡單模塊的設(shè)計。模塊的獨立性還為擴充已有的系統(tǒng)、建立新系統(tǒng)帶來了不少的方便,因為可以充分利用現(xiàn)有的模塊作為積木式的擴展。
結(jié)構(gòu)化程序設(shè)計的基本思想是采用“自頂向下,逐步求精”的程序設(shè)計方法和“單入口單出口”的控制結(jié)構(gòu)。自頂向下、逐步求精的程序設(shè)計方法從問題本身開始,經(jīng)過逐步細化,將解決問題的步驟分解為由基本程序結(jié)構(gòu)模塊組成的結(jié)構(gòu)化程序框圖;“單入口單出口”的思想認為一個復(fù)雜的程序,如果它僅是由順序、選擇和循環(huán)三種基本程序結(jié)構(gòu)通過組合、嵌套構(gòu)成,那么這個新構(gòu)造的程序一定是一個單入口單出口的程序。據(jù)此就很容易編寫出結(jié)構(gòu)良好、易于調(diào)試的程序。
42.D
43.C2(n-1)
=2(5-1)=16
44.B解析:C語言源程序的后綴為.c;經(jīng)過編譯得到的目標(biāo)程序文件的后綴為.obj;再將目標(biāo)程序文件鏈接后得到可執(zhí)行文件的后綴為.exe。故本題應(yīng)該選擇B。
45.D解析:本題中是一個含有兩個結(jié)點的循環(huán)鏈表。
C語言中結(jié)構(gòu)體的定義為:
struct結(jié)構(gòu)題類型名
{
成員項表;
};
46.D解析:C語言處理文件的方法是將文件以數(shù)據(jù)流的形式處理,不是將文件作為一個結(jié)構(gòu)集合來處理,所以,C語言中文件的組織方式是無結(jié)構(gòu)的字符序列方式。
47.A解析:scanf()函數(shù)的功能是進行輸入數(shù)據(jù),它是按格式參數(shù)的要求從終端上把數(shù)據(jù)傳送到地址參數(shù)所指定的內(nèi)存空間中,C語言允許程序員間接地使用內(nèi)存地址,這個地址是通過對變量名“求地址”運算得到的,求地址的運算符是&,得到的地址是一種符號地址。本題中定義了整型變量a和一個指向整型數(shù)據(jù)的指針變量pa,并定義pa是一個存放a的地址的變量。選項B中應(yīng)該將a改為&a;選項C應(yīng)該將&pa改為pa,因為pa已經(jīng)表示存放a的地址;選項D中*pa表示的是指針pa所指向存儲空間的變量的值,而不是一個地址。
48.D解析:一維數(shù)組的定義方式為:
類型說明符數(shù)組名[常量表達式];
選項A符合此定義形式,正確;C語言中多維數(shù)組賦初值時可以部分賦值,也可以不指定除第一維以外的其他維的大小,故選項C正確;另外,如果對全部數(shù)組元素都賦初值,則定義數(shù)組時對第一維的長度可以不指定,但第二維的長度不能省,所以選項B正確,而選項D是錯誤的。
49.D解析:實型數(shù)據(jù)有兩種表示形式:①小數(shù)形式。它由數(shù)字和小數(shù)點組成(注意必須有小數(shù)點)。123、123.0、0.0都是小數(shù)形式。②指數(shù)形式。如123e3或123E3都代表123*103(上標(biāo))。注意,字母e(或E)之前必須有數(shù)字,且e后面的指數(shù)必須為整數(shù)。如e3、3.le3.5、.e3、e等都不合法。所以,本題應(yīng)該選擇D。
50.A本題主要考查軟件測試的基本知識。軟件測試的步驟可分為單元測試(模塊測試)、集成測試、確認測試和系統(tǒng)測試。
(1)單元測試是針對每個模塊進行的測試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計測試用例,多個模塊可以平行、對立地測試。單元測試主要用于發(fā)現(xiàn)詳細設(shè)計和編程時犯下的錯誤。單元測試多采用白盒測試,輔之以黑盒測試。
(2)集成測試是在單元測試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個模塊連接起來,必須精心計劃,應(yīng)提交集成測試計劃、集成測試規(guī)格說明和集成測試分析報告。主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。集成測試可以發(fā)現(xiàn)概要設(shè)計時犯的錯誤。
(3)確認測試用于驗證軟件的功能和性能及其他特性是否與用戶的要求一致。確認測試主要用于發(fā)現(xiàn)需求分析時犯下的錯誤,一般使用黑盒法測試,以表明軟件符合需求說明書的要求,應(yīng)該仔細設(shè)計測試用例和測試過程。確認測試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計測試用例,通常情況下,主要使用生產(chǎn)中的實際數(shù)據(jù)進行測試,測試數(shù)據(jù)通過用戶接口輸入。
(4)系統(tǒng)測試是將已經(jīng)通過確認測試的軟件,作為整個計算機系統(tǒng)的元素與計算機硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進行一系列的組裝測試和確認測試。系統(tǒng)測試的目的是通過與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測試可以發(fā)現(xiàn)問題定義時犯下的錯誤。
51.D
52.D解析:C語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。注意,大寫字母和小寫字母被認為是兩個不同的字符。C語言中的關(guān)鍵字不能用作標(biāo)識符。
53.C解析:選項A首先判斷if語句條件中表達式的值“3<1”為假,然后執(zhí)行最近的else后面的語句,該else后面又為if-else語句,在這個if-else語句中首先判斷該if語句條件中表達式的值“2<1”為假,程序執(zhí)行其最近的else后面的語句,將3賦值給x。
選項B中首先判斷if語句條件中表達式的值“1<3”為真,然后執(zhí)行最近的else后面的語句“x=3”,后面的else不再執(zhí)行,最后x的值為3。
選項C中,首先選執(zhí)行第一條if語句,由于“1<3”為真,執(zhí)行此if后面的語句“x=3”,接著執(zhí)行第二條if語句,由于“1<2”為真,執(zhí)行此if后面的語句“x=2”,接著執(zhí)行第三條if語句,由于“1<1”為假,后面的語句不執(zhí)行,所以最后的x值為2不為3。
選項D中,首先選執(zhí)行第一條if語句,由于“a<b”為真,執(zhí)行此if后面的語句“x=b”;接著執(zhí)行第二條if語句,由于“b<c”,為真,執(zhí)行此if后面的語句“x=c”,接著執(zhí)行第三條if語句,由于“c<a”為假,后面的語句不執(zhí)行,所以最后的x值為c即為3。所以,4個選項中選項C符合題意。
54.A解析:標(biāo)識符是以字母或下劃線開頭,由字母、數(shù)字或下劃線組成的字符序列{例如,-max含非法字符-),并且用戶標(biāo)識符不能與C語言中的32個關(guān)鍵字同名(例如,int是關(guān)鍵字,不是合法的用戶標(biāo)識符)。選項B中-max不是字母、數(shù)字或下劃線組成的字符序列,故選項B不正確;選項C中3COM不是由字母或下劃線開頭,故選項C不正確;選項D中int為C語言中的關(guān)鍵字,故選項D不正確;選項A中全部為合法的標(biāo)識符,所以,4個選項中選項A符合題意。
55.D解析:要正確計算函數(shù)f=n!,由n!的數(shù)學(xué)定義可知n!=n*(n-1)*(n-2)*……*1。在選項A)中,由于f的初值為0,在for循環(huán)語句中,f依次乘以1,2,3,……,n。最后計算f=n!=O,所以選項A)不正確。在選項B)中,f的初值為1,在for循環(huán)語句中,f依次乘以1,2,3,……,(n-1)。最后計算得到f=(n-1)!,所以選項B)不正確。在選項C)中,f的初值為1,在for循環(huán)語句中,f依次乘以n,n+1,n+2,……,所以選項C)不正確。在選項D)中,f的初值為1,在for循環(huán)語句中,f依次乘以n,n-1,n-2,……,2。最后計算f=n!,所以選項D)正確。
56.C解析:alpha[0]指向“ABCD”的首地址;alpha[1]指向“EFGH”的首地址;alpha[2]指向“IJKL”的首地址,依此類推。當(dāng)執(zhí)行p=alpha后,p指向指針數(shù)組alpha的首地址。for循環(huán)中輸出了4個字符串。
57.C解析:在TurboC20環(huán)境中,int數(shù)據(jù)類型在內(nèi)存中只占兩個字節(jié),其表示形式為二進制補碼形式,所以范圍是:-32768~32767,即10000000000000002~01111111111111112(首位為符號位)。而32770轉(zhuǎn)換為二進制為1000000000000
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 景觀水景設(shè)計方案
- 2026年現(xiàn)代信息技術(shù)安全專家繼續(xù)教育練習(xí)題及答案
- 2026年心理健康咨詢師專業(yè)試題庫及解析
- 醫(yī)院病歷管理電子化方案
- 2026年財務(wù)管理實務(wù)試題庫及答案解析
- 水電站維護技術(shù)標(biāo)準(zhǔn)方案
- 水電站氣象監(jiān)測與應(yīng)對方案
- 2026年金融衍生品知識考試題庫及答案詳解
- 標(biāo)準(zhǔn)化廠房外包管理實施方案
- 外墻裝飾線條施工方案
- 生產(chǎn)車間首檢巡檢制度
- 2026年中考物理全真模擬試卷及答案(共五套)
- 新疆環(huán)保行業(yè)前景分析報告
- 2025~2026學(xué)年福建省泉州五中七年級上學(xué)期期中測試英語試卷
- 聯(lián)合辦公合同范本
- 2025年生物多樣性保護與生態(tài)修復(fù)項目可行性研究報告
- 2025年黑龍江省檢察院公益訴訟業(yè)務(wù)競賽測試題及答案解析
- 等離子切割技術(shù)應(yīng)用要點
- 一氧化碳中毒救治課件
- 廣東事業(yè)單位歷年考試真題及答案
- 《會計信息化工作規(guī)范》解讀(楊楊)
評論
0/150
提交評論