版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年河北省滄州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.下面描述中,不屬于軟件危機(jī)表現(xiàn)的是()A.軟件過程不規(guī)范B.軟件開發(fā)生產(chǎn)率低C.軟件質(zhì)量難以控制D.軟件成本不斷提高
2.若變量已經(jīng)定義且正確賦值,則針對(duì)程序段“temp=a;a=b;b=temp;”,以下敘述中正確的是()。
A.C語言的順序結(jié)構(gòu)不允許將多條語句寫在一行里
B.程序順序結(jié)構(gòu)對(duì)于此段程序是從左至右依次執(zhí)行的
C.此程序段的執(zhí)行順序是,先執(zhí)行“b=temp;”,再執(zhí)行“a=b;”,最后執(zhí)行“temp=a;”
D.將此段程序的前兩個(gè)分號(hào)改成逗號(hào),后面一個(gè)不變,則不能實(shí)現(xiàn)a和b值的交換
3.設(shè)有一個(gè)二維數(shù)組A[m][n],假設(shè)A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每個(gè)元素占一個(gè)空間,問A[3][3](10)存放在什么位置()(腳注(10)表示用10進(jìn)制表示)。
A.688B.678C.692D.696
4.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過一系列入隊(duì)與退隊(duì)運(yùn)算后,front=15,rear=15,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為()。
A.20B.0或35C.15D.16
5.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是()。
A.EOFB.-lC.非零值D.0
6.和順序棧相比,鏈棧有一個(gè)比較明顯的優(yōu)勢是()。
A.通常不會(huì)出現(xiàn)棧滿的情況B.通常不會(huì)出現(xiàn)??盏那闆rC.插入操作更容易實(shí)現(xiàn)D.刪除操作更容易實(shí)現(xiàn)
7.設(shè)二叉排序樹中有n個(gè)結(jié)點(diǎn),則二叉排序樹的平均查找長度為()。A.O(1)
B.O(log2n)
C.O(n)
D.(n2)
8.有以下程序:
#include<stdio.h>
main()
{ints=0.n;
for(n=0;n<3;n++)
{switch(s)
{case0;
case1:s+=1;
case2:s+=2;break;
case3:S+=3;
default:s+=4;
}
printf("%d,"s);
}
}
程序運(yùn)行后的輸出結(jié)果是()。
A.1,2,4,
B.1,3,6,
C.3,10,14,
D.3,6,10,
9.下列程序的輸出結(jié)果是
#include"stdio.h"
#defineN3
#defineM3
voidfun(inta[M][N])
{printf("%d\n",*(a[1]+2));}
main()
{inta[M][N];
inti,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
a[i][j]=i+j-(i-j);
fun(a);}A.A.3B.4C.5D.6
10.以下程序的輸出結(jié)果是()。main{inta=3:printf("%d\n",(a+a-=a*a));}A.-6B.12C.0D.-12
11.對(duì)線性表進(jìn)行二分法檢索,其前提條件是()。
A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序
D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序
12.
13.
14.下列敘述中正確的是()。
A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的
B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)
C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表
D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
15.設(shè)某無向圖中有n個(gè)頂點(diǎn)e條邊,則建立該圖鄰接表的時(shí)間復(fù)雜度為()。
A.O(n+e)B.O(n^2)C.O(ne)D.O(n^3)
16.可用作C語言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof
17.有以下程序段:#include<stdio.h>intj;floaty;charname[50];scanf(“%2d%f%s”,&j,&y,name);當(dāng)執(zhí)行上述程序段時(shí),從鍵盤上輸入555667777abc后,y的值為()。
A.566.0B.55566.0C.7777.0D.566777.0
18.若要判斷char型變量c中存放的是否為小寫字母,以下正確的表達(dá)式是()。A.'a'<=c<='z'
B.(c>='a')&&(c<='z')
C.(c>='a')‖(c<='z')
D.('a'<=c)AND('z'>=c)
19.若用一個(gè)大小為6的數(shù)值來實(shí)現(xiàn)循環(huán)隊(duì)列,且當(dāng)前rear和front的值分別為0和3,當(dāng)從隊(duì)列中刪除一個(gè)元素,再加入兩個(gè)元素后,rear和front的值分別為()。
A.1和5B.2和4C.4和2D.5和1
20.有以下程序:#include<stdio.h>#include<string.h>main(){printf(“%d\n”,strlen(“0\t\n\0C011\1”));}程序運(yùn)行后的輸出結(jié)果是()。
A.3B.13C.1D.0
二、2.填空題(20題)21.下列程序的輸出結(jié)果是______。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
22.在面向?qū)ο蠓椒ㄖ校瑢傩耘c操作相似的一組對(duì)象稱為【】。
23.軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。
24.在數(shù)據(jù)庫系統(tǒng)中,實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
25.在樹形結(jié)構(gòu)中,沒有前件的結(jié)點(diǎn)是()。
26.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),帶鏈的棧屬于【】。
27.在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對(duì)象。
28.在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅需要存儲(chǔ)各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。
29.下面程序的輸出是【】。
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);}
30.以下程序用業(yè)統(tǒng)計(jì)文件十字符個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>
#include"stdio.h"
main()
{FTLE*fp;longnum=OL;
if((fp=fopen("fname.dat","r"))==NUlL)
{pirntf("Openerror\n");exit(0);}
while()
{fgetc(fp);num++;}
printf("num=%1d\n",num-1);
fclose(fp);
}
31.已知字母A的ASCII碼為65。以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
32.下列程序的運(yùn)行結(jié)果是______。
main()
{inta=1,b=10;
do
{b-=a;a++;}while(b--<0);
printf("%d,%d\n",a,b);
}
33.軟件是由兩部分組成的,一部分是【】,另一部分是文檔資料。
34.下面程序是計(jì)算100以內(nèi)能被4整除且個(gè)位數(shù)為4的所有整數(shù),請(qǐng)?zhí)羁铡?/p>
main()
{intm,n;
for(m=0;【】;m++)
{n=m*10+4;
If(【】)continue;
printf("%d\n",n);}}
35.要求使下列程序輸出5個(gè)整數(shù),請(qǐng)?zhí)羁铡?/p>
for(i=0;i<=______;printf("%d\n",i+=2));
36.二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲(chǔ)結(jié)構(gòu)必須是______。
37.數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。
38.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu)、存取方式等)改變時(shí),不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的【】。
39.以下程序的輸出結(jié)果是()。
#include<stdio.h>
main()
fintx=0;
sub(&x,16,2);
printf("%d\n",x);
}
sub(int*a,intn,intk)
{if(k<=n)sub(a,n/2,2*k);
*a+=k;
}
40.以下程序的功能是:求出數(shù)組x中各相鄰兩個(gè)元素的和依次存放到a數(shù)組中,然后輸出。請(qǐng)?zhí)羁铡?/p>
main()
{intx[10],a[9],i;
for(i=0;i<10;i++)scanf("%d",&x[i]);
for([11];i<10;i++)
a[i-1]=x[i]+[12];.
for(i=0;i<9;i++)printf("%d",a[i]);
printf("");
}
三、1.選擇題(20題)41.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。
A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語言的先進(jìn)性D.程序的易讀性
42.有如下程序:#include<stdio.h>main(){inta=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec++;printf("%d\n",c);}該程序的輸出結(jié)果是
A.0B.1C.2D.3
43.對(duì)建立良好的程序設(shè)計(jì)風(fēng)格,下列描述正確的是()。
A.程序應(yīng)該簡單、清晰、可讀性好B.符號(hào)名的命名只需要符合語法C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無
44.若有如下說明:unions{chara[9]intb;floatc;}t;則下列敘述正確的是()
A.共用體變量t不能作為函數(shù)的參數(shù)
B.通過引用共用體變量名t可以得到成員的值
C.共用體變量t的地址和它的各成員的地址不同
D.共用體變量t所占的內(nèi)存長度等于它的各成員所占的內(nèi)存長度之和
45.以下關(guān)于typedef的敘述錯(cuò)誤的是()。
A.用typedef可以增加新類型
B.typedef只是將已存在的類型用一個(gè)新的名字來代表
C.用typedef可以為各種類型說明一個(gè)新名,但不能用來為變量說明一個(gè)新名
D.用typedef為類型說明一個(gè)新名,通??梢栽黾映绦虻目勺x性
46.下面程序的輸出結(jié)果是()。typedefunion{longx[1];inty[4];charz[10];}M;Mt;main(){printf("%d\n",sizeof(t));}
A.32B.26C.10D.4
47.在說明語句:int*f();中,標(biāo)識(shí)符f代表的是
A.一個(gè)用于指向整型數(shù)據(jù)的指針變量
B.一個(gè)用于指向一維數(shù)組的行指針
C.一個(gè)用于指向函數(shù)的指針變量
D.一個(gè)返回值為指針型的函數(shù)名
48.以下程序的輸出結(jié)果是_______。#include<stdio.h>main(){printf("%d\n",NULL);}
A.不確定的(因變量無定義)B.0C.-1D.1
49.已知i、j、k為iht型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為1、j的值為2、k的值為3,以下選項(xiàng)中正確的輸入語句是______。
A.scanf("%d%d%d",&i,&j,&k);
B.scanf("%d,%d,&d",&i,&i,&k);
C.scanf("%2d%2d%2d",&i,&j,&k);
D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);
50.有以下程序:main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf("%",t[2-i][i]);}程序執(zhí)行后的輸出結(jié)果是()。
A.753B.357C.369D.751
51.函數(shù)調(diào)用strcat(strcpy(str1,str2),str3)的功能是()。
A.將字符串str1復(fù)制到字符串str2中后再連接到字符串str3之后
B.將字符串str1連接到字符串str2之后再復(fù)制到字符串str3之后
C.將字符串str2復(fù)制到字符串str1中后再將字符串str3連接到字符串str1之后
D.將字符串str2連接到字符串str1之后再將字符串str1復(fù)制到字符串str3中
52.有以下程序:#include<string.h>inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t++=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()。
A.24B.28C.32D.36
53.下列工具中為需求分析常用工具的是()。
A.PADB.PFDC.N-SD.DFD
54.有以下程序intf1[y){returnx>y?x:y;}intf2(intx,inty){returrnx>y?y:x;}main(){inta=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b},f1(c,d));f=f1(f2(a,b),f2(c,d);;g=a+b+c+d-e-f;printf("%d,%d,%d\n",c,f,g);}程序運(yùn)行后的輸出結(jié)果是
A.4,3,7B.3,4,7C.5,2,7D.2,5,7
55.有以下程序:#include<stdio.h>main(){printf("%d\n",NULL);}程序運(yùn)行后的輸出結(jié)果是()。
A.0B.1C.-1D.NULL沒定義,出錯(cuò)
56.下面不屬于軟件設(shè)計(jì)原則的是()。
A.抽象B.模塊化C.自底向上D.信息隱蔽
57.已知chara;intb;floate;doubled;則表達(dá)式a-b+c-d結(jié)果為()型。
A.doubleB.floatC.intD.char
58.瀑布模型適合于______。
A.大型軟件系統(tǒng)開發(fā)B.中型軟件系統(tǒng)開發(fā)C.小型軟件系統(tǒng)開發(fā)D.大、中、小型軟件系統(tǒng)開發(fā)
59.設(shè)x,y和z都是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中,值為0的表達(dá)式是
A.x&&y
B.x<=y
C.x||++y&&y-z
D.!(x<y&&!z||1)
60.以下所列的各函數(shù)首部中,正確的是______。
A.voidplay(Var:Integer,varb:Integer)
B.voidplay(inta,b)
C.voidplay(inta,intb)
D.Subplay(aasinteger,basinteger)
四、選擇題(20題)61.
62.
63.以下程序的輸出結(jié)果是()。
charstr[15]=”hello!”;
printf(“%d\n”,strlen(str));
A.15B.14C.7D.6
64.
65.下列選項(xiàng)中不是字符常量的是()。
A.'\v'B.'\x2a'C.'a'D."\0"
66.若變量a,b已正確定義,且b已正確賦值,則合法的語句是()。
A.b=double(b);B.(int)a=(int)b;C.a=a++=5;D.a=double(b);
67.有以下程序
#include<stdio.h>
main()
{intx=1,y=2,z=3;
if(x>y)
if(y<z)printf("%d",++z);
elseprintf("%d",++y);
printf("%d\n",x++);
}
程序的運(yùn)行結(jié)果是
A.A.331
B.41
C.2
D.1
68.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.9,18B.8,11C.7,11D.10,14
69.
70.
71.
72.軟件的()設(shè)計(jì)又稱總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。
A.概要B.抽象C.邏輯D.規(guī)劃
73.下列關(guān)于結(jié)構(gòu)型、共用型、枚舉型的定義語句中,正確的是()。
A.structss{intx}
B.unionuu{intx;}xx=5;
C.enumee{intx};
D.struct{intx;};
74.下列敘述中正確的是()。
A.循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
B.循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)
C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)
D.循環(huán)隊(duì)列是一種邏輯結(jié)構(gòu)
75.
76.
77.
78.
79.
80.軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()。
A.編譯程序B.操作系統(tǒng)C.教務(wù)管理系統(tǒng)D.匯編程序
五、程序改錯(cuò)題(1題)81.給定程序中,函數(shù)fun的功能是:首先把b所指字符串中的字符按逆序存放,然后將a所指字符串中的字符和b所指字符串中的字符:按排列的順序交叉合并到C所指數(shù)組中,過長的剩余字符接在C所指的數(shù)組的尾部。例如,當(dāng)a.所指字符串中的內(nèi)容為“abcdef9”,b所指字符串中的內(nèi)容為“1234”時(shí),c所指數(shù)組中的內(nèi)容應(yīng)“a4b3c2dlef9”;而當(dāng)a所指字符串中的內(nèi)容為“1234”,b所指字符串的內(nèi)容為“abcdef9”時(shí),c所指數(shù)組中的內(nèi)容應(yīng)該為“l(fā)g2f3e4dcba”。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.編寫函數(shù)fun,其功能是:實(shí)現(xiàn)兩個(gè)字符串的連接(不要使用庫函數(shù)strcat),即把p2所指的字符串連接到pl所指的字符串的后面。
例如,分別輸人下面兩個(gè)字符串:FirstString——SecondString
程序運(yùn)行后的輸出結(jié)果是:FirstString————SecondString
注意:部分源程序在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
參考答案
1.A軟件危機(jī)主要表現(xiàn)在:軟件需求的增長得不到滿足;軟件開發(fā)成本和進(jìn)度無法控制;軟件質(zhì)量難以保證;軟件不可維護(hù)或維護(hù)程度非常低;軟件的成本不斷提高;軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長。所以選擇A。
2.BC語言允許將多條語句寫在一行,選項(xiàng)A錯(cuò)誤;題干中的語句是從左至右依次執(zhí)行的,選項(xiàng)B正確,選項(xiàng)C錯(cuò)誤。題干中的程序前兩個(gè)分號(hào)改成逗號(hào),就構(gòu)成了逗號(hào)表達(dá)式。逗號(hào)表達(dá)式會(huì)依次從左到右計(jì)算各個(gè)表達(dá)式,整個(gè)表達(dá)式的值是最后一個(gè)表達(dá)式的值,所以此例也可以實(shí)現(xiàn)a和b值的交換,選項(xiàng)D錯(cuò)誤。故本題答案為B選項(xiàng)。
3.C
4.BQ(1:35)則隊(duì)列的存儲(chǔ)空間為35;對(duì)空條件:front=rear(初始化時(shí):front=rear),隊(duì)滿時(shí):(rear+1)%n==front,n為隊(duì)列長度(所用數(shù)組大小),因此當(dāng)執(zhí)行一系列的出隊(duì)與入隊(duì)操作,front=rear.則隊(duì)列要么為空,要么為滿。
5.D本題考查leon(tp)函數(shù),其功能是:測試所指的文件的位置指針是否已達(dá)到文件尾,如果已達(dá)到文件尾,則函數(shù)返回非0值;否則返回0,表示文件未結(jié)束。
6.A
7.B
8.C\n本題考查switch…ease語句,在本題的程序中,只有在case2:s=s+2;break;,才有break語句,所以當(dāng)s=0時(shí)會(huì)執(zhí)行s=s+1;s=s+2;,所以s=3,當(dāng)s=3時(shí),會(huì)執(zhí)行s=s十3;s=s+4;,所以s=10,依此類推,答案選擇C。
\n
9.B
10.D本題可以寫成:a+a+(a-(a*a)),所以*的優(yōu)先級(jí)最高,其次是-=的,+的優(yōu)先級(jí)最低,因此先求a-=a*a=9,表達(dá)式變?yōu)閍+a+-=9,a即a=a-9=-6,再次變?yōu)閍+(-6)=-12,故選擇D選項(xiàng)。
11.A解析:對(duì)線性表進(jìn)行二分法檢索,要求線性表是按順序方式存儲(chǔ)的,并按關(guān)鍵碼值的大小排好序,而不是按關(guān)鍵碼的檢索頻率排序。
12.B
13.D
14.A解析:順序存儲(chǔ)結(jié)構(gòu)就是用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)該線性表中的各個(gè)元素,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項(xiàng)A是正確的。兩者都可以存儲(chǔ)線性的、有序的邏輯結(jié)構(gòu),所以選項(xiàng)B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲(chǔ),鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰節(jié)約空間的說法,所以選項(xiàng)D不正確。
15.A
16.B
17.Ascanf是格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入指定的變量中。其中,在百分號(hào)(%)與格式碼之間的整數(shù)用于限制從對(duì)應(yīng)域讀入的最大字符數(shù)。所以j的值為55,y的值為566.0,字符數(shù)組name的值為7777abc。故本題答案為A選項(xiàng)。
18.BC語言中,char型變量的值是其對(duì)應(yīng)字符的ASCII值,可以做比較運(yùn)算。由于小寫字母的ASCII值按字母表的順序連續(xù)遞增,因此判斷char型變量c是不是小寫字母時(shí),判斷c的ASCII值是否在’a’和’z’之間,即(c>=’a’)&&(c<=’z’)。本題答案為B選項(xiàng)。
19.B
20.AC語言中的轉(zhuǎn)義字符也是一個(gè)字符。字符串“0\\t\\n\\0C011\\1”,共有字符‘0’、‘\\t’、‘\\n’3個(gè)字符。strlen遇到‘\\0’字符計(jì)數(shù)結(jié)束,因此計(jì)數(shù)為3。故本題答案為A選項(xiàng)。
21.3232解析:while(表達(dá)式)的功能是:首先計(jì)算表達(dá)式的值,若為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢,再計(jì)算表達(dá)式的值,若仍為真,則重復(fù)執(zhí)行循環(huán)體語句,直到表達(dá)式的值為假時(shí),結(jié)束while語句的執(zhí)行,繼續(xù)執(zhí)行while語句后面的語句:i=0時(shí)滿足循環(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é)束。
22.類類解析:在面向?qū)ο蠓椒ㄖ校惷枋龅氖蔷哂邢嗨菩再|(zhì)的一組對(duì)象。所以,屬性與操作相似的一組對(duì)象稱為類。
23.完善性軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對(duì)軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。
24.數(shù)據(jù)庫管理系統(tǒng)或DBMS數(shù)據(jù)庫管理系統(tǒng)或DBMS解析:數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,DBMS)是一種操縱和管理數(shù)據(jù)庫的大型軟件,是用于建立、使用和維護(hù)數(shù)據(jù)庫,簡稱DBMS。它對(duì)數(shù)據(jù)庫進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。用戶通過DBMS訪問數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫管理員也通過DBMS進(jìn)行數(shù)據(jù)庫的維護(hù)工作。它提供多種功能,可使多個(gè)應(yīng)用程序和用戶用不同的方法在同時(shí)或不同時(shí)刻去建立,修改和詢問數(shù)據(jù)庫。因此,數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)庫管理系統(tǒng)是實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件。本題的答案是數(shù)據(jù)庫管理系統(tǒng)或DBMS。
25.根結(jié)點(diǎn)根結(jié)點(diǎn)
26.存儲(chǔ)結(jié)構(gòu)存儲(chǔ)結(jié)構(gòu)解析:帶鏈的棧屬于棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
27.類類解析:在面向?qū)ο蟮姆椒ㄖ校丫哂邢嗤瑢傩院头椒ǖ膶?duì)象稱為類,類是對(duì)象的抽象,對(duì)象是類的實(shí)例。
28.前后件關(guān)系前后件關(guān)系解析:在數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中,除了要存儲(chǔ)數(shù)據(jù),還要存儲(chǔ)數(shù)據(jù)的前后件關(guān)系,對(duì)于順序存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),前后件之間的關(guān)系,是通過存儲(chǔ)空間的位置來實(shí)現(xiàn)的,而對(duì)于鏈?zhǔn)酱鎯?chǔ)來說,數(shù)據(jù)元素之間的前后件關(guān)系是通過指針來實(shí)現(xiàn)的。
29.1212解析:本題通過第一個(gè)for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過第二個(gè)for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:
i=1:k=0+arr[1]+1即k=2;
i=2:k=2+arr[2]+2即k=6;
i=3:k=6+arr[3]+3即k=12;
30.!feof(fp)!feof(fp)解析:本題中統(tǒng)計(jì)文件中字符個(gè)數(shù)的算法可描述如下:首先判斷文件位置指針是否指向了文件尾,如果不是則讀出一個(gè)字符,同時(shí)字符的個(gè)數(shù)加1,再判斷文件位置指針是否位于文件尾,如此循環(huán),直到文件位置指針位于文件尾為止。本題首先以讀文件的方式打開了文件“fname.daf”,如果打開成功則把返回的文件型指針賦值給fp,然后通過循環(huán)求文件中的字符數(shù)。首先判斷文件位置指針是否位于文件尾,如果不是則循環(huán)讀取字符,每次字符數(shù)加1。所以下劃處應(yīng)填循環(huán)條件,文件位置指針不是指向文件尾,即“!feof(fp)”。
31.67G67G解析:字符型變量中保存的是某個(gè)字符的ASCII碼值,是一個(gè)整數(shù),因此字符型變量的算術(shù)運(yùn)算和整型變量并無區(qū)別。所以。a='A'+'5'-'3'='A'+('5'='3')='A'+2=65+2=67:b=a+'6'='2'='C'+('6'-'2')='C'+4='G'。最后分別按十進(jìn)制整數(shù)和字符形式輸出a和b的值為:67G。
32.282,8解析:do…while語句的功能是:首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,否則退出循環(huán)。這里程序初始時(shí)a=1,b=10,經(jīng)過操作b-=a;a++后b=9,a=2,判斷條件b--<O不成立,退出循環(huán),但b的值被減1,因此結(jié)果為:a=2,b=8。
33.程序程序解析:按照軟件工程學(xué)的觀點(diǎn),一個(gè)完整的軟件系統(tǒng)不僅包括一整套供計(jì)算機(jī)系統(tǒng)執(zhí)行所必須的計(jì)算機(jī)化了的數(shù)據(jù)信息(簡稱為程序),還應(yīng)包括一整套供計(jì)算機(jī)領(lǐng)域的技術(shù)人員和用戶使用的非計(jì)算機(jī)化的文檔資料。
34.m<10n%4!=0
35.88解析:本題考查基本的for循環(huán)條件,i+=2表示i每次遞增2,從0開始,輸出5個(gè)整數(shù)則需要的條件是i<=8。
36.順序存儲(chǔ)(順序方式存儲(chǔ))順序存儲(chǔ)(順序方式存儲(chǔ))解析:二分法查找對(duì)表的要求是有序的順序表,即第一要求是數(shù)據(jù)元素有序,第二要求是按順序方式存儲(chǔ)。
37.共享性共享性解析:數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實(shí)現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫的主要目的。
38.物理獨(dú)立性物理獨(dú)立性
39.1414解析:本題考查遞歸函數(shù)的調(diào)用。在主函數(shù)中調(diào)用sub(&x,16,2)函數(shù),此時(shí)n=16,k=2,if語句的控制的條件k<=n成立,所以執(zhí)行下面的語句,調(diào)用sub(x,8,4),此時(shí)n=8,k=4,if語句的控制條件k<=n成立,所以執(zhí)行下面的語句,調(diào)用sub(x,4,8),此時(shí)n=4,k=8,if語句控制的條件k<=n不成立,因此,最后得x=2+4+8=14。
40.對(duì)于10個(gè)數(shù),相鄰的兩個(gè)數(shù)相加取和,總共要進(jìn)行9次加法運(yùn)算,所以空14處應(yīng)填入i=1。相鄰的兩個(gè)數(shù)相加取和,放在數(shù)組a中,x[0]與x[1]的和存放在a[0]中,所以空15處應(yīng)填入x[i-1]。\r\n\r\n
41.D解析:程序不僅是編寫完就結(jié)束了,為了測試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡單和清晰,即程序的易讀性,“清晰第一,效率第二”。
42.C解析:if語句嵌套使用時(shí),else總是與它上面最近的if配對(duì)。因此,本題中先判斷(a<b),因?yàn)楸磉_(dá)式的值為0,故不執(zhí)行下面的if語句,直接跳到printf行,c值沒有改變。
43.A解析:“清晰第一,效率第二”,在考慮到程序的執(zhí)行效率的同時(shí),一定要保證程序清晰、可讀;對(duì)符號(hào)名的命名,除了要符合語法要求外,還要具有一定的含義;程序的注釋可以幫助程序員理解程序,不是可有可無的。
44.A
45.A解析:本題考查的重點(diǎn)是typedef的理解運(yùn)用。C語言允許通過typedef為數(shù)據(jù)類型定義新名字,但是,它并非是生成新的數(shù)據(jù)類型,因此選項(xiàng)A是錯(cuò)誤的。
46.C解析:“聯(lián)合體”所占用的內(nèi)存空間為最長的成員所占用的空間。題中聯(lián)合體的z[10]成員聯(lián)合體中占空間最長的成員。
47.D解析:帶回指針值的函數(shù),其一般定義形式為:
類型標(biāo)識(shí)符*函數(shù)名(參數(shù)表);
例如;int*f(x,y);
其中,f是函數(shù)名,調(diào)用它以后能得到一個(gè)指向整型數(shù)據(jù)的指針(地址),x,y是函數(shù)f的形參。在f的兩側(cè)分別為*運(yùn)算符和()運(yùn)算符,而()優(yōu)先級(jí)高于*,因此f先與()結(jié)合,顯然是函數(shù)形式。這個(gè)函數(shù)前面有一個(gè)*,表示此函數(shù)是指針型函數(shù)(函數(shù)值是指針)。前面的int表示返回的指針指向整型變量。
48.B解析:NULL在C編譯器中是—個(gè)值為0的常量,它的定義在頭文件“stdio.h”中,本題的程序在一開始就包含了這個(gè)頭文件,所以,在打印的時(shí)候,將打印出0。
49.A解析:scanf函數(shù)中格式控制后面應(yīng)為變量地址列表,因此選項(xiàng)C和選項(xiàng)D都錯(cuò)誤,選項(xiàng)B中“&d”是指針變量d的地址,與題目不符。由題目可知指針變量d中存放的是變量c的地址,所以正確答案為選項(xiàng)A。
50.B解析:定義二維數(shù)組時(shí)第一維的長度可以不指定,該程序中t[][3]通過賦初值等價(jià)于t[3][3],并且其數(shù)組按行進(jìn)行賦值,故通過for循環(huán)輸出的分別是t[2][0]、t[1][1]和t[0][2]。
51.C解析:strcat(s1,s2)是把s2字符串連接到s1字符串末尾,strcpy(s1,s2)是把s2字符串復(fù)制給s1字符串,要保證s1能容納下連接或復(fù)制后的字符串。
52.B解析:本題考查的是外部變量的應(yīng)用。因?yàn)槌绦虻某跏糹nta=4;語句定義了外部變量a,在以后的執(zhí)行過程中,當(dāng)i=0時(shí),調(diào)用f(0)函數(shù),執(zhí)行的語句是else{inta=7;t+=a++;},此處程序中又定義了變量a,所以原來定義的外部變量在此不起作用,得到t=7,返回值語句returnt+a++;處,外部變量a起作用,返回值為7+5=12:當(dāng)i=1時(shí),調(diào)用f(1)函數(shù),執(zhí)行的是語句else{inta=6:t+=a++;},此處程序中又定義了變量a,所以原來定義的外部變量在此不起作用,得到t=6,返回值語句
53.D解析:需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表。PAD(問題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。
54.A解析:本題考查的是函數(shù)的綜合應(yīng)用.程序開頭定義了兩個(gè)函數(shù)f1()、f2(),每個(gè)函數(shù)都只有一條語句,在f1()中是“如果x>y則返回x否則返回廣,即返回兩個(gè)參數(shù)中較大的那一個(gè),C()則正好相反,返回較小的.主函數(shù)的語句e=f2(f1(a,b),f1(c,d));是使用兩次調(diào)用n()函數(shù)的返回值作為f2()函數(shù)的參數(shù),并將n()的返回值賦給變量e.a(chǎn)、b中較大的數(shù)是a為4,c.d中較大的數(shù)是c為5,4和5中較小的數(shù)是4,所以結(jié)果e=4.同理可以推出f=3,那么g=a+b+c+d-e-f=4+3+5+2-4-3=7。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
55.A解析:在C語言中NULL的ASCII碼值為0,而輸出函數(shù)要求以整形格式輸出,故最后的輸出數(shù)為0。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合愿意。
56.C解析:軟件設(shè)計(jì)遵循軟件工程的基本目標(biāo)和原則,建立了適用于在軟件設(shè)計(jì)中應(yīng)該遵循的基本原理和與軟件設(shè)計(jì)有關(guān)的概念。①抽象是一種思維工具,就是把事物本質(zhì)的共同特性抽出來而不考慮其他細(xì)節(jié)。②模塊是指可以單獨(dú)命名且可編址的元素。如高級(jí)語言中的過程、函數(shù)、子程序等。③信息隱蔽是指在一個(gè)模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來說是不能訪問的。④模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。因此,本題的正確答案是C。
57.A解析:C語言中允許進(jìn)行不同數(shù)據(jù)類型的混合運(yùn)算,但在實(shí)際運(yùn)算時(shí),要先將不同類型的數(shù)據(jù)轉(zhuǎn)化成同一類型再進(jìn)行運(yùn)算。類型轉(zhuǎn)換的一般規(guī)則是:①運(yùn)算中將所有char型轉(zhuǎn)換成int型,float型轉(zhuǎn)換成double型;②低級(jí)類型服從高級(jí)類型,并進(jìn)行相應(yīng)的轉(zhuǎn)換,數(shù)據(jù)類型由低到高的順序?yàn)椋?char->int->unsigned->long->float->double;③賦值運(yùn)算中最終結(jié)果的類型,以賦值運(yùn)算符左邊變量的類型為準(zhǔn),即賦值運(yùn)算符右端值的類型向左邊變量的類型看齊,并進(jìn)行相應(yīng)轉(zhuǎn)換。
58.C解析:根據(jù)瀑布模型的特點(diǎn)(連續(xù)無反饋)是對(duì)于每一個(gè)階段來說,前一個(gè)階段工作的正確無誤是至關(guān)重要的。因此,瀑布模型不能很好地適應(yīng)那些需求不易確定和多變的軟件項(xiàng)目的開發(fā)。由于大項(xiàng)目在軟件開發(fā)的前期階段,人們很難詳細(xì)地了解系統(tǒng)的許多細(xì)節(jié),從而在項(xiàng)目進(jìn)行過程中常會(huì)出現(xiàn)需求變化。因此,瀑布模型適用于小系統(tǒng)開發(fā)項(xiàng)目,而不適用于大、中型軟件系統(tǒng)開發(fā)。
59.D解析:該題考查邏輯與'&&'和邏輯或'||'以及邏輯非'!'符號(hào)的用法。選項(xiàng)A)即3&&4為真;選項(xiàng)B)即3<=4為真;選項(xiàng)C)是一個(gè)邏輯或與邏輯與的混合運(yùn)算,只要執(zhí)行了邏輯或左半部
最新文檔
- 2024裝修項(xiàng)目施工協(xié)議文本
- 2024年服務(wù)行業(yè)招標(biāo)代理協(xié)議樣本
- 2024年孵化空間租賃協(xié)議格式
- 普通磚檢測原始記錄表
- 回收包裝合同范本
- 演出合同范本續(xù)簽
- 襪子合同范本
- 單價(jià)包干 合同范本
- 護(hù)理用品合同范本
- 承包卸貨 合同范本
- 110KV變電所竣工初步驗(yàn)收方案
- 統(tǒng)編語文一上《江南》課例點(diǎn)評(píng)
- 《一元二次方程》(復(fù)習(xí)課)說課稿
- 律師事務(wù)所金融業(yè)務(wù)部法律服務(wù)方案
- 施工人員計(jì)劃配置表(共1頁)
- 裝修工程施工進(jìn)度計(jì)劃表excel模板
- 發(fā)電機(jī)組自動(dòng)控制器
- 宿舍管理流程圖
- 骨科復(fù)試問答題
- 新版慢病隨訪表3頁
- 《實(shí)踐論》讀書PPT課件
評(píng)論
0/150
提交評(píng)論