版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021年四川省廣安市全國計算機等級考試C語言程序設計真題(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.若有定義“inta=5,b=7;”,則表達式a%-(b%2)運算后,a的值為()。
A.0B.1C.11D.3
2.下列選項中,當x為大于1的奇數(shù)時,值為0的表達式是()。
A.x%2==1B.x/2C.x%2!=0D.x%2==0
3.關于指針,以下說法正確的是()。A.可以直接向指針中寫入數(shù)據(jù)
B.若指針指向變量,則可以向指針所指內存單元寫入數(shù)據(jù)
C.指針可以指向內存中任何位置,并寫入數(shù)據(jù)
D.兩個指針可以通過加運算求和,形成一個功能更強大的指針
4.數(shù)據(jù)庫管理系統(tǒng)中負責數(shù)據(jù)模式定義的語言是()。A.數(shù)據(jù)定義語言B.數(shù)據(jù)管理語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言
5.有以下程序:#include<stdio.h>main{shortC=124;C=C_;printf("%d\n",c);}若要使程序的運行結果為248,應在下劃線處填入的是()。A.>>2B.|248C.&0248D.<<1
6.定義下列結構體(聯(lián)合)數(shù)組:structst{charname[15];intage;}a[10]={"ZHA0",14,"WANG",15,"LIU",16,"ZHANG",17);執(zhí)行語句printf("%d,%C",a[2].age,*(a[3].name+2))的輸出結果為()。A.15,AB.16,HC.16,AD.17,H
7.堆是一種有用的數(shù)據(jù)結構。下列關鍵碼序列()是一個堆。
A.94,31,53,23,16,72
B.94,53,31,72,16,23
C.16,53,23,94,31,72
D.16,31,23,94,53,72
8.設有以下語句:inta=1,b=2,c;c=a^(b<<2);執(zhí)行后,c的值為()。A.6B.7C.8D.9
9.在16位IBM-PC機上使用C語言,若有如下定義structdata{inti;charch;doublef;}b;則結構變量b占用內存的字節(jié)數(shù)是
A.1B.2C.7D.11
10.下列敘述中不正確的是()。
A.在C語言中調用函數(shù)時,只能把實參的值傳送給形參,形參的值不能傳送給實參
B.在C的函數(shù)中,最好使用全局變量
C.外部變量可以在函數(shù)之間傳遞數(shù)據(jù)
D.自動變量實質上是一個函數(shù)內部的局部變量
11.在結構化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。
A.詳細設計B.需求分析C.總體設計D.編程調試
12.有下列程序:
fun(intx)
{intp;
if(x==0‖x==1)return(3);
p=x-fun(x-2);
returnp;
}
main()
{printf("%d\n",fun(7));}
執(zhí)行后的輸出結果是()。
A.7B.3C.2D.0
13.在非線性結構中,每個結點()。
A.無直接前趨
B.只有一個直接前趨和個數(shù)不受限制的直接后繼
C.只有一個直接前驅和后繼
D.有個數(shù)不受限制的直接前驅和后繼
14.在數(shù)據(jù)庫設計中,將E-R圖轉換成關系數(shù)據(jù)模型的過程屬于()。A.需求分析階段B.概念設計階段C.邏輯設計階段D.物理設計階段
15.二叉樹的第三層最少有________個結點。
A.0B.1C.2D.3
16.以下符號中不能作為標識符的是()。A.256B.voidC.vanfD.4Struct
17.有以下程序#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);printf(“%d\n”,i);}執(zhí)行后輸出結果是()A.28B.22C.16D.4
18.
19.設有如下定義:structsk{inta;floatb;}data;int*p;若要使p指向data中的a域,正確的賦值語句是()
A.p=&a;B.p=data.a;C.p=&data.a,D.*p=data.a;
20.計算機能夠直接識別和執(zhí)行的語言是
A.匯編語言B.自然語言C.機器語言D.高級語言
二、2.填空題(20題)21.表示“整數(shù)x的絕對值大于5”時值為“假”的C語言表達式是______。
22.數(shù)據(jù)結構分為線性結構和非線性結構,帶鏈的隊列屬于[]。
23.在面向對象的方法中,______描述的是具有相似屬性與操作的一組對象。
24.若輸入thistestterminal,以下程序的輸出結果為:terminaltestthis。請?zhí)羁铡?/p>
#defineMAXLINE20
【】
{inti;
char*pstr[3],str[3][MAXLINE];
for(i=0;i<3;++)pstr[i]=str[i];
for(i=0;i<3;i++)scanf("%s",pstr[1]);
sort(pstr);
for(i=0;i<3;i++)prntf("%s",pstr[i]);
}
sort(【】)
char*pstr[3];
{inti,j;
char*p;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
if(strcmp(*(pstr+i,*(pstr+j)>0
{p=*(pstr+i);
*(pstr+i=【】;
*(pstr+j)=p;
}
25.軟件是程序、數(shù)據(jù)和【】的集合。
26.在關系數(shù)據(jù)庫中把數(shù)據(jù)表示成二維表,每一個二維表稱為【】。
27.對二叉排序樹進行查找的方法是:用待查的值與根結點的值相比,若比根小,則繼續(xù)在【】子樹中找。
28.下面程序的功能是:輸出100以內能被3整除且個位數(shù)為9的所有整數(shù),清填空。main(){inti,j;for(i=0;();i++){j=i*10+9;if(j%3!=0)continue;printf("%d",j);}}
29.數(shù)據(jù)結構分為線性結構和非線性結構,線性表、棧和隊列都屬于【】。
30.有以下程序#include<stdio.h>typedefstruct{intnum;doubles;}REC;voidfunl(REC*x){x->num=23;x->s=88.5;}voidmain(){RECa={16,90.0};fun1(&A);printf("%d\n",a.num);}程序運行后的輸出結果是()。
31.以下程序運行后的輸出結果是【】。
#include<stdio.h>
main()
{ihtx=0210;printf("%x\n",x);
}
32.函數(shù)pi的功能是根據(jù)以下近似公式求π值:
(π*π)/6=1+1/(2*2)+1/(3*3)+...+1(n*n)
現(xiàn)在請你在下面的函數(shù)中填空,完成求π的功能。
#include"math.h"
{doubles=0.0;longi;
for(i=1;i<=n;i++)s=s+【】;
return(sqrt(6*S));
}
33.下列程序段的運行結果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
34.關系模型的3類完整性指的是【】、參照完整性、用戶定義的完整性。
35.算法的復雜度主要包括【】復雜度和空間復雜度。
36.若x為int類型,請寫出與!x等價的C語言表達式______。
37.下面程序的運行結果是【】。
#include<stdio.h>
fun(intt[],intn)
{inti,m;
if(n==1)returnt[0];
else
if(n>=2)|m:fun(t,n-1);returnm;}
}
main()
{inta[]={11,4,6,3,8,2,3,5,9,2};
printf("%d\n",fun(a,10));
38.一棵二叉樹第6層(根結點為第一層)的結點最多為______個。
39.下列程序段是從鍵盤輸入的字符中統(tǒng)計小寫字母的個數(shù),用換行符結束循環(huán)。請?zhí)羁铡?/p>
intn=0,c;
c=getchar();
while(c!='\n')
{if(______)
n++;
}
40.下列程序的輸出結果是______。
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.C語言允許函數(shù)類型缺省定義,此時函數(shù)值隱含的類型是()。
A.floatB.intC.longD.double
42.有以下程序:#include<stdio.h>intfun(chars[]){intn=0;while(*s<='9'&&*s>='0'){n=10*n+*s-'0';s++;}return(n);}main(){chars[10]={'6','1','*','4','*','9','*','0','*'};printf("%d\n",fun(s));}程序的運行結果是()。
A.9B.61490C.61D.5
43.軟件生命周期中所花費用最多的階段是()。
A.詳細設計B.軟件編碼C.軟件測試D.軟件維護
44.將E-R圖轉換到關系模式時,實體與聯(lián)系都可以表示成________。
A.屬性B.關系C.鍵D.域
45.以下敘述中正確的是
A.局部變量說明為static存儲類,其生存期將得到延長
B.全局變量說明為stoic存儲類,其作用域將被擴大
C.任何存儲類的變量在未賦初值時,其值都是不確定的
D.形參可以使用的存儲類說明符與局部變量完全相同
46.下列關于隊列的敘述中正確的是()。
A.在隊列中只能插入數(shù)據(jù)B.在隊列小只能刪除數(shù)據(jù)C.隊列是先進先出的線性表D.隊列是先進后出的線性表
47.在計算面中,算法是指______。
A.查詢方法B.加工方祛C.解題方案的準確而完整的描述D.排序方法
48.已定義以下函數(shù)
fun(int*p)
{return*p;}
該函數(shù)的返回值是()
A.不確定的值
B.形參p中存放的值
C.形參p所指存儲單元中的值
D.形參p的地址值
49.當執(zhí)行下面的程序時,其輸出結果為______。unionst{inta;charb;}main(){unionsts;char*p=(char*)&s;s.a=0x3132;s.b=0x33;printf("%c",*p);}
A.1B.2C.3D.不確定
50.若有定義:inta[2][3];,以下選項中對a數(shù)組元素正確引用的是A.a[2][!1]B.a[2][3]C.a[0][3]D.a[1>2][!1]
51.有以下程序:#include<stdio.h>main(){intx;scanf("%d",&x);if(x<=0);elseif(x!=5)printf("%d\n",x);}程序運行時,輸入的值在哪個范圍才會有輸出結果()。
A.不等于5的整數(shù)B.大于0且不等5的整數(shù)C.大于0或等于5的整數(shù)D.小于5的整數(shù)
52.下面程序輸出的結果是
main()
{inti;
inta[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d",a[2-i][i]);}
A.159B.753C.357D.591
53.以下正確的數(shù)組定義語句是()
A.inty[1][4]={1,2,3,4,5,}
B.floatx[3][]={{1},{2},{3}}
C.longs[2][3]={{1},{1,2}{1,2,3,}}
D.doublet[][3]={0}
54.從一個長度為n的順序表中刪除第i個元素(1≤i≤n)時,需向前移動______個元素。
A.n-iB.n-i+1C.n-i-1D.i
55.下列敘述中,正確的一條是()
A.語句"goto12;"是合法的
B.for(;;)語句相當于while(1)語句
C.if(表達式)語句中,表達式的類型只限于邏輯表達式
D.break語句可用于程序的任何地方,以終止程序的執(zhí)行
56.下列數(shù)據(jù)結構中,屬于非線性的是()。
A.線性表B.隊列C.樹D.棧
57.在面向對象方法中,一個對象請求另一對象為其服務的方式是通過發(fā)送()。A.調用語句B.命令C.口令D.消息
58.C語言中用于結構化程序設計的3種基本結構是()。
A.順序結構、選擇結構、循環(huán)結構
B.if、switch、break
C.for、while、do-while
D.if、for、continue
59.下面程序的輸出結果是
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%d\n",*p+9);}
A.0B.1C.10D.9
60.用樹形結構來表示實體之間聯(lián)系的模型稱為()。
A.關系模型B.層次模型C.網(wǎng)狀模型D.數(shù)據(jù)模型
四、選擇題(20題)61.有以下程序程序運行后的輸出結果是()。A.24B.28C.32D.36
62.有如下程序:
該程序的輸出結果是()。
A.0.000000B.0.250000C.0.500000D.1.000000
63.
64.有以下程序:
程序運行后的輸出結果是()o
A.24B.720C.120D.6
65.
66.
67.有以下程序
68.有以下程序
#include"stdio.h"
main()
{charstr[]="tomeetme",str1[]="toseeyou";
char*p=str,*p1=str1;
inti;
for(i=0;i<7;i++)
if(*(p+i)==*(p1+i))
putchar(*(p+i));
printf("\n");
}
程序的運行結果是
A.to
B.tomeet
C.toee
D.程序段不能通過編譯
69.有定義如下:
structsk
{inta;
floatb;
}data,*p;
如果p=&data;則對于結構變量data的成員a的正確引用時()
A)(*).data.aB)(*p).a
C)p->data.aD)p.data.a
70.
運行下列程序時,若輸入的數(shù)據(jù)為“1,2,3”,則輸出結果是()。
main
{floata,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a<b)
{t=a;a=b.b=t;)
if(a<c)
{t=a;a=c;c=t;)
it(b<c)
{t=b;b=C;c—=;)
printf("%f\n%f\n%f\n",a,b,c);
}
A.1.002.003.00
B.1.003.002.00
C.132
D.3.000002.000001.00000
71.以下敘述中正確的是()。
A.程序設計的任務就是編寫程序代碼并上機調試
B.程序設計的任務就是確定所用數(shù)據(jù)結構
C.程序設計的任務就是確定所用算法
D.以上三種說法都不完整
72.
73.已知i、j、k為int型變量,若要從鍵盤輸入2、3、4<CR>,使i、j、k的值分別為2、3、4,下列正確的輸入語句是()。A.A.scanf("%3d,‰3d,%3d",&i,&j,%k);
B.scanf("%d,%d,%d",&i,8Lj,&k);
C.scanf("%d%d%d",&i,&j,&k);
D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);
74.有以下程序:
當運行時輸入:a<回車>后,以下敘述正確的是()。
A.變量c1被賦予字符a,c2被賦予回車符
B.程序將等待用戶輸入第2個字符
C.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無確定值
75.下列選項中,能夠滿足“若字符串sl等于字符串s2,則執(zhí)行ST”要求的是()。
A.if(stremp(s2,s1)==0)ST;
B.if(s1==s2)ST;
C.if(strcpy(sl,s2)==l)ST;
D.if(sl,s2==O)ST;
76.有以下程序:#include<stdio.h>main(){chars[]={"012xy"};inti,n=o;for(i=0;s[i]!='0';i++)if(s[i]>=as[i]<=z)n++;printf("%d\n",n);}程序運行后的輸出結果是()。A.0B.2C.3D.5
77.第
42
題
下面說明不正確的是
A.chara[10]="china";
B.chara[10],*p=a;p="china"
C.char*a;a="china";
D.chara[10],*p;p=a="china"
78.有以下程序#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(xiàn)(a++,b++));}程序運行后的輸出結果是
A.12B.15C.16D.20
79.
80.以下程序運行后的輸出結果是()。
f(inta)
{intb=0;staticintc=3;
b++;c++;
return(a+b+c);
}
main()
{inta=2,i;
for(i=0;i<3;i++)
printf("%4d",f(a));
A.789B.678C.567D.876
五、程序改錯題(1題)81.下列給定程序中函數(shù)fun()的功能是:求出如下分數(shù)序列的前n項之和,結果通過函數(shù)值返回。例如,若n=5,則應輸出8.391667。請改正程序中的錯誤,使其得出正確的結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構!試題程序:
六、程序設計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是實現(xiàn)B=A+AT,即將矩陣A加上A的轉置,結果存放在矩陣B中。計算結果在main()函數(shù)中輸出。舉例如下。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<stdio.h>#include<conio.h>#include<stdlib.h>voidfun(inta[3][3],intb[3][3]){}voidmain(){ inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},t[3][3]; inti,j; system(“CLS”); fun(a,t); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(“%7d”,t[i][j]); printf(“\n”); }}
參考答案
1.A本題考查“%”運算符的使用。運算符“%”是整數(shù)除法的余數(shù)。本題中表達式a%=(b%2)等價于a=a%(b%2)=5%(7%2)=5%1=0。
2.D解析:因為x的值為大于1的奇數(shù),所以x除以2的余數(shù)等于1。所以選項D)等于關系表達式的結果為假,即等于0。
3.BC語言中指針就是變量的地址,它必須有確定的基類型。當指針指向某個變量時,才能向其中寫入數(shù)據(jù),選項A錯誤,選項B正確;指針除了指向變量外,還可以賦值為NULL,表示未指向任何地址,此時不能寫入數(shù)據(jù),另外指針必須有基類型,只能指向基類型相同的變量,選項C錯誤;指針只能與一個整數(shù)進行運算,即移動指針,兩個指針不能運算,選項D錯誤。本題答案為B選項。
4.AA。數(shù)據(jù)定義語言(DDL)是集中負責數(shù)據(jù)庫模式定義與數(shù)據(jù)庫對象定義的語言。數(shù)據(jù)操縱語言(DML)是指用來查詢、添加、修改和刪除數(shù)據(jù)庫中數(shù)的語句。數(shù)據(jù)控制語言(DCL)是用來設置或者更改數(shù)據(jù)為用戶或角色權限的語句。據(jù)此,本題正確答案為選項A。
5.D124的2進制值為1111100,要輸出為248即124*2,則2進制值為11111000,即右移l位,所以選D。
6.C本題考查結構體數(shù)組。a[2].age為結構體aEZ]的age成員,即a[3].name為指向結構體a[3]的name成員的第一個元素的指針,即指向“2”,(a[3].name+2)將指針后移兩位指向第三個元素“A”,*(a[3].name+2)是取指針所指向地址的內容。
7.D
8.D本題考查兩個知識點,按位異或左移把b左移2位化成二進制c=a(b<<2)=a^(000010<<2)=a^001000=0000001^O01000=9,故選擇D。
9.D解析:結構體變量所占用內存的字節(jié)數(shù)是其所有成員所占用內存字節(jié)數(shù)之和。本題中整型變量i所占用的內存是2字節(jié),字符型變量ch所占用的內存是1字節(jié),雙精度型變量f所占用的內存是8字節(jié),三者相加即可。
10.B解析:編譯時,編譯系統(tǒng)不為局部變量分配內存單元,而是在程序運行中,當局部變量所在的函數(shù)被調用時,編譯系統(tǒng)根據(jù)需要要臨時分配內存,調用結束空間釋放;全局變量一經定義,編譯系統(tǒng)為其分配固定的內存單元,在程序運行的自始至終都占用固定的單元。在考慮內存不定的情況下,最好使用全局變量。
11.C解析:軟件系統(tǒng)結構的總體設計包括:基于功能層次結構建立系統(tǒng)、按功能劃分成模塊的層次結構、確定每個模塊的功能、建立與已確定的軟件需求的對應關系、確定模塊間的調用關系和模塊間的接口、評估模塊劃分的質量等方面。詳細設計的任務是:在使用程序設計語言編制程序以前,對所采用算法的邏輯關系進行分析,設計出全部必要的過程細節(jié),并給予清晰的表達。需求分析是指用戶對目標軟件系統(tǒng)在功能、行為、性能、設計約束等方面的期望。需求分析的任務是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開發(fā)進度需求等。編程調試的任務是診斷和改正程序中潛在的錯誤。綜上所述。軟件功能分解只能發(fā)生在總體設計階段。
12.C解析:因為在函數(shù)fun(intx)中,如果參數(shù)x等于0或1時,返回值3。否則p=x-fun(x-2)這是一個遞歸函數(shù),所以在主函數(shù)調用fun(7)時,其過程為:“fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1))=7-(5-(3-3))=7-5=2”,所以最后的輸出結果為2。
13.D
14.CE-R圖轉換成關系模型數(shù)據(jù)則是把圖形分析出來的聯(lián)系反映到數(shù)據(jù)庫中,即設計出表,所以屬于邏輯設計階段。
15.B
16.B
17.A解析:f(4+4)/f(2+2)=4+4*4+4/2+2*2+2=28。
18.D
19.C解析:data是—結構體變量,a是它的成員,因此引用a域的正確方法是:data.a,取它的地址賦值給指針變量p的語句應該是:p=&data.a。選項A,將a的地址直接賦給了p,而忽略了a為結構體內部的一個成員,而不是一單獨的變量,故選項A不正確;選項B在p=data.a表達式中右邊為一個結構體變量的成員不是地址,而左邊為一指針應該將一地址賦給它,故選項B不正確;選項D表達式*p=data.a是將結構體變量中的成員a的值賦給指針p所指向的變量值,而不是使指針p指向data中的a域,故選項D不正確:4個選項中只有C正確。
20.C
21.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達,“整數(shù)x的絕對值大于5”時值為“假”,即整數(shù)x的絕對值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語言表達式為:(x>-5)&&(x<5)。
22.線性結構線性結構解析:與棧類似,隊列也是線性表,也町以采用鏈式存儲結構。
23.類類解析:在面向對象的方法中,把具有相同屬性和方法的對象稱為類,類是對象的抽象,對象是類的實例。
24.main()pstr*(pstr+j)
25.文檔文檔解析:計算機軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關文檔的完整集合。
26.關系或一個關系關系或一個關系解析:在關系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,而一個二維表就是一個關系。
27.左左解析:對二叉排序樹進行查找,若待查的值與根結點的值相比,若比根小,則繼續(xù)在左子樹中找;若比根大,則在右子樹中找。
28.i<10i<10解析:分析程序,當(i=0,1,2,…)時,“j=i*10+9”語句的運行結果是(9,39,69,99)個位數(shù)為9的所有整數(shù);題中要求是100以內的整數(shù),所以i<10;“if(j%3!=0)continue;”語句的功能是當條件不能被3整除時,繼續(xù)循環(huán)不執(zhí)行操作,直到能被3整除時輸出該數(shù),即輸出的數(shù)滿足條件100以內能被3整除且個位數(shù)為9。
29.線性結構線性結構解析:本題考查了數(shù)據(jù)結構的基本概念。與棧類似,隊列也是線性表,可以采用鏈式存儲結構,所以帶鏈的隊列屬于線性結構。
30.23
31.8888解析:程序中的0210表示八進制數(shù),%x是以十六進制形式輸出。本題可先將0210轉換為十進制數(shù),再將其轉換為十六進制數(shù)。
32.0/(i*i)或(double)1/(i*i)0/(i*i)或(double)1/(i*i)解析:表達式1+1/(2*2)+1/(3*3)+...+1(n*n)可寫為1/(1*1)+1/(2*2)+1/(3*3)+...+1(n*n)
n
即:∑1÷(i×i)
i=1
對應的C語言的表達式s=s+1.0/(i*i)。注:必須要寫成1.0的形式,否則1/(i,i)返回值為其值截尾取整,即恒為0。
33.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時是以“%d”格式輸出的,即輸出其相應ASCII碼值68。
34.實體完整性實體完整性解析:關系模型中的完整性是指數(shù)據(jù)庫中數(shù)據(jù)的正確性和一致性。為了維護數(shù)據(jù)庫中數(shù)據(jù)與現(xiàn)實世界的一致性,關系數(shù)據(jù)庫的插入、刪除、修改操作必須遵循3類完整性規(guī)則。關系模型的3類完整性指的是實體完整性、參照完整性和用戶定義的完整性。
35.時間時間解析:算法的復雜度主要指時間復雜度和空間復雜度。所謂算法的時間復雜度,是指執(zhí)行算法所需要的計算工作量;算法的空間復雜度,一般是指執(zhí)行這個算法所需要的內存空間。
36.x==0x==0解析:!x的邏輯意思就是x為非,即x==0。
37.1111解析:main函數(shù)調用fun函數(shù)時,將10賦給n,形參數(shù)組t與實參數(shù)組a共用一段內存空間。執(zhí)行if-else語句時,n=10,所以執(zhí)行else子句。由于n>=2成立,執(zhí)行m=fun(t[0],9),遞歸調用fun函數(shù),m=fun(t[0],8),m=fun(t[0],7),…,m=fun(t[0],2),m=fun(t[0],1),當n=1時滿足if(n=1)的條件,執(zhí)行return語句,返回數(shù)組首地址指向的值t[0],所以答案為11。
38.3232解析:二叉樹第k層上,最多有2k-1(k≥1)個結點。第6層的結點數(shù)最多是26-1=32。注意區(qū)別“二叉樹的結點最多數(shù)”和“某一層的結點最多數(shù)”。前者的計算是深度為m的二叉樹最多有2m-1個結點。
39.c>='a'&&c<='z'c>='a'&&c<='z'解析:小寫字母在內存中以ASCII的形式存入,且從a到z依次遞增,所以可以直接用c>='a'&&c<='z'判斷是不是小寫字母;c!='\\n'判斷是用換行符結束循環(huán)。
40.3232解析:while(表達式)的功能是:首先計算表達式的值,若為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢,再計算表達式的值,若仍為真,則重復執(zhí)行循環(huán)體語句,直到表達式的值為假時,結束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)結束。
41.B解析:在C語言中,對于自定義函數(shù)要遵循“先定義,后使用”的規(guī)則,如定義時,不指定函數(shù)類型,C編譯系統(tǒng)都默認函數(shù)的返回值是int型。
42.C解析:題目fun()函數(shù)中while循環(huán)的意思是:判斷s所指內容是否為數(shù)字字符,如果是數(shù)字字符,則計算表達式n=10*n+*s-'0';。其中*s-'0'的作用是將相應的數(shù)字字符轉換為數(shù)值,例如字符'8'減去字符'0'后,得到的結果就是數(shù)值8了。n=10*n+的作用是將累計變量n中原來內容乘以10,然后再加上剛轉換的數(shù)字字符的數(shù)值,例如原來n的值為1,*s現(xiàn)在的內容為'2',那么執(zhí)行了n=10*n+*s-'0';語句后,n的值變?yōu)?2,如果接下來再來一個'8'字符,執(zhí)行n=10*n+*s-'O';語句后,n的值就是128了。故不難看出fun()函數(shù)的作用是“將數(shù)字字符串轉換為相應的十進制數(shù)值,碰到非數(shù)字字符時結束”。從主函數(shù)中定義的字符數(shù)組s的初始化內容可以看出,fun()函數(shù)返回值應該是61。故應該選擇C。
43.D解析:軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護3個階段。本題中,詳細設計、軟件編碼和軟件測試都屬于軟什開發(fā)階段;維護是軟件生命周期的最后一個階段,也是持續(xù)時間最長,花費代價最大的一個階段.軟件工程學的一個目的就是提高軟件的可維護性,降低維護的代價。
44.B解析:關系數(shù)據(jù)庫邏輯設計的主要工作是將\ue008E-R\ue009圖轉換成指定RDBMS中的關系模式。首先,從E-R圖到關系模式的轉換是比較直接的,實體與聯(lián)系都可以表示成關系,E-R圖中屬性也可以轉換成關系的屬性,實體集也可以轉換成關系。
45.A解析:靜態(tài)局部變量在整個程序運行期間,靜態(tài)局部變量在內存的靜態(tài)存儲區(qū)中占據(jù)著永久性的存儲單元。由此可知靜態(tài)局部變量的生存期將一直延長到程序運行結束。故選項A正確;而全局變量的只有一種靜態(tài)存儲類別,故全局變量說明為stattc存儲類,和沒有說明為static存儲類其生存期都是一直延長到程序運行結束,故選項B不正確;未賦初值的auto型變量的初值是隨機的,未賦初值的static型變量的初值是0(故選項C和選項D不正確)。所以;4個選項中選項A符合題意。
46.C解析:隊列是指允許在一端進行插入、而在另一端進行刪除的線性表,允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭,選項A和選項B錯誤。在隊列中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除,所以,隊列又稱為“先進先出”或“后進后出”的線性表,它體現(xiàn)了“先來先服務”的原則,選項C正確,選項D錯誤。
47.C解析:計算機算法是指解題方案的準確而完整的描述,它有以下幾個基本特征:可行性、確定性、有窮性和擁有足夠的情報。
48.C解析:本題考核的知識點是函數(shù)的返回值.函數(shù)的返回值應該為return后面的表達式的值,在本題中的表達式為*p,*p指的是形參p所指存儲單元中的值,所以,4個選項中選項C符合題意。
49.C解析:共用體類型結構的特點是使幾個不同的變量共占同一段內存,但在每一瞬時只能存放其中一種,而不是同時存放幾種,共用體變量中起作用的成員是最后一次存放的成員,在存入一個新的成員后原有的成員就失去作用。因此本題起作用的是成員b的值,所以程序打印輸出3。
50.D解析:a是一個2行3列的二維數(shù)組,行下標和列下標都是從0開始的,數(shù)組中的元素為a[0][0]、a[0][1]、a[0][2]、a[1][0]、a[1][1]、a[1][2],行下標最大值為1,列下標最大值為2,因此選項A、B、C都是錯誤的引用。計算選項D中數(shù)組元素的下標后得a[0][0],為正確的引用。
51.B解析:題目中,雖然else和第二個if不在同一行上,但等價于在同一行上,因此,程序的意思是當x大于0且不等于5時將其打印出來。
52.B解析:本題用循環(huán)的方法考查對數(shù)組概念的掌握。首先,當i=0時,數(shù)組中的位置是a[2][0]=7,當然,如果用排除法,就不用考慮后面的循環(huán),因為在4個選項中,第1個數(shù)為7的選項只有B)。本題執(zhí)行第2次循環(huán)時,i的值為1,則pfintf函數(shù)中的數(shù)組指向為a[1][1]=5,依次循環(huán),可求出答案。
53.D解析:選項A二維數(shù)組行下標為1,即數(shù)組有一行元素,列下標為4表示一行中包含4個元素,而初值列表中有5個元素,故A錯。選項B省略了列下標故錯誤。選項C二維數(shù)組行下標為2,數(shù)組有2行元素,而初值列表中有3行元素,故C錯誤。故D為所選。
54.A
55.B
56.C解析:線性結構,是指數(shù)據(jù)元素只有一個直接前件元素和直接后件元素。線性表是線性結構。棧和隊列是指對插入和刪除操作有特殊要求的線性表,樹是非線性結構。
57.D解析:面向對象的世界是通過對象與對象間彼此的相互合作來推動的,對象間的這種相互合作需要一個機制協(xié)助進行,這樣的機制稱為消息。消息是一個實例與另一個實例之間傳遞的信息,它請求對象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。
58.A解析:本題主要考查結構化程序設計的基本結構。結構化程序設計有3種基本結構:順序結構、選擇結構、循環(huán)結構。
59.C解析:此題考查了指針引用一維數(shù)組元素的方法。*p+9因為運算符'*'的優(yōu)先級高于'+',所以輸出結果為p指向的元素1,然后加9,值為10。
60.B解析:在數(shù)據(jù)庫系統(tǒng)中,由于采用的數(shù)據(jù)模型不同,相應的數(shù)據(jù)庫管理系統(tǒng)(DBMS)也不同。目前常用的數(shù)據(jù)模型有3種:層次模型、網(wǎng)狀模型和關系模型。在層次模型中,實體之間的聯(lián)系是用樹結構來表示的,其中實體集(記錄型)是樹中的結點,而樹中各結點之間的連線表示它們之間的關系。所以,本題的正確答案是B。
61.A第一次循環(huán)返回l2,第二次循環(huán)返回l2,累加結果為24。
62.D本題考查if語句的嵌套。if語句中的一
種表達方式,即:if…elseif…。
該表達式的語句是:
if(表達式1)
語句l
elseif(表達式2)
語句2
elseif(表達式3)
語句3
else
語句4
本題執(zhí)行elsey=1.0,并且以”%f”輸出。
63.B
64.C函數(shù)hm()求數(shù)組指定返回的元素的積。函數(shù)fun(a,3)求的是數(shù)組a[0]~a[3]的積。因此結果為2t3女4十5=120,故答案為C選項。
65.D
66.C
67.Af函數(shù)返回的結構體與涵數(shù)內定義的b結構體相同,所以答案選擇A)。
68.C本題屬于綜合性題目,考查的知識點有字符數(shù)組的指針表示,for循環(huán)與if語句的結合
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度外聘保安人員安全教育與培訓合同
- 2025年科技園區(qū)建設尾款支付及設施移交合同3篇
- 2025年度貼磚勞務分包合同風險評估與管理
- 2025年個人教育設備租賃服務合同4篇
- 2025年度智能門禁系統(tǒng)租賃及維護服務合同3篇
- 二零二五年度倉儲設施租賃與倉儲信息化服務合同3篇
- 2025年度高速公路養(yǎng)護管理服務合同范本4篇
- 2025年度大型空飄球活動租賃及現(xiàn)場布置合同2篇
- 二零二五年度挖機設備租賃合同售后服務追加協(xié)議
- 2025版空運出口貨物運輸代理服務合同范本3篇
- 《電力用直流電源系統(tǒng)蓄電池組遠程充放電技術規(guī)范》
- 《哪吒之魔童降世》中的哪吒形象分析
- 信息化運維服務信息化運維方案
- 汽車修理廠員工守則
- 六年級上冊數(shù)學應用題100題
- 個人代賣協(xié)議
- 公安交通管理行政處罰決定書式樣
- 10.《運動技能學習與控制》李強
- 冀教版數(shù)學七年級下冊綜合訓練100題含答案
- 1神經外科分級護理制度
- 場館惡劣天氣處置應急預案
評論
0/150
提交評論