




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021年河北省衡水市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.設(shè)有說明:charw;intx;f1oaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為()。
A.floatB.charC.intD.double
2.有以下程序:#include<stdio.h>typedefstruct{intnum;charname[10];intscore;}PER;voidfun(PERx[]){intt;if(x[0].score>x[1].score){t=x[0].score;x[0].score=x[1].score;x[1].score=t;}}main(){PERs[2]={{1001,“zhang”,621},{1002,“wang”,585}};inti;fun(s);for(i=0;i<2;i++)printf(“%d,%s,%d,”,s[i].num,s[i].name,s[i].score);}程序的運(yùn)行結(jié)果是()。A.1001,zhang,585,1002,wang,621,
B.1001,zhang,621,1002,wang,585,
C.1002,wang,585,1001,zhang,621,
D.1002,wang,621,1001,zhang,585,
3.下列合法的聲明語句是()。
A.int_abc=50;
B.doubleint=3+5e2.5;
C.longdo=1L:
D.float3_asd=3e-3;
4.下列關(guān)于信息系統(tǒng)的敘述中,錯誤的是()。
A.廣播電視是一種雙向的、點(diǎn)到多點(diǎn)的信息交互系自
B.網(wǎng)絡(luò)聊天是一種雙向的,以信息交互為主要目的系統(tǒng)
C.電話是一種雙向的、點(diǎn)對點(diǎn)的、以信息交互為主要的的系統(tǒng)
D.雷達(dá)是一種以感測和識別為主要目的的系統(tǒng)
5.棧這種數(shù)據(jù)結(jié)構(gòu)一般應(yīng)用在()。
A.遞歸調(diào)用B.子程序調(diào)用C.表達(dá)式求值D.A,B,C
6.有以下程序main(){union{charch[2];intd;}s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是______。A.21,43B.43,21C.43,00D.21,00
7.有如下定義:structperson{charname[9];intage;}structpersonclass[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};能輸出字母M的是()
A.printf("%c\n",class[3].name);
B.printf("%c\n",class[3].name[1]);
C.printf("%c\n",class[2].name[1]);
D.printf("%c\n",class[2].name[0]);
8.以下()不是隊列的基本運(yùn)算
A.從隊尾插入一個新元素B.從隊列中刪除第i個元素C.判斷一個隊列是否為空D.讀取隊頭元素的值
9.一個無向連連通圖的生成樹是含有該連通圖的全部項點(diǎn)的_______。
A.極小連通子圖B.極小子圖C.極大連通子圖D.極大子圖
10.算法的時間復(fù)雜度取決于()
A.問題的規(guī)模B.待處理數(shù)據(jù)的初態(tài)C.A和B
11.以下程序的輸出結(jié)果是______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1];a[3][0]);}
A.650B.1470C.5430D.輸出值不定
12.數(shù)據(jù)管理技術(shù)發(fā)展的三個階段中,()沒有專門的軟件對數(shù)據(jù)進(jìn)行管理。
I.人工管理階段
II.文件系統(tǒng)階段
Ⅲ.?dāng)?shù)據(jù)庫階段A.A.僅IB.僅ⅢC.I和IID.II和Ⅲ
13.若有以下定義,則能使值為3的表達(dá)式是intk=7,x=12;
A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)
14.設(shè)x和y均為bool量,則x&&y為真的條件是()。
A.它們均為真B.其中一個為真C.它們均為假D.其中一個
15.以下不完整的程序擬實(shí)現(xiàn)調(diào)用getmax函數(shù),找出4個變量中最大的一個:#include<stdio.h>intgetmax(intx,inty){returnx>yx:y;}voidmain(){inta,b,c,d,mx;scanf(“%d%d%d%d”,&a,&b,&c,&d);printf(“max=%d\n”,________);}以下選項若填入下劃線處,不能實(shí)現(xiàn)上述功能的是()。
A.getmax(getmax(getmax(a,b),c),d)
B.getmax(getmax(a,b),getmax(c,d))
C.getmax(a,getmax(b,getmax(c,d)))
D.mx=(getmax(a,b),getmax(c,d))
16.若有定義:“inta=4,b=5;floatx=3.4,y=2.1;”,則下列表達(dá)式的值為()。(float)(a+b)/2+(int)x%(int)y;
A.5.5B.55C.5.500000D.55.00000
17.關(guān)于指針,以下說法正確的是()。A.可以直接向指針中寫入數(shù)據(jù)
B.若指針指向變量,則可以向指針?biāo)竷?nèi)存單元寫入數(shù)據(jù)
C.指針可以指向內(nèi)存中任何位置,并寫入數(shù)據(jù)
D.兩個指針可以通過加運(yùn)算求和,形成一個功能更強(qiáng)大的指針
18.對于長度為n的線性表,在最壞情況下,下列各種排序法所對應(yīng)的比較次數(shù)中正確的是(
A.冒泡排序為n/2B.冒泡排序為nC.快速排序為nD.快速排序為n(n-1)/2
19.按照標(biāo)識符的要求,()符號不能組成標(biāo)識符。
A.連接符B下劃線B.大小寫字母C.數(shù)字字符
20.執(zhí)行下列程序后,輸出的結(jié)果是()。#include<stdio.h>#defineS(X)X*Xvoidmain{inta=9,k=3,m=2;a/=S(k+m)/S(k+m):printf("%d",a);}A.1B.4C.9D.0
二、2.填空題(20題)21.以下程序的輸出結(jié)果是【】。
main()
{charc=′z′;
printf("%c",c-25);}
22.以下程序的輸出結(jié)果是【】。
#defineMCRA(m)2*m
#defineMCRB(n,m)2*MCRA(n)+m
main()
{
inti=2,j=3;
printf("%d\n",MCRB(j,MCRA(i)));
}
23.將以下程序段寫成三目運(yùn)算表達(dá)式:【】。
if(a>b)max=a;
elsemax=b;
24.在關(guān)系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個______。
25.【】(黑箱或白箱)測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征。
26.下列程序的輸出結(jié)果是______。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
27.若有如下程序:
voidsub()
{staticintx=8;
x/=2;printf("%d",x);
}
main()
{intm;
for(m=0;m<2;m++)sub();}
則程序運(yùn)行后的輸出結(jié)果是【】.
28.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且fun函數(shù)為void類型,請寫出fun函數(shù)的首部【】。要求形參名為b。
main()
{doubles[10][22];
intn;
┆
fun(s);
┆
}
29.長度為n的順序存儲線性表中,當(dāng)在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元素的平均個數(shù)為【】。
30.某二叉樹中度為2的結(jié)點(diǎn)有18個,則該二叉樹中有【】個葉子結(jié)點(diǎn)。
31.軟件是程序、數(shù)據(jù)和【】的集合。
32.數(shù)據(jù)庫系統(tǒng)的三級模式分別為______模式、內(nèi)部級模式與外部級模式。
33.成本估算模型中,Putnam估算模型是一種【】模型。
34.下面程序運(yùn)行后的輸出結(jié)果是()。
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6},*k[3],i=1;
while(i<4)
{k[i-1]=&a[2*i-1];
printf("%d",*k[i-1]);
i++;
}
}
35.在面向?qū)ο蠓椒ㄖ校畔㈦[蔽是通過對象的______性來實(shí)現(xiàn)的。
36.下面的程序可對指定字符串中的字符串進(jìn)行從大到小排序,請將程序填完整。(注:程序采用了冒泡排序算法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n->1)
for(i=0;i<n;i++)
if(str[i]<str[i+1])
{temp=【】;
str[i]=str[i+1];
【】=temp;
}
printf(【】);
}
37.用以下語句調(diào)用庫函數(shù)malloc,使字符指針st指向具有11個字節(jié)的動態(tài)存儲空間,請?zhí)羁铡t=(char*)【】;
38.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{inta=1,b=3,c=5;
if(c=a+b)printf("yes\n");
elseprintf("no\n");
}
39.為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】兩部分組成。
40.一個項目有一個項目主管,一個項目主管可管理多個項目,則實(shí)體“項目主管”與實(shí)體“項目”的聯(lián)系屬于【】的聯(lián)系。
三、1.選擇題(20題)41.下列不屬于軟件工程的3個要素的是______。
A.工具B.過程C.方法D.環(huán)境
42.在計算機(jī)內(nèi)部,一切信息存取、處理和傳送的形式是()
A.ASCⅡ碼B.BCD碼C.二進(jìn)制D.十六進(jìn)制
43.設(shè)有定義:intk=1,m=2;floatf=7;則以下選項中錯誤的表達(dá)式是()。
A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m
44.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){chara[]={'a','b','c','d','e','f,'\0'};inti,j;i=sizeof(a);j=strlen(a);printf("%d,%d",i,j);}
A.7,7B.7,6C.6,6D.6,7
45.下列字符數(shù)組初始化語句中,不正確的是()。
A.charc[]='goodmoming';
B.charc[20]="goodmorning";
C.charc[]={'a','b','c','d'};
D.charc[]={"goodmoming"};
46.以下選項中,與k==n++完全等價的表達(dá)式是()。
A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1
47.下列關(guān)系模型中,能使經(jīng)運(yùn)算后得到的新關(guān)系中屬性個數(shù)多于原來關(guān)系中屬性個數(shù)的是
A.選擇B.連接C.投影D.并
48.下列不合法的main函數(shù)命令行參數(shù)的表示形式是______。
A.main(inta,char*c[]);
B.main(ac,av)intarc;char**av;
C.main(c,v)intc;char*v[];
D.main(argc,argv)intargc;charargv[];
49.在結(jié)構(gòu)化方法中,用數(shù)據(jù)流圖(DFD)作為描述工具的軟件開發(fā)階段是()。
A.可行性分析B.需求分析C.詳細(xì)設(shè)計D.程序編碼
50.下面不屬于軟件設(shè)計原則的是()。
A.抽象B.模塊化C.自底向上D.信息隱蔽
51.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.x=y*5=x+z
B.int(15.8%5.
C.x=y+z+5,++y
D.x=25%5.0
52.設(shè)定義下列結(jié)構(gòu)體,結(jié)構(gòu)體變量p的出生年份賦值正確的語句是()。structst{intx;inty;intz;}structworker{charname[20];charsex;structstbirth;}p;
A.x=1987B.birth.x=1987;C.p.birth.x=1987;D.p.x=1987;
53.對于下列字符串,說明表達(dá)式strlen(s)值的是()。chars[10]={'a','\n','a','b','\t','c'};
A.10B.1C.6D.7
54.以下敘述中錯誤的是______。A.用戶所定義的標(biāo)識符允許使用關(guān)鍵字
B.用戶所定義的標(biāo)識符應(yīng)盡量做到“見名知意”
C.用戶所定義的標(biāo)識符必須以字母或下劃線開頭
D.用戶定義的標(biāo)識符中,大、小寫字母代表不同標(biāo)識
55.C語言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄
B.數(shù)據(jù)行
C.數(shù)據(jù)塊
D.字符(字節(jié))序列
56.以下各選項企圖說明一種新的類型名,其中正確的是______。
A.typedefv1int;
B.typedefv2=int;
C.typedefintv3;
D.typedefv4:int
57.以下程序企圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#號時結(jié)束輸入和輸出操作,但程序有錯。#include<stdio.h>main(){FILE*fout;charch;four=fopen('abc.txt','w');ch=fgetc(stdin);while(ch!='#'){fputc(ch,fout);ch=fgetc(stdin);}felose(fout);}出錯的原因是
A.函數(shù)fopen調(diào)用形式錯誤B.輸入文件沒有關(guān)閉C.函數(shù)fsetc調(diào)用形式錯誤D.文件指針stdin沒有定義
58.下列程序的輸出結(jié)果是()。voidf(int*x,int*y){intt;t=*x,*x=*y;*y=t;}main(){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p<q){f(p,q);p++;q--;}for(i=0;i<8;i+)printf("%d,",a[i]);}
A.8,2,3,4,5,6,7,1
B.5,6,7,8,1,2,3,4
C.1,2,3,4,5,6,7,8
D.8,7,6,5,4,3,2,1
59.下列程序的輸出結(jié)果是()main(){charch[2][5]={"6934","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0'&&p[i][j]<='9';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",s);}
A.6385B.69825C.63825D.693825
60.設(shè)a、b和c都是int型變量,且a=3、b=4、c=5,則下面的表達(dá)式中,值為0的表達(dá)式是______。
A.'a'&&'b'
B.a<=b
C.a||+c&&b-c
D.!((a<b)&&!c||1)
四、選擇題(20題)61.
62.整型變量X和Y的值相等,且為非0值,則以下選項中結(jié)果為0的表達(dá)式是()。
A.X‖YB.X|YC.X&YD.X^Y
63.
64.
65.下列說法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是()
A.數(shù)據(jù)結(jié)構(gòu)B.數(shù)據(jù)操作C.數(shù)據(jù)查詢D.數(shù)據(jù)約束
66.
67.
68.
69.按照C語言規(guī)定的用戶標(biāo)識符命名規(guī)則,不能出現(xiàn)在標(biāo)識符中的是()。
A.大寫字母B.連接符C.數(shù)字字符D.下劃線
70.
71.設(shè)有宏定義:
72.
73.以下結(jié)構(gòu)體類型說明和變量定義中正確的是()。
74.在C語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()。
A)%B)/
C)<D)!
75.設(shè)有以下語句:typedefstructTY{charC;inta{41;}CIN;
則下面敘述中正確的是()。
A.CIN是structTr類型的變量
B.TT是struct類型的變量
C.可以用,lr定義結(jié)構(gòu)體變量
D.可以用CIN定義結(jié)構(gòu)體變量
76.C語言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄
B.數(shù)據(jù)行
C.數(shù)據(jù)塊
D.字符(字節(jié))序列
77.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.4B.3C.1D.9
78.若有以下語句
79.若有說明語句:double*p,a;則通過scanf語句正確給輸入項讀入數(shù)據(jù)的程序段是()。A.A.*p=&a;scanf("%1f”,p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%",*p);
D.p=&a;scanf("%1f",p);
80.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.OB.2C.3D.5
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:讀入一個字符串(長度<20),將該字符串中的所有字符按ASCIl碼升序排序后輸出。例如,輸入opdye,則應(yīng)輸出deopy。請修改程序中的錯誤,使它能得到正確結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include%string.h>#include%stdlib.h>#include<conio.h>#include<stdio.h>//****found****intproc(charstr[]){charC;unsignedi,j;for(i=0;i<strlen(str)-1;i++)for(j=i+1;j<strlen(str);j4-+)if(str[i]>str[j]){c=str[j]://****found****str[j]=str[i++];str[i]=C;}}voidmain{charst/[81];system("CLS");printf("\nPleaseenteracharacterstring:");gets(str);printf("\nknBeforesorting:\n%s",str);proc(str);printf("\nAftersortingdecendingly:\n%S",str);}
六、程序設(shè)計題(1題)82.假定輸人的字符串中只包含字母和*號。請編寫函數(shù)proc,它的功能是:將字符串中
的前導(dǎo)*號全部刪除,中間和后面的*號不刪除。
例如,若字符串中的內(nèi)容為****a*bc*def*g****,刪除后,字符串中的內(nèi)容則
應(yīng)當(dāng)是a*bc*def*g****。
注意:部分源程序給出如下。
請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填入所編
寫的若干語句。
試題程序:
#include<stdio.h>
#include<conio.h>
voidproc(char*str)
{
}
voidmain
{
charstr[81];
printf("Enterastring:kn");
gets(str);
proc(str);
printf("Thestringafterdeleted:kn");
puts(str);}
參考答案
1.D
2.A程序首先使用typedef定義一種新的類型名PER,它包含3種數(shù)據(jù)成員:整數(shù)num,字符數(shù)組name,整數(shù)score。main函數(shù)使用PER定義結(jié)構(gòu)體數(shù)組s,s包含兩個PER類型的元素。然后調(diào)用函數(shù)fun將數(shù)組s傳入。fun函數(shù)的功能是比較形參數(shù)組x的兩個元素的score值的大小。若第1個元素的score值大于第2個元素的score值,就使用臨時變量t將兩個元素的score值交換。由于621大于585且x等價于實(shí)參s的指針,因此實(shí)參s的兩個元素的score也會進(jìn)行交換,執(zhí)行完fun函數(shù)之后,for循環(huán)將兩個元素輸出。故本題答案為A選項。
3.A解析:C語言規(guī)定,標(biāo)識符是由字母、數(shù)字或下劃線組成,并且它的第一個字符必須是字母或者下劃線。另外C語言規(guī)定了一些專用的標(biāo)識符,它們有著固定的含義,不能更改。int就是表達(dá)變量類型的標(biāo)識符,它不能再用做變量名和函數(shù)名,所以選項B)不正確。do是C語言的一個關(guān)鍵字,也不能再用做變量名和函數(shù)名,所以選項C)不正確。
4.A廣播/電視是一種單向的、點(diǎn)對多點(diǎn)(面)的以信息傳遞為主要目的的系統(tǒng)。
5.D
6.A結(jié)構(gòu)體和共用體;在“聯(lián)合”中,各成員共享一段內(nèi)存空間,一個聯(lián)合變量的長度等于各成員中最長的長度。應(yīng)該說明的是,這里所謂的共享不是指把多個成員同時裝入一個聯(lián)合變量內(nèi),而是指該聯(lián)合變量可被賦予任一成員值,但每次只能賦一種值,賦入新值則沖去舊值
7.D
8.B
9.A
10.C
11.A解析:對未給出初始值的整數(shù)數(shù)組元素,被默認(rèn)初始化為零。
12.A數(shù)據(jù)管理技術(shù)發(fā)展的蘭個階段中,只有人工管理階段,沒有操作系統(tǒng),沒有管理數(shù)據(jù)的軟件,數(shù)據(jù)處理方式是批處理。在文件系統(tǒng)階段,操作系統(tǒng)中已經(jīng)有了專門數(shù)據(jù)管理軟件,一般稱為文件系統(tǒng)。在數(shù)據(jù)庫系統(tǒng)階段,出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng),即數(shù)據(jù)庫管理系統(tǒng)。
13.D解析:運(yùn)算符“%”的兩側(cè)都應(yīng)該是整型數(shù)。另外,本題需要掌握的知識點(diǎn)是:x%=k,等價于x=x%k。注意:強(qiáng)制類型轉(zhuǎn)換表達(dá)式。
14.A
15.Dgetmax函數(shù)接收兩個整型變量x、y,使用條件運(yùn)算符返回x和y中的較大值。main函數(shù)首先輸入a、b、c、d4個整數(shù)值,然后通過調(diào)用getmax函數(shù),輸出它們的最大值。假設(shè)x、y是整數(shù),選項A中,首先執(zhí)行“getmax(a,b)”,返回a、b中的較大值X,再執(zhí)行“getmax(x,c)”,返回x、c中的較大值y,最后執(zhí)行“getmax(y,d)”,返回y、d中的較大值,滿足題意,正確;選項B中,首先執(zhí)行“getmax(a,b)”,返回a、b的較大值X,再執(zhí)行“getmax(c,d)”,返回c、d中的較大值y,最后執(zhí)行“getmax(x,y)”,返回x、y中的較大值,正確;選項C中,首先執(zhí)行“getmax(c,d)”,返回c、d的較大值X,再執(zhí)行“getmax(b,x)”,返回b、x中的較大值y,最后執(zhí)行“getmax(a,y)”,返回a、y中的較大值,正確;選項D中,首先執(zhí)行“getmax(a,b)”,返回a、b的較大值X,再執(zhí)行“getmax(c,d)”,返回c、d中的較大值y,最后執(zhí)行逗號表達(dá)式“(x,y)”,返回值為7,不滿足題意。故本題答案為D選項。
16.C在計算(float)(a4-b)/2時,由于通過強(qiáng)制類型轉(zhuǎn)換將(a+b)轉(zhuǎn)換成了float型,所以應(yīng)先將2轉(zhuǎn)換成float型,再進(jìn)行計算,得4.500000。在計算(int)x%(int)y時,先將x和y通過強(qiáng)制類型轉(zhuǎn)換成int型,再進(jìn)行求余運(yùn)算,結(jié)果為1。又因為4.500000是float型,所以將1和它相加時,先將1換成float型,再計算,得到5.500000。類型轉(zhuǎn)換的一般規(guī)則是:低級類型從高級類型,并進(jìn)行相應(yīng)的轉(zhuǎn)換。數(shù)據(jù)類型的級別由低到高的排序表示為:char→int→unsigned→log→float→double。
17.BC語言中指針就是變量的地址,它必須有確定的基類型。當(dāng)指針指向某個變量時,才能向其中寫入數(shù)據(jù),選項A錯誤,選項B正確;指針除了指向變量外,還可以賦值為NULL,表示未指向任何地址,此時不能寫入數(shù)據(jù),另外指針必須有基類型,只能指向基類型相同的變量,選項C錯誤;指針只能與一個整數(shù)進(jìn)行運(yùn)算,即移動指針,兩個指針不能運(yùn)算,選項D錯誤。本題答案為B選項。
18.D在最壞情況下,冒泡排序和快速排序的比較次數(shù)都是n(n一1)/2?!局R拓展】所謂冒泡排序,就是將相鄰的兩個數(shù)據(jù)比較,如前面的數(shù)據(jù)大于后面的,則位置互換。這樣不停地比較、互換,其實(shí)就是把大的數(shù)往后排,小的數(shù)往前排(就像冒泡一樣冒出來了)。
19.A
20.D本題主要考查帶參數(shù)的宏定義,過程如下:由于定義為define(x)x*x沒有括號優(yōu)先級,所以:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。
21.aa解析:'z'的ASCII碼值為122,經(jīng)過c-25運(yùn)算后,得97,以字符形式輸出是a。
22.1616解析:首先用j和MCRA(i)替換MCRB(n,m)中的參數(shù)n和m,變成2*MCRA(j)+MCRA(i),再用j和i替換MCRA(m)中的參數(shù)m,變成2*2*j+2*i=2*2*3+2*2=16。
23.max=(a>b)?a:bmax=(a>b)?a:b解析:本題考查三目運(yùn)算符的用法,條件表達(dá)式的一般形式為:
表達(dá)式1?表達(dá)式2:表達(dá)式3
所以,本題可以寫成(a>b)?a:b,它是一個條件表達(dá)式,執(zhí)行順序是:如果條件(a>b)為真,則條件表達(dá)式取值a,否則取值b。
24.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個;維表代表一種關(guān)系。
25.黑箱黑箱解析:本題考查了軟件測試中的黑箱測試。黑箱測試是根據(jù)程序規(guī)格說明所規(guī)定的功能來設(shè)計測試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。常用的黑箱測試技術(shù)分為等價類劃分、邊界分析、錯誤猜測以及因果圖等。
26.3232解析:while(表達(dá)式)的功能是:首先計算表達(dá)式的值,若為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢,再計算表達(dá)式的值,若仍為真,則重復(fù)執(zhí)行循環(huán)體語句,直到表達(dá)式的值為假時,結(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é)束。
27.4242解析:主函數(shù)中的for循環(huán)循環(huán)兩次,即函數(shù)sub()被調(diào)用兩次。在sub()中x被定義為靜態(tài)整型變量,當(dāng)調(diào)用函數(shù)sub()完畢返回主函數(shù),x中的值仍然保留,下次調(diào)用函數(shù)sub()時,x不再被賦初值。第1次調(diào)用x/=2相當(dāng)于x=x/2=8/2=4,第2次調(diào)用x=x/2=4/2=2,因此輸出42。
28.voidfun(doubleb[][22])voidfun(doubleb[][22])解析:程序中為了表示函數(shù)調(diào)用“不帶回值”,可以用“void”定義函數(shù)為“無類型”(或稱“空類型”),這樣系統(tǒng)就保證不使函數(shù)帶回任何值。當(dāng)二維數(shù)組作為形參時,二維數(shù)組的第一維可以省略。
29.n/2性表的任何位置插入一個元素的概率相等,即概率為p=1/(n+1),則插入一個元素時所需移動元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
30.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個。
31.文檔文檔解析:計算機(jī)軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
32.概念(或概念級)概念(或概念級)
33.動態(tài)多變量動態(tài)多變量
34.246
35.封裝封裝
36.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實(shí)現(xiàn)過程是將相鄰兩個字符進(jìn)行比較,如果當(dāng)前字符小于下—個字符,則通過中間變量temp將字符兩兩交換,所以第一空應(yīng)填:str[i],第二空應(yīng)填:str[i+1]。最終打印輸出得到的字符串str,所以第三空應(yīng)填:'%s',str。
37.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲區(qū),此題要分配11字節(jié)的單元,把11代入即可。
38.yesyes解析:程序if語句中是賦值表達(dá)式,而不是相等“==”運(yùn)算。因為c=a+b中a+b的值為4,賦給c,c=4,表達(dá)式為真,輸出yes。
39.輸出結(jié)果輸出結(jié)果解析:注意:測試的基本方法和步驟。
40.一對多或1:N一對多或1:N解析:兩個實(shí)體集間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有三種,即一對一(1:1)的聯(lián)系、一對多(1:N)或多對一(N:1)的聯(lián)系和多對多(N:N)的聯(lián)系。
41.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項目的技術(shù)手段;工具支持軟件的開發(fā)、管理和文檔生成;過程支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理。
42.D
43.C解析:A、D選項是關(guān)系運(yùn)算表達(dá)式,在C語言中,只要關(guān)系運(yùn)算符兩邊是合法的表達(dá)式就可以了。C選項中,%只能對整型進(jìn)行運(yùn)算,其中對f進(jìn)行了強(qiáng)制類型轉(zhuǎn)換,但是轉(zhuǎn)換的表達(dá)式錯了,應(yīng)為:(int)(f)。
44.B解析:sizeof()函數(shù)的功能是返回字符串所占的字節(jié)數(shù),strlen()函數(shù)的功能是返回字符串的長度,其中'\\0'是一個轉(zhuǎn)義字符,它占存儲空間,但不計入串的長度。
45.A解析:本題考查兩個概念:①用單引號括起來的一個字符常量只能存放一個字符;②C語言中沒有字符串變量,只能用字符數(shù)組來存儲字符串。
選項A)中一個單引號內(nèi)放了若干個字符是錯誤的:選項B)和選項D)選項中將一個字符串賦值給一個字符數(shù)組是允許的。
46.A解析:在本題中k=n++,為后綴運(yùn)算。根據(jù)其運(yùn)算規(guī)則,首先n先加一,但n++表達(dá)式的值依然為n原來的值,即k的值變?yōu)閚加1之前的值。選項A中先給k賦值為n,然后n再加1,k值沒有變化,所以這個表達(dá)式和本題中表達(dá)式等價;選項B中先n加1,然后將n加1后的值賦給k,所以這個表達(dá)式和本題中表達(dá)式不等價:選項C中先計算表達(dá)式++n的值,執(zhí)行++n后,k變?yōu)閚加1后的值,所以這個表達(dá)式和題目中的表達(dá)式不等價;選項D中表達(dá)式展開為k=k=(n+1),k被累加,所以這個表達(dá)式和題目中的表達(dá)式不等價。所以4個選項中A正確。
47.B解析:本題主要考查關(guān)系模型中幾種運(yùn)算的特征。經(jīng)過選擇或投影運(yùn)算得到的新關(guān)系的屬性個數(shù)最多不會超過原關(guān)系中的屬性個數(shù)。經(jīng)過連接運(yùn)算得到的新關(guān)系最多不少于原關(guān)系中屬性的個數(shù)。故選項B正確。
48.D解析:main函數(shù)的參數(shù)通常有兩個,前者為整型,后者為字符型指針數(shù)組。參數(shù)的名字可以是任意合法的標(biāo)識符。而且,形如**av與*av[]等價,所以選項A、B、C均正確,選項D是錯誤的。
49.B解析:軟件開發(fā)階段包括需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和測試五個階段。其中需求分析階段常用的工具是數(shù)據(jù)流圖和數(shù)據(jù)字典。
50.C解析:軟件設(shè)計遵循軟件工程的基本目標(biāo)和原則,建立了適用于在軟件設(shè)計中應(yīng)該遵循的基本原理和與軟件設(shè)計有關(guān)的概念。①抽象是一種思維工具,就是把事物本質(zhì)的共同特性抽出來而不考慮其他細(xì)節(jié)。②模塊是指可以單獨(dú)命名且可編址的元素。如高級語言中的過程、函數(shù)、子程序等。③信息隱蔽是指在一個模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說是不能訪問的。④模塊獨(dú)立性是指每個模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。因此,本題的正確答案是C。
51.C解析:求余運(yùn)算符'%'兩邊的運(yùn)算對象必須是整型,而選項B)和D)中'%'兩邊的運(yùn)算對象有浮點(diǎn)整數(shù)據(jù),所以選項B)和D)是錯誤的表達(dá)式。在選項A)中賦值表達(dá)式的兩邊出現(xiàn)相同的變量x,也是錯誤的。選項C)是一個逗號表達(dá)式,所以正確答案為C)。
52.C解析:本題主要考查怎樣為嵌套定義的結(jié)構(gòu)中的成員賦值:由于worker中的birth是一個st型的結(jié)構(gòu),在給birth賦值時,不能將birth作為一個整體,要用“.”運(yùn)算再深入一層訪問到最基本的成員x、y、z。
53.C解析:strlen(s)返回s字符串中字符的個數(shù),若s是個數(shù)組,則返回數(shù)組元素的個數(shù)。
54.A解析:C語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線三種符號組成,而且第一個字符必須是字母或下劃線。大寫字母和小寫字母被認(rèn)為是兩個不同的字符,用戶在定義標(biāo)識符時應(yīng)盡量做到“見名知意”,且不允許使用關(guān)鍵字作標(biāo)識符。
55.D解析:C語言中的文件是流式文件。流式文件是一種無結(jié)構(gòu)文件,即整個文件是一串字符流或二進(jìn)制流。文件的存取以字符或字節(jié)為單位。
56.C解析:C語言中可以使用typedef來重新定義已有的數(shù)據(jù)類型,相當(dāng)于為數(shù)據(jù)類型取個別名。
57.A解析:stdin是標(biāo)準(zhǔn)輸入設(shè)備的文件指針,不需定義直接可以使用,它隨系統(tǒng)的啟動而打開,隨系統(tǒng)的關(guān)閉而關(guān)閉,fgetc()函數(shù)的作用是從某個文件中讀取一個數(shù)據(jù),其參數(shù)為要讀取文件的文件指針。fopen()函數(shù)有兩個參數(shù),第一個參數(shù)是打開的文件名,第二個參數(shù)是文件打開模式,兩個參數(shù)都是字符串,本例中“four=fopen('abc.txt','w');”語句的fopen()函數(shù)參數(shù)是錯誤的,應(yīng)該用雙引號“w”,正確的應(yīng)改為fout=fopen(“abc.tx”,“w”);。
58.D解析:函數(shù)f()的功能是對兩個數(shù)據(jù)互換。在主函數(shù)中指針變量p和q分別指向數(shù)組a[8)的首和尾,在while循環(huán)中實(shí)現(xiàn)從首尾開始數(shù)組元素的互換操作。
59.A
60.D解析:選項A:'a'&&'b'是字符a與b的相與,不為0:選項B:a<=b,由題中變量賦值可知,結(jié)果為1。選項C:a||+c&&b-c,結(jié)果為1;選項D:!((a<B)&&!c||1),運(yùn)算結(jié)果為0。
61.D
62.DX||Y是將X和Y作邏輯或運(yùn)算,因為都是非0,所以結(jié)果為1,X|Y是做位或運(yùn)算,即相同位置的數(shù)字只要有一個為1,結(jié)果為1,其結(jié)果也為非0,X&Y是為與運(yùn)算,相同位置的數(shù)字都為1的時候才為1,其結(jié)果為非0,X^Y做位異或運(yùn)算,即同0異1,因為X與Y的值相等,所以相同位置的數(shù)字一定相同。
63.D
64.B
65.C通俗地講,數(shù)據(jù)模型就是現(xiàn)實(shí)世界的模擬和抽象。數(shù)據(jù)模型是把現(xiàn)實(shí)生活中的具體事務(wù)轉(zhuǎn)換成計算機(jī)能夠處理的數(shù)據(jù)工具。任何一種數(shù)據(jù)庫系統(tǒng)都必須建立在一定的數(shù)據(jù)模型之上。由于現(xiàn)實(shí)世界的復(fù)雜性,不可能直接從現(xiàn)實(shí)世界中建立數(shù)據(jù)模型,所以,人們通常采用如下的處理過程。
現(xiàn)實(shí)世界抽象至信息世界,再轉(zhuǎn)化為機(jī)器世界
把整個過程劃分成三個世界和兩個階段。首先要把現(xiàn)實(shí)世界抽象為信息世界,并建立信息世界中的數(shù)據(jù)模型,即概念模型,然后進(jìn)一步把概念模型轉(zhuǎn)化為可以在計算機(jī)中實(shí)現(xiàn)的且最終支持?jǐn)?shù)據(jù)庫系統(tǒng)的數(shù)據(jù)模型?,F(xiàn)實(shí)世界,簡單地說,就是人們賴以生存的生活環(huán)境,它是具體事物和抽象概念的總和。信息世界也稱為概念世界,現(xiàn)實(shí)世界在人們頭腦中的反映就是信息世界,信息世界不是現(xiàn)實(shí)世界的錄像,必須從具體事務(wù)出發(fā)抽象其概念。當(dāng)信息世界進(jìn)入計算機(jī)后,就成為了機(jī)器世界。
一般地講,任何一種數(shù)據(jù)模型都是嚴(yán)格定義的概念的集合。這些概念必須能夠精確地描
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目管理績效提升的新維度試題及答案
- 項目管理專家認(rèn)證考試重要試題及答案
- 2024年福建事業(yè)單位考試全局復(fù)習(xí)策略與試題及答案
- 項目管理資格考試知識推理試題及答案
- 2025年會計政策分析試題及答案
- 精準(zhǔn)備戰(zhàn)特許金融分析師考試試題及答案
- 武威電梯裝修施工方案
- 項目管理資格復(fù)習(xí)關(guān)鍵點(diǎn)試題及答案
- 信豐避雷塔安裝施工方案
- 耐高壓潔凈管道施工方案
- 江蘇省南京市2021年中考道德與法治真題試卷(含答案解析)
- 科室業(yè)務(wù)學(xué)習(xí)計劃安排表
- 校舍抗震安全鑒定服務(wù)投標(biāo)方案
- 2023年河南測繪職業(yè)學(xué)院單招考試職業(yè)適應(yīng)性測試試題及答案解析
- Python自然語言處理-課件-第05章-詞向量與關(guān)鍵詞提取
- 五年級下冊綜合實(shí)踐活動教學(xué)設(shè)計-有趣的拉線偶人 全國通用
- 醫(yī)療廢物管理PPT演示課件
- ??当O(jiān)控陣列不可用數(shù)據(jù)不保留處理
- 卓越密碼:如何成為專家
- 合肥經(jīng)濟(jì)技術(shù)開發(fā)區(qū)公開招聘村(居)社區(qū)工作者模擬備考預(yù)測(共1000題含答案解析)綜合試卷
- 外派勞務(wù)人員基本情況表(勞工表)
評論
0/150
提交評論