版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021-2022年四川省攀枝花市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.軟件詳細設(shè)計的主要任務(wù)是確定每個模塊的()。
A.算法和使用的數(shù)據(jù)結(jié)構(gòu)B.外部接口C.功能D.編程
2.與“y=(x>0?1:x<0?-1:0)”;的功能相同的if語句是()。A.A.if(x>0)y=1;elseif(x<0)y=1;else=""y="0;
B."x="">0)y=1;elseif(x<0)y=-l;else=""y="0;"
C.y="-l"x="">O)y=1;elseif(x=-0)y=0;elsey=-l;
D.y=0;if(x>=0)if(x>=0)y=1;elsey=-l;
3.
4.有以下程序:#include<stdio.h>intfun(){staticintx=1;x*=2;returnx;}main(){inti,s=1;for(i=1;i<=3;i++)s*=fun();printf(“%d\n”,s);}程序的運行結(jié)果是()。
A.10B.30C.0D.64
5.在下列給出的表達式中,與while(E)中的(E)不等價的表達式是()。A.(!E==0)B.(E>0||E<0)C.(E==0)D.(E!=0)
6.有以下程序
A.741B.963C.852D.87542l
7.具有10個葉子結(jié)點的二叉樹中有()個度為2的結(jié)點。
A.8B.9C.10D.11
8.在一個源文件中定義的全局變量的作用域為:()
A.本程序的全部范圍B.本函數(shù)的全部范圍C.從定義該變量的位置開始到本文件結(jié)束D.以上說法都不正確
9.下列選項中,能夠滿足“若字符串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;
10.參加百年阿里培訓的n位同學結(jié)伴去西湖旁邊為游人指路,兩人一組,他們打算先讓體重之和恰好為102公斤的同學一組,請給出一個算法找到這樣的組合,或者確定他們中不存在這樣的組合,其中最優(yōu)的算法時間復雜度為?(假設(shè)體重均為整數(shù))()
A.O(log(n))B.O(n)C.O(nlog(n))D.O(n^2)
11.以下能正確定義一維數(shù)組的選項是()。
A.inta[5]=(0,1,2,3,4,5);
B.chara[]={0,1,2,3,4,5);
C.chara={'A','B','C'};
D.inta[5]="0123";
12.以下不正確的敘述是A.A.在C程序中,逗號運算符的優(yōu)先級最低
B.在C程序中,APH和aph是兩個不同的變量
C.若a和b類型相同,在計算了賦值表達式a=b后b中的值將放入a中,而b中的值不變
D.當從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值
13.
14.設(shè)有以下語句,其中不是對a數(shù)組元素的正確引用的是:_____(其中0≤i<10)inta[10]={0,1,3,4,5,6,7,8,9,},*p=a;
A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))
15.若在線性表中采用折半查找法查找元素,該線性表應該()A.元素按值有序B.構(gòu)采用順序存儲結(jié)C.元素按值有序且采用順序存儲結(jié)構(gòu)D.元素按值有序且采用鏈式存儲結(jié)構(gòu)
16.
17.下列關(guān)于函數(shù)的敘述中正確的是()。A.A.每個函數(shù)都可以被其他函數(shù)調(diào)用(包括main函數(shù))
B.每個函數(shù)都可以被單獨編譯
C.每個函數(shù)都可以單獨運行
D.在一個函數(shù)內(nèi)部可以定義另一個函數(shù)
18.以下程序是用來計算兩個非負數(shù)之間的最大公約數(shù):我們假設(shè)x,y中最大的那個數(shù)的長度為n,基本運算時間復雜度為O(1),那么該程序的時間復雜度為()A.O(1)B.O(logn)C.O(n)D.O(n^2)
19.面向?qū)ο蟮脑O(shè)計方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是()。
A.模擬現(xiàn)實世界中不同事物之間的聯(lián)系
B.強調(diào)模擬現(xiàn)實世界中的算法而不強調(diào)概念
C.使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題
D.不強調(diào)模擬現(xiàn)實世界中的算法而強調(diào)概念
20.若有定義“inta;longb;doublex,y;”,則以下選項中正確的表達式是()。
A.a=x<>yB.a%(int)(x-y)C.(a*y)%bD.y=x+y=x
二、2.填空題(20題)21.注釋一般分為序言性注釋和______注釋。
22.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機制稱為______。
23.數(shù)據(jù)庫的邏輯模型設(shè)計階段的任務(wù)是將______轉(zhuǎn)換成關(guān)系模式。
24.單元測試又稱模塊測試,一般采用【】測試。
25.以下程序的輸出結(jié)果是【】。
main()
{
intarr[]={30,25,20,15,10,5},*p=arr;
p++;
printf("%d\n",*(p+3));
}
26.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過程。
27.在面向?qū)ο蟮脑O(shè)計中,用來請求對象執(zhí)行某一處理或回答某些信息的要求稱為【】。
28.以下程序運行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{inti,m=0,n=0,k=0;
for(i=9;i<=11;i++)
switch(i/10)
{case0:m++;n++;break;
case10:n++;break;
default:k++;n++;
}
printf("%d%d%d\n",m,n,k);
}
29.設(shè)Y是int型變量,請寫出判斷Y為奇數(shù)的關(guān)系表達【】。
30.下列程序的運行結(jié)果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
31.以下程序的運行結(jié)果是【】。
main()
{char*k="aeiou";
for(;*k;k++)printf("%c",*k);
}
32.下列語句的輸出結(jié)果是【】。
chara=3;printf("%d,%o,%x,%u\n",a,a,a,a);
33.模塊測試時,要為每個被測試的模塊另外設(shè)計兩類模塊:驅(qū)動模塊和承接模塊。其中【】的作用是模擬被測試模塊的下層模塊。
34.【】是從二維表列的方向進行的運算。
35.面向?qū)ο蟮哪P椭校罨镜母拍钍菍ο蠛蚠_____。
36.下面程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{char*p={"BOOL""OPK","H","SP"};
inti;
for(i=3,i>=0;i--,i--)printf("%",*p[i]);
printf("\n");
}
37.閱讀程序:
main()
{charstrl[]="howdoyoudo",str2[10];
char*p1=strl,*p2=str2;
scanf("%s”,p2);
printf("%s”,p2);
printf("%s\n",p1);
}
運行上面的程序,輸入字符串HOWDOYOUDO則程序的輸出結(jié)果是【】。
38.有如下圖所示的雙鏈表結(jié)構(gòu),請根據(jù)圖示完成結(jié)構(gòu)體的定義:
structaa
{intdata;
【】}node;
39.算法復雜度主要包括時間復雜度和【】復雜度。
40.黑盒測試是從【】觀點的測試。
三、1.選擇題(20題)41.有以下說明和定義語句structstudent{intage;charnum{8};};structstudentstu[3]={{20,“200401”},{21,“200402”),{19,“200403”}};structstudent*p=stu;以下選項中引用結(jié)構(gòu)體變量成員的表達式錯誤的是A.(p++)->numB.p->numC.(*p).numD.stu[3].age
42.下列循環(huán)體的執(zhí)行次數(shù)是()。
#include<stdio.h>
main()
{inti,j;
for(i=0,j=1;i<j+1;i+=1,j--)
phntf("%d\n",j);
}
A.3B.2C.1D.0
43.以下敘述中錯誤的是______。A.用戶所定義的標識符允許使用關(guān)鍵字
B.用戶所定義的標識符應盡量做到“見名知意”
C.用戶所定義的標識符必須以字母或下劃線開頭
D.用戶定義的標識符中,大、小寫字母代表不同標識
44.以下程序的輸出結(jié)果是()#include<stdio.h>main(){inta,b;for(a=1,b=1,a<=50;a++){if(b>=10)break;if(b%2==1){b+=2;continue}b+=2;}printf("%d\n",a);}
A.4B.5C.6D.7
45.有以下程序
#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.accxyy,bbxxyy
B.acc,bbxxyy
C.accxxyy,bbxxyy
D.accbbxxyy,bbxxyy
46.以下程序的輸出結(jié)果是()main(){inta=-1,b=4,k;k=(++a<=0)&&!(b--<=0);printf("%d%d%d\n",k,a,B);}
A.104B.004C.103D.003
47.已知i、j、k為int型變量,若要從鍵盤輸入2、3、4<CR>,使I、j、k的值分別為2、3、4,
A.scanf("%3d,%3d,%3d",&i,&j,&k);
B.scanf("%d,%d,%d",&i,&j,&k);
C.scanf("%d%d%d",&i,&j,&k);
D.seanf("i=%dj=%d,k=%d",&i,&j,&k);
48.C語言中,文件組成的基本單位為()。
A.記錄B.數(shù)據(jù)行C.數(shù)據(jù)塊D.字符序列
49.以下選項中不屬于字符常量的是
A.′C′B.′′C′′C.′\xCC′D.′\072′
50.索引屬于()。
A.模式B.內(nèi)模式C.外模式D.概念模式
51.以下程序的輸出結(jié)果是______。#include<stdio.h>#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf((“%d\n”,a);}A.8B.9C.17D.20
52.下列程序的輸出結(jié)果是______。main(){chara[10]-(9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}
A.非法B.a[4]的地址C.5D.3
53.棧和隊列的共同點是()。
A.都是先進先出B.都是先進后出C.只允許在端點處插入和刪除元素D.沒有共同特點
54.以下不能對二維數(shù)組a進行正確初始化的語句是
A.inta[2][3]={0};
B.inta[][3]={{1,2},{0}};
C.inta[2)[3]={{1,2},{3,4},{5,6}};
D.inta[][3]={1,2,3,4,5,6};
55.在關(guān)系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是
A.樹形結(jié)構(gòu)B.網(wǎng)狀結(jié)構(gòu)C.線性表D.二維表
56.下述程序段的執(zhí)行結(jié)果是()#include<stdio.h>voidmain(){intx;for(x=1;x<=100;x++)if(++x%3==0)if(++x%4==0)if(++x%7==0)printf("%d",x);}
A.75B.76C.77D.84
57.有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}該程序的輸出結(jié)果是
A.0.000000B.0.250000C.0.500000D.1.000000
58.設(shè)有定義:intk=1,m=2;floatf=7;則以下選項中錯誤的表達式是()。
A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m
59.下面選項中不屬于面向?qū)ο蟪绦蛟O(shè)計特征的是()。
A.繼承性B.多態(tài)性C.類比性D.封閉性
60.下列常數(shù)中,不合法的C常量是()
A.-0x3b1B.123e+2.3C.'}'D.6e+7
四、選擇題(20題)61.以下不能將s所指字符串正確復制到t所指存儲空間的是()。
A.do{*t++=*8++;}while(*s);
B.for(i=0;t[i]=s[i];i++);
C.while(*t=*s){t++;s++;}
D.for(i=0,j=0;t[i++]=s[j++];);
62.若變量a、b、x、i都已正確定義并賦值,則以下符合C語言語法的表達式是()。
A.a+=a-=(b=4)*(a=3)B.x%(-3);C.a=a*3=2D.y=float(i)
63.閱讀以下程序:
該程序在編譯時產(chǎn)生錯誤,原因是()。
A.定義語句出錯,Case是關(guān)鍵字,不能用作用戶自定義標識符
B.定義語句出錯,printF不能用作用戶自定義標識符
C.定義語句無錯,sCanf不能作為輸入函數(shù)使用
D.定義語句無錯,printf不能輸出Case的值
64.以下選項中不合法的標識符是()。
A.&aB.FORC.pfintD.00
65.數(shù)據(jù)庫管理系統(tǒng)是()。
A.操作系統(tǒng)的一部分B.在操作系統(tǒng)支持下的系統(tǒng)軟件C.一種編譯系統(tǒng)D.一種操作系統(tǒng)
66.如已定義X和Y為double類型,則表達式X=1,y=x+5/2的值是()。
A.2B.3.0C.3D.3.5
67.軟件測試的目的是()。
A.評估軟件可靠性B.發(fā)現(xiàn)并改正程序中的錯誤C.改正程序中的錯誤D.發(fā)現(xiàn)程序中的錯誤
68.有以下程序:
程序運行后的輸出結(jié)果是()。
A.let=4B.m=2C.m=6D.m=5
69.合法的main函數(shù)命令參數(shù)形式是()。
A.main(inta,char*c[])
B.main(intarc,char**arv)
C.main(intargc,char*argv)
D.main(intargv,char*argc[])
70.已知longi=32768;執(zhí)行語句printf(“%d”,i);屏幕顯示()。
A.-1B.-32768C.1D.32768
71.
72.
73.以下語句的執(zhí)行結(jié)果是()。
intm=0,s=1;
do{
s+=m++;
}while(m<6);
printf("%d\n",s);
A.17B.16C.15D.18
74.有以下程序程序運行后的輸出結(jié)果是()。
A.9B.10C.8D.7
75.
76.以下敘述中錯誤的是()。
A.改變函數(shù)形參的值,不會改變對應實參的值
B.函數(shù)可以返回地址值
C.可以給指針變量賦一個整數(shù)作為地址值.
D.當在程序的開頭包含頭文件stdio.h時,可以給指針變量賦NULL
77.
78.以下能正確定義一維數(shù)組的選項是A.intnum[];
B.#defineN100intnum[N];
C.intnum[0..100];
D.intN=100;intnum[N];
79.有下列程序
voidfunc1(inti);
voidfunc2(inti);
charst[]="hello,friend!";
voidfunc1(inti)
{printf("%c",st[i]);
if(i<3){i+=2;func2(i);}
}
voidfunc2(inti)
{printf("%c",st[i]);
if(i<3){i+=2;func1(i);}
}
main()
{inti=0;func1(i);
printf("\n");
}
執(zhí)行后的輸出結(jié)果是
A.helloB.hel
C.hloD.hlm
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun()的功能是:根據(jù)輸人的三條邊長(整形),判斷能否構(gòu)成三角形;構(gòu)成的是等邊三角形還是等腰三角形。若能構(gòu)成等邊三角形函數(shù),返回3;若能構(gòu)成等腰三角形函數(shù),返回2;若構(gòu)成=三角形函數(shù),返回l;若不能構(gòu)成三角形函數(shù)返回0。請修改函數(shù)fun()中的錯誤,得出正確的結(jié)果。注意:不要改動main()函數(shù),不能增行或減行,也不能更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,規(guī)定輸入的字符串中只包含字母和*號。編寫函數(shù)fun(),其功能是刪除字符串中所有的*號。編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為“****A*BC*DEF*G*******”,刪除后,字符串中的內(nèi)容應當是“ABCDEFG”。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<conio.h>#include<stdio.h>voidfun(char*a){}voidmain(){ chars[81]; printf(“Enterastring:\n”); gets(s); fun(s); printf(“Thestringafterdeleted:\n”); puts(s);}
參考答案
1.A解析:從軟件開發(fā)的工程化觀點來看,在使用程序設(shè)計語言編制程序以前,需要對所采用算法的邏輯關(guān)系進行分析,設(shè)計出全部必要的過程細節(jié),并給予清晰的表達。詳細設(shè)計的任務(wù)就是要決定各個模塊的實現(xiàn)算法,并精確表達出這些算法。本題正確答案為選項A。
2.By=(x=)071:x<0?-1:0)中有兩個三目運算符,因此按從右到在的順序運算,可寫成y=(x>071:(x<0?-1:0)),故選擇8選項。
3.C
4.D本題中靜態(tài)局部變量X,在靜態(tài)存儲區(qū)內(nèi)分配存儲單元,在程序整個運行期間都不釋放。在main函數(shù)中,執(zhí)行for循環(huán),第1次循環(huán),變量s的值為2;第2次循環(huán),函數(shù)的返回值為4,所以變量s的值為8;第3次循環(huán),函數(shù)的返回值為8,所以s的值為64。故本題答案為D選項。
5.B在while(E)中,表達式E可以是C語言中任意合法的條件表達式,但不能為空,由它來控制循環(huán)體是否執(zhí)行。在選項8中表達式E>0||E<0是一個邏輯表達式。
6.C在for循環(huán)中,當y的值為9、6或3時,執(zhí)行輸出語句,輸出表達式“——y”的值。y先自減1,然后再輸出y的值。
7.B
8.C
9.Astrcmp(char*,char*),函數(shù)strcmp用于比較兩個字符串的長度,長者為大,若字符個數(shù)也一樣,則從左至右依次比較相同位上的字符,字符大小按ASCIl表值計算,直到最后一個字符,若還相同,則兩個字符串相等,返回值0。選項A中if(strcmp(s2,sl)==0)ST,若s2等于sl,則返回值0,0等于0,所以邏輯表達式strcmp(s2,sl)==0為真,執(zhí)行ST。
10.B
11.B數(shù)組1標從0開始,A選項中所賦值的個數(shù)超過了數(shù)組的長度;C選項中定義a為字符型變量,而不是數(shù)組,賦值錯誤;D選項中,整型數(shù)組不能賦字符串。
12.D解析:在C語言所有的運算符中,逗號運算符的優(yōu)先級最低。C語言中區(qū)分大小寫,所以APH和aph是兩個不同的變量。賦值表達式a=b表示將b的值付給a,而b本身的值保持不變;通過鍵盤可以向計算機輸入允許的任何類型的數(shù)據(jù)。選項D)中當從鍵盤輸入數(shù)據(jù)時,對于整型變量可以輸入整型數(shù)值和字符,對于實型變量可以輸入實型數(shù)值和整型數(shù)值等。
13.D\r\n
14.D解析:觀察程序可知,a實際上就是數(shù)組a的首地址,所以“*(a+i)”表示的就是數(shù)組a中的第i個元素的值,進而,我們可以知道*(*(a+i))必然不是對a數(shù)組元素的正確引用。
15.C
16.A
17.B在C語言中,函數(shù)定義是平行的,函數(shù)不能嵌套定義,即函數(shù)之間沒有從屬關(guān)系。雖然函數(shù)之間可以相互調(diào)用,但main函數(shù)不能被調(diào)用,選項A)錯誤;C程序從main函數(shù)開始執(zhí)行,當main數(shù)執(zhí)行完畢時,整個程序就結(jié)束了。C程序的執(zhí)行必須從main函數(shù)開始,選項C)選項錯誤;函數(shù)不能嵌套定義,選項D)錯誤。
18.B
19.C\n面向?qū)ο蟮脑O(shè)計方法的基本原理是:使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。它雖強調(diào)模擬現(xiàn)實世界中的概念而不強調(diào)算法,但是它鼓勵開發(fā)者在軟件開發(fā)的過程中從應用領(lǐng)域的概念角度去思考。
\n
20.BC語言中沒有“<>”運算符,所以A選項錯誤。運算符“%”的左右兩個操作數(shù)必須為整型數(shù)據(jù),所以B選項正確。表達式“a*y”的結(jié)果為double型,所以C選項錯誤。不能將值賦給像“x+y”這樣的表達式,所以D選項錯誤。故本題答案為B選項。
21.功能性功能性解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個程序的開頭部分,給出程序的整體說明;功能性注釋一般嵌在源程序體之中,主要描述其后的語句或程序做什么,
22.繼承繼承
23.E-R圖E-R圖解析:數(shù)據(jù)庫邏輯設(shè)計的任務(wù)是將概念模型進一步轉(zhuǎn)化成相應的數(shù)據(jù)模型。而E-R圖是主要的概念模型,因此數(shù)據(jù)庫的邏輯設(shè)計的主要工作是將E-R圖轉(zhuǎn)換成關(guān)系模式。
24.白盒法白盒法
25.1010解析:整型指針最初被賦的值是數(shù)組arr的頭指針,即指向數(shù)組的第一個元素30,p++后,指針指向數(shù)組的下一個元素,即*p=arr[1]=25,在執(zhí)行*(p+3)時,則相當于a[1+3],即10。因此,輸出應為100。
26.數(shù)據(jù)存儲數(shù)據(jù)存儲
27.消息消息解析:在面向?qū)ο蠹夹g(shù)中,主要用到對象(object)、類(class)、方法(method)、消息(message)、繼承(inheritance)、封裝(encapsulation)等基本概念。其中消息是用來請求對象執(zhí)行某一處理或回答某些信息的要求。
28.132132解析:在程序中,i從9開始循環(huán),當i=9時,執(zhí)行case0后的語句m++;n++;此時m=1,n=1,然后執(zhí)行break,跳出循環(huán);當i=10時,執(zhí)行detault后的語句k++;n++;此時k=1,n=2;當i=11時,再執(zhí)行default后的語句,k=2,n=3。此時,m=1,n=3,k=2。輸出結(jié)果為132。
29.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或不為0。本題具體做法如下:Y%2=1或Y%2!=0。
30.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運算。運算過程為:t=POW(x+y)=(2+3)*(2+3)=25。
31.aeiou
32.31371f3131,37,1f,31解析:此題考查了printf函數(shù)的格式字符,題中d是以十進制形式輸出,o是以八進制形式輸出,x是以十六進制形式輸出,u以不帶符號的十進制數(shù)輸出。
33.承接模塊承接模塊解析:進行模塊測試時,應為每個被測試的模塊另外設(shè)計兩類模塊:驅(qū)動模塊和承接模塊。其中驅(qū)動模塊的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果;承接模塊的作用是模擬被測試模塊的下層模塊。
34.投影投影解析:在關(guān)系模型的數(shù)據(jù)語言中,一般除了運用常規(guī)的集合運算,(并、交,差、笛卡爾積等)外,還定義了一些專門的關(guān)系運算,如投影、選擇、連接等。投影是從二維表的列方向上進行的運算。
35.類類
36.SO
37.HOWhowdoyoudo
38.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結(jié)構(gòu)體對鏈表的定義。
39.空間空間解析:程序在計算機上運行時所耗費的時間由程序運行時所需輸入的數(shù)據(jù)總量、對源程序進行編譯所需時間、計算機執(zhí)行每條指令所需時間、程序中的指令重復執(zhí)行的次數(shù)等決定。習慣上常常把語句重復執(zhí)行的次數(shù)作為算法運行時間的相對量度,稱作算法的時間復雜度。算法在運行過程中需輔助存儲空間的大小稱為算法的空間復雜度。
40.用戶用戶解析:黑盒測試又稱為功能測試,黑盒測試是把程序看作一個黑盒子,完全不考慮程序內(nèi)部的結(jié)構(gòu)和處理過程。測試者只考慮該程序輸入和輸出的關(guān)系,或只考慮程序的功能。黑盒測試是一種從用戶觀點出發(fā)的測試。
41.D本題考核的知識點是結(jié)構(gòu)體數(shù)組元素成員的引用。結(jié)構(gòu)體變量也有地址,因此可以把它的地址賦值給一個指針變量,然后通過該指針變量來引用結(jié)構(gòu)體的成員,選項A和選項B就是通過指針變量來引用結(jié)構(gòu)體的成員,故選項A和選項B都正確,也可以通過結(jié)構(gòu)體數(shù)組元素的成員引用,選項C和選項D屬于這種情況,而在選項D中stu[3].age不正確,因為結(jié)構(gòu)體數(shù)組stu共有三個元素,其下標應該為0,1,2.所以,4個選項中選項D符合題意。
42.C解析:本題考查for循環(huán)。第一次循環(huán)前先判斷循環(huán)條件,此時i=0,j=1,i<j+1成立,循環(huán)第一次;第二次循環(huán)前先判斷循環(huán)條件,此時i=1,j=0,(j--是先使用i的值再減1),i<j+1不成立,結(jié)束循環(huán)。
43.A解析:C語言規(guī)定標識符只能由字母、數(shù)字和下劃線三種符號組成,而且第一個字符必須是字母或下劃線。大寫字母和小寫字母被認為是兩個不同的字符,用戶在定義標識符時應盡量做到“見名知意”,且不允許使用關(guān)鍵字作標識符。
44.C
45.D解析:本題中fun函數(shù)實現(xiàn)丁字符串函數(shù)str-eat的功能,將字符串a(chǎn)a連接到字符串ss的末尾。調(diào)用fun函數(shù)時,形參t和s分別指向了字符串ss和aa,然后通過一個while循環(huán)使t指向字符串ss的結(jié)束符的位置,第二個while循環(huán)將字符串a(chǎn)a中的字符(包括結(jié)束符'\\0')逐個復制到字符串ss的末尾處。
46.C
47.B解析:scanf函數(shù)的調(diào)用形式是:scanf(格式字符串;輸入項地址表)。其中,“格式字符串”是要輸入的變量的格式符;“輸入項地址表”是要輸入的變量的地址。若在格式符中插入了其他字符,則在輸入時要求按一一對應的位置原樣輸入這些字符,其中的逗號也必須輸入。
48.D解析:C語言處理文件的方法是將文件以數(shù)據(jù)流的形式處理,不是將文件作為一個結(jié)構(gòu)集合來處理,所以,C語言中文件的組織方式是無結(jié)構(gòu)的字符序列方式。
49.B解析:在C語言程序中,用單引號把一個字符或反斜線后跟一個特定的字符括起來表示一個字符常量。選項A)、C)和D)為正確的字符常量,而選項B)是用雙引號括起來的字符,表示一個字符串常量。
50.B解析:內(nèi)模式(InternalSchemA)又稱物理模式(PhysicalSchemA),它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑。數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)具有高共享性和低冗余性,但不能完全避免數(shù)據(jù)冗余;數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應保持相同的值。
51.B
52.C解析:本題中char*p=a+5;即相當于p;&a[5],而-p,是先要減1,則printf語句要輸出的值就是a[4]。
53.C解析:棧和隊列都是操作受限制的線性表,只允許在端點插入和刪除。不同點是:棧只允許在表的一端進行插入和刪除操作,而隊列允許在表的一端進行插入操作,而在另一端進行刪除操作。
54.C解析:關(guān)于二維數(shù)組的初始化,我們需要掌握如下方法:①所賦初值個數(shù)與數(shù)組元素的個數(shù)相同;②所賦初值行數(shù)少于數(shù)組行數(shù)時,系統(tǒng)將自動給后面各行的元素補初值0;③在給二維數(shù)組賦初值時可以不用行花括號對。選項C)應該是inta[3][2]={{1,2},{3,4},{5,6,}};
55.D解析:數(shù)據(jù)庫中的關(guān)系模型是采用二維表來表示實體與實體之間的聯(lián)系。
56.C
57.C解析:該題目測驗考生對if...elseif結(jié)構(gòu)的理解,比較簡單。x的值滿足x<10.0的關(guān)系,所以程序?qū)?zhí)行y=1.0/x;語句,y的值應該等于0.5。最后,用printf函數(shù)輸出時,%f的輸出格式為小數(shù)點后保留6位。
58.C解析:A、D選項是關(guān)系運算表達式,在C語言中,只要關(guān)系運算符兩邊是合法的表達式就可以了。C選項中,%只能對整型進行運算,其中對f進行了強制類型轉(zhuǎn)換,但是轉(zhuǎn)換的表達式錯了,應為:(int)(f)。
59.C解析:面向?qū)ο蟪绦蛟O(shè)計的特征有以下幾點:分類性、繼承性、封裝性、多態(tài)性、模塊性等。
60.B
61.Ado{*t++=}S++;}while(*S);不能因為當*s=’、0。時,while(*s)跳出循環(huán),這樣字符串結(jié)束標志’、0’沒有復制給}t,造成}t不完整。注意,*t++=*s++是先執(zhí)行t=*s,然后才進行t=t+1,s=s+1。B、C、D都能將。\0’復制過去
62.A取余運算符%兩邊都應是正數(shù),賦值語句左邊必須是變量,不能是表達式,強制轉(zhuǎn)換語句強制類型應加括號,而非加在變量上。
63.A標識符不能與c編譯系統(tǒng)已經(jīng)預定義的、具有特殊用途的保留標識符(即關(guān)鍵字)同名,否則程序在編譯時會出現(xiàn)錯誤。題目源程序中使用了已經(jīng)預定義的關(guān)鍵字case,所以將出現(xiàn)錯誤。
64.AC語言中標識符由字母、下劃線、數(shù)字組成,且開頭必須是字母或下劃線。另外,關(guān)鍵字不能作為標識符。因為C語言中區(qū)分大小寫,所以B選項中的。FOR??梢宰鳛闃俗R符來用。A選項中含有非法字符&,所以選擇A。
65.B數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機構(gòu),它是一種系統(tǒng)軟件,負責數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護、控制及保護和數(shù)據(jù)服務(wù)等,是一種在操作系統(tǒng)支持下的系統(tǒng)軟件,因此本題答案為B)。
66.B題目中定義變量x和y為雙精度double類型,根據(jù)給定算數(shù)表達式的優(yōu)先級應先計算5/2,結(jié)果為2,將值代入后,由x和y的數(shù)據(jù)類型得出y為3.0。整個逗號表達式的值為后面y=x+5/2的值,所以選擇B)。
67.D軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,測試要以查找錯誤為中心,而不是為了演示軟件的正確功能,也不是為了評估軟件或改正錯誤,因此本題答案為D)。
68.C第一次外循環(huán)i的值為l,第一次內(nèi)循環(huán)j的值為3,不滿足條件執(zhí)行in}=i}j即m的值為3;第二次j的值為2,不滿足條件執(zhí)行m·=i*j,即m的值為6;第三次j的值為1,不滿足條件執(zhí)行nl*=i*j,即m的值仍為6。第二次外循環(huán)i的值為2,j的值為3,滿足條件,執(zhí)行break語句,跳出循環(huán)。
69.C在C語言中,main函數(shù)也可以有參數(shù),例如,main(intar90,char*argv),argc是指字符串的指針數(shù)組,而其他幾項表達不正確。
70.D整型的數(shù)據(jù)占4個字節(jié),即-2147483648~2147483648,32768在其表達的范圍之內(nèi),所以原樣輸出。
71.D
72.A
73.B
74.A調(diào)用f(a,b)函數(shù)返回3,調(diào)用f(a,c)函數(shù)返回6,因此外層調(diào)用f(f(a,b),“a,c));,即調(diào)用f(3,6)函數(shù)返回9,故本
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版建筑材料購銷合同書模板
- 二零二五年度臺球室租賃及品牌形象合作合同3篇
- 2025購銷合同常用文本
- 二零二五年度全新租賃房屋合同住宅押金退還管理協(xié)議3篇
- 2025年度全新出售房屋買賣貸款擔保合同3篇
- 2025年度年度全新高空纜車運營意外事故免責服務(wù)協(xié)議3篇
- 二零二五年度智慧社區(qū)建設(shè)與運營管理協(xié)議合同范文2篇
- 2025年農(nóng)村兄弟分家協(xié)議及遺產(chǎn)分配執(zhí)行方案
- 2025年度養(yǎng)殖場勞務(wù)合同(養(yǎng)殖場安全生產(chǎn)監(jiān)管)3篇
- 二零二五年度創(chuàng)業(yè)投資股權(quán)代持專項合同2篇
- 電梯井道改造施工合同
- 插座安裝 服務(wù)合同范本
- 承德市承德縣2022-2023學年七年級上學期期末歷史試題【帶答案】
- CJT511-2017 鑄鐵檢查井蓋
- 轉(zhuǎn)科患者交接記錄單
- 現(xiàn)代漢語智慧樹知到期末考試答案章節(jié)答案2024年昆明學院
- 人教版六年級數(shù)學(上冊)期末調(diào)研題及答案
- 舞蹈療法在減少壓力和焦慮中的作用
- 計算機應用專業(yè)大學生職業(yè)生涯規(guī)劃
- 設(shè)備的故障管理
- 女性婦科保健知識講座
評論
0/150
提交評論