




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021-2022年河南省洛陽市全國計算機等級考試C語言程序設計真題二卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.以下敘述中錯誤的是()。
A.通過指針變量存取某個變量值的方式稱為“直接存取”方式
B.在程序的開頭包含頭文件stdio.h后,可以給指針變量賦NULL值
C.將一個指針變量中的值賦給另一個指針變量,則這兩個指針變量指向同一地址
D.C語言中函數(shù)返回值的類型可以是簡單的數(shù)據(jù)類型,也可以是指針類型
2.若某表最常用的操作是在最后一個結點之后插入一個結點或刪除最后一個結點,則采用()存儲方式最節(jié)省運算時間。
A.單鏈表B.給出表頭指針的單循環(huán)鏈表C.雙鏈表D.帶頭結點的雙循環(huán)鏈表
3.有以下程序:#include<stdio.h>#include<math.h>main(){ints;floatn,t,pai;t=1,pai=0,n=1.0,s=1;while(fabs(t)>1.0e-6){pai+=t;n+=2;s=-s;t=s/n;}printf(“total=%f\n”,pai);}程序運行所計算的是()。
A.1-1/2!+1/3!-1/5!+1/7!-…
B.1+1/3+1/5+1/7+1/9-…
C.1+1/2+1/3+1/4+1/5-…
D.1-1/3+1/5-1/7+1/9-…
4.下面屬于黑盒測試方法的是()。
A.邊界值分析B.路徑覆蓋C.語句覆蓋D.邏輯覆蓋
5.若有定義“intw[3][5];”,則以下不能正確表示該數(shù)組元素的表達式是()。
A.*(&w[0][0]+1)B.*(*w+3)C.*(*(w+1))D.*(w+1)[4]
6.有下列程序:main{charp[]={a,h,c},q[]="a";printf("%d%d\n".sizeof(P),sizeof(q));}程序運行后的輸出結果是()。A.44B.33C.34D.43
7.
8.有如下程序:main{intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++.b++;}printf("a=%d,b=%d\n",a,b);}該程序的輸出結果是()。A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
9.
10.以下敘述中錯誤的是()。
A.C語言編寫的函數(shù)源程序,其文件名后綴可以是C
B.C語言編寫的函數(shù)都可以作為一個獨立的源程序文件
C.C語言編寫的每個函數(shù)都可以進行獨立的編譯并執(zhí)行
D.一個C語言程序只能有一個主函數(shù)
11.軟件詳細設計生產的圖如右圖:該圖是()。
A.N—S圖B.PAD圖C.程序流程圖D.E—R圖
12.下列敘述中正確的是()。A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動態(tài)變化
B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動態(tài)變化
C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動態(tài)變化
D.在棧中,棧中元素不會隨棧底指針與棧頂指針的變化而動態(tài)變化
13.不帶頭結點的單鏈表head為空的判定條件是()。
A.head=NULLB.head->next=NULLC.head->next=headD.head!=NULL
14.在面向對象方法中,不屬于“對象”基本特點的是A.一致性B.分類性C.多態(tài)性D.標識唯一性
15.有以下程序執(zhí)行程序時,給變量X輸入l0,程序的輸出結果是()。
A.55B.54C.65D.45
16.
17.設x和y均為bool量,則x&&y為真的條件是()。
A.它們均為真B.其中一個為真C.它們均為假D.其中一個
18.有以下程序#includevoidWriteStr(char*fn,char*str){FILE*fp;fp=fopen(fn,"w");fputs(str,fp);fclose(fp);}main(){WriteStr("t1.dat","start");WriteStr("t1.dat","end");}程序運行后,文件t1.dat中的內容是______。
A.startB.endC.startendD.endrt
19.a、b、c、d變量均為float類型且已正確賦值,下列選項中與數(shù)學式子“2ab/(5cd)”等價的C語言表達式是()。
A.2/5*a/c*d/b
B.a/(5*c*d)*(2*b)
C.2*a*b/5*c*d
D.2/5*a*d*(1/c*d)
20.某二叉樹的前序和后序序列正好相反,則該二叉樹一定是_____的二叉樹
A.空或者只有一個結點B.高度等于其結點數(shù)C.任一結點無左孩子D.任一結點無右孩子
二、2.填空題(20題)21.下列程序的運行結果是______。
#include<stdio.h>
main()
{inta,b,c,n;
a=2;b=0;c=1;n=1;
while(n<=3)
{c=c*a;b=b+c;++n;}
printf("b=%d",B);
}
22.若有下列定義和語句:
char*s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
則輸出結果為______。
23.若有以下程序:
main()
{inta=4,b=3,c=5,t=0;
if(a<b)t=a;a=b;b=t;
if(a<c)t=a;a=c;c=t;
printf("%d%d%d\n",a,b,c);
}
執(zhí)行后的輸出結果是【】。
24.軟件的需求分析階段的工作,可以概括為四個方面:【】、需求分析、編寫需求規(guī)格說明書和需求評審。
25.下列程序的輸出結果是______。
#defineP(A)printf("%d,",(int)(A))
#definePRINT(A)P(A);printf("theend")
main()
{inti,a=0;
for(i=1;i<5.i++)
PRINT(a+i);
printf("\n");
}
26.下面程序的輸出是【】。
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);}
27.下面程序的輸出是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)
arr[i=i;]
for(1;i<4;i++)
k+=arr[i]+i;
printf("%d\n",k);}
28.在關系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是【】。
29.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、______和處理過程。
30.執(zhí)行以下程序后,輸出‘#’號的個數(shù)是【】。
#include<atdio.h>
main()
{inti,j;
for(i=1;i<5;i++)
for(j=2;j<=i;j++)putchar('#');
}
31.有以下程序:
#include<string.h>
main(intargc,char*argv[])
{inti,len=0;
for(i=1;i<argc;i+=2)len+=strlen(argv[i]);
printf("%d\n",len);
}
經編譯連接后生成的可執(zhí)行文件是ex.exe,若運行時輸入以下帶參數(shù)的命令行:
exabcdefgh3k44
執(zhí)行后的輸出結果是【】。
32.有以下程序:
voidswap1(intc[])
{intt;
t=c[0];c[0]=c[1];c[1]=t;
}
voidswap2(intc0,intc1)
{intt;
t=c0;c0=c1;c1=t;
}
main()
{inta[2]={3,5},b[2]={3,5};
swaplA);swap2(b[0],b[1]);
printf("%d,%d,%d,%d\n",a[0],a[1],b[0],b[1]);
}
其輸出結果是【】。
33.排序是計算機程序設計中的一種重要操作,常見的排序方法有插入排序、______和選擇排序。
34.在面向對象方法中,類的實例稱為______。
35.以下函數(shù)用來在w數(shù)組中插入x,w數(shù)組中的數(shù)已按由小到大的順序存放,n為數(shù)組中存放的數(shù)的個數(shù)。插入后數(shù)組中的個數(shù)仍然有序。請?zhí)羁?,使之完整?/p>
voidfun(char*w,charx,int*n)
{inti,p;
p=0;
w[*n]=x;
whiel(x>w[p])【】;
for(i=*n;i>p;i--)w[i]=【】;
w[p]=x;
++*n;
}
36.算法的復雜度主要包括時間復雜度和______復雜度。
37.在面向對象方法中,【】描述的是具有相似屬性與操作的一組對象。
38.以下程序運行后的輸出結果是【】。
main()
{
charc1,c2;
for(c1='0',c2='9';c1<c2;c1++,c2--)
printf("%c%c",c1,c2);
printf("\n");
}
39.設一棵完全二叉樹共有500個結點,則在該二叉樹中有【】個葉子結點。
40.下列程序的輸出結果是【】。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
三、1.選擇題(20題)41.以下敘述中錯誤的是A.算法正確的程序最終一定會結束
B.算法正確的程序可以有零個輸出
C.算法正確的程序可以有零個輸入
D.算法正確的程序對于相同的輸入一定有相同的結果
42.“商品”與“顧客”兩個實體集之間的聯(lián)系一般是
A.一對一B.一對多C.多對一D.多對多
43.串的長度是()。
A.串中不同字符的個數(shù)B.串中不同字母的個數(shù)C.串中所含字符的個數(shù)且字符個數(shù)大于0D.串中所含字符的個數(shù)
44.有以下程序:main(){inta=[10]{1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf("%d\n",*p+*q);}程序運行后的輸出結果是______。
A.16B.10C.8D.6
45.若函數(shù)調用時的實參為變量時,以下關于函數(shù)形參和實參的敘述中正確的是______。
A.函數(shù)的實參和其對應的形參共占同一存儲單元
B.形參只是形式上的存在,不會占用具體存儲單元
C.同名的實參和形參占同一存儲單元
D.函數(shù)的形參和實參分別占用不同的存儲單元
46.有以下程序段:intk=0;while(k=1)k++;while循環(huán)執(zhí)行的次數(shù)是______。
A.無限次B.有語法錯,不能執(zhí)行C.一次也不執(zhí)行D.執(zhí)行1次
47.數(shù)據(jù)結構中,與所使用的計算機無關的是數(shù)據(jù)的()
A.存儲結構B.物理結構C.邏輯結構D.線性結構
48.有如下程序intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}該程序的輸出結果是______。
A.12B.13C.14D.15
49.下面四個選項中,均是不合法的用戶標識符的選項是()。
A.AP_0doB.floatla0_AC.b-agotointD._123tempint
50.實體是信息世界中廣泛使用的一個術語,它用于表示()。
A.有生命的事物B.無生命的事物C.實際存在的事物D.一切事物
51.下列不屬于軟件工程的3個要素的是______。
A.工具B.過程C.方法D.環(huán)境
52.有以下程序main(){chara[7]="a0\0a0\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}程序運行后的輸出結果是______。
A.22B.76C.72D.62
53.下圖所示的二叉樹的先序遍歷序列是()。
A.ABDGCEHIFB.DGBAHEICFC.GDBHIEFCAD.ABCDEFGHl
54.下面的關鍵字中,不能夠從循環(huán)體中跳到循環(huán)體外的是______。
A.gotoB.breakC.returnD.continue
55.若有定義:inta[4][10];,則以下選項中對數(shù)組元素a[i][j]引用錯誤的是______。(0<=i<4,0<=j<10)
A.*(&a[0][0]+10*i+j)B.*(a+i)+jC.*(*(a+i)+j)D.*(a[i]+j)
56.486PC機主板上一般帶有高速緩沖存儲器Cache,它是()之間的儲存。
A.CPU與輔助存助器B.CPU與主存儲器C.軟盤與內存D.硬盤與內存
57.下列敘述中錯誤的是()。
A.線性表是由n個元素組成的一個有限序列
B.線性表是一種線性結構
C.線性表的所有結點有且僅有一個前件和后件
D.線性表可以是空表
58.有以下程序段intn,t=1,s=0;scanf("%d",&n);do{s=s+t;t=t-2;}while(t!=n);為使此程序段不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應該是
A.任意正奇數(shù)B.任意負偶數(shù)C.任意正偶數(shù)D.任意負奇數(shù)
59.以下敘述中正確的是()。
A.構成C程序的基本單位是函數(shù)
B.可以在一個函數(shù)中定義另一個函數(shù)
C.main函數(shù)必須放在其他函數(shù)之前
D.C函數(shù)定義的格式是K&R格式
60.算法的空間復雜度是指()。
A.算法程序的長度B.算法程序中的指令條數(shù)C.算法程序所占的存儲空間D.執(zhí)行算法需要的內存空間
四、選擇題(20題)61.(48)軟件調試的目的是()
A.發(fā)現(xiàn)錯誤
B.改正錯誤
C.改善軟件的性能
D.挖掘軟件的潛能
62.(33)有以下程序段
inti,n;
for(i=0;i<8;i++)
{n=rand()%5;
switch(n)
{case1:
case3:printf("%d\n",n);break;
case2:
case4:printf("%d\n",n);continue;
case0:exit(0);
}
printf("%d\n",n);
}
以下關于程序段執(zhí)行情況的敘述,正確的是
A)for循環(huán)語句固定執(zhí)行8次
B)當產生的隨機數(shù)n為4時結束循環(huán)操作
C)當產生的隨機數(shù)n為1和2時不做任何操作
D)當產生的隨機數(shù)n為0時結束程序運行
63.語句:“printf("%d",(a=)&&(b=-2));”的輸出結果是()。A.A.無輸出B.結果是不確定C.-1D.1
64.對下列二叉樹
進行中序遍歷的結果是()。
A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG
65.
66.C語言可執(zhí)行程序的開始執(zhí)行點是()。
A.包含文件中的第一個函數(shù)B.程序中第一個函數(shù)C.程序中的main()函數(shù)D.程序中第一條語句
67.
68.
69.
70.以下四個程序中。完全正確的縣()
71.若變量x,y已正確定義并賦值,以下符號C語言語法的表達式是()。
A)++x,y=x--B)x+1=y
C)x=x+10=x+yD)double(x)/10
72.下面描述中,不屬于軟件危機表現(xiàn)的是()A.軟件過程不規(guī)范B.軟件開發(fā)生產率低C.軟件質量難以控制D.軟件成本不斷提高
73.選出下列標識符中不是合法的標識符的是()。
A.hot_doB.cat1C._priD.2ab
74.
有下列程序:
main
{charp[]={a,h,c},q[]="a";
printf("%d%d\n".sizeof(P),sizeof(q));
}
程序運行后的輸出結果是()。
A.44B.33C.34D.43
75.C源程序中不能表示的數(shù)制是
A.十進制B.八進制
C.二進制D.十六進制
76.
77.設變量均已正確定義,若要通過
scaIIf(”%d%c%d%c”,&;al,&;el,&;a2,&;c2);
語句為變量al和a2賦數(shù)值l0和20,為變量cl和c2賦字符x和Y。以下所示的輸入形式中正確的是()。(注:口代表空格字符)
78.
79.以下程序的輸出結果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}
A.19B.17C.15D.12
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)形參m(2≤m≤9)的值,在m行m列的二維數(shù)組中存放如下所示的數(shù)據(jù),由main()函數(shù)輸出。
請修改程序中的錯誤,使它能得出正確的結果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。
試題程序:
六、程序設計題(1題)82.請編寫函數(shù)proc,該函數(shù)的功能是:將放在字符串數(shù)組中的M個字符串(每串的長度不超過N),按順序合并組成一個新的字符串。
例如,若字符串數(shù)組中的M個字符串為:
ABCD
BCDEFG
CDEFGHI
則合并后的字符串內容應該是ABCDBCDEFGCDEF—GHl。
注意:部分源程序給出如下。
請勿改動main函數(shù)和其他函數(shù)中的任何內容,僅在函數(shù)proc的花括號中填人所編寫的若干語句。
試題程序:
#include<stdio.h>
#include<conio.h>
#defineM3
#defineN20
voidproc(chararr[M][N],char*b)
{}
voidmain
{
charstr[M][N]={"ABCD","BCDEFG","
CDEFGHI"},i;
chararr[100]={"#############
#####");
printf("Thestring:\n");
for(i=0;i<M;i++)
puts(str[i]);
printf("\n");
proc(str,arr);
printf("TheAstring:\n");
printf("%s",arr);
printf("\n\n");
}
參考答案
1.A通過指針變量存取某個變量值的方式稱為“間接存取”方式,選項A錯誤;頭文件stdio.h中定義了NULL,在程序的開頭包含stdio.h后,可以給指針變量賦NULL值,表示一個空指針,選項B正確;將一個指針變量中的值賦給另一個指針變量,這兩個指針變量指向同一地址,選項C正確;C語言中函數(shù)返回值的類型可以是簡單的數(shù)據(jù)類型,也可以是指針類型,選項D正確。故本題答案為A選項。
2.D
3.Dmain函數(shù)首先定義整型變量S,初值為1;定義float類型的n、t、Pai,其中n初值為1.0,t初值為1,pai初值為0。while循環(huán)判斷t的絕對值(fabs為求float類型值的絕對值的函數(shù))是否大于1.0×10-6,若t的絕對值大于1.0×10-6,那么,執(zhí)行語句“pai+=t;n+=2;s=-s;t=s/n;”,所以每輪循環(huán)pai累加“s/n”(其中s是上一輪s的相反數(shù),n是上一輪n累加2的值)。第1輪循環(huán)時,pai被賦值為1,s是正數(shù),所以最終pai的計算結果是:1-1/3+1/5-1/7+1/9-…。故本題答案為D選項。
4.A黑盒測試方法主要有等價類劃分、邊界值分析、因果圖、錯誤推測等。白盒測試的主要方法有邏輯驅動、路徑測試等,主要用于軟件驗證。
5.DA選項中,“*(&w[0][0]+1)”表示“w[0][1]”;B選項中,“*(*w+3)”表示“w[0][3]”;C選項中,“*(*(w+1))”表示“w[1][0]”;D選項中,“*(w+1)[4]”的正確寫法是“(*(w+1))[4]”,表示“w[1][4]”。故本題答案為D選項。
6.C語句charp[]={a,b,c);定義了一個一維字符數(shù)組p[],并用3個字符a,b,c進行了初始化;而語句q[]="abe"表示定義了一個一維字符數(shù)組,并用一個字符串常量"abc"進行了初始化。在C語言中,系統(tǒng)在每個字符串常量的最后自動加入一個字符\0作為字符串的結束符。所以函數(shù)sizeof(q)=4,而sizeof(p)=3,因而選項C為正確答案。
7.C
8.A當x為1時,執(zhí)行case1,a自加等于1,因為case1后沒有break,接著執(zhí)行case2,此時a的值為2,b自加為1,故選擇A選項。
9.A
10.C函數(shù)是指預先定義功能塊,其目的是提高程序的重用性。在C語言中函數(shù)的源程序,后綴名可以為C。C語言所編寫的函數(shù)都可以是一個獨立的源文件。一個C語言程序只能有一個主函數(shù)。C語言中編寫的函數(shù)不是每個都可以獨立地編譯和執(zhí)行的,因為C語言中程序的開始為主函數(shù),如果程序中沒有主函數(shù)則無法進行編譯和執(zhí)行。
11.CN—s圖提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,所以A不對。PAD圖是問題分析圖,它是繼承程序流程圖和方框圖之后提出的又一種主要用于描述軟件詳細設計的圖形表示工具,所以8不對。E—R圖是數(shù)據(jù)庫中的用于表示E—R模型的圖示工具,所以D不對。根據(jù)圖中所示表示方法是進行軟件詳細設計時使用的程序流程圖。
12.C棧是先進后出的數(shù)據(jù)結構,在對棧操作的整個過程中,棧底指針不變,入棧與出棧操作均由棧頂指針的變化來完成,因此本題答案為c)。
13.A
14.A對象具有如下特性:標識唯一性、分類性、多態(tài)性、封裝性、模塊獨立性。
15.A本題考查的是遞歸算法的分析。一個直接或間接地調用自身的算法稱為遞歸算法。在一個遞歸算法中,至少要包含一個初始值和一個遞歸關系。本題的fun()函數(shù)在n等于l時返回1,而在其余情況下返[fi]n+fun(n一1),所以本題的遞歸算法可以這樣來表示:fun(n)=1(n=1)(初始值)fun(n)=n+fun(n一1)(n≠1)(遞歸關系)此時不難看出,該遞歸算法實現(xiàn)的是計算l+2+3+…+n,而且n必須大于0,否則會陷入死循環(huán)。故題目輸出的結果是l+2+3+..+10=55.應該選擇A)。
16.A
17.A
18.B
19.B解析:選項A和選項D中首先計算2/5,因為兩個計算分量都是整型,所以結果為2,與實際運算不符;選項B中因為乘除法滿足交換律,所以2*b放前面和放后面都是一樣的,所以滿足題目要求;選項C中的表達式等價于2abcd/5,所以不滿足題目要求。故應該選擇B。
20.B
21.b=14b=14解析:分析程序可知,n的初始值為1,因此,while(n<=3)循環(huán)3次。第1次:c=c*a=2:b=b+c=2;n=2。第2次:c=c*a=4;b=-b+c=6;n=3。第3次;c=c*a=8:b=b+c=14。當n=4時,判斷條件不滿足,退出循環(huán)。
22.44解析:strcpy(s1,s2)函數(shù)的作用是將字符串s2中的內容拷貝到字符串s1中的內容覆蓋。strlen()函數(shù)是求字符串的長度。本題實際上是要求s2字符串的長度,即是4。
23.503503解析:本題考查的是C語言中if語句的語句體。第一個if語句的語句體為t=a,第二個if語句的語句體為t=a。執(zhí)行第一個if語句時,條件a<b不成立,所以不執(zhí)行t=a,直接執(zhí)行語句a=b和b=t得a=3、b=0,然后判斷第二個if語句的條件a<c是否成立,即判斷3<5是否成立,顯然條件成立,執(zhí)行語句t=a得t=3,接著執(zhí)行a=c;c=t得a=5、c=3,所以a=5、c=3、b=0。
24.需求獲取需求獲取解析:軟件的需求分析階段的工作,可以概括為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審。需求獲取的目的是確定對目標系統(tǒng)的各方面需求;需求分析是對獲取的需求進行分析和綜合,最終給出系統(tǒng)的解決方案和目標系統(tǒng)的邏輯模型;編寫需求規(guī)格說明書作為需求分析的階段成果,可以為用戶、分析人員和設計人員之間的交流提供方便,可以直接支持目標軟件系統(tǒng)的確認,又可以作為控制軟件開發(fā)進度的依據(jù);需求評審是對需求分析階段的工作進行的復審,驗證需求文檔的一致性、可行性、完整性和有效性。
25.1234theend1,2,3,4,theend解析:本題考查帶參數(shù)的宏的定義。第1次循環(huán),i=1時,調用PRINT(1),P(1)輸出1;第2次循環(huán),i=2時,調用PRINT(2),P(2)輸出2:第3次循環(huán),i=3時,調用PRINT(3),P(3)輸出3:第4次循環(huán),i=4時,調用PRINT(4),P(4)輸出4,theend。
26.1212解析:本題通過第一個for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過第二個for循環(huán)的三次循環(huán)累加,求出結果為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;
27.1212解析:本題通過第—個for循環(huán)將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過第二個for循環(huán)的三次循環(huán)累加,求出結果為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;
28.關系關系解析:在關系數(shù)據(jù)庫中,用關系也就是二維表來表示實體之間的聯(lián)系。
29.數(shù)據(jù)存儲數(shù)據(jù)存儲
30.66解析:本題中,i,j分別為外循環(huán)和內循環(huán)的循環(huán)控制變量,外層循環(huán)共執(zhí)行了4次。當i=1時,由于內層循環(huán)判斷條件(2<=1)為假不執(zhí)行內層循環(huán)。當i=2時,執(zhí)行內層循環(huán),輸出一個#;當i=3時,內層循環(huán)循環(huán)兩次,輸出兩個#;當i=4時,內層循環(huán)循環(huán)三次,輸出三個#;當i=5時,循環(huán)判斷條件不成立,退出外層循環(huán)。所以一共輸出6個#。
31.66解析:本題中命令行輸入5個符號串,所以argc=5,argv[0]指向符號串'ex',argv[1]指向符號串'abcd',argv[2]指向符號串'efg',argv[3]指向符號串'h3',argv[4]指向符號串'k44',for循環(huán)的作用是計算strlen(argv[1]),strlen(argv[3])=4+2=6。
32.53355335解析:函數(shù)swap1的形參是數(shù)組,故形參的改變能夠影響實參,所以執(zhí)行完swap1(a)后,a[0]=5、a[1]=3;函數(shù)swap2的形參是簡單變量,故形參的改變不能夠影響實參,所以執(zhí)行完swap2(b)后,b[0]=3、b[1]=5;正確答案為5335。
33.交換排序交換排序解析:所謂排序是指將一個無序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。
34.對象對象解析:類描述的是具有相似性質的一組對象。例如,每本具體的書是一個對象,而這些具體的書都有共同的性質,它們都屬于更一般的概念“書”這一類對象。一個具體對象稱為類的實例。
35.++pw[i-1]
36.空間空間解析:算法的復雜度主要包括時間復雜度和空間復雜度。所謂算法的時間復雜度,是指執(zhí)行算法所需要的計算工作量。一個算法的空間復雜度,一般是指執(zhí)行這個算法所需要的內存空間。
37.類類解析:在面向對象方法中,類描述的是具有相似屬性與操作的一組對象。
38.09182736450918273645解析:題目中為for循環(huán)定義了兩個字符型循環(huán)變量c1和c2,循環(huán)開始時分別初始化為字符‘0’和‘9’,然后每次循環(huán)結束給c1增1、c2減l,循環(huán)條件為c1<c2,即讓c1的值依次為‘0’、‘1’、‘2’…,c2的值依次為‘9’、‘8’、‘7’…,直到兩個數(shù)相遇時結束循環(huán)。又因為該循環(huán)的循環(huán)體每次按字符形式輸出c1和c2的值。所以最終的輸出結果為:0918273645。
39.250250解析:所謂完全二叉樹是指除最后一層外,每—層上的結點數(shù)均達到最大值;在最后—層上只缺少右邊的若干結點。具有n個結點的完全二叉樹,其父結點數(shù)為int(n/2),而葉子結點數(shù)等于總結點數(shù)減去父結點數(shù)。本題n=500,故父結點數(shù)等于int(500/2)=250,葉子結點數(shù)等于500-25=250。
40.5656解析:本題中a,b,c,d足實參,x,y,cp,dp是形參。C語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內存中,實參單元與形參單元是不同的單元。在調用函數(shù)時,給形參分配存儲單元,并將實參對應的值傳遞給形參,調用結束后,形參單元被釋放,實參單元仍保留并維持原值。因此,程序的輸出結果是56。
41.B(45)B)解析:算法應該具有下列五個特性:
①有窮性:一個算法必須在執(zhí)行有窮步之后結束。
②確定性:算法中的每一步,必須有確切的含義,在他人理解時不會產生二義性。
③動態(tài)性:算法中描述的每一步操作都可以通過已有的基本操作執(zhí)行有限次實現(xiàn)。
④輸入:一個算法應該有零個或多個輸入。
⑤輸出:一個算法應該有一個或多個輸出。這里所說的輸出是指與輸入有某種特定關系的量。
42.D解析:兩個實體間的聯(lián)系可以歸納為3種類型:一對一聯(lián)系:一對一的聯(lián)系表現(xiàn)為主表中的每一條記錄只與相關表中的一條記錄相關聯(lián)。一對多聯(lián)系,一對多的聯(lián)系表現(xiàn)為主表中的每一條記錄與相關表中的多條記錄相關聯(lián)。多對多聯(lián)系:多對多的聯(lián)系表現(xiàn)為二個表中的多個記錄在相關表中同樣有多個記錄其匹配。本題中一個顧客可以購買多種商品,同一種商品可以有多個顧客購買,所以商品和顧客之間是多對多的聯(lián)系。
43.D解析:串的長度是指串中字符的個數(shù),且其字符個數(shù)可以為0。
44.B解析:p指向了a[3]的地址,且*p=a[3]=4,又有*q=p-2;則q指向了a[5]的地址,且*q=a[5]=6,最后輸出為10。
45.D解析:本題考查的重點是形參與實參的存儲單元是否一致。C語言中,函數(shù)的形參和實參是分別占用不同的存儲單元的,因此,選項D是正確的。
46.A解析:注意本題有個陷阱,馬虎的考生將紛紛落馬。本來、while中的表達式應為k==1,而本題卻為k=1,是賦值表達式而不是邏輯表達式。因此,編譯器將其值一直認為是1,因此表達式一直為真,陷入無限次的循環(huán)。
47.Cc)【解析】數(shù)據(jù)的邏輯結構反映的是數(shù)據(jù)元素之間的邏輯關系,與使用的計算機無關。
48.D解析:調用函數(shù)func(x,y),返回x+y,即7;再調用函數(shù)func(7,z),返回7+z,即15。
49.C解析:C語言規(guī)定的標識符只能由字母、數(shù)字和下劃線3種字符組成,第一個字符必須為字母或下劃線,并且不能使用C語言中的關鍵字作為標識符。選項C)中goto和int是關鍵字,b-a中'-'不是組成標識符的3種字符之一;選項D)中int是關鍵字,所以,均是不合法用戶標識符的選項是C)。
50.C解析:實體是客觀存在且可以相互區(qū)別的事物。實體可以是具體的對象,如一個學生,也可以是一個抽象的事件,如一次出門旅游等。因此,實體既可以是有生命的事物,也可以是無生命的事物,但它必須是客觀存在的,而且可以相互區(qū)別。
51.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項目的技術手段;工具支持軟件的開發(fā)、管理和文檔生成;過程支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理。
52.C題目中需要求出程序的輸出值i,j,其中i的值由sizeof決定,j的值由strlen函數(shù)決定。
sizeof是C語言的一種運算符,以字節(jié)的形式給出操作數(shù)的存儲空間的大小。sizeof的操作對象可以是具體的數(shù)據(jù)類型,也可以是變量。題目中的操作數(shù)為數(shù)組名,利用sizeof可計算出數(shù)組所占用內存的字節(jié)數(shù),題目中數(shù)組類型為char,大小為7,故該數(shù)組占用的內存數(shù)為7。
strlen函數(shù)則是計算一段字符串的長度,可以從整個字符串的頭部開始計算,也可以從字符串的中間開始計算,當碰到第一個字符串結束符“\\0”,則停止計算,返回當前的計算值。題目中在前兩個字符之后就出現(xiàn)了結束符“\\0”,故strlen函數(shù)的值為2。
53.A解析:先序遍歷順序應該為:訪問根結點→先序遍歷左子樹→先序遍歷右子樹。按照定義,先序遍歷序列是ABDGCEHIF。
54.B解析:在C語言中,可以用break語句和continue語句跳出本層循環(huán)和結束本次循環(huán)。goto語句可跳出多層循環(huán),如果在函數(shù)的循環(huán)體內使用return語句,就會直接結束循環(huán)返回函數(shù)值。
55.B解析:本題中選項B是錯誤的引用,*(a+i)+j只代表了a[i][j]的地址。
56.B
57.CC.【解析】線性表是一種線性結構,由n(n≥0)個元素組成,所以線性表可以是空表。但是在線性表中,第一個結點沒有前件,最后一個結點沒有后件,其他結點有且只有一個前件和后件,所以選項C.是錯誤的。
58.D解析:本題考查的是do…while循環(huán)結構.do…while循環(huán)與while循環(huán)的區(qū)別就是,前者是先執(zhí)行循環(huán)體,后判斷循環(huán)變量,故至少會執(zhí)行一遍循環(huán)體;后者先判斷再執(zhí)行,可能循環(huán)體一次也不會執(zhí)行。本題首先讓t=1,然后在循環(huán)體中每次自減2,所以判斷循環(huán)條件的時候,t會等于-1、-3、-5……,故只有n等于任意的負奇數(shù)才有可能終止循環(huán).選項D正確。
59.A解析:本題考查C語言的綜合基礎知識。構成C程序的基本單位是函數(shù),一個C程序總是從main函數(shù)開始執(zhí)行,而不論main函數(shù)在整個程序中的位置如何。C語言的函數(shù)定義都是互相平行、獨立的,在定義函數(shù)時,一個函數(shù)內不能定義另一個函數(shù)。C函數(shù)定義的一般格式有兩種:傳統(tǒng)格式和現(xiàn)代格式。傳統(tǒng)格式也稱K&R格式,是早期編譯系統(tǒng)使用的格式;現(xiàn)代格式又稱ANSI格式,是現(xiàn)代編譯系統(tǒng)使用的格式。
60.D解
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 打造安全社區(qū)的基本原則計劃
- 足球訓練科技的發(fā)展與團隊配合、個人技巧的進步
- 跨文化背景下的節(jié)日慶祝習慣比較研究
- 零售業(yè)資產證券化的策略與實踐
- 跨區(qū)域醫(yī)療資源分配與醫(yī)養(yǎng)服務網(wǎng)絡構建
- 質量提升關鍵點之一-對標行業(yè)標桿的血檢儀器如精準度保持措施詳解
- 廣西2025年01月廣西壯族自治區(qū)衛(wèi)生健康對外交流合作中心2025年招考工作人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025年安徽淮海實業(yè)發(fā)展集團有限公司校園招聘筆試參考題庫附帶答案詳解
- 跨文化背景下電商平臺的發(fā)展策略
- 四年級數(shù)學下冊折線統(tǒng)計圖教案蘇教版
- 大學生安全知識班會
- 課件圍術期下肢深靜脈血栓的預防與護理
- 2025年菏澤家政職業(yè)學院單招職業(yè)技能測試題庫完美版
- 《電力變壓器》課件
- 初級鐵路線路工技能鑒定考試題庫
- 2025年度建筑垃圾運輸與再生資源回收一體化合同樣本
- 2024新人教版英語七下單詞默寫表(開學版)
- (2025)輔警招聘公安基礎知識必刷題庫及參考答案
- 農業(yè)機械設備維護與質量保障措施
- 基于圖像處理的CAD圖紙比對算法
- 人教版六年級下冊數(shù)學第二單元百分數(shù)(二)綜合練習卷-(附答案)
評論
0/150
提交評論