版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021-2022年浙江省衢州市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.請選出正確的程序段
A.int*p;scanf("%d",p);…
B.int*s,k;*s=100;…
C.int*s,k;char*p,c;s=&k;p=&c;*p='a';…
D.int*s,k;char*p,e;s=&k;p=&c;s=p;*s=1;…
2.二叉樹的第三層最少有________個結(jié)點。
A.0B.1C.2D.3
3.有定義語句intb;charc[10];,則正確的輸入語句是______。A.scallf("%d%s",&b,&c);
B.scallf("%d%s",&b,c);
C.scanf("%d%s",b,c)
D.scanf("%d%s",b,&c);
4.有下列程序:#include<stdio.h>voidfun(char*a,char*B){while(*a=='*')a++;while(*b=*A){b++;a++;}}main(){char*s="*****a*b****",t[80];fun(s,t);puts(t);程序的運行結(jié)果是()。A.*****a*bB.a*bC.a*b****D.ab
5.由權(quán)值分別為3,8,6,2,5的葉子結(jié)點生成一棵哈夫曼樹,它的帶權(quán)路徑長度為________。
A.24B.48C.72D.53
6.若有定義“floatx=1.5;inta=1,b=3,c=2;”,則正確的switch語句是()。
A.switch(a+b){ case1:printf(“*\n”); case2+1:printf(“**\n”);}
B.switch((int)x);{ case1:printf(“**\n”); case2:printf(“**\n”);}
C.switch(x){ case1.0:printf(“*\n”); case2.0:printf(“**\n”);}
D.switch(a+b){ case1:printf(“*\n”); casec:printf(“**\n”);}
7.在一個源文件中定義的全局變量的作用域為:()
A.本程序的全部范圍B.本函數(shù)的全部范圍C.從定義該變量的位置開始到本文件結(jié)束D.以上說法都不正確
8.
9.若在定義語句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項中的語句,則能正確執(zhí)行的語句是()。
A.scanf("%d",a,b,c);
B.scanf("%d%d%d",a,b,c):
C.scanf("%d",p);
D.scanf("%d",&p);
10.有如下定義#defineD2intx=5;floaty=3.83;charC='D';則下面選項中錯誤的是
A.x++;B.y++;C.c++;D.D++;
11.對含有16個元素的有序表進行二分查找,關(guān)鍵字比較次數(shù)最多是()
A.3B.4C.5D.6
12.設(shè)一棵二叉樹共有50個葉子結(jié)點(終端結(jié)點),則共有___個度為2的結(jié)點。
A.25B.49C.50D.51
13.下列敘述中錯誤的是()。
A.列表框和組合框都有List屬性
B.列表框有Selected屬性,而組合框沒有
C.列表框和組合框都有Style屬性
D.組合框有Text屬性,而列表框沒有
14.以下敘述中錯誤的是(
)。A.函數(shù)形參的值也可以傳回給對應(yīng)的實參
B.函數(shù)調(diào)用可以作為一個獨立的語句存在
C.若函數(shù)有返回值,必須通過r;mm語句返回
D.C程序必須由一個或一個以上的函數(shù)組成
15.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.0,1,0B.0,1,1C.0,0,1D.0,0,0
16.有以下程序:#include<stdio.h>voidfun(char*t,char*s){while(*t!=0)t++;while((*t++=*s++)!=0);}main(){charss[10]=“acc”,aa[10]=“bbxxyy”;fun(ss,aa);printf(“%s,%s\n”,ss,aa);}程序的運行結(jié)果是()。
A.acc,bbxxyy
B.accbbxxyy,bbxxyy
C.accxxyy,bbxxyy
D.accxyy,bbxxyy
17.有下列程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.3,7,8,9,10,6,5,4,2,1,
B.10,9,8,7,3,1,2,4,5,6,
C.10,9,8,7,6,1,2,3,4,5,
D.1,2,3,4,5,10,9,8,7,6,
18.以下敘述中錯誤的是()。
A.C語言的可執(zhí)行程序是由一系列機器指令構(gòu)成的
B.用C語言編寫的源程序不能直接在計算機上運行
C.通過編譯得到的二進制目標程序需要連接才可以運行
D.在沒有安裝C語言集成開發(fā)環(huán)境的機器上不能運行C源程序生成的.exe文件
19.有以下程序:#include<stdio.h>main(){inta,b,k,m,*pl,*p2;k=1,m=8;p1=&k,p2=&m;a=/*pl-m;b=*p1+*p2+6;printf("%d",a);printf("%d\n",b);}編譯時編譯器提示錯誤信息,你認為出錯的語句是()。A.a=/*pl-m;B.b=*p1+*p2+6;C.k=1,m=8;D.pl=&k,p2-&m;
20.數(shù)據(jù)的存儲結(jié)構(gòu)是指______。
A.數(shù)據(jù)所占的存儲空間量B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示C.數(shù)據(jù)在計算機中的順序存儲方式D.存儲在外存中的數(shù)據(jù)
二、2.填空題(20題)21.在面向?qū)ο蠓椒ㄖ校瑢傩耘c操作相似的一組對象稱為【】。
22.以下程序的功能是將字符串s中的數(shù)字字符放入d數(shù)組中,最后輸出d中的字符串。
例如,輸入字符串:abc123edf456gh,執(zhí)行程序后輸出:123456。請?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype.h>
main()
{chars[80],d[80];inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(【】){d[j]=s[i];j++;}
d[j]='\0';
puts(d);
}
23.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。
24.軟件的需求分析階段的工作,可以概括為四個方面:【】、需求分析、編寫需求規(guī)格說明書和需求評審。
25.一個關(guān)系表的行稱為()。
26.下面程序的輸出結(jié)果是()。#include<stdio.h>main(){staticchara[]="zhao",b[]="juan";char*ptr1=a,*ptr2=b;intk;for(k=0;k<4;k++)if(*(ptr1+k)==*(ptr2+k))printf("%c",*(ptr1+k));}
27.若按功能劃分,軟件測試的方法通常分為______測試方法和黑盒測試方法。
28.以下程序建立一個帶有頭結(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));
【】=a;q->next=p;【】=p;scanf("%d",&a);}
p->next='\0';return(ph);}
main()
{structlist*head;head=creatlist();}
29.下述函數(shù)統(tǒng)計一個字符串中的單詞個數(shù),單詞是指處在空格之間的字符序列,請?zhí)羁铡?/p>
intword(char*s)
{intnum=0,flag=0;
while(*s)
{if(【】='')flag=0;
elseif(【】){flag=1;num++}
}
return【】}
30.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲結(jié)構(gòu))改變時,不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的【】。
31.以下程序的輸出結(jié)果是()。main(){char*p[]={"ABC","DEF","GHI","JKL"};inti;for(i=3;i>=0;i--,i--)printf("%c",*p[i]);}
32.以下函數(shù)把b字符串連到a字符串的后面,并返回a中新字符串的長度,請?zhí)羁铡?/p>
strcen(chara[],charb[])
{
intnum=0,n=0;
while(*(a+num)!=【】)num++;
while(b[n]){*(a+num)=b[n];num++;【】;}
returnnum;
}
33.下面程序的功能是將字符串s中所有的字符c刪除,補足所缺語句。
#include<stdio.h>
main()
{chars[80];
inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='c')【】;
s[j]='\0';
puts(s);
}
34.用下面語句調(diào)用庫函數(shù)malloc,使單精度型指針p指向具有40個字節(jié)的動態(tài)存儲空間,請?zhí)羁铡?/p>
p=(float*)【】;
35.在深度為7的滿二叉樹中,度為2的節(jié)點個數(shù)為()。
36.以下程序的輸出結(jié)果是【】。
main()
{
intarr[]={30,25,20,15,10,5},*p=arr;
p++;
printf("%d\n",*(p+3));
}
37.以下程序的輸出結(jié)果是______。
main()
{inta=1,b=2;
a=a+b;b=a-b;a=a-b;
printf("%d,%d\n",a,b);
}
38.若有如下程序:
main()
{intx=5,y,*t;t=&x;
y=++(*t);
printf("%d,%d",x,y);}
則程序執(zhí)行后的x值為【】,y的值為【】。
39.軟件生命周期分為軟件定義期、軟件開發(fā)期和軟件維護期,詳細設(shè)計屬于______中的一個階段。
40.某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有【】個葉子結(jié)點。
三、1.選擇題(20題)41.若變量已正確定義,下列正確的程序段是()。
A.while(ch=getchar()=='\N')putchar(ch);
B.while((ch=getchar())=='\n')putchar(ch);
C.while((ch=getehar())!='\N')putchar(ch);
D.while((ch=getchar())!='\n',)putchar(ch);
42.表達式3.6-5/2+1.2+5%2的值是A.4.3B.4.8C.3.3D.3.8
43.若有以下程序#include<stdio.h>inta[]={2,4,6,8};main(){inti;int*p=a;for(i=0;i<4;i++)a[i]=*p;printf("%d\n",a[2]);}上面程序輸出結(jié)果是
A.6B.8C.4D.2
44.下列程序段的輸出結(jié)果是()。chara=9,b=020;prihtf("%o\n",~a&b<<1);
A.100000B.8C.40D.77
45.用C語言編寫的代碼程序A.可立即執(zhí)行B.是一個源程序C.經(jīng)過編譯即可執(zhí)行D.經(jīng)過編譯解釋才能執(zhí)行
46.請讀程序:#include<stdio.h>func(inta,intb){intc;c=a+b;returnc;}main(){intx=6,y=7,z=8,r,r=func((x-,y++,x+y),z-);printf("%d\n",r);}上面程序的輸出結(jié)果是_______。
A.11B.20C.21D.31
47.在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()A.需求分析階段B.邏輯設(shè)計階段C.概念設(shè)計階段D.物理設(shè)計階段
48.以下程序段有錯,錯誤原因是______。main(){int*p,i;char*q,ch;p=&i;q=&ch;*p=40;*p=*q;}
A.p和q的類型不一致,不能執(zhí)行*p=*q;語句
B.*p中存放的是地址值,因此不能執(zhí)行*p=40;語句
C.q沒有指向具體的存儲單元,所以*q沒有實際意義
D.q雖指向了具體的存儲單元,但該單元中沒有確定的值,所以不能執(zhí)行*p=*q;語句
49.以下函數(shù)返回a所指數(shù)組中最大值所在的下標值:fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]>a[p])______;return(p);}在下劃線處應(yīng)填入的內(nèi)容是()。
A.i=pB.a[p]=a[i]C.p=jD.p=i
50.辦公自動化(OA)是計算機的一項應(yīng)用,按計算機應(yīng)用的分類,它屬于()
A.數(shù)據(jù)處理B.科學(xué)計算C.實時控制D.輔助設(shè)計
51.有以下程序:#include<stdio.h>main(){intc=35;printf("%d\n",e&c);}程序運行后輸出結(jié)果是()。
A.0B.70C.35D.1
52.打開一個已經(jīng)存在的非空文本文件,若文件名為stu,則正確的打開語句為()
A.FILE*fp;fp=fopen("stu.txt","r")
B.FILE*fp;fp=fopen(stu.txt,r)
C.FILE*fp;fP=fopen("stu,txt","wb")
D.FILE*fp;fp=fopen("stu.txt",wb)
53.下列說法錯誤的是()。
A.下列結(jié)構(gòu)體定義時,占據(jù)了5個字節(jié)的空間structstudent“ntnum;intage;charsex;}
B.結(jié)構(gòu)體的成員名可以與程序中的變量名相同
C.對結(jié)構(gòu)體中的成員可以單獨使用,它的作用相當(dāng)于普通變量
D.結(jié)構(gòu)體可以嵌套定義
54.在下列關(guān)于二叉樹的敘述中,正確的一項是
A.在二叉樹中,任何一個結(jié)點的度都是2
B.二叉樹的度為2
C.在二叉樹中至少有一個結(jié)點的度是2
D.一棵二叉樹的度可以小于2
55.設(shè)變量x和y均已正確定義并賦值。下列if語句中,在編譯時將產(chǎn)生錯誤信息的是()。
A.if(x++);
B.if(x>y&&y!=0);
C.if(x>0)x--elsey++;
D.if(y<0){;}elsex++;
56.若二維數(shù)組a有m列,且設(shè)a[0][0]位于數(shù)組的第一個位置上,則計算任一元素a[i][j]剛在數(shù)組中的位置的式子為()。
A.i*m+jB.j*m+iC.i*m+j-1D.i*m+j+l
57.若要用fopen函數(shù)打開一個文本文件,該文件要既能讀也能寫,則文件使用方式的字符串為()。
A.r+B.a+C.rb+D.'wb+"
58.c語言規(guī)定,在一個源程序中,main函數(shù)的位置()。
A.必須在最開始B.必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C.可以任意D.必須在最后
59.若要用函數(shù)fopen打開一個新的二進制文件,該文件要既能讀也能寫,則應(yīng)以哪種方式打開文件()。
A.wbB.wb+C.rb+D.rb
60.若已定義:inta[9],*p=a;并在以后的語句中未改變p的值,下列選項中不能表示a[1]地址的表達式是()。
A.p+1B.a+1C.a++D.#NAME?
四、選擇題(20題)61.若有定義:則以下不能正確表示該數(shù)組元素的表達式是()。
62.軟件測試的目的是()。
A.評估軟件可靠性B.發(fā)現(xiàn)并改正程序中的錯誤C.改正程序中的錯誤D.發(fā)現(xiàn)程序中的錯誤
63.
64.
65.
66.
67.以下對C語言函數(shù)的有關(guān)描述中,正確的是()。
A.C函數(shù)可以遞歸調(diào)用也可以嵌套調(diào)用
B.在C中,調(diào)用函數(shù)時,只能把實參值傳給形參,形參值不能返回給實參
C.沒有返回值的函數(shù)不能被使用.
D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個源程序文件中
68.非空循環(huán)鏈表所表示的數(shù)據(jù)結(jié)構(gòu)()。
A.有根結(jié)點也有葉子結(jié)點B.沒有根結(jié)點但有葉子結(jié)點C.有根結(jié)點但沒有葉子結(jié)點D.沒有根結(jié)點也沒有葉子結(jié)點
69.下列數(shù)據(jù)模型中,具有堅實理論基礎(chǔ)的是()。A.層次模型B.網(wǎng)狀模型C.關(guān)系模型D.以上三個都是
70.在滿足實體完整性約束的條件下()。
A.一個關(guān)系中廊該有一個或多個候選關(guān)鍵字
B.一個關(guān)系中只能有一個候選關(guān)鍵字
C.一個關(guān)系中必須有多個候選關(guān)鍵字
D.一個關(guān)系中可以沒有候選關(guān)鍵字
71.對于循環(huán)隊列,下列敘述中正確的是()。A.隊頭指針是固定不變的
B.隊頭指針—定大于隊尾指針
C.隊頭指針_定小于隊尾指針
D.隊頭指針可以大于隊尾指針,也可以小于隊尾指針
72.下面函數(shù)的功能是()。
intfunc(char*x)
{char*y=x;
while(*y++);
return(y-x-1);
}
A.求字符串的長度
B.比較兩個字符串的大小
C.將字符串x復(fù)制到字符串y
D.將字符串x連接到字符串y后面
73.
74.
75.在“文件包含”預(yù)處理語句的使用形式中,當(dāng)#include后面的文件名用(雙引號)括起時,尋找被包含文件的方式是()。
A.直接按系統(tǒng)設(shè)定的標準方式搜索目錄
B.先在源程序所在的目錄搜索,如沒找到,再按系統(tǒng)設(shè)定的標準方式搜索
C.僅僅搜索源程序所在目錄
D.僅僅搜索當(dāng)前目錄
76.下列定義數(shù)組的語句中,正確的是()。
77.
設(shè)有下列程序段:
charstr[]="HelloWorld":
char*plr;
ptr=str:
執(zhí)行上面的程序段后,*(ptr+10)的值為()。
A.\0B.0C.不確定的值D.0的地址
78.
79.若運行以下程序時,從鍵盤輸入ADescriptor<CR>(<CR>表示回車),則下面程序的運行結(jié)果是()。
A.v0=7,vl=4,v2=7
B.v0=8,vl=4,v2=8
C.v0=11,vl=4,v2=11
D.v0=13,vl=4,v2=12
80.CSS指的是下列()的縮寫。
A.ComputerStyle.Sheets
B.CascadingStyle.Sheets
C.CreativeStyle.Sheets
D.ColorfulStyle.Sheets
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是根據(jù)整型形參n,計算如下公式的值:y=1-1/(22)+1/(33)-1/(44)+…+(-1)(n+1)/(m)例如,n中的值為l0,則應(yīng)輸出0.817962。請修改程序中的錯誤,使它能得到正確結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.請編寫一個函數(shù),用來刪除字符串中的所有空格。例如,輸入abcdefgh,則輸出為abcdefgh。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.C解析:本題的選項A)和B)犯了同樣的錯誤,即指針變量在定義后并沒有指向具體的變量。也就是說,指針變量中沒有確定的地址值,它的值是不可預(yù)見的,所指的單元也是不可預(yù)見的,因此不能進行賦值操作。另外,在選項D)中,s是int型指針變量,p是char型指針變量,所指向的內(nèi)存單元所占用的字節(jié)數(shù)是不同的,因而不能將字符指針變量p的值賦給整型指針變量s。
2.B
3.B解析:scanf函數(shù)中的“格式控制”后面應(yīng)當(dāng)是地址,而不是變量名。對于變量,通過地址運算符“&”求出內(nèi)存中的地址;對于數(shù)組c[10],數(shù)組名c即為數(shù)組在內(nèi)存中的地址。
4.C解析:主函數(shù)main()定義了指向字符串的指針和一個字符數(shù)組,接著調(diào)用fun(s,t)函數(shù),進行實參向形參傳遞,函數(shù)fun()第一個while語句判斷*a中的值為“*”時繼續(xù)掃描,當(dāng)遇到不是“*”時結(jié)束,接著第二個while循環(huán)語句,將*a中從“a”開始的后續(xù)所有字符都賦予*b,也就是t[80]中的內(nèi)容為“a*b****”,所以此題的運行結(jié)果為選項C)。
5.D
6.AB選項中“switch((int)x);”語句中不應(yīng)該有最后的分號。switch(expr1)中的expr1不能用浮點類型或long類型,也不能為一個字符串,所以C選項錯誤。case后面必須為常量表達式,所以D選項錯誤。故本題答案為A選項。
7.C
8.C
9.C
\n題中整型指針變量P存放的是變量C的地址。所以本題答案為C。
\n
10.D解析:C語言中++運算符的對象可以是整型、實型和字符型,但不可是常量,本題中D為常量。
11.C
12.B難易程度:易
13.BB。【解析】組合框和列表框都沒有selected屬性。
14.A函數(shù)參數(shù)傳遞是個不可逆的過程,形參不會把值傳回實參,所以A)選項(24)[答案]A)[解析]c的值為a乘以b的值,為3。所以答案選擇A)。
15.Bif條件表達式“a--‖b--&&--c”使用了邏輯或運算符和邏輯與運算符。因為邏輯與運算符優(yōu)先級比邏輯或運算符優(yōu)先級高,所以條件表達式等價于“(a--)‖(b--&&--c)”,自左向右運算,執(zhí)行“a”,因為a初值為1,所以a--的值為1,執(zhí)行完后a的值為0;又因為邏輯或運算符的短路原則,當(dāng)a--的值為1時,條件為真,后面的表達式b--&&--c不執(zhí)行。程序執(zhí)行if語句塊,輸出a、b、c的值為:0,1,1。本題答案為B選項。
16.B在函數(shù)fun中,前一個while循環(huán)的作用是,如果形參指針t所指內(nèi)容不為0,則讓t增1,直到它指向0;后一個while循環(huán)的作用是,將s所指內(nèi)容賦給t所指地址,然后兩者同時增1,直到賦給t的內(nèi)容為0。由此可見,函數(shù)fun的作用就是將形參s所指字符串連接到形參t所指字符串末尾,相當(dāng)于庫函數(shù)strcat。主函數(shù)中使用fun將數(shù)組aa中的字符串連接到數(shù)組ss中原有字符串之后,所以執(zhí)行完后,ss中的字符串為“accbbxxyy”。程序最后輸出的結(jié)果是accbbxxyy,bbxxyy。故本題答案為B選項。
17.B程序中函數(shù)fun的功能是將數(shù)組a的n個元素,按照flag的值進行排序:當(dāng)flag為0時,升序排列;當(dāng)flag為1時,降序排列。main函數(shù)中定義數(shù)組c,初始化10個元素的值。第1次調(diào)用函數(shù)fun,\nflag為1,即將c的下標為0開始的5個元素降序排列。第2次調(diào)用函數(shù)fun\n,flag為0,將c的下標為5開始的5個元素升序排列。所以輸出數(shù)組e的元素為10,9,8,7,3,1,2,4,5,6。本題答案為B選項。
18.Dc語言的可執(zhí)行程序是由一系列機器指令組成的。用C語言編寫的源程序必須經(jīng)過編譯生成二進制目標代碼,再經(jīng)過連接才能運行,并且可以脫離c語言集成開發(fā)環(huán)境。故答案為D)。
19.A本題考查指針,pl=&k表示P指向k的地址,則*p=k,依次類推,在對指針進行賦值時沒有錯誤。a=/*p+m賦值,在c語言中"/*"表示的注釋,所以答案選擇A。
20.B解析:數(shù)據(jù)元素在計算機存儲空間中的位置關(guān)系與它們的邏輯關(guān)系不一定是相同的,而且一般不可能相同。數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu),也稱數(shù)據(jù)的物理結(jié)構(gòu)。
21.類類解析:在面向?qū)ο蠓椒ㄖ校惷枋龅氖蔷哂邢嗨菩再|(zhì)的一組對象。所以,屬性與操作相似的一組對象稱為類。
22.s[i]>='0'&&s[i]<='9'或isdigit(s[i])s[i]>='0'&&s[i]<='9'或isdigit(s[i])解析:根據(jù)題意和程序可知要填空的內(nèi)容是:將字符申s中的數(shù)字字符放入d數(shù)組的條件。
23.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個標準接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。
24.需求獲取需求獲取解析:軟件的需求分析階段的工作,可以概括為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審。需求獲取的目的是確定對目標系統(tǒng)的各方面需求;需求分析是對獲取的需求進行分析和綜合,最終給出系統(tǒng)的解決方案和目標系統(tǒng)的邏輯模型;編寫需求規(guī)格說明書作為需求分析的階段成果,可以為用戶、分析人員和設(shè)計人員之間的交流提供方便,可以直接支持目標軟件系統(tǒng)的確認,又可以作為控制軟件開發(fā)進度的依據(jù);需求評審是對需求分析階段的工作進行的復(fù)審,驗證需求文檔的一致性、可行性、完整性和有效性。
25.元組元組解析:一個關(guān)系表中的行稱為元組,列稱為屬性。
26.aa解析:本程序先將指針ptr1和ptr2分別指向字符數(shù)組a和b,然后通過指針的移動比較a和b中是否有相同的字符。若有相同的字符則將其輸出。
27.白盒白盒解析:軟件測試的方法分為白盒測試方法和黑盒測試方法.
28.p->dataqp->data\r\nq解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對結(jié)構(gòu)體變量中的數(shù)據(jù)的引用。鏈表的特點是結(jié)構(gòu)體變量中有兩個域,一個是數(shù)據(jù),一個是指向該結(jié)構(gòu)體變量類型的指針,用以指明鏈表的下一個結(jié)點。
29.*s++flag=0或*(s-1)=''num*s++\r\nflag=0或*(s-1)=''\r\nnum解析:在統(tǒng)計字符串單詞個數(shù)的算法中,本題的flag是為了記錄一個單詞是否結(jié)束。第13空應(yīng)填*s++;如果某個字符不是空格,則必須判斷它是否是單詞,如是,則使得flag的標志為1,num的值加1。本題判斷方法是:先判斷s所指向的字符是否為空格,如果是則使得flag=0,否則判斷前一個字符是否是空格,如果是則說明這個字符是一個單詞的開始,將flag標志為1,num的值加1,如果不是,則不必記錄。故第14空應(yīng)填flag=0或*(s-1)='';最后一個空格需填寫的是返回的單詞的個數(shù),即num。
30.物理獨立性數(shù)據(jù)獨立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫中數(shù)據(jù)獨立于應(yīng)用程序而不依賴于應(yīng)用程序。也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)與存取方式的改變不會影響應(yīng)用程序。數(shù)據(jù)獨立性一般分為物理獨立性與邏輯獨立性兩級。
31.JD
32.\0'n++
33.s[j++]=s[i]
34.malloc(40)malloc(40)解析:庫函數(shù)malloc()只有一個參數(shù),就是所需分配內(nèi)存的字節(jié)數(shù),然后返回一個void*指針。本題要求分配40個字節(jié),故直接調(diào)用malloc(40)就可以了。
35.6363解析:滿二叉樹的第k層上有2k-1個結(jié)點,度為k的滿二叉樹一共有2k-1個結(jié)點,由二叉樹的性質(zhì)可知:除去第k層上的結(jié)點,其他所有結(jié)點都是度為2的結(jié)點,所以度為2的結(jié)點數(shù)為2k-1-2k-1,即27-1-27-1=63。
36.1010解析:整型指針最初被賦的值是數(shù)組arr的頭指針,即指向數(shù)組的第一個元素30,p++后,指針指向數(shù)組的下一個元素,即*p=arr[1]=25,在執(zhí)行*(p+3)時,則相當(dāng)于a[1+3],即10。因此,輸出應(yīng)為100。
37.21
38.66
39.軟件開發(fā)軟件開發(fā)解析:軟件生命周期分為3個時期共8個階段:軟件定義期(問題定義、可行性研究和需求分析)、軟件開發(fā)期(系統(tǒng)設(shè)計、詳細設(shè)計、編碼和測試)、軟件維護期(即運行維護階段)。
40.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。本題中度為2的結(jié)點數(shù)為18,故葉子結(jié)點數(shù)為18+1=19個。
41.D解析:本題考查兩個知識點:①C語言用'\\n'這個字符常量表示換行;②getchar函數(shù)的作用是從終端輸入一個字符,當(dāng)遇到換行時結(jié)束輸入。
42.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。
43.D解析:在C語言中,數(shù)組元素下標是從0開始的;指針變量p指向數(shù)組的首地址。for循環(huán)語句中,指針變量p始終指向數(shù)組的首地址,因而執(zhí)行循環(huán)賦值語句后數(shù)組各元素的值均變?yōu)?。
44.C解析:將變量a按位求反,再與b按位與,最后左移1位。9的二進制表示為00001001,020的二進制表示為00010000。a按位求反為11110110,再與b按位與結(jié)果為00010000,左移1位結(jié)果為00100000。按八進制輸出為040。
45.B解析:C語言是一種高級語言,C語言源程序經(jīng)過C語言編譯程序編譯之后,生成一個后綴為.OBJ的二進制文件(稱為目標文件),最后還要由稱為“連接程序”(Link)的軟件,把此.OBJ文件與c語言提供的各種庫函數(shù)連接在一起,生成一個后綴.EXE的可執(zhí)行文件。顯然C語言不能立即執(zhí)行。
46.C解析:函數(shù)func()的作用是返回兩個形參的和,第一個形參是x、y分別自減和自增后的和,其中(x-,y++,x+y)是一個逗號表達式,它的值應(yīng)該等于x+y,所以整個表達式(x-,y++,x+y)的值為13,而第二個形參的值為8(根據(jù)語法規(guī)則,應(yīng)當(dāng)先使用,后自增),所以func()的返回值為13+8=21。
47.B數(shù)據(jù)庫應(yīng)用系統(tǒng)的邏輯設(shè)計包括數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫事務(wù)概要設(shè)計和應(yīng)用程序概要設(shè)計三方面。數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計的主要步驟為:將E—R圖轉(zhuǎn)換為初始關(guān)系模式,對初始關(guān)系模式進行優(yōu)化,檢查關(guān)系表對數(shù)據(jù)庫事務(wù)的支持性,確定關(guān)系模式完整性約束,設(shè)計基于關(guān)系模式的用戶視圖。
48.D解析:語句*p=*q:使指針p指向q所指向的存儲單元,同時p得到該存儲單元的內(nèi)容及其類型,所以D項敘述正確。
49.D解析:該題目要求的是最大數(shù)的位置(下標)。程序通過對a所指數(shù)組中的元素進行逐個比較,記錄最大數(shù)的下標i,并把該下標記錄在變量p中,所以,如果a[i]>a[p]關(guān)系成立,應(yīng)該把i的值賦給p,這樣才滿足題目的要求。
50.A
51.C解析:按位與運算符“&”的運算規(guī)則是:如果兩個相應(yīng)的二進制位都為1,則該位的結(jié)果為1,否則為0。因為本題中相與的兩個數(shù)相同,即對應(yīng)位的二進制數(shù)相等,所以結(jié)果為其值本身。
52.A
53.A解析:本題主要考查定義結(jié)構(gòu)體的幾個特點:①結(jié)構(gòu)的定義明確了結(jié)構(gòu)的組成形式,定義了一種C語言中沒有而用戶需要的新的數(shù)據(jù)類型。與其他的數(shù)據(jù)類型不同,在程序編譯的時候結(jié)構(gòu)的定義并不會使系統(tǒng)為該結(jié)構(gòu)分配內(nèi)存空間,只有在說明結(jié)構(gòu)變量時才分配內(nèi)存空間;②結(jié)構(gòu)體的成員名可以與程序中的變量名相同:⑧結(jié)構(gòu)體中的成員可以單獨使用,它的作用相當(dāng)于普通變量:④結(jié)構(gòu)體可以嵌套定義。
54.D解析:本題考查了二叉樹的基本概念。在二叉樹中,葉子節(jié)點的度是1;當(dāng)該二叉樹為空樹時,根節(jié)點的度為零;為非空樹時,根節(jié)點的度為2。
55.C解析:選項A)和選項B)在條件判斷語句的后面是空語句,什么都不做;在選項D)if后面是一個復(fù)合空語句;而在選項C)中,在x--后面少了一個分號,所以程序段在編譯時,會出現(xiàn)語法錯誤。
56.D解析:解此題要注意的問題有兩個:一是,二維數(shù)組在內(nèi)存中的存放形式是線性的,且是以行方式排列的。例如:a[3][4]在內(nèi)存中是以a[0][0],a[0][1],a[0][2],a[0][3],a[1][0],a[1][1],a[1][2],…的順序排列的。二是,數(shù)組的下標范圍是從0開始至上限減1為止的。例如:a[5]中5個元素的下標范圍是0~4。所以,元素a[i][j]剛在m列的二維數(shù)組a中,其上面已經(jīng)有a[0][?]~a[i-1][?],i行元素,加上其左面的a[i][0]~a[i][j-1],j個元素,再加上自己所處的位置1就是該元素在數(shù)組中的位置值了。i行元素的個數(shù)是i*m,所以元素a[i][j]在數(shù)組中的位置為i*+j+1。得出結(jié)論后還應(yīng)該驗證一下,當(dāng)i=0,j=0時,a[0][0]所處的位置代入式子為0*m+0+1:1,符合題意。故正確答案為D。
57.A解析:選項A表示為讀/寫打開一個文本文件,符合題意;選項B表示為讀/寫建立一個新的文本文件;選項C表示為讀/寫打開一個二進制文件:選項D表示為讀/寫建立一個新的二進制文件。故應(yīng)該選擇A。
58.C解析:不論main函數(shù)在整個過程中的位置如何,一個C程序總是從main函數(shù)開始執(zhí)行的。
59.B解析:本題考查文件使用方式標識符。方式“wb”為輸出打開一個二進制文件;方式“wb+”為讀寫建立一個新的二進制文件;方式“rb+”為讀寫打開一個二進制文件:方式“rb”為輸入打開一個二進制文件。
60.C解析:本題考查數(shù)組地址的表示。選項C)中,數(shù)組名所表示的數(shù)組地址不能被重新賦值。
61.A本題考查的是通過指針引用二維數(shù)組元素。通過一維數(shù)組名或指向一維數(shù)組元素的指針來引用數(shù)組元素有兩種寫法:a[i]和*(a+i),它們是等價的。這是一種運算符之間的等價轉(zhuǎn)換,就好像a一(b—c)等價于a-b+c一樣。知道了這種轉(zhuǎn)換,我們可以將之?dāng)U展到二維數(shù)組甚至任意維數(shù)組上來。因為口運算符的結(jié)合性是從左至右的,所以w[i珩]等價于(w[i][j],此時可以先將任意一個口運算符轉(zhuǎn)換為指針形式為(·(w+i))[j]或*(w[i]+j),或者同時轉(zhuǎn)換為*(*(W+i)+j)。上述幾種形式都完全等價于w[il[j]。
62.D軟件測試是為
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度柴油運輸合同稅收籌劃樣本4篇
- 二零二四年度印刷居間合同-印刷品設(shè)計居間代理協(xié)議3篇
- 地漏拆除施工方案
- 2025年度茶山茶葉包裝設(shè)計合同模板4篇
- 二零二四全新一致行動人法律服務(wù)合作協(xié)議下載3篇
- 2025年度共享單車租賃與維護合同70863(綠色版)4篇
- 2025年度出納人員責(zé)任擔(dān)保與業(yè)務(wù)規(guī)范合同4篇
- 鄲城縣一模答案數(shù)學(xué)試卷
- 五年級數(shù)學(xué)(小數(shù)乘法)計算題專項練習(xí)及答案匯編
- 當(dāng)代工筆人物畫肌理技法在個人創(chuàng)作中的實踐與運用
- 2024-2030年中國食品飲料灌裝設(shè)備行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 建筑結(jié)構(gòu)課程設(shè)計成果
- 班級建設(shè)方案中等職業(yè)學(xué)校班主任能力大賽
- 纖維增強復(fù)合材料 單向增強材料Ⅰ型-Ⅱ 型混合層間斷裂韌性的測定 編制說明
- 習(xí)近平法治思想概論教學(xué)課件緒論
- 寵物會展策劃設(shè)計方案
- 孤殘兒童護理員(四級)試題
- 醫(yī)院急診醫(yī)學(xué)小講課課件:急診呼吸衰竭的處理
- 腸梗阻導(dǎo)管在臨床中的使用及護理課件
- 小學(xué)英語單詞匯總大全打印
- 衛(wèi)生健康系統(tǒng)安全生產(chǎn)隱患全面排查
評論
0/150
提交評論