版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021-2022年廣東省廣州市全國計算機等級考試C語言程序設計測試卷一(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.以下敘述中錯誤的是()。
A.形參可以是常量、變量或表達式
B.實參可以是常量、變量或表達式
C.實參的類型應與形參的類型賦值兼容
D.實參的個數(shù)應與形參的個數(shù)一致
2.算法的有窮性是指A.算法程序的運行時間是有限的
B.算法程序所處理的數(shù)據(jù)量是有限的
C.算法程序的長度是有限的
D.算法只能被有限的用戶使用
3.已知一算術(shù)表達式的中綴形式為A+B*C–D/E,后綴形式為ABC*+DE/–,其前綴形式為()。
A.–A+B*C/DEB.–A+B*CD/EC.–+*ABC/DED.–+A*BC/DE
4.下列敘述中錯誤的是()。
A.用戶定義的函數(shù)中可以沒有return語句
B.用戶定義的函數(shù)中可以有多個return語句,以便調(diào)用一次返回多個函數(shù)值
C.用戶定義的函數(shù)中若沒有return語句,則應當定義函數(shù)為void類型
D.函數(shù)的return語句中可以沒有表達式
5.以下程序運行后,輸出結(jié)果是______。fut(int**s,intp[2][3]){**s=p[1][1];}main(){inta[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fut(&p,a);printf("%d\n",*p);}
A.1B.7C.9D.11
6.數(shù)字字符“2”的ASCII碼為十進制數(shù)50,數(shù)字字符“5”的ASCII碼為十進制數(shù)()
A.52B.55C.54D.53
7.以下敘述中錯誤的是()。
A.由3種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題
B.結(jié)構(gòu)化程序由順序、分支、循環(huán)3種基本結(jié)構(gòu)組成
C.C語言是一種結(jié)構(gòu)化程序設計語言
D.結(jié)構(gòu)化程序設計提倡模塊化的設計方法
8.下列程序的輸出結(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.3B.4C.5D.6
9.線性結(jié)構(gòu)是數(shù)據(jù)元素之間存在一種()。
A.一對多關(guān)系B.多對多關(guān)系C.多對一關(guān)系D.一對一關(guān)系
10.設已包含頭文件<string.h>,下列程序段的運行結(jié)果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));
A.3B.4C.6D.5
11.以下選項中,合法的一組C語言數(shù)值常量是()。
A.028.5e-3-0xf
B.12.OXa234.5eO
C..1774c1.5Oabc
D.0x8A10,0003.e5
12.C語言規(guī)定,程序中各函數(shù)之間()
A.既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用
B.不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用
C.允許直接遞歸調(diào)用不允許間接遞歸調(diào)用
D.不允許直接遞歸調(diào)用允許間接遞歸調(diào)用
13.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。
A.詳細設計B.需求分析C.總體設計D.編程調(diào)試
14.用鏈接方式存儲的隊列,在進行刪除運算時()。
A.僅修改頭指針B.僅修改尾指針C.頭、尾指針都要修改D.頭、尾指針可能都要修改
15.
16.
17.廣義表(a,b,c,d)的表頭是()。
A.aB.(a)C.(b,c,d)D.((b,c,c))
18.可以用帶表頭結(jié)點的鏈表表示線性表,也可用不帶表頭結(jié)點的鏈表表示線性表,前者最主要的好處是()。
A.可以加快對表的遍歷B.使空表和非空表的處理統(tǒng)一C.節(jié)省存儲空間D.可以提高存取表元素的速度
19.下列能正確進行字符串賦值的是()。
A.chars[5]={"ABCDE"};
B.chars[5]={A,B,C,D,E};
C.char*S;S="ABCDE";
D.char*s;printf("%《",s);
20.有以下程序:voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i+=2)for(j=i+2;j<n;j+=2)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa,10);for(i=0;i<10;i++)printf("%d",aa[i]);printf("\n");}其輸出結(jié)果是
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.9,2,7,4,5,6,3,8,1,10,
D.1,10,3,8,5,6,7,4,9,2,
二、2.填空題(20題)21.設在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且fun函數(shù)為void類型;請寫出fun函數(shù)的首部【】(要求形參名為b)。main(){doubles[10][22];intn;……fun(s);……}
22.在運算過程中,能夠使空表與非空表的運算統(tǒng)一的結(jié)構(gòu)是【】。
23.在數(shù)據(jù)庫理論中,數(shù)據(jù)物理結(jié)構(gòu)的改變,如存儲設備的更換、物理存儲的更換、存取方式等都不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不引起應用程序的變化,稱為【】。
24.下列循環(huán)的循環(huán)次數(shù)是______。
intk=2;
while(k=0)
printf["%d",k);
k--;
printf("\n");
25.下列程序段的運行結(jié)果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
26.【】(黑箱或白箱)測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征。
27.數(shù)據(jù)庫設計分為以下六個設計階段:需求分析階段、【】、邏輯設計階段、物理設計階段、實施階段、運行和維護階段。
28.下列程序段中循環(huán)體的執(zhí)行次數(shù)是______。
a=15;
b=0;
do{b+=2;a-=2+b;}while(a>=0);
29.數(shù)據(jù)庫的邏輯模型設計階段的任務是將______轉(zhuǎn)換成關(guān)系模式。
30.有以下程序:
#include<stdio.h>
intsub(intn)
{return(n/10+n%10);}
main()
{intx,y;
seanf("%d",&x);y=sub(sub(sub(x)));
printf("%d\n";,y);
}
若運行時輸入:1234<回車>,程序的輸出結(jié)果是【】。
31.以下程序是求矩陣a,b的和,結(jié)果存入矩陣c中,并按矩陣形式輸出,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta[3][4]={13,-2,7,5},{1,0,4,-3},{6,8,0,2}};
intb[3][4]={{-2,0,1,4},{5,-1,7,6},{6,8,0,2}};
inti,j,c[3][4];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
c[i][j]=【】;
for(i=0;i<3;i++)
{for(j=0;j<4;j++)
printf("%3d",c[i][j]);
printf("\n");}}
32.以下程序運行后的輸出結(jié)果是【】。
main()
{inta=1,b=3,c=5;
if(c=a+b)printf("yes\n");
elseprintf("no\n");
}
33.軟件危機出現(xiàn)于20時紀60年代末,為了解決軟件危機,人們提出了()的原理來設計軟件,這就是軟件工程誕生的基礎。
34.設有定義:intn,*k=&n;以下語句將利用指針變量k讀寫變量n中的內(nèi)容,請將語句補充完整。
scanf("%d",【】);
printf("%d\n",【】);
35.以下程序的輸出結(jié)果是【】。
main()
{ints,i;
for(s=0,i=1;i<3;i++,s+=i;
printf(“%d\n”,s);
}
36.以下isprime函數(shù)的功能是判斷形參a是否為素數(shù),是素數(shù),函數(shù)返回1,否則返回0。請?zhí)羁铡?/p>
intisprime(inta)
for(i=2;i<=a/2;i++)
if(a%i==0)[8];
[9];
37.測試的目的是暴露錯誤,評價程序的可靠性;而______的目的是發(fā)現(xiàn)錯誤的位置并改正錯誤。
38.排序是計算機程序設計中的一種重要操作,常見的排序方法有插入排序、【】和選擇排序等。
39.數(shù)據(jù)庫系統(tǒng)的主要特點為數(shù)據(jù)集成性、數(shù)據(jù)的高______和低冗余性、數(shù)據(jù)獨立性和數(shù)據(jù)統(tǒng)一管理和控制。
40.下列程序的運行結(jié)果是______。
#include<stdio.h>
main()
{inta,b,c;
a=3;b=4;c=5;
if(a>b)
if(a>c)
printf("%d",a);
elseprintf("%d",b);
printf("%d\n",c);
}
三、1.選擇題(20題)41.若以“a+”方式打開一個已存在的文件,則下列敘述正確的是()。
A.文件打開時,原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可以進行添加或讀操作
B.文件打開時,原有文件內(nèi)容不被刪除,只能進行讀操作
C.文件打開時,原有文件內(nèi)容被刪除,只能進行寫操作
D.以上三種說法都不正確
42.若有以下定義:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;則值為3的表達式是()
A.p+=2,*(pd++)B.p+=2,*++pC.p+=3,*p++D.p+=2,++*p
43.在關(guān)系數(shù)據(jù)庫中,對一個關(guān)系做投影操作后,新關(guān)系的元組個數(shù)將()
A.等于原來關(guān)系中的元組個數(shù)B.大于原來關(guān)系中的元組個數(shù)C.小于原來關(guān)系中的元組個數(shù)D.不能確定元組個數(shù)
44.已知下面的程序段,正確的判斷是______。#defineA3#defineB(A)((A+1)*a)inta=3;......X=3*(A+B(7));
A.程序錯誤,不允許嵌套定義B.X=93C.X=81D.程序錯誤,宏定義不允許有參數(shù)
45.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d\n",a);}
A.7B.8C.9D.10
46.以下敘述中正確的是A.全局變量的作用域一定比局部變量的作用域范圍大
B.靜態(tài)(static)類別變量的生存期貫穿于整個程序的運行期間
C.函數(shù)的形參都屬于全局變量
D.未在定義語句中賦初值的auto變量和static變量的初值都是隨機值
47.有以下程序:#include<stdio.h>prt(int*m,intn)inti;for(i=0;i<n;i++)m[i]++;main()}inta[]={1,2,3,4,5},i;prt(a,5);for(i=0;i<5;i++)printf("%d,",a[i]);}程序運行后的輸出結(jié)果是()。
A.1,2,3,4,5,B.2,3,4,5,6,C.3,4,5,6,7,D.2,3,4,5,1
48.假定下列程序的可執(zhí)行文件名為filel.exe,在該程序的子目錄下輸入命令行:file1ChinaBejing<回車>main(intargc,char*argv[]){while(argc-->1)printf("%s\n",*++argv);}則程序運行后的輸出結(jié)果是()。
A.filelChinaBejingB.ChinaBejingC.ChinaD.Bejing
49.有以下程序#include<stdio.h>main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+3);break;}}printf("\n")}從第一列開始輸入以
A.66877B.668966C.6677877D.6688766
50.若有定義int*p,n;則通過語句scanf能夠正確讀入數(shù)據(jù)的程序段是()。
A.p=&n;scanf("%d",&p);
B.p=&n;scanf("%d",*p);
C.scanf("%d",n);
D.p=&n;scanf("%d",p);
51.一個算法應該具有“確定性”等5個特性,下面對另外4個特性的描述中錯誤的是()A.有零個或多個輸入B.有零個或多個輸出C.有窮性D.可行性
52.下列程序的輸出結(jié)果是()。main(){inta,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b);}
A.6,1B.2,1C.6,0D.2,0
53.以下程序的輸出結(jié)果是______。main(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(1+1)];for(i=0;i<3;i++)k+=p[i]*2;printf("%d\n",k);}
A.20B.21C.22D.23
54.結(jié)構(gòu)化程序設計主要強調(diào)的是()。
A.程序的規(guī)模B.程序的效率C.程序設計語言的先進性D.程序的易讀性
55.當a的值為0時,在下列選項中能正確將a的值賦給變量x、y的是()。
A.(x=a)&&(y=a)B.x=a=yC.(y=a)||(x=a)D.a=x=y
56.算法的時間復雜度是指______。
A.執(zhí)行算法程序所需要的時間B.算法程序的長度C.算法執(zhí)行過程中所需要的基本運算次數(shù)D.算法程序中的指令條數(shù)
57.有以下程序main(){inta=0,i;for(i=1;i<5;i++){switch(i){case0case3:a+=2;case1;case2;a+=3;default,a+=5;}}printf("%d\n",a);}
A.31B.13C.10D.20
58.在C語言中,函數(shù)調(diào)用時()。
A.實參和形參各占獨立的存儲單元
B.實參和形參共用存儲單元
C.由系統(tǒng)自動確定實參和形參是否共用存儲單元
D.由用戶指定實參和形參是否共用存儲單元
59.下列選項中不會引起二義性的宏定義是()。
A.#defineS(x)x*x
B.#defineS(x)(x)*(x)
C.#defineS(x)(x*x)
D.#defineS(x)((x)*(x))
60.設x=011050,則x=x&01252的值是()。
A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
四、選擇題(20題)61.
62.下列關(guān)系表達式中,結(jié)果為“假”的是()。
A.(3+4)>6
B.(3!=4)>2
C.3<=4
D.
E.3
F.(3<4)=1
63.
64.有以下程序:
程序運行后的輸出結(jié)果是()。
A.4,5,6,4,5,6,
B.1,2,3,4,5,6,
C.4,5,6,1,2,3,
D.6,5,4,3,2,1,
65.讀取二進制文件的函數(shù)調(diào)用形式為:fread(buffer,size,Count,fp);,其中buffed
代表的是()。
A.一個內(nèi)存塊的首地址,代表讀入數(shù)據(jù)存放的地址
B.一個整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)
C.一個文件指針,指向待讀取的文件
D.一個內(nèi)存塊的字節(jié)數(shù)
66.以下關(guān)于C語言數(shù)據(jù)類型使用的敘述中錯誤的是()。
A.若要處理如“人員信息”等含有不同類型的相關(guān)數(shù)據(jù),應自定義結(jié)構(gòu)體類型
B.若要保存帶有多位小數(shù)的數(shù)據(jù),可使用雙精度類型
C.若只處理“真”和“假”兩種邏輯值,應使用邏輯類型
D.整數(shù)類型表示的自然數(shù)是準確無誤差的
67.
68.
有以下函數(shù):
charfun(char*p)
{returnP;}
該函數(shù)的返回值是()。
A.無確切的值B.形參p中存放的地址值C.一個臨時存儲單元的地址D.形參p自身的地址值
69.
70.軟件按其功能進行分類,可分為:應用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于系統(tǒng)軟件的是
A.文字編輯軟件B.網(wǎng)頁瀏覽器C.數(shù)據(jù)庫管理系統(tǒng)D.視頻播放軟件
71.若變量已正確定義并賦值,以下符合C語言語法的表達式是()。
A.a:=b+1B.a=b=c+2C.int18.5%3D.a:a+7:c+b
72.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.357B.753C.369D.751
73.
74.有三個關(guān)系R、S和T如下:
則由關(guān)系R和s得到關(guān)系T的操作是()。
A.自然連接B.差C.交D.并
75.下列關(guān)于二叉樹的敘述中,正確的是()。
A.葉子結(jié)點總是比度為2的結(jié)點少一個
B.葉子結(jié)點總是比度為2的結(jié)點多一個
C.葉子結(jié)點數(shù)是度為2的結(jié)點數(shù)的兩倍
D.度為2的結(jié)點數(shù)是度為1的結(jié)點數(shù)的兩倍
76.下列條件語句中,輸出結(jié)果與其他語句不同的是()
77.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。
A.可行性分析報告B.軟件需求規(guī)格說明書C.概要設計說明書D.集成測試計劃
78.
79.以下敘述中錯誤的是()。
A.一個C程序中可以包含多個不同名的函數(shù)
B.一個C程序只能有一個主函數(shù)
C.C程序在書寫時,有嚴格的縮進要求,否則不能編譯通過
D.C程序的主函數(shù)必須用main作為函數(shù)名
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:讀入一個字符串(長度<20),將該字符串中的所有字符按ASCII碼升序排序后輸出。
例如,輸入opdye,則應輸出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);j++)
if(str[i]>str[j])
{
c=str[j]:
//****found****
str[j]=str[i++];
str[i]=c;
}
}
voidmain
{
charstr[81];
system("CLS");
printf("\nPleaseenteracharacter
string:");
gets(str);
printf("\n\nBeforesorting:\n%s",str);
proc(str);
printf("\nAftersortingdecendingly:\n
%s",str);
}
六、程序設計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,規(guī)定輸入的字符串中只包含字母和*號。編寫函數(shù)fun(),其功能是除了字符串前導和尾部的*號外,將字符串中其他的*號全部刪除。形參h指向字符串中第一個字母,形參p指向字符串中最后一個字母。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。例如,若字符串中的內(nèi)容為“****A*BC*DEF*G********”,刪除后,字符串中的內(nèi)容應當是“****ABCDEFG********”。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<stdio.h>#include<conio.h>#include<string.h>voidfun(char*a,char*h,char*p){}main(){chars[8l],*t,*f;printf(“Enterastring:\n”);gets(s);t=f=s;while(*t)t++;t--;while(*t==‘*’)t--;while(*f==‘*’)f++;fun(s,f,t);printf(“Thestringafterdeleted:\n”);puts(s);}
參考答案
1.A函數(shù)中,形參必須是變量,實參可以是常量、變量或表達式,選項A錯誤,選項B正確;實參的個數(shù)和類型要與形參一致,選項C、D正確。本題答案為A選項。
2.A算法的有窮性,是指算法必須能在有限的時間內(nèi)做完,即算法必須能在執(zhí)行有限個步驟之后終止。
3.D
4.B函數(shù)的值只能通過return語句返回主調(diào)函數(shù)。函數(shù)中允許有多個return語句,但每次只能調(diào)用一個return語句,因此只能返回一個函數(shù)值。不返回函數(shù)值的函數(shù),可以明確定義為“空類型”,類型說明符為void。故本題答案為B選項。
5.C
6.D
7.A由順序、選擇(分支)、循環(huán)3種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問題,而不只是解決簡單問題,所以A選項錯誤。故本題答案為A選項。
8.B解析:若有以下定義:inta[3][4],i,j;且當0<=i<3,0<=j<4,則可以有以下幾種方式來引用數(shù)組中的第i行,第j列的元素:a[i][j],*(a[i]+j),*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。
9.D
10.A解析:頭文件<string.h>是字符串處理函數(shù)對應的頭文件,要想調(diào)用C語言的庫函數(shù)時,都要在程序中嵌入該函數(shù)對應的頭文件,否則無法使用庫函數(shù)。
strcpy(s1,s2)把s2中的字符串復制到s1中,所以結(jié)果就為s2的長度。
11.BC語言中,八進制數(shù)其開頭必須是數(shù)字“0”,其數(shù)字包括0~7,因此選項A錯誤。浮點數(shù)據(jù)的指數(shù)形式表示中,字母e或E之后的指數(shù)必須為整數(shù),所以選項C錯誤。選項D中,整型數(shù)據(jù)l0,000的表示形式是錯誤的。
12.A解析:C語言規(guī)定,程序中各函數(shù)之間既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用。
13.C解析:軟件系統(tǒng)結(jié)構(gòu)的總體設計包括:基于功能層次結(jié)構(gòu)建立系統(tǒng)、按功能劃分成模塊的層次結(jié)構(gòu)、確定每個模塊的功能、建立與已確定的軟件需求的對應關(guān)系、確定模塊間的調(diào)用關(guān)系和模塊間的接口、評估模塊劃分的質(zhì)量等方面。詳細設計的任務是:在使用程序設計語言編制程序以前,對所采用算法的邏輯關(guān)系進行分析,設計出全部必要的過程細節(jié),并給予清晰的表達。需求分析是指用戶對目標軟件系統(tǒng)在功能、行為、性能、設計約束等方面的期望。需求分析的任務是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開發(fā)進度需求等。編程調(diào)試的任務是診斷和改正程序中潛在的錯誤。綜上所述。軟件功能分解只能發(fā)生在總體設計階段。
14.D
15.A
16.D
17.A
18.B
19.C選項A、B的空間不夠;字符串存儲要有結(jié)束符\0,且要占用一個空間,printf用來輸出字符,不能輸入字符串。
20.C解析:本題考核的知識點是程序中算法的基本分析。sort()函數(shù)作用是將數(shù)組aa中的下標為偶數(shù)的元素按大到小排序.主函數(shù)中首先定義了一個長度為10的數(shù)組并賦值,然后調(diào)用sort()函數(shù),將數(shù)組aa中奇數(shù)個元素的值按大到小排序,因此執(zhí)行完該函數(shù)后,數(shù)組中奇數(shù)個元素的值為9,7、5、3和1,故主函數(shù)中最后通過一個for循環(huán)輸出數(shù)組aa中各元素的值為9、2、7、4、5、6、3、8、1和10,所以,4個選項中選項C符合題意。
21.
22.循環(huán)鏈表循環(huán)鏈表解析:在鏈表的運算過程中,采用鏈接方式即循環(huán)鏈表的結(jié)構(gòu)把空表與非空表的運算統(tǒng)一起來。循環(huán)鏈表具有兩個特點:①在循環(huán)鏈表中增加了一個表頭結(jié)點,其數(shù)據(jù)域為任意或根據(jù)需要來設置,指針域指向線性表的第一個元素的結(jié)點。循環(huán)鏈表的頭指針指向表頭結(jié)點。②循環(huán)鏈表中最后一個結(jié)點的指針不是空,而是指向表頭結(jié)點。
23.物理獨立性物理獨立性解析:數(shù)據(jù)的物理結(jié)構(gòu)改變,不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不引起應用程序的變化,這種性質(zhì)叫做物理獨立性。
24.00解析:解答本題需要注意表達式“k=0”,它是賦值表達式而不是關(guān)系表達式,不論k為何值,表達式k=0總會使k為0,所以不能進入循環(huán)。
25.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時是以“%d”格式輸出的,即輸出其相應ASCII碼值68。
26.黑箱黑箱解析:本題考查了軟件測試中的黑箱測試。黑箱測試是根據(jù)程序規(guī)格說明所規(guī)定的功能來設計測試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。常用的黑箱測試技術(shù)分為等價類劃分、邊界分析、錯誤猜測以及因果圖等。
27.概念設計階段概念設計階段解析:數(shù)據(jù)庫設計分為以下六個設計階段:需求分析階段、概念設計階段、邏輯設計階段、物理設計階段、實施階段及數(shù)據(jù)庫運行和維護階段。
28.33解析:本題考查do…while語句形式:
do循環(huán)體
while表達式
首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達式的值,若為真,則重復執(zhí)行循環(huán)體語句,否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=11;第2次循環(huán):b=4,a=5;第3次循環(huán):b=6,a=-3,此時再判斷循環(huán)條件不滿足,退出循環(huán)。
29.E-R圖E-R圖解析:數(shù)據(jù)庫邏輯設計的任務是將概念模型進一步轉(zhuǎn)化成相應的數(shù)據(jù)模型。而E-R圖是主要的概念模型,因此數(shù)據(jù)庫的邏輯設計的主要工作是將E-R圖轉(zhuǎn)換成關(guān)系模式。
30.1010解析:函數(shù)sub遞歸調(diào)用的返回值被作為再次調(diào)用sub函數(shù)的實參傳給函數(shù)sub的形參,共進行3次遞歸調(diào)用。第1次調(diào)用sub(1234)的返回值為1234/10+1234%10=127;第2次調(diào)用sub(127)的返回值為127/10+127%10=19;第3次調(diào)用sub(19)的返回值為19/10+19%10=10。所以程序的輸出為10。
31.a[i][j]+b[i][j]a[i][j]+b[i][j]解析:此題是雙重for循環(huán)結(jié)構(gòu)應用在了二維數(shù)組中。外層for循環(huán)用來控制二維數(shù)組的行,內(nèi)層for循環(huán)控制二維數(shù)組的列。
32.yesyes解析:if語句的條件語句為c=a+b=1+3=4,即條件為真,執(zhí)行語句printf('yes\\n');,輸出結(jié)果為yes。
33.軟件工程學軟件工程學解析:為了消除軟件危機,通過認真研究解決軟件危機的方法,認識到軟件工程是使計算機軟件走向工程科學的途徑。逐步形成了軟件工程的概念,開辟了工程學的新興領(lǐng)域——軟件工程學。
34.k*kk\r\n*k解析:scanf()函數(shù)有兩個參數(shù),第一個參數(shù)是格式控制部分(格式控制部分是字符串,主要由%號和格式字符組成)第二個參數(shù)是一地址列表(地址列表是由多個地址組成,可以是變量的地址,也可以是字符串的首地址)。而第一個空位于scanf()函數(shù)的第二個參數(shù)處,所以,第一個空應該填地址k。printf()函數(shù)有兩個參數(shù),第一個參數(shù)是輸出格式字符串(輸出格式字符串是由控制輸出格式的字符和非格式字符組成,通常是字符常量。非格式字符作為輸出數(shù)據(jù)的間隔,輸出時原樣輸出)第二個參數(shù)為一輸出表達式表(輸出表達式表是由若干個需要計算和輸出的表達式組成的,表達式之間用逗號分隔開)。而第二個空位于printf()函數(shù)的第二個參數(shù)處,所以應該填*k。
35.55解析:此程序中,for循環(huán)語句后面直接跟了一個“;”,表明循環(huán)體為空。輸出語句不在for循環(huán)體內(nèi),所以在循環(huán)執(zhí)行完畢后才輸出s的值。s、i的初值分別為0和1,判斷循環(huán)條件,表達式“1<3”成立,執(zhí)行“i++,s+=i”后,i和s的值分別為2和1,繼續(xù)判斷循環(huán)條件,表達式“2<3”成立,執(zhí)行“i++,s+=i”后,i和s的值分別為3,再次判斷循環(huán)條件,表達式“3<3”不成立,循環(huán)結(jié)束。
36.如果a能被i整除,則a是素數(shù),返回值為0。如果a不能被i整除,則a不是素數(shù),返回值為1。
37.調(diào)試調(diào)試
38.交換排序交換排序解析:常見的排序方法有插入排序(包括簡單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡單選擇排序和堆排序等)。注意:常見的排序方法及其作用機制和區(qū)別。
39.共享性共享性解析:數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能被不同的應用程序使用,實現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫的主要目的。
40.55解析:分析程序,當a=3;b=4;c=5時,判斷語句a>b不成立,所以不執(zhí)行后面的語句,直接執(zhí)行“printf('%d\\n',c);”語句,輸出c的值,輸出結(jié)果為5。
41.A解析:本題考查文件使用方式標識符,以“a+”方式打開一個已存在的文件,則表示保留文件中原有的數(shù)據(jù),文件的位置指針在文件末尾,此時,可以進行追加或讀操作。
42.A
43.A解析:投影是從關(guān)系中指定若干個屬性組成新的關(guān)系,是從列的角度進行的運算,相當于對關(guān)系進行垂直分解,與元組個數(shù)無關(guān),產(chǎn)生的新關(guān)系元組個數(shù)與原來關(guān)系中的元組個數(shù)相等。
44.C解析:本題的宏定義是合法的,宏定義展開為3*(3+((A+1)*a))=3*(3+((7+1)*3))=81。
45.B
46.B解析:若在函數(shù)中定義與全局變量名字相同的局部變量,則全局變量在該函數(shù)中將不起作用,因此全局變量的作用域并不一定比局部變量的作用域大,故選項A不正確;靜態(tài)變量一旦定義,將在整個程序的運行期間都存布,故選項B正確;函數(shù)的形參只在函數(shù)調(diào)用的時候分配存儲空間,在退出函數(shù)時收回存儲空間,因此是局部的,故選項C不正確;沒有賦值的auto型變量的初值是隨機的,沒有賦值的static型變量的初值是0,故選項D不正確。所以,B選項為所選。
47.B解析:prt(a,5);用數(shù)組名a作函數(shù)實參,不是把a數(shù)組的值傳遞給形參m,而是將數(shù)組a的首地址傳遞給指針變量m,使指針變量m指向數(shù)組a的首地址,這樣他們就占用同一段內(nèi)存單元。當改變了指針變量所指向的存儲單元中的內(nèi)容,也就改變了數(shù)組a中的元素。函數(shù)pit的作用是將指針變量m所指向的存儲單元中的各元素值加1,也就是數(shù)組a中各元素的值加l,所以輸出結(jié)果為:2,3,4,5,6,
48.B解析:主函數(shù)的第一個參數(shù)argc為整形參數(shù),記下從命令行輸入的參數(shù)的個數(shù);第二個參數(shù)argv是一個字符型的指針數(shù)組,它的每一個指針指向命令行輸入的參數(shù)字符數(shù)。在本例中argc的值為3,argv[0]指向字符串.“filel”,argv[l]指向參數(shù)字符串“China”,argv[2]指向字符串“Bejing”。在main()函數(shù)中,while循環(huán)執(zhí)行了2次。第1次循環(huán),argc=3,3>1為真,argc-1=3-1=2,執(zhí)行循環(huán)體輸出*++argv,argv為字符型的指針數(shù)組的數(shù)組名,代表數(shù)組的首地址,同時也是數(shù)組第1個元素的地址,++argv指向數(shù)組的第2個元素,第2個元素是一個指針,它指向字符串“China”。第2次循環(huán),argc=2,2>1為真,argc-1=2-1=1,執(zhí)行循環(huán)體輸出*++argv,這次循環(huán)畔++argv指向數(shù)組的第3個元素,第3個元素是一個指針,它指向字符串“Bejing”。argc=1時,1>1為假,退出循環(huán)。所以,4個選項中選項B符合題意。
49.A解析:本題主要考查了字符輸入輸出函數(shù)getchar和putchar的使用。getchar函數(shù)用來從標準輸入設備上讀入一個字符,putchar(c)函數(shù)是將字符變量c中的字符輸出到標準輸出設備上,并且字符可以看作整數(shù)參與運算。
50.D解析:通過定義int*p,p是一個整型指針,p=&n是使p指向變量n,而p是一個指針,輸入時不需再用地址運算符。
51.B解析:本題考核的知識點是算法的性質(zhì)。算法是為解決某個特定問題而采取的確定的且有限的步驟,一個算法應當具有以下5個基本特性:1.有窮性,就是指一個算法應當包含有限個操作步驟。2.確定性,就是說算法中每一條指令必須有確切的含義,不能有二義性,對于相同的輸入必能得出相同的執(zhí)行結(jié)果。3.有零個或多個輸入。4.可行性,就是說算法中指定的操作,都可以通過已經(jīng)實現(xiàn)的基本運算執(zhí)行有限次實現(xiàn),5.有一個或多個輸出。由此可知選項B不正確,所以,4個選項中選項B符合題意。
52.B解析:算術(shù)運行符“/”、“%”的優(yōu)先級處于同一級,并且兩者的結(jié)合性都是從左到右。所以算術(shù)表達式運算過程為:a=25/10%9=2%9=2:當邏輯運算符“&&”兩邊的值都是非零時,邏輯表達式的值才為真(即為1)。所以b=2&&(-1)=1。
53.B解析:按程序的流程走一遍,可以得到p[0]=0,p[1]=2,p[3]=6;執(zhí)行三次k+=p[i]*2,相當于k=5+0*2+2*2+6*2=21。
54.D解析:程序不僅是編寫完就結(jié)束了,為了測試和維護程序,往往還有其他人閱讀和跟蹤程序,因此程序設計的風格應該強調(diào)簡單和清晰,即程序的易讀性,“清晰第一,效率第二”。
55.C解析:選項A先執(zhí)行x=a,x的值為0,不再執(zhí)行y=a,因此y未被賦值。選項B是將y的值賦給a和x,而未能實現(xiàn)將a的值賦給變量x、y。選項C先執(zhí)行y=a,將a的值賦給y;再執(zhí)行x=a,將a的值賦給x。選項D同B。所以選項C符合題意。
56.C解析:算法的時間復雜度實際上就是執(zhí)行算法程序所需要的計算工作量。為了客觀地反映算法性能,在度量算法的時間復雜度時,應該與編寫算法程序所使用的程序設計語言、執(zhí)行算法程序時所使用的計算的工具以及程序員的水平無關(guān)。選項A錯誤,因為同一算法程序在運行速度不同的計算機上運行時,其計算時間是不同的。選項B錯誤,因為算法所編寫的程序長度往往與程序設計語言以及程序員的水平有關(guān),同一個算法,用不同的程序設計語言或者不同的程序員所編寫出的程序其長度可能會大不相同。選項D錯誤,因為根據(jù)一個算法所編制出的程序之中,其指令條數(shù)往往與程序設計語言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來度量算法的時間復雜度。所以,本題正確答案為C。
57.A
58.A解析:本題考查函數(shù)調(diào)用時的參數(shù)傳遞。函數(shù)的形參是函數(shù)定義時由用戶定義的形式上的變量,實參是函數(shù)調(diào)用時,主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。
在函數(shù)調(diào)用時,實參和其所對應的形參分別占用不同的存儲單元,彼此之間不影響。
59.D本題考查參數(shù)的宏替換。為避免二義性有些參數(shù)表達式必須加括號,否則在實參表達式替換時,會出現(xiàn)錯誤。例如x為(m+n)時替換A:m+n*m+n,所以選項D最符合條件。
60.A解析:本題主要考查按位與運算,x=011050的二進制形式為0001001000101000,01252的二進制形式為0000001010101010,兩者相與得00000010001010000。
61.D
62.B\n在一個表達式中,括號的優(yōu)先級高,先計算3!=4,為真即是l,1>2為假。
\n
63.B
64.A首先利用fwrite函數(shù)將數(shù)組a中的數(shù)據(jù)寫到文件中,接著fseek函數(shù)的功能是讀文件的位置,指針從文件頭向后移動3個int型數(shù)據(jù),這時文件位置指針指向的是文件中的第4個int數(shù)據(jù)”4”,然后fread函數(shù)將文件fp中的后3
個數(shù)據(jù)4,5,6讀到數(shù)組a中,這樣就覆蓋了數(shù)組中原來的前3項數(shù)據(jù)。最后數(shù)組中的數(shù)據(jù)就成了{4,5,6,4,5,6}。
65.Afread(void*buffer,sizet_size,sizet__count,F(xiàn)ILE*stream);功能是從一個文件流中讀數(shù)據(jù),讀取countl"元素,每個元素disize個字節(jié),如果調(diào)用成功返回count。buffer:用于接收數(shù)據(jù)的內(nèi)存地址,大小至少是size*count個字節(jié);size:單個元素的大小,單位是字節(jié);count:元素的個數(shù),每個元素占size個字節(jié);streaili:輸入流。故本題答案為A)。
66.CC語言中沒有邏輯類型,所以選項C錯誤。若要保存帶有多位小數(shù)的數(shù)據(jù),可以用單精度類型,也可以用雙精度類型。處理包含不同類型的相關(guān)數(shù)據(jù)可以自定義結(jié)構(gòu)體類型。整數(shù)類型可以無誤差地表示自然數(shù)。故本題答案為C選項。
67.B
68.B
69.B
70.C本題考查不同種類軟件的劃分。
應用軟件是用戶可以使用的各種程序設計語言,以及用各種程序設計語言編制的應用程序的集合,分為應用軟件和用戶程序。應用軟件包括辦公室軟件(文書處理器、檔案管理系統(tǒng)、文本編輯器)、互聯(lián)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度倉儲物流倉儲場地租賃合同6篇
- 二零二五年度技術(shù)開發(fā)合同:人工智能助手定制開發(fā)服務3篇
- 2025年度LED燈具安裝與節(jié)能效果評估合同3篇
- 二零二五年度展覽館租賃合同交接與展覽服務標準協(xié)議3篇
- 二零二五年度文化產(chǎn)業(yè)園區(qū)開發(fā)合作協(xié)議3篇
- 二零二五年度人工智能領(lǐng)域股東合作協(xié)議書模板3篇
- 海南職業(yè)技術(shù)學院《數(shù)控加工力學和動力學》2023-2024學年第一學期期末試卷
- 海南衛(wèi)生健康職業(yè)學院《中小學音樂教學實訓》2023-2024學年第一學期期末試卷
- 課程設計洗瓶器
- 護理博士課程設計
- 四人合伙投資協(xié)議書范本
- 反射療法師3級考試題庫(含答案)
- 山東省濟南市2023-2024學年高二上學期期末考試地理試題 附答案
- 期末復習試題1(試題)-2024-2025學年二年級上冊數(shù)學北師大版
- 1《地球的表面》說課稿-2024-2025學年科學五年級上冊教科版
- 汽車以租代購合同完整版完整版
- 音樂制作基礎知識單選題100道及答案解析
- 2024至2030年大型儲油罐項目投資價值分析報告
- 安徽省蕪湖市2023-2024學年高一上學期期末考試 生物 含解析
- 通用電子嘉賓禮薄
- GB/T 3280-2015不銹鋼冷軋鋼板和鋼帶
評論
0/150
提交評論