![2022-2023年湖北省黃岡市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第1頁](http://file4.renrendoc.com/view/0f23f9425428595f3fd2baadcf81136f/0f23f9425428595f3fd2baadcf81136f1.gif)
![2022-2023年湖北省黃岡市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第2頁](http://file4.renrendoc.com/view/0f23f9425428595f3fd2baadcf81136f/0f23f9425428595f3fd2baadcf81136f2.gif)
![2022-2023年湖北省黃岡市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第3頁](http://file4.renrendoc.com/view/0f23f9425428595f3fd2baadcf81136f/0f23f9425428595f3fd2baadcf81136f3.gif)
![2022-2023年湖北省黃岡市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第4頁](http://file4.renrendoc.com/view/0f23f9425428595f3fd2baadcf81136f/0f23f9425428595f3fd2baadcf81136f4.gif)
![2022-2023年湖北省黃岡市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第5頁](http://file4.renrendoc.com/view/0f23f9425428595f3fd2baadcf81136f/0f23f9425428595f3fd2baadcf81136f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2022-2023年湖北省黃岡市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.無向圖中一個頂點的度是指圖中與該頂點相鄰接的頂點數(shù)。若無向圖G中的頂點數(shù)為n,邊數(shù)為e,則所有頂點的度數(shù)之和為()
A.n*eB.n+eC.2nD.2e
2.線性表L=(a1,a2,a3,…ai,…an),下列說法正確的是()
A.每個元素都有一個直接前件和直接后件
B.線性表中至少要有一個元素
C.表中諸元素的排列順序必須是由小到大或由大到小
D.除第一個元素和最后一個元素外,其余每個元素都有一個且只有一個直接前件和直接后件
3.下列敘述中正確的是()。
A.只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句
B.eotinue語句的作用是結(jié)束整個循環(huán)的執(zhí)行
C.在循環(huán)體內(nèi)使用break語句或continue語句的作用相同
D.從多層循環(huán)嵌套中退出時,只能使用got0語句
4.若需要0(nlog2n)的時間內(nèi)完成對數(shù)組的排序,且要求排序是穩(wěn)定的,則可選擇排序方法是()。A.快速排序B.堆排序C.歸并排序D.直接插入排序
5.
有以下程序:
main
{intx=102,y=012;
printf("%2d,%2d\n",x,y);
}
執(zhí)行后輸出結(jié)果是()。
A.10,01B.02,12C.102,10D.02,10
6.若有以下說明和定義uniondt{inta;charb;doublec;}data;以下敘述中錯誤的是
A.data的每個成員起始地址都相同
B.變量data所占內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等
C.程序段:data.a=5;printf(“%I'm”,data.C);輸出結(jié)果為5.000000
D.data可以作為函數(shù)的實參
7.下列描述中,不是線性表順序存儲結(jié)構(gòu)特征的是
A.不便于插入和刪除B.需要連續(xù)的存儲空間C.可隨機訪問D.需另外開辟空間來保存元素之間的關(guān)系
8.棧和隊列的共同點是()。
A.都是先進先出B.都是先進后出C.只允許在端點處插入和刪除元素D.沒有共同點
9.每次從無序表中挑選出一個最小或最大元素,把它交換到有序表的一端,此種排序方法叫做()排序。
A.插入B.堆C.快速D.歸并排序
10.以下編碼方法中,()屬于熵編碼。
A.哈夫曼編碼B.小波變換編碼C.線性預(yù)測編碼D.形成編碼
11.
12.為了提高軟件的獨立性,模塊之間最好是()。
A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合
13.若有定義“intk=7,x=12;”,則以下表達式值為3的是()。
A.(x%=k)-(k%=5)B.x%=(k%=5)C.x%=(k-k%5)D.x%=k-k%5
14.有以下程序:#include<stdio.h>#include<strin9.h>main(){printf{"%d\n",strlen("%d\n",strlen("ATS\n012\|"));}程序運行后的輸出結(jié)果是()。A.3B.8C.4D.9
15.有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+l;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main{intc[10]={1,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序運行的結(jié)果是()。A.1,2,3,4,5,6,7,8,9,0,
B.0,9,8,7,6,5,1,2,3,4,
C.0,9,8,7,6,5,4,3,2,1,
D.1,2,3,4,9,8,7,6,5,0,
16.設(shè)有定義intn=0,*p=&n,**q=&p;,則下列選項中正確的賦值語句是
A.p=1;B.*q=2;C.q=p;D.*p=5;
17.
18.若已包括頭文件<string.h>且已有定義chars1[18],s2={"ABCDE"}和inti,現(xiàn)要將字符串"ABCDE"賦給s1,下列語句錯誤的是()。
A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.s1="ABCDE";
D.for(i=0;i<6;i++)s1[i]=s2[i];
19.數(shù)據(jù)結(jié)構(gòu)在計算機內(nèi)存中的表示是指()。A.數(shù)據(jù)的存儲結(jié)構(gòu)B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)的邏輯結(jié)構(gòu)D.數(shù)據(jù)元素之間的關(guān)系
20.設(shè)q1和q2是指向一個float型一維數(shù)組的指針變量,k為float型變量,則不能正確執(zhí)行的語句是()。
A.k=*q1+*q2;B.q1=k;C.q1=q2;D.k=*q1*(*q2);
二、2.填空題(20題)21.下列程序執(zhí)行后輸出的結(jié)果是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)arr[i]=i;
for(i=1;i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
22.軟件測試分為白箱(盒)測試和黑箱(盒)測試。等價類劃分法屬于【】測試。
23.strcmp函數(shù)的功能是【】。
24.軟件測試是保證軟件質(zhì)量的重要手段,而軟件測試的主要和重要的測試方法是通過測試數(shù)據(jù)和【】的設(shè)計來實現(xiàn)。
25.下列程序的運行結(jié)果是______。
#definePOWER(x)((x)*(x))
main()
{inti=1;
printf("%d,%d",POWER(i++),i);
}
26.要求使下列程序輸出5個整數(shù),請?zhí)羁铡?/p>
for(i=0;i<=______;printf("%d\n",i+=2));
27.以下程序運行后的輸出結(jié)果是【】。
#include<stdio,h>
main()
{chara[]="Language",b[]:"Programe";
char*pl,*p2;intk;
p1=a;p2=b;
for(k=0;k<=7;k++)
if(*(p1+k)==*(p2+k))printf("%c",*(pi+k));
}
28.若運行時給變量x輸入12,則以下程序的運行結(jié)果是【】;
main(){
intx,y;
scanf(""%d"",&x);
y=x>12?x+10:x-12;
printf(""%d\n"",y);
}
29.軟件維護活動包括以下幾類:改正性維護、適應(yīng)性維護、【】維護和預(yù)防性維護。
30.下面程序的功能是:輸出100以內(nèi)能被4整除且個位數(shù)為8的所有整數(shù),請?zhí)羁铡ain(){inti,j;for(i=0=();i++){j=i*10+8;if(j%4!=0)continue;printf("%d",j);}}
31.結(jié)構(gòu)化程序設(shè)計的3種基本結(jié)構(gòu)分別是順序、選擇和______。
32.以下程序中,函數(shù)SumColumMin的功能是:求出M行N列二維數(shù)組每列元素中的最小值,并計算它們酌和值。和值通過形參傳回主函數(shù)輸出。請?zhí)羁铡?/p>
#defineM2
#defineN4
voidSumColumMin(inta[M][N],int*sum)
{
inti,i,k,s;0;
for(i=0;i<N;i++)
{
k=0;
for(j=1j<M;j++)
if(a[k][i]>a[j][i])
k=j;
s+=______;
}
______=s;
}
main()
{
intx[M][N]={3,2,5,1,4,1,8,3),s;
SumColumMin(______);
printf(“%d\n”,s);
}
33.若有語句:
inti=-19,j=i%4;
printf("%d\n",j);
則輸出結(jié)果是【】。
34.以下程序的運行結(jié)果是【】。
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
35.設(shè)Y是int型變量,請寫出判斷Y為奇數(shù)的關(guān)系表達式【】。
36.以下程序的功能是:利用指針指向三個整型變量,并通過指針運算找出三個數(shù)中的最大值,輸出到屏幕上。請?zhí)羁铡?/p>
main()
{intx,y,z,max,*px,*py,*pz,*pmax;
scanf("%d%d%d",&x,&y,&z);
px=&x;py=&y;pz=&z;pmax=&max;
【】;
if(*pmax<*py)*pmax=*py;
if(*pmax<*pz)*pmax=*pz;
printf("max=%d\n",max);}
37.當循環(huán)隊列非空且隊尾指針等于隊頭指針時,說明循環(huán)隊列已滿,不能進行入隊運算。這種情況稱為【】。
38.一個模塊直接訪問另一個模塊的內(nèi)容,稱為【】藕合。
39.數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)中用于提供信息表示和操作手段的結(jié)構(gòu)形式。實際數(shù)據(jù)庫系統(tǒng)中所支持的數(shù)據(jù)模型主要有層次模型、網(wǎng)狀模型和【】3種。
40.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
三、1.選擇題(20題)41.有如下程序段int*p,a=10,b=1;p=&a;a=*p+b;執(zhí)行該程序段后,a的值為______。
A.12B.11C.10D.編譯出錯
42.若一個外部變量的定義形式為staticintx;,那么,其中static的作用應(yīng)該是______。
A.將變量存儲在靜態(tài)存儲區(qū)B.使變量x可以由系統(tǒng)自動初始化C.使x只能在本文件內(nèi)引用D.使x的值可以永久保留
43.執(zhí)行下面的語句后,表達式++x>b?x:b-->++x?++b:x的值為______。intx=5,b=5;
A.6B.7C.8D.9
44.已知各變量的類型說明如下:intk,a,b;unsignedlongw=5;doublex=1.42;則以下不符合C語言語法的表達式是():
A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)
45.多媒體計算機系統(tǒng)的兩大組成部分是()
A.多媒體功能卡和多媒體主機
B.多媒體通信羅件和多媒體開發(fā)工具
C.多媒體輸入設(shè)備和多媒體輸出設(shè)備
D.多媒體計算機硬件系統(tǒng)和多媒體計算機軟件系統(tǒng)
46.有以下程序:main(){intX=3,y=2,z=1;printf("%d\n",x/y&~z);}
A.3B.2C.1D.0
47.若進棧序列為1,2,3,4,進棧過程中可以出棧,則下列不可能的一個出棧序列是______。
A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1
48.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語句是()。
A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}
B.switch((int)x);{case1:printf("*\n");case2:printf("**\n");}
C.switch(a+b){case1:printf("*\n");case2+1:printf("**\n");}
D.switch(a+b){case1:printf("*\n");casec:printf("**\n");}
49.在以下程序段中,已知血型數(shù)據(jù)占兩個字節(jié),則輸出結(jié)果是unionun{inti;doubley;}structst{chara[10];unionunb;};printf("%",sizeof(structst));
A.14B.18C.20D.16
50.變量a所占的內(nèi)存字節(jié)數(shù)是______。
A.4
B.5
C.6
D.8unionU{charst[4];inti;longl;};StructA{intc;unionUu;}a;
51.程序流程圖中帶有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
52.能正確表示C語言的字符常量的是______。
A.'\0x41'B.AC.'\0'D.\0
53.設(shè)x、y、t均為int型變量,則執(zhí)行語句x=y=3;t=++x||++y;后,y的值為______。
A.不定值B.4C.3D.1
54.有以下定義語句
doublea,b;intw;longc;
若各變量已正確賦值,則下列選項中正確的表達式是A.a=a+b=b++B.w%(int)a+b)C.(c+w)%(int)aD.w=a==b;
55.有以下程序:voidfun(char*a,char*b){a=b;(*a)++;}main(){charcl='A',c2='a',*p1,*p2;p1=&c1;p2=&c2;fun(p1,p2);printf("%c,%c\n",c1,c2);}程序運行后的輸出結(jié)果是()。
A.AbB.aaC.AaD.Bb
56.下面程序的輸出結(jié)果為()。structst{intx;int*y;}*p;intdt[4]={10,20,30,40);structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};main(){p=aa;printf("%d\n",++p->x);printf("%d|n",(++p)->x);printf("%d\n",++(*p->y));}
A.102020B.506021C.516021D.607031
57.對下列二叉樹
進行中序遍歷的結(jié)果是()。
A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG
58.若有代數(shù)式
(其中P僅代表自然對數(shù)的底數(shù),不是變量),則下列能夠正確表示該代數(shù)式的C語言表達式是()。
A.sqrt(abs(n^x+e^x))
B.sqrt(fabs(pow(n,x)+pow(x,e)))
C.sqrt(fabs(pow(n,x)+exp(x)))
D.sqrt(fabs(pow(x,n)+exp(x)))
59.表達式3.6-5/2+1.2+5%2的值是A.4.3B.4.8C.3.3D.3.8
60.以下選項中合法的C語言字符常量是
A.'\t'B.AC.67D.A
四、選擇題(20題)61.
62.
63.
64.以下敘述中正確的是()。A.A.break語句只能用在循環(huán)體內(nèi)和switch’語句體內(nèi)
B.continue語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.在循環(huán)體內(nèi)使用break語句和continue語句的作用相同
D.break語句只能用于switch語句體中
65.以下能正確定義二維數(shù)組的是()。
A.inta[][3];
B.inta[][3]={2*3);
C.inta[][3]={};
D.inta[2][3]一{{1),{2},{3,4}};
66.有以下程序:
程序運行后的輸出結(jié)果是()。
A.aegiB.dfhkC.abedD.abedefghijk
67.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫的劃分原則是()。
A.記錄長度B.文件的大小C.聯(lián)系的復(fù)雜程度D.數(shù)據(jù)之間的聯(lián)系方式
68.下列關(guān)于C語言文件的敘述中正確的是()。
A.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進制文件
B.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進制文件或文本文件
C.文件由數(shù)據(jù)序列組成,可以構(gòu)成二進制文件或文本文件
D.文件由字符序列組成,其類型只能是文本文件
69.設(shè)有如下說明
typedefstruct
{intn;
charc;
doublex;
}STD;
則以下選項中,能正確定義結(jié)構(gòu)體數(shù)組并賦初值的語句是
A.STDtt[2]={{1,’A’,62},{2,’B’,75}};B.STDtt[2]={1,"A",62,2,"B",75};
C.structtt[2]={{1,’A’},{2,’B’}};D.structtt[2]={{1,"A",62.5},{2,"B",75.0}};
70.關(guān)于結(jié)構(gòu)化程序設(shè)計原則和方法的描述錯誤的是()。
A.選用的結(jié)構(gòu)只準許有一個入口和一個出口
B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn)
C.不允許使用GOTO語句
D.語言中若沒有控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬
71.
72.有以下程序:
#include<stdio.h>
main()
{inta=2,b;
b=a<<2;printf("%d\n",b);
}
程序運行后的輸出結(jié)果是()。
A.2
B.4
C.6
D.8
73.若有以下程序:inta=1,b=2:a=a^b:b=b^a:則執(zhí)行以上語句后a和b的值分別是()。
A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2.b=1
74.函數(shù)fgetc的功能是從指定文件中讀入一個字符,以下與其功能完全相同的函數(shù)是()。
A.freadB.fscanfC.fgetsD.getc
75.下面四個選項中,均是不合法的用戶標識符的選項是()。
A.
B.
C.
D.
76.非空的循環(huán)單鏈表head的尾結(jié)點(由p所指向)應(yīng)該滿足
A.p->next==NULLB.p==NULLC.p->next=headD.p=head
77.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.PrphsbnB.ProhsbnC.ProgsbnD.Program
78.
79.
80.若有定義語句:doublea,*P=&a;以下敘述中錯誤的是()。
A.定義語句中的*號是-個間址運算符
B.定義語句中的木號是-個說明符
C.定義語句中的P只能存放double類型變量的地址
D.定義語句中,P=&a把變量a的地址作為初值賦給指針變量P
五、程序改錯題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:為一個偶數(shù)尋找兩個素數(shù),這兩個素數(shù)之和等于該偶數(shù),并將這兩個素數(shù)通過形參指針傳回主函數(shù)。
請修改函數(shù)proc()中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計題(1題)82.輸出1—100之間不能被12整除的數(shù)。
參考答案
1.D
2.D解析:線性表可以為空表,排除選項B。第一個元素沒有直接前件,最后一個元素沒有直接后件,故排除選項A。線性表的定義中,元素的排列沒有規(guī)定大小順序,故選項C也有誤,只有D項是正確的。
3.A本題考查循環(huán)跳出的知識點:①break語句可以出現(xiàn)在switch循環(huán)體內(nèi)及語句體內(nèi),它的作用是跳出循環(huán)體,不能用于其他的語句;②continue語句的作用是結(jié)束本次循環(huán),即跳過循環(huán)體中下面尚未執(zhí)行的語句,而接著判定循環(huán)條件是否成立,確定下一次循環(huán)是否繼續(xù)執(zhí)行,執(zhí)行contiune語句不會使整介循環(huán)終止;③循環(huán)體內(nèi)使用break語句會使循環(huán)提前終止;④從多層循環(huán)嵌套中退出時,可以使用90t0語句或者break語句。
4.C
5.C解析:本題中,“printf('%2d,%2d\\n',x,y)”表示以逗號隔開輸出兩個十進制整數(shù),每個整數(shù)域?qū)捠?。而在C語言中規(guī)定:當域?qū)捫∮趯嶋H寬度時域?qū)挷黄鹱饔?,按實際寬度輸出,因此最后的輸出值為102和10(y的初值012表示八進制整數(shù)12,等于十進制的10)。所以,4個選項中選項C符合題意。
6.C解析:本題考查的共用體的概念。共用體變量中的所有成員共享一段公共存儲區(qū),所以共用體變量所占內(nèi)存字節(jié)數(shù)與其成員中占字節(jié)數(shù)最多的那個成員相等.本題定義的共用體中成員C所占的內(nèi)存最多,因此選項B是正確的。由于共用體變量中的所有成員共享存儲空間,因此變量中的所有成員的首地址相同,選項A是正確的。同結(jié)構(gòu)體變量一樣,共用體類型的變量可以作為實參進行傳遞,也可以傳送共用體變量的地址,選項D也是正確的。在內(nèi)存中,實數(shù)與整數(shù)的存放形式完全不一樣,共用體的成員共用的是同一塊內(nèi)存,而不是同一個數(shù)值,因此選項C是錯誤的。
7.D解析:線性表的順序存儲是用一片連續(xù)的空間來存放數(shù)據(jù)元素,其特點是邏輯上相鄰的元素在物理位置上也相鄰。數(shù)據(jù)元素之間邏輯上的先后關(guān)系自動隱含在物理位置的相鄰元素之中,因此,不需要另外開辟空間來保存元素之間的關(guān)系。
8.C解析:棧和隊列都是一種特殊的操作受限的線性表,只允許在端點處進行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進行插入或刪除操作,是一種“后進先出”(或“先進后出”)的線性表;而隊列只允許在表的一端進行插入操作,在另一端:進行刪除操作,是一種“先進先出”(或“后進后出”)的線性表。因此棧和隊列的共同點是只允許在端點處插入和刪除元素。
9.B
10.A
11.D
12.D在程序設(shè)計中,各模塊間的內(nèi)聚性越強,則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計,應(yīng)盡量做到高內(nèi)聚、低耦合,以有利于提高模塊的獨立性。耦合性與內(nèi)聚性是模塊獨立的兩個定性標準,是互相關(guān)聯(lián)的。
13.A選項A中,表達式“x%=k”結(jié)果為5,表達式“k%=5”結(jié)果為2,5-2結(jié)果為3;選項B中,“k%=5”結(jié)果為2,“x%=2”結(jié)果為0;選項C中,“k%5”結(jié)果為2,“k-k%5”結(jié)果為5,“x%5”結(jié)果為2;選項D中,“k%5”結(jié)果為2,“k-k%5”結(jié)果為5,x%5結(jié)果為2。故本題答案為A選項。
14.B本題考查strlen函數(shù)和轉(zhuǎn)移字符,strlen函數(shù)的功能是求字符串的長度,在本題中有“\”,C語言中“\”是轉(zhuǎn)義字符,在計算長度時會將轉(zhuǎn)義符以及后面的第一個字符作為1個長度進行計算,所以答
15.Dfun函數(shù)的功能是對數(shù)組a[]的元素從大到小進行排序。
16.D解析:選項A),B),C)的指針賦值表達方式都不正確,*p=5表達整數(shù)5放到指針p所指向的存儲單元中。注意:通過指針引用一個存儲單。
17.C
18.C解析:數(shù)組名s1是代表s1數(shù)組首地址的地址常量,而不是變量,因為“=”左邊不能出現(xiàn)常量,因此sl='ABCDE'的方法是錯誤的。
19.A數(shù)據(jù)結(jié)構(gòu)在計算機內(nèi)存中的表示指的是數(shù)據(jù)的存儲結(jié)構(gòu)。數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示。數(shù)據(jù)元素之間的關(guān)系有兩種不同的表示方法:順序映象和非順序映象,并由此得到兩種不同的存儲結(jié)構(gòu):順序存儲結(jié)構(gòu)和鏈式存儲結(jié)構(gòu)。
20.B解析:選項A)是將指針q1和q2所指向的變量值相加,然后賦給k;選項B)中,float型數(shù)據(jù)和指針型數(shù)據(jù)之間不能進行賦值運算:選項C)中,是兩個指針變量之間的賦值:選項D)中,是兩個指針型變量所指向的兩個float型數(shù)據(jù)相乘。
21.1212解析:本題的第一個for循環(huán)用于給數(shù)組arr賦初值,第二個for循環(huán)用于求和運算。由于第二個for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。
22.黑箱或黑盒黑箱或黑盒解析:黑箱測試是根據(jù)程序規(guī)格說明所規(guī)定的功能來設(shè)計測試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。常用的黑箱測試技術(shù)分為等價類劃分、邊界分析、錯誤猜測以及因果圖等。
23.字符串的比較strcmp函數(shù)的原型是intstrcmp(char*s1,char*s2);功能是對s1和s2所指字符串進行比較,若s1<s2返回負數(shù),若s1==s2返回0,若s1>s2返回正數(shù)。
24.測試實例測試實例解析:進行軟件測試時,應(yīng)精心設(shè)計測試實例和選擇測試數(shù)據(jù),以對系統(tǒng)進行全面測試。
25.111,1解析:POWER(i++)中先引用i的值1,再將i的值加1,POWER(i++)=1*1=1。
26.88解析:本題考查基本的for循環(huán)條件,i+=2表示i每次遞增2,從0開始,輸出5個整數(shù)則需要的條件是i<=8。
27.gaegae解析:本題考查字符指針變量與字符數(shù)組。for循環(huán)語句共循環(huán)8次:
①當k=0時,*(Pl+0)='L',*(p2+0)='P',L!=P,沒有輸出。
②當k=1時,*(p1+1)='a',*(p2+1)='r',a!=r,沒有輸出。
③當k=2時,*(p1+2)='n',*(p2+2)='o',n!=o,沒有輸出。
④當k=3時,*(P1+3)='g',*(p2+3)='g',g==g,所以輸出g。
⑤當k=4時,*(p1+4)='u',*(P2+4)='r',u!=r,沒有輸出。
⑥當k=5時,*(p1+5)='a',*(p2+5)='a',a==a,所以輸出a。
⑦當k=6時,*(p1+6)='g',*(p2+6)='m',g!=m,沒有輸出。
⑧當k=7時,*(p1+7)='e',*(p2+7)='e',e==e,輸出e。
⑨當k=8時結(jié)束循環(huán),輸出結(jié)果為:gae。
28.00解析:三目運算符的形式為(表達式1)?(表達式2):(表達式3)。當(表達式1)值為真時,返回(表達式2)的值;為假時,返回(表達式3)的值。題中因為x>12為假,所以結(jié)果為x-12,即為0。
29.完善性軟件維護活動包括以下幾類:改正性維護,適應(yīng)性維護、完善性維護和預(yù)防性維護,完善性維護是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護性。
30.i<10i<10解析:分析程序:當(i=0,1,2,…)時,“j=i*10+8”語句的運行結(jié)果是(8,18,28,…)個位數(shù)字為8的所有整數(shù);題中要求是100以內(nèi)的整數(shù),所以i<10;“if(j%4!=0)continue;”語句的功能是當條件不能被4整除時,繼續(xù)循環(huán)不執(zhí)行操作,直到能被4整除時輸出該數(shù),所以輸出的數(shù)滿足條件100以內(nèi)能被4整除且個位數(shù)為8。
31.重復(fù)(循環(huán))重復(fù)(循環(huán))解析:結(jié)構(gòu)化程序設(shè)計包括3種基本的結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和重復(fù)結(jié)構(gòu)(循環(huán)結(jié)構(gòu)),利用這3種結(jié)構(gòu)就足以表達出各種其他形式結(jié)構(gòu)的程序設(shè)計方法。其中利用循環(huán)結(jié)構(gòu),可以簡化大量的程序執(zhí)行。
32.a[k][i]*sumx&sa[k][i]\r\n*sum\r\nx,&s解析:本題考核的知識點是C程序的綜合應(yīng)用。本題中定義了一個函數(shù)SumColumMin(),該函數(shù)有兩個參數(shù),第一個參數(shù)為數(shù)組名,第二個參數(shù)為一個指針,用來訪問存放數(shù)組中每列元素中的最小值的存儲空間的變量。所以在主函數(shù)中調(diào)用SumColumMin()函數(shù),應(yīng)該將數(shù)組x和sum作為實參傳給SumColumMin()中的形參,故第20個空格處應(yīng)該填x,&s。在SumColumMin()函數(shù)中用了兩重循環(huán),用N記錄數(shù)組的列,M記錄數(shù)組的行。內(nèi)循環(huán)共循環(huán)了M次,每循環(huán)一次將a[k][i]比較a[j][i](當k=0時,a[k][i]第一行第一列的值,然后將該值依次和第一列中的每個值比較,讓a[k][i]表示較小的值,那么比較到最后一個元素后a[k][i]就是改列中最小元素的值),讓k記錄較小值元素的行下標,這樣通過M次循環(huán)得到每列中的最小元素,然后退出內(nèi)循環(huán),繼續(xù)執(zhí)行該次外循環(huán)里的其他語句,即將剛求得第i列的最小值a[k][i]累加到s中,故第18個空格處應(yīng)該填a[k][i],最后外循環(huán)共循環(huán)N次,將每列得最小值累加到s中,退出循環(huán),然后讓指針sum所指向得存儲空間得值為s敲第19個空格處應(yīng)該填*sum。
33.-3-3解析:%運算符是求兩個數(shù)相除的余數(shù),其結(jié)果與被除數(shù)的符號一致,本題中“-19%4”的值為“-3”。
34.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語言中,程序執(zhí)行完一個case標號的內(nèi)容后,如果沒有break語句,控制結(jié)構(gòu)會轉(zhuǎn)移到下一個case繼續(xù)執(zhí)行,因為case常量表達式只是起語句標號作用,并不是在該處進行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2:分支,最后a和b的值分別為2和1。
35.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。
36.*pmax=*px*pmax=*px解析:首先將變量x的值放到max中,然后依次和變量y、z進行比較。若有比max大的數(shù),將該數(shù)存放到max中,這樣最后在max中的值就是x、y、z中的最大值。
37.上溢上溢解析:入隊運算是指在循環(huán)隊列的隊尾加入一個新元素。這個運算有兩個基本操作:首先將隊尾指針進一(即rear=rear+1),并當rear=m+1時置rear=1;然后將新元素插入隊尾指針指向的位置。當循環(huán)隊列非空(s=1)時且隊尾指針等于隊頭指針時,說明循環(huán)隊列已滿,不能進行入隊運算,這種情況稱為“上溢”。
38.內(nèi)容內(nèi)容
39.關(guān)系模型關(guān)系模型
40.軟件開發(fā)
41.B解析:執(zhí)行p=&a;后,p指向整數(shù)a,*p即p的目標變量,也就是a;所以a=*p+b等價于a=a+b,可知a的值最終為11。
42.C解析:事實上,無論有無static修飾,外部變量都具有A、B和C三種特性。作為一種修飾,static僅是限制此類型外部變量韻引用范圍:只能在定義它的文件范圍內(nèi)使用。
43.A
44.A解析:“%”是求余運算符或模運算符,“%”兩側(cè)均應(yīng)為整型數(shù)據(jù),選項A)中的x是double型數(shù)據(jù)。
45.D
46.D解析:本題考核的知識點是位運算符的應(yīng)用。位與運算符“&”參加運算的兩個數(shù)據(jù),按二進位進行“與”運算,如果兩個相應(yīng)的二進制位都為1,則該位的結(jié)果值為1,否則為0,取反運算符“~”,用來對一個;進制按位取反,即將0變1,1變0.在prinft()函數(shù)的表達式中,“&”前面表達式的值為1(3/2=1)表示為二進制為00000001,而按位取反運算符“~”的優(yōu)先級高于按位與運算符“&”,先計算“&”后面的取反運算符“~”。z的二進制表示為00000001,取反后為11111110,最后進行“&”,即“00000001&11111110”可知結(jié)果為00000000,故最后的值為0,所以,4個選項中選項D符合題意。
47.C解析:棧是一種后進先出表,選項C中,先出棧的是3,說明此時棧內(nèi)必然有1,2,由于1先于2進淺,所以1不可能在2之前出棧,故選項C這種出棧序列是不可能的。
48.C解析:switch后的括號中只能是整型或字符型表達式,選項A中使用的是浮點型變量x,故不正確。選項B在switch的括號后面多了一個分號,故也不正確。switch的case標號后只能是常量或常量表達式,而不能是變量,所以選項D也不正確。故應(yīng)該選擇C。
49.B解析:本題考查了結(jié)構(gòu)體和共用體類型的特點。結(jié)構(gòu)體變量的各個數(shù)據(jù)成員分別占據(jù)不同的存儲空間,而共用體變量的數(shù)據(jù)成員共同占據(jù)一段存儲空間。所以共用體un的變量占8個字節(jié),而結(jié)構(gòu)st中,變量所占據(jù)的存儲空間為成員a和b的存儲空間之和,所以答案為B。
50.C解析:結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占內(nèi)存長度之和,而共用體變量所占的內(nèi)存長度等于最長的成員的長度。本題結(jié)構(gòu)體變量a中成員c為整型占2個字節(jié),共用體變量u最大長度為4個字節(jié),故選C。
51.C解析:程序流程圖是人們對解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;
表示邏輯條件。
52.C解析:單引號中,大寫或小寫字母(只限一個)代表不同的字符常量,不能用雙引號:單引號中,一個反斜線后跟一個指定的字符,表示一個特定的ASCⅡ字符,且反斜線后的八進制數(shù)可不用。開頭,其后的十六進制數(shù)只能以小寫的x開頭。
53.C解析:++高于=和||,=的優(yōu)先級最低。而||為自左向右的結(jié)合性,因此先計算表達式++x的值,x的初值為3,3+1=4,4為非零值,不必再計算||右側(cè)表達式的值,即可得到整個邏輯表達式的值1,++y沒有做運算,仍為原值3,所以,選項C正確。
54.C解析:選項A不是合法的賦值語句,將最右邊的第一個賦值表達式加括號即為a=a+(b=b++)才正確,故選項A不正確。選項B中運算符%的對象必須是整型,而在選項B中(int)a+b為double型,故選項B不正確。a,b都為double型,應(yīng)當避免使用a==b這樣的關(guān)系表達式,因為通常存放在內(nèi)存中的實型數(shù)據(jù)是有誤差的,因此不可能精確相等,這將導(dǎo)致關(guān)系表達式a==b總為0。所以,4個選項中選項C符合題意。
55.A解析:經(jīng)過分析得知fun()函數(shù)的功能:將形參a指向形參b所指的存儲空間,然后使形參a指向變量的值加1。在主函數(shù)中定義了字符型指針變量p1和p2,并讓它們分別指向c1和c2。將p1、p2作為實參傳遞給形參a、b。在fun()函數(shù)中,首先讓指針變量p1指向p2,然后p1指向的存儲空間的值加1,即讓變量c2加1為b,而c1的值沒有被改變,仍然是A。所以,4個選項中選項A符合題意。
56.C解析:第1個輸出語句中由于->的優(yōu)先級高于++,因此先取結(jié)構(gòu)體的分量x,再對x的值加1,再輸出。p的初值為結(jié)構(gòu)體數(shù)組aa的首地址即a[0]的地址,a[0]的x分量值為50,加1后輸出51。第2個輸出語句中++p被括號括起來,括號的優(yōu)先級與->相同,自左至右結(jié)合,因此先對p加1,再取p所指向的元素的x分量的值。p加1后p指向數(shù)組元素a[1],a[1]的x分量的值為60,輸出60。第3個輸出語句中括號的優(yōu)先級高于++,因此先求括號中表達式的值,又由于->的優(yōu)先級高于*,所以先取p所指向的數(shù)組元素的y分量的值,p所指向的元素為a[1],y分量的值為&dt[1]。&dt[1]是一個存儲單元的地址,是數(shù)組dt第2個元素的地址值,再取該存儲單元中的值為20,最后對20加1,輸出21。選項C為所選。
57.A解析:二叉樹的中序遍歷指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹;并且遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹。
58.C解析:n和e的x冪次方,要分別調(diào)用C語言的數(shù)學(xué)庫函數(shù)doublepow(n,x)和doubleexp(x),因為這兩個函數(shù)的返回值都為double型,對兩者的和計算絕對值,調(diào)用庫函數(shù)doublefabs(pow(n,x)+exp(x)),求出和的絕對值,再調(diào)用開平方函數(shù)doublesqrt(fabs(pow(n,x)+exp(x))),這樣計算出的結(jié)果就是題干中表達式的值。
59.D解析:*、/和%的優(yōu)先級要高于+和—,同級別的運算符從左至右運算。所以本題首先計算5/2和5%2,雖然我們都知道5/2的結(jié)果應(yīng)該是2.5,但C語言中規(guī)定了兩個整數(shù)相除的結(jié)果為整數(shù),而且是截尾取整,所以5/2的結(jié)果是2;5%2表示的是5除以2所得的余數(shù),其結(jié)果為1。計算完后,表達式變?yōu)?.6-2+1.2+1,從左至右計算不難得出結(jié)果為3.8,故應(yīng)該選擇D。
60.A解析:在C語言中,一個字符常量代表ASCII字符集中的一個小字符,在程序中用單引號把一個字符括起來作為字符常量,選項A)是一個轉(zhuǎn)義字符常量,表示橫向跳若干空格(代表“TAB”鍵);選項B)表示一個字符串;選項C)表示一個整型常量;選項D)表示一個標識符(代表一個變量),故本題答案為A)。
61.A
62.B
63.B
64.A本題主要考查的知識點是:break和IContinue語句。break語句可以用于swhitCh或循環(huán)體內(nèi),作用是跳/出switCh或循環(huán)體。Continue語句
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年金剛石膜-聲表面波器件(SAW)項目規(guī)劃申請報告模板
- 2025年絕緣材料:絕緣套管項目提案報告模范
- 2025年個體經(jīng)營物流配送協(xié)議
- 2025年耐高溫可加工陶瓷項目立項申請報告
- 2025年發(fā)泡消泡劑項目規(guī)劃申請報告
- 2025年授權(quán)代理業(yè)務(wù)綜合合同范本
- 2025年建筑器材租賃合同標桿
- 2025年倉儲物流服務(wù)合作協(xié)議合同
- 2025年工業(yè)外包合同中的環(huán)境管理措施
- 2025年城市綠化養(yǎng)護服務(wù)合同文本
- 公司財務(wù)制度及流程
- 高支模專項施工方案(專家論證)
- 《物流與供應(yīng)鏈管理-新商業(yè)、新鏈接、新物流》配套教學(xué)課件
- 房地產(chǎn)標準踩盤表格模板
- 物聯(lián)網(wǎng)項目實施進度計劃表
- 學(xué)校校園安全巡邏情況登記表
- 光纜線路工程段終版施工圖
- 畢業(yè)論文-基于Java Web的模擬駕??荚囅到y(tǒng)設(shè)計與實現(xiàn)
- MDD指令附錄一 基本要求檢查表2013版
- 新部編人教版四年級下冊道德與法治全冊教案(教學(xué)設(shè)計)
- 人美版高中美術(shù)選修:《繪畫》全冊課件【優(yōu)質(zhì)課件】
評論
0/150
提交評論