




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021年安徽省合肥市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.設(shè)有定義“intx[2][3];”,則以下選項(xiàng)中不能表示數(shù)組元素x[0][1]的是()。
A.*(*x+1)B.*(*(x+1)C.(*x)[1]D.*(&x[0][0]+1)
2.下列關(guān)于棧敘述正確的是A.棧頂元素最先能被刪除B.棧頂元素最后才能被刪除C.棧底元素永遠(yuǎn)不能被刪除D.以上三種說法都不對
3.單鏈表中,增加一個(gè)頭結(jié)點(diǎn)的目的是為了()。
A.使單鏈表至少有一個(gè)結(jié)點(diǎn)B.標(biāo)識表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置C.方面運(yùn)算的實(shí)現(xiàn)D.說明單鏈表是線性表的鏈?zhǔn)酱鎯?/p>
4.下面不屬于需求分析階段任務(wù)的是()。
A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的性能需求C.制定軟件集成測試計(jì)劃D.需求規(guī)格說明書評審
5.以下不正確的定義語句是A.A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5.3]={0,1,3,5,7,9};
C.charc1[]={′1′,′2′,′3′,′4′,′5′};
D.charc2[]={′\x10′,′\xa′,′\x8′};
6.
7.若有定義:inta,h;通過語句:scanf(”%d;%d”,&a,&B.;,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是()。
A.35B.3,5C.3;5D.35
8.
9.以下選項(xiàng)中的表達(dá)式調(diào)用庫函數(shù)依次求-4.5的絕對值、-4.0的平方根值、30°角的正弦值和2的3次方值。正確的調(diào)用是()
A.abs(-4.5)B.sqrt(-4.0)C.sin(3.1416/6.0)D.paw(2.0,3.0)
10.有下列程序:#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);程序的運(yùn)行結(jié)果是()。A.*****a*bB.a*bC.a*b****D.ab
11.表示關(guān)系a≤b≤c的C語言表達(dá)式為()。
A.(a<=B)&&(b<=C)
B.(a<=B)and(b<=C)
C.(a<=b<=C)
D.(a<=B)&(b<=C)
12.
13.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1B.2C.3D.4
14.若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,I;其中0≤i≤9,則對a數(shù)組元素不正確的引用是()
A.a[p-a]B.*(&a[i])C.p[i]D.a[10]
15.有以下程序:main(){chara[]="abcdefg",b[10]="abcdefg";printf("%d%d\n",sizeof(a),sizeof(b));}執(zhí)行后輸出結(jié)果是()。
A.77B.88C.810D.1010
16.以下說法錯(cuò)誤的是()。
A.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序不能解決過于復(fù)雜的問題
B.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決一些簡單的問題
C.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決遞歸問題
D.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決數(shù)學(xué)上有解析解的問題
17.C語言中char類型數(shù)據(jù)占字節(jié)數(shù)為()。
A.3B.4C.1D.2
18.已知有結(jié)構(gòu)體:structsk{inta;floatb;}data,*p;若有p=&data,則對data的成員a的正確引用是()。
A.struct是結(jié)構(gòu)體類型的關(guān)鍵字
B.st是結(jié)構(gòu)體類型名
C.x、y、z都是結(jié)構(gòu)體成員名
D.structstr是結(jié)構(gòu)體類型名
19.有下列程序:main(){char*P[]={"3697","2584");inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!=\0){if((p[i][j]-t\0)%2)num=10*num+p[j][j]-0;j+=2;}}printf("%d\n",num);}程序執(zhí)行后的輸出結(jié)果是()。A.35B.37C.39D.3975
20.寫出a*(b-c*d)+e-f/g*(h+i*j-k)的逆波蘭表達(dá)式()。
A.a(b-c*d)*+e-(f/g(h+i*j-k)*)
B.a(b-(cd*))*+e-(fg/(h+ij*-k)*)
C.a(bcd*-)*+e-(fg/hij*+k-*)
D.abcd*-*e+fg/hij*+k-*-
二、2.填空題(20題)21.下列程序的輸出結(jié)果是16.00,請?zhí)羁眨?/p>
main()
{
inta=9,b=2;
floatx=【】,y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n",z);
}
22.若按功能劃分,軟件測試的方法通常分為白盒測試方法和【】測試方法。
23.若a=1,b=2,則表達(dá)式!(x=A)‖(y=B)&&0的值是______。
24.數(shù)據(jù)模型按不同的應(yīng)用層次分為三種類型,它們是______數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。
25.以下函數(shù)sstrcat()的功能是實(shí)現(xiàn)字符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:s所指字符串為abed,t所指字符串為efgh,函數(shù)調(diào)用后s所指字符串為abodefgh。請?zhí)羁铡?/p>
#include<string.h>
voidsstrcat(char*s,char*t)
{intn;
n=strlen(s);
while(*(s+n)=【】){s++;t++;}
}
26.一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的【】。
27.下面程序的功能是輸出數(shù)組中最大的數(shù),由a指針指向該元素。請?zhí)羁铡?/p>
main()
{ints[]={6,7,2,13,9,1,12,10,5,8,4,3,11),*a,*b;
for(【】)
if(*a<*b)a=b;
printf("%d",*a);
}
28.在數(shù)據(jù)結(jié)構(gòu)中,順序存儲結(jié)構(gòu)的數(shù)據(jù)元素所占的存儲空間是______的。
29.下面程序的運(yùn)行結(jié)果是()。##include<stdio.h>main(){inta,s,n,m;a=2;s=0;n=1;m=1;while(m<=4){n=n*a;s=s+n;++m;}printf("s=%d",s);}
30.下面程序的功能是將字符串a(chǎn)下標(biāo)值為偶數(shù)的元素由小到大排序,其他元素不變,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{chara[]="labchmfye",t;
inti,j;
for(i=0;i<7;i+=2)
for(j=i+2;j<9;【】)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;j++;}
puts(a);
printf("\n");
}
31.若有語句:
inti=-19,j=i%4;
printf("%d\n",j);
則輸出結(jié)果是【】。
32.以下函數(shù)fun用于求兩個(gè)整數(shù)a和b的最大公約數(shù)。
fun(a,B)
inta,b;
{inti,j,m,n;
if(a>B)
{m=a;a=b;【】;}
i=a;j=b;
while((n=【】)!=0)
{j=i;i=【】;}
return(i);
}
33.將代數(shù)式轉(zhuǎn)換成程序設(shè)計(jì)中的表達(dá)式為【】。
34.按“先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是[]。
35.軟件測試是保證軟件質(zhì)量的重要手段,而軟件測試的主要和重要的測試方法是通過測試數(shù)據(jù)和【】的設(shè)計(jì)來實(shí)現(xiàn)。
36.下列程序執(zhí)行輸出的結(jié)果是______。
#include<stdio.h>
f(intA)
{intb=0;
staticc=7;
a=c++;b++;
return(A);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);
}
37.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
charc1,c2;
for{c1='0',c2='9';c1<c2;c1++,C2--)
printf("%c%c",c1,c2);
printf("\n");
}
38.mystrlen函數(shù)的功能是計(jì)算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>
intmystrlen(char*str)
{intI;
for(I=0;【】!='\n';I++);
return(I);}
39.以下程序的輸出結(jié)果是【】。
main()
{unsignedshorta=65536;intb;
printf("%d\n",b=A);
}
40.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
func(a,b)
{staticintm=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
main()
{intk=5,m=3,p;
p=fune(k,m);
printf("%d",p);
p=func(k,m);
printf("%d\n",p);
}
三、1.選擇題(20題)41.設(shè)x=011050,則x=x&01252的值是()。
A.1000101000
B.1111110100011000
C.1011100010
D.1100000000101000
42.在關(guān)系數(shù)據(jù)庫模型中,通??梢园?)稱為屬性,其值稱為屬性值。
A.記錄B.基本表C.模式D.字段
43.若在某函數(shù)內(nèi)部有定義:inta[3][4];則數(shù)組a中各元素()。
A.可在程序的運(yùn)行階段得到初值0
B.可在程序的編譯階段得到初值0
C.不能得到確定的初值
D.可在程序的編譯或運(yùn)行階段得到初值0
44.include<stdio.h>
voidsort(inta[],intn)
{inti,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;<n;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;
}
}
main()
{inta[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&a[1],7);
for(i=0;i<10;i++)printf("%d,",a[i]);
}
程序運(yù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.1,8,7,6,5,4,3,2,9,10,
D.1,2,10,9,8,7,6,5,4,3,
45.若有說明inta[3][4];,則a數(shù)組元素的非法引用是()A.a[0][2*1]B.a[1][3]C.a[4-2][0]D.a[0][4]
46.下列關(guān)于算法的時(shí)間復(fù)雜度陳述正確的是
A.算法的時(shí)間復(fù)雜度是指執(zhí)行算法程序所需要的時(shí)間
B.算法的時(shí)間復(fù)雜度是指算法程序的長度
C.算法的時(shí)間復(fù)雜度是指算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)
D.算法的時(shí)間復(fù)雜度是指算法程序中的指令條數(shù)
47.已知形成鏈表的存儲結(jié)構(gòu)如下圖所示,則下述類型描述中的空白處應(yīng)填______。structlink{chardata;______;}node;
A.Structlinknext
B.link*next
C.structnextlink
D.Structlink*next
48.若變量已正確定義,有以下程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其輸出結(jié)果是
A.程序段有語法錯(cuò)B.3,5,3C.3,5,5D.3,5,7
49.下列程序執(zhí)行后的輸出結(jié)果是______。#defineMA(x)x*(x-1)main(){inta=1,b=2;printf{"%d\n",MA(1+a+b));}
A.6B.8C.10D.12
50.數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性是指()
A.數(shù)據(jù)與程序獨(dú)立存放
B.不同的數(shù)據(jù)被存放在不同的文件中
C.不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用
D.以上三種說法都不對
51.下列選項(xiàng)中均屬于C語言合法的標(biāo)識符是()。
A.Int#subbreak
B._3abFORLong
C.3aprintfa_b
D.WORDautoinclude
52.下列程序的輸出結(jié)果是()。
intf1(intx,inty){returnx>y?x:y;}
intf2(intx,inty){returnx>y?y:x;}
main()
{inta=4,b=3,c=5,d=2,e,f,g;
e=f2(f1(a,B),f1(c,D));
f=f1(f2(a,B),f2(c,D));
g=a+b+C+d-e-f;
phntf("%d,%d,%d\n",e,f,g);
}
A.4,3,7B.3,4,7C.5,2,7D.2,5,7
53.若有運(yùn)算符:>、=、<<、%、sizeof,則它們按優(yōu)先級(由高至低)的正確排列順序?yàn)?)。
A.%、sizeof、>、<<、=
B.sizeof、%、>、=、<<
C.sizeof、<<、>、%、=
D.sizeof、%、<<、>、=
54.設(shè)有以下定義:char*st="howareyou";下列程序段中正確的是______。
A.chara[11],*p;strcpy(p=a+1,&st[4]);
B.chara[11];strcpy(++a,st);
C.chara[11];strcpy(a,st);
D.chara[],*p;srtcpy(p=&a[1],st+2);
55.設(shè)有結(jié)構(gòu)體類型定義:structtry{intone;floattwo;}*str;若要?jiǎng)討B(tài)開辟一個(gè)結(jié)構(gòu)單元,使指針str指向其首地址,正確的語句是______。
A.str=(try*)malloc(sizeof(try));
B.*str=(structtry*)malloc(sizeof(structtry));
C.str=(strucytry*)malloc(sizeof(structtry));
D.str=(structry)malloc(sizeof(structtry));
56.排序方法中,將整個(gè)無序序列分割成若干小的子序列并分別進(jìn)行插入排序的力法,稱為______。
A.希爾排序B.冒泡排序C.插入排序D.選擇排序
57.假定x和y為double型,則表達(dá)式x=2,y=x+3/2的值是
A.3.5B.3C.2D.3
58.以下程序輸出的結(jié)果為______。main(){char*alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};char**p;inti;p=alpha;for(i=0,i<4;i++)prntf("%s",p[i]);}
A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM
59.在軟件開發(fā)過程中,軟件結(jié)構(gòu)設(shè)計(jì)是描述______。
A.數(shù)據(jù)存儲結(jié)構(gòu)B.軟件體系結(jié)構(gòu)C.軟件結(jié)構(gòu)測試D.軟件控制過程
60.字符串"\\\"ABCDEF\"\\"的長度是()。
A.15B.10C.7D.8
四、選擇題(20題)61.結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括A.多態(tài)性B.自頂向下C.模塊化D.逐步求精
62.以下選項(xiàng)中不合法的標(biāo)識符是()。
A.&aB.FORC.printD._00
63.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.aegiB.dfhkC.abedD.abedefghijk
64.
65.下列不屬于過程設(shè)計(jì)工具中圖形工具的是()。
A.N—SB.PADC.程序流程圖D.PDL
66.下列程序段的輸出結(jié)果是
inta=1234;
floatb=123.456;
doublec=12345.54321;
printf("%2d,%2.1f,%2.1f",a,b,c);
A.無輸出B.12,123.5,12345.5
C.1234,123.5,12345.5D.1234,123.4,12345.5
67.一間宿舍可住多名學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是()。A.一對一B.一對多C.多對一D.多對多
68.有以下程序:
main()
{intp[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7&&p[i]%2){k=k+p[i++];i++}
Printf("%d\n",k);
}
執(zhí)行后輸出的結(jié)果是()。
A.57B.39C.24D.11
69.
70.
71.下列關(guān)于單目運(yùn)算符++、--的敘述中正確的是A.它們的運(yùn)算對象可以是任何變量和常量
B.它們的運(yùn)算對象可以是char型變量和int型變量,但不能是float型變量
C.它們的運(yùn)算對象可以是int型變量,但不能是double型變量和float型變量
D.它們的運(yùn)算對象可以是char型變量、int型變量和float型變量
72.以下()不是標(biāo)準(zhǔn)的HTTP消息頭字段。
A.StatusB.HostC.AcceptD.Referer
73.有以下程序:main(){intm=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序運(yùn)行后的輸出結(jié)果是______。
A.12353514B.12353513C.12343514D.12343513
74.
75.
76.若變量均已正確定義并賦值,以下合法的C語言賦值語句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
77.對于長度為n的線性表,在最壞的情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是
A.插入排序?yàn)閚/2B.插入排序?yàn)閚C.快速排序?yàn)閚D.快速排序?yàn)閚(n-1)/2
78.設(shè)有以下語句:inta=1,b=2,c;c=a^(b<<2);執(zhí)行后,c的值為()。A.6B.7C.8D.9
79.設(shè)有定義:char*C;以下選項(xiàng)中能夠使C正確指向一個(gè)字符串的是()。
A.charstr()=”string”;C=str;
B.scanf(”%s”,C.;
C.c=getchar();
D.*c=”strin9”;
80.設(shè)整型變量a為5,使b不為2的表達(dá)式是()。
A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>3?2:1
五、程序改錯(cuò)題(1題)81.由N個(gè)有序整數(shù)組成的數(shù)列已放在一維數(shù)組中,下列給定程序函數(shù)fun()的功能是:利用折半查找法查找整數(shù)m在數(shù)組中的位置。若找到,返回其下標(biāo)值;否則,返回-1。折半查找的基本算法是:每次查找前先確定數(shù)組中待查的范圍low和high(10w%high)。然后用m與中間位置(mid)上元素的值進(jìn)行比較。如果m的值大于中間位置元素的值,則下一次的查找范圍落在中間位置之后的元素中;反之,下一次的查找范圍落在中間位置之前的元素中,直到low>;high,查找結(jié)束。請改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.請編寫函數(shù)proc,該函數(shù)的功能是:將放在字符串?dāng)?shù)組中的M個(gè)字符串(每串的長度不超過N),按順序合并組成一個(gè)新的字符串。例如,若字符串?dāng)?shù)組中的M個(gè)字符串為:ABCDBCDEFGCDEFGHI則合并后的字符串內(nèi)容應(yīng)該是ABCDBCDEFGCDEFGHl。注意:部分源程序給出如下。請勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填入所編寫的若干語句。試題程序:#include<stdio.h>#include<conio.h>#defineM3#defineN20voidproc(chararr[M][N],char*b){}voidmain{charstr[M][N]={"ABCD","BCDEFG","CDEFGHl"),i;chararr[100]={"##################"};printf(”Thestrin9:kn”);for(i=0;i<M;i++)puts(str[i]);printf("\n");proc(str,arr);printf("TheAstring:\n");printf("%S",arr);printf("\n\n");}
參考答案
1.B選項(xiàng)A中*x等價(jià)于x[0],*x+1等價(jià)于x[0]+1,*(x[0]+1)等價(jià)于x[0][1],正確;選項(xiàng)B中,*(x+1)等價(jià)于x[1],*(*(x+1))等價(jià)于x[1][0],錯(cuò)誤;選項(xiàng)C中,*x等價(jià)于x[0],(*x)[1]等價(jià)于x[0][1],正確;選項(xiàng)D中,&x[0][0]等價(jià)于x[0],&[0][0]+1等價(jià)于x[0]+1,*(x[0]+1)等價(jià)于x[0][1],正確。故本題答案為B選項(xiàng)。
2.A棧是限定只在一端進(jìn)行插入與刪除的線性表,按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。
3.C
4.C【答案】:C
【知識點(diǎn)】:需求分析階段的任務(wù)
【解析】:需求分析階段的任務(wù)是深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的約束和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求,借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問題??煞譃樾枨筇岢?、需求描述及需求評審三個(gè)階段。從此可以看出需求分析的任務(wù)不包括制定軟件集成測試計(jì)劃,故選C。
5.B
6.C
7.C輸入數(shù)據(jù)的格式必須與seanf()的格式控制串完全匹配,所以輸入時(shí)必須在3和5之間輸入“;”。
8.A
9.C
10.C解析:主函數(shù)main()定義了指向字符串的指針和一個(gè)字符數(shù)組,接著調(diào)用fun(s,t)函數(shù),進(jìn)行實(shí)參向形參傳遞,函數(shù)fun()第一個(gè)while語句判斷*a中的值為“*”時(shí)繼續(xù)掃描,當(dāng)遇到不是“*”時(shí)結(jié)束,接著第二個(gè)while循環(huán)語句,將*a中從“a”開始的后續(xù)所有字符都賦予*b,也就是t[80]中的內(nèi)容為“a*b****”,所以此題的運(yùn)行結(jié)果為選項(xiàng)C)。
11.A解析:本題考查邏輯與運(yùn)算符&&。在C語言中使用運(yùn)算符“&&”連接兩個(gè)表達(dá)式,也可以表示邏輯與運(yùn)算符。在C語言中不允許出現(xiàn)a<=b<=c這種格式。
12.A
13.A在函數(shù)point函數(shù)調(diào)用時(shí),系統(tǒng)自動(dòng)為函數(shù)的形參P分配內(nèi)存空間,并賦值為實(shí)參P的值。當(dāng)執(zhí)行語句P+=3;時(shí),系統(tǒng)操作的是形參P的內(nèi)存空間,更改形參P的內(nèi)容,而實(shí)參指針變量P的值未受影響,即指針變量作為函數(shù)參
14.D解析:通常,引用一個(gè)數(shù)組元素可以用下標(biāo)法,如a[P-a]形式,或指針法,如*(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標(biāo)是從0開始的。
15.C解析:本題考核的知識點(diǎn)是字符數(shù)組的定義、賦初值以及函數(shù)sizeof()的應(yīng)用。本題中定義兩個(gè)字符型數(shù)組,其中a省略了長度,定義了b的長度為10,并賦初值分別為“abcdefg”和“abcdfg”。所以a的長度為賦值給它的字符串的字符個(gè)數(shù)7加上一個(gè)結(jié)束轉(zhuǎn)義字符,即a的長度為7+1為8.定義時(shí)b的長度定義為10,故b的長度為10,因此最后通過函數(shù)sizeof()求得的數(shù)組a和數(shù)組b的長度分別為8和10,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
16.A順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)是3種基本結(jié)構(gòu),由3種基本結(jié)構(gòu)構(gòu)成的程序稱為結(jié)構(gòu)化程序,由3種基本結(jié)構(gòu)組成的算法可以解決任何復(fù)雜的問題,選項(xiàng)A錯(cuò)誤。本題答案為A選項(xiàng)。
17.CChar類型數(shù)據(jù)占1個(gè)字節(jié)。
18.B解析:本題主要考查結(jié)構(gòu)類型的定義:struct是結(jié)構(gòu)體類型的關(guān)鍵字;structstr是結(jié)構(gòu)體類型名;x、y、z都是結(jié)構(gòu)體成員名;st是結(jié)構(gòu)變量名。
19.D執(zhí)行第一次for循環(huán)時(shí),用表達(dá)式p[i][J]!=\o來判斷字符串?dāng)?shù)組指針P是否到達(dá)字符串的結(jié)尾,如果沒有到達(dá),繼續(xù)執(zhí)行while中的語句。if語句表示(p[i][j]-\o)除2的余數(shù)不為0時(shí),即字符串所有奇數(shù),執(zhí)行后面的語句。所以退出第1次for的循環(huán)體時(shí),輸出為397,執(zhí)行第2次循環(huán)體。對字符串“2584”進(jìn)行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。
20.D
解析:本題,已知結(jié)果z=16.00,即16.0=a/2+b*x/y+1/2,分別把a(bǔ)、b,代入,得到16.0=9/2+2*x/1.1+1/2。因?yàn)閍=9,a是整型,所以9/2的值在沒有進(jìn)行類型轉(zhuǎn)換時(shí),等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。
22.黑盒軟件測試的方法有三種:動(dòng)態(tài)測試、靜態(tài)測試和正確性證明。設(shè)計(jì)測試實(shí)例的方法一般有兩類:黑盒測試法和白盒測試法。在使用黑盒法設(shè)計(jì)測試實(shí)例時(shí),測試人員將程序看成一個(gè)“黑盒”,即不關(guān)心程序內(nèi)部是如何實(shí)現(xiàn)的,只是檢查程序是否符合它的“功能說明”,所以使用黑盒法設(shè)計(jì)的測試用例完全是根據(jù)程序的功能說明來設(shè)計(jì)的。
23.00解析:根據(jù)運(yùn)算符的運(yùn)算順序可知,該表達(dá)式最后運(yùn)算的是與(&&)運(yùn)算,而任何表達(dá)式與“0”進(jìn)行“與”運(yùn)算,結(jié)果都為0。
24.概念概念
25.*t*t解析:函數(shù)中首先讓n=strlen(s),所以while循環(huán)的循環(huán)條件表達(dá)式中*(s+n)指向字符串s的結(jié)束標(biāo)志'\\0'處,而該處應(yīng)該等于字符串t的第1個(gè)字符,另外循環(huán)體中讓s和t指向下一個(gè)字符,即s+n和t同時(shí)被移動(dòng)到下一個(gè)位置,所以該處應(yīng)該填*t,即t所指內(nèi)容。當(dāng)t指向字符串結(jié)束標(biāo)志'\\0'的時(shí)候,整個(gè)循環(huán)條件表達(dá)式的值也為0(“假”)了,循環(huán)結(jié)束。正好滿足將t所指字符串復(fù)制到s所指的字符串的尾部。
26.可重用性繼承的優(yōu)點(diǎn):相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。
27.a=sb=s+1;b-s<sizeof(s)/sizeof(s[0]);b++a=s,b=s+1;b-s<sizeof(s)/sizeof(s[0]);b++解析:題目要求輸出數(shù)組中最大的數(shù),所以要遍歷整個(gè)數(shù)組,而指針a用來指向最大數(shù),所以循環(huán)變量只有使用指針b。for初始化時(shí),應(yīng)該先讓a指向第1個(gè)數(shù),然后讓b指向第2個(gè)數(shù),故循環(huán)初始化語句應(yīng)該為a=s,b=s+1或其他等價(jià)表達(dá)式。因?yàn)橐筨遍歷整個(gè)數(shù)組,故循環(huán)條件應(yīng)該為b-s<sizeof(s)/sizeof(s[0])或其他等價(jià)表達(dá)式。最后每次循環(huán)應(yīng)該讓b往后移動(dòng)一位,故for的第3條語句應(yīng)該是++b、b++或其他等價(jià)形勢。所以本題應(yīng)填a=s,b=s+1;b-s<sizeof(s)/sizeof(s[0]);b++或其他等價(jià)語句。
28.連續(xù)連續(xù)解析:順序存儲結(jié)構(gòu)具有兩個(gè)特點(diǎn):1)數(shù)據(jù)元素所占空間是連續(xù)的;2)數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。
29.s=30s=30解析:分析循環(huán)條件“m=1,m<=4”,所以循環(huán)4次。第1次:n=n*a=2,s=s+n=2;m=2。第2次:n=n*a=4,s=s+n=6;m=3。第3次:n=n*a=8,s=s+n=14;m=4。第4次:n=n*a=16,s=s+n=30。
30.j++a[i]>a[j]或a[j]<a[i]j++\r\na[i]>a[j]或a[j]<a[i]解析:題目要求排序的元素是下標(biāo)值為偶數(shù)的元素,外循環(huán)循環(huán)4次,i的值分別為0、2、4、6,所以內(nèi)循環(huán)也循環(huán)4次,i的值就應(yīng)為2、4、6、8,在循環(huán)體中已經(jīng)有了對j加1的操作,因此for后括號中的語句應(yīng)再對j加1,保證下標(biāo)為偶數(shù)。if語句的功能是如果后一個(gè)數(shù)比前一個(gè)數(shù)小則交換位置。
31.-3-3解析:%運(yùn)算符是求兩個(gè)數(shù)相除的余數(shù),其結(jié)果與被除數(shù)的符號一致,本題中“-19%4”的值為“-3”。
32.b=mj%i.nb=m\r\nj%i.\r\nn解析:函數(shù)中的變量i和j分別存放兩個(gè)形參的最小數(shù)和最大數(shù),在語句i=a和j=b執(zhí)行之前,要將a和b分別變?yōu)樽钚?shù)和最大數(shù),當(dāng)a>b時(shí),程序使用中間變量將兩者交換,所以題中第—個(gè)空中應(yīng)當(dāng)填寫“b=m”;為求兩個(gè)整數(shù)的最大公約數(shù),程序的where循環(huán)條件必須為j整除i成立,所以題中第二個(gè)空中應(yīng)當(dāng)填寫“j%i”;程序要通過i的值返回最大公約數(shù),因此在循環(huán)中要將每次整除的公釣數(shù)賦給i,以保證最后返回的是兩個(gè),整數(shù)的最大公約數(shù),所以第三個(gè)空中應(yīng)當(dāng)填寫“n”。
33.SQRT(x2+y2)/(a+b)
34.棧棧解析:棧和隊(duì)列都是—種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的—端進(jìn)行插入或刪除操作,是—種“先進(jìn)后出”的線性表;而隊(duì)列只允許在表的—端進(jìn)行插入操作,在另—端進(jìn)行刪除操作,是—種“先進(jìn)先出”的線性表。
35.測試實(shí)例測試實(shí)例解析:進(jìn)行軟件測試時(shí),應(yīng)精心設(shè)計(jì)測試實(shí)例和選擇測試數(shù)據(jù),以對系統(tǒng)進(jìn)行全面測試。
36.88解析:第1次for循環(huán),i=0,調(diào)用函數(shù)f(2),然后將a的值加1,在f()函數(shù)中,變量c為static類型,所以c=8:第2次for循環(huán),i=1,調(diào)用函數(shù)f(3),然后將a的值加1,調(diào)用函數(shù)f(3)時(shí),a=c++=8,所以k=8。
37.918273645918273645解析:題目中為for循環(huán)定義了兩個(gè)字符型循環(huán)變量c1和c2,循環(huán)開始時(shí)分別初始化為字符'0'和'9',然后每次循環(huán)結(jié)束給c1增1、c2減1,循環(huán)條件為c1<c2,即讓c1的值依次為'0'、'1'、'2'…,c2的值依次為'9'、'8'、'7'…,直到兩個(gè)數(shù)相遇時(shí)結(jié)束循環(huán)。又因?yàn)樵撗h(huán)的循環(huán)體每次按字符形式輸出c1和c2的值.所以最終的輸出結(jié)果為:0918273645。
38.*(str+I)或str[I]*(str+I)或str[I]解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過程中,可以用*(str+I)來訪問字符串中的第I個(gè)元素,判斷是否為結(jié)束標(biāo)志,如果不是,I=I+1,繼續(xù)取下一個(gè)元素進(jìn)行判斷,直到*(str+I)的值為'\\0'為止,也可以用下標(biāo)的方式引用字符,如*(str+I)相當(dāng)于str[I]。
39.00解析:對于一個(gè)unsignedshort來說,它能取的最大值是65535。這里給a賦值65536,已經(jīng)超出了它的取值范圍,這樣它的高位將被截掉,只把低位賦給它(全零)。所以a的值實(shí)際為0。
40.11231123解析:在主函數(shù)中第一次調(diào)用func子函數(shù)時(shí),m=0,i=2,i=i+m+1=3,m=i+a+b=3+5+3=11。因?yàn)樵谟诤瘮?shù)中將m和i定義成了static類型,所以在于函數(shù)中對m和i進(jìn)行的改變在下一次調(diào)用子函數(shù)時(shí)能進(jìn)行保存,所以第二次調(diào)用于函數(shù)時(shí),m=11,i=3,則i=i+m+1=15,m=i+a+b=15+5+3=23。
41.A解析:本題主要考查按位與運(yùn)算,x=011050的二進(jìn)制形式為000100100010t000,01252的二進(jìn)制形式為0000001010101010,兩者相與得0000001000101000。
42.D解析:數(shù)據(jù)庫表中字段轉(zhuǎn)化為屬性,把記錄的類型轉(zhuǎn)化為關(guān)系模式。
43.C解析:在函數(shù)內(nèi)部定義的存儲類型為auto的變量或數(shù)組,如果沒有進(jìn)行初始化,就不能得到確定值。
44.C解析:本程序中的函數(shù)sort(inta[],intn)實(shí)現(xiàn)的功能是將數(shù)組a中的前n個(gè)數(shù)進(jìn)行從大到小排序。sort(&a[1],7)是將數(shù)組中從a[1]到a[7]這7個(gè)數(shù)進(jìn)行從大到小排序,其他數(shù)不變。
45.D解析:本題定義a為3行×4列的數(shù)組,它可用的行下標(biāo)最大為2,列下標(biāo)最大為3。注意:a[0][4]超過了數(shù)組的范圍。注意:數(shù)組的下標(biāo)是從0開始的。
46.C解析:算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量,也就是算法在執(zhí)行過程中所執(zhí)行的基本運(yùn)算的次數(shù),而不是指程序運(yùn)行需要的時(shí)間或是程序的長度。
47.D解析:在單向鏈表中,由于每個(gè)結(jié)點(diǎn)需要存儲下一個(gè)結(jié)點(diǎn)的地址,且下一個(gè)結(jié)點(diǎn)的數(shù)據(jù)類型與前一個(gè)結(jié)點(diǎn)的數(shù)據(jù)類型完全相同,故應(yīng)為structlink*next。
48.B解析:本題考查if條件語句。a=3,b=5,因此a>b條件不成立,c=a=3。此時(shí)c!=a條件不成立,不執(zhí)行c=b;語句,c的值仍然為5。結(jié)果a=3,b=5,c=3。
49.B
50.D解析:在數(shù)據(jù)庫系統(tǒng)中,通過系統(tǒng)提供的映象功能,使數(shù)據(jù)具有兩方面的獨(dú)立性:一是物理獨(dú)立性。即由于數(shù)據(jù)的存儲結(jié)構(gòu)與邏輯結(jié)構(gòu)之間由系統(tǒng)提供映象,使得當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改。二是邏輯獨(dú)立性。即由于數(shù)據(jù)的局部邏輯結(jié)構(gòu)(它是總體邏輯結(jié)構(gòu)的一個(gè)子集,由具體的應(yīng)用程序所確定,并且根據(jù)具體的需要可以作一定的修改)與總體邏輯結(jié)構(gòu)之間也由系統(tǒng)提供映象,使得當(dāng)總體邏輯結(jié)構(gòu)改變時(shí),其局部邏輯結(jié)構(gòu)可以不變,從而根據(jù)局部邏輯結(jié)構(gòu)編寫的應(yīng)用程序也可以不必修改。由此可知,選項(xiàng)A.B與C中的說法都是錯(cuò)誤的。
51.B解析:選項(xiàng)A中#sub含有非法字符‘#’、break屬于C語言關(guān)鍵字都不是合法標(biāo)識符;選項(xiàng)C中3a以數(shù)字開頭不是合法標(biāo)識符;選項(xiàng)D中的auto是C語言關(guān)鍵字不屬于合法標(biāo)識符;故應(yīng)該選擇B。
52.A解析:根據(jù)函數(shù)intf1(intx,inty){returnx>y?x:y;}和int饅(intx,inty){retumx>y?y:x;}的定義可知,如果x>y成立,則函數(shù)n返回x的值,函數(shù)C返回y的值。所以n(a,B=4,n(c,d)=5,C(a,B=3,f2(c,d)=2,故e=f2(4,5)=4,f=n(3,2)=3,g=4+3+5+2-4-3=7。
53.D解析:主要考查運(yùn)算符的優(yōu)先級。sizeof的優(yōu)先級最高,后面的順序是:%、<<、>,優(yōu)先級最低的是“=”。
54.A解析:選項(xiàng)A表示把st所指串的第5個(gè)字符開始的后面的元素賦值給數(shù)組a的第2個(gè)元素開始的后面元素,形式正確;選項(xiàng)B中出現(xiàn)對數(shù)組名進(jìn)行自加運(yùn)算,因此錯(cuò)誤:選項(xiàng)C中st所指字符串有11個(gè)字符,再加上'\\0',有12個(gè)字符,超過數(shù)組長度,所以也是錯(cuò)誤的;選項(xiàng)D的情況和選項(xiàng)C相似,也是形式正確,但超過了數(shù)組的長度。
55.C解析:由于在ANSIC中malloc函數(shù)返回的地址為void,故在調(diào)用函數(shù)時(shí),必須利用強(qiáng)制類型轉(zhuǎn)換將其轉(zhuǎn)換成所需的類型。
56.A解析:希爾排序法的基本思想是:將整個(gè)無序序列分割成若干小的子序列分別進(jìn)行插入排序。
57.D解析:本題需要掌握的知識點(diǎn)是:逗號表達(dá)式的求解步驟,另外,注意一下兩個(gè)整數(shù)相除的結(jié)果仍為整數(shù)。了解了知識點(diǎn)后,本題就可以逐步求解了:
x=2
y=x+3/2
y=2.000000+1
y=3.000000
58.C解析:alpha[0]指向“ABCD'’的首地址;alpha[1]指向“EFGH'’的首地址;alpha[2]指向“IJKL”的首地址,依此類推。當(dāng)初行p=alpha后,p指向指針數(shù)組alpha的首地址。for循環(huán)中輸出了4個(gè)字符串。
59.B解析:從工程管理解度來看,軟件設(shè)計(jì)分兩步完成:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)(又稱結(jié)構(gòu)設(shè)計(jì))將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式。
60.B解析:本題涉及字符串最基本的兩個(gè)概念:①字符串的長度是指字符串中字符的個(gè)數(shù),但不包括字符串結(jié)束符;②以反斜杠“\\”開頭的特殊字符序列,意思是把反斜杠后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來的含義,不包含在字符串長度之內(nèi),“\\”連同后面的字符為一個(gè)長度。
61.A結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為:自頂向下,逐步求精,模塊化和限制使用GOTO語句,其中不包括多態(tài)性。
62.Ac語言中標(biāo)識符由字母、下劃線或數(shù)字組成,且開頭必須是字母或下劃線。另外,關(guān)鍵字不能作為標(biāo)識符。因?yàn)閏語言中區(qū)分大小寫,所以B)選項(xiàng)中的“FOR”可以作為標(biāo)識符來用。A)選項(xiàng)中含有非法字符&,因此選擇A)。
63.Aa為一個(gè)指針數(shù)組,其中的每個(gè)元素都是一個(gè)指針。該程序的功能是分別打印4個(gè)字符串的首字母。因此本題答案為A)。
64.C
65.D\n常用的過程設(shè)計(jì)工具有圖形工具(程序流程圖、N-S圖、PAD圖、HIPO)、表格工具(判定表)、語言工具(PDL)。
\n
66.C本題主要考查C語言的輸出格式。在本題程序中,分別給出了三個(gè)不同類型的變量并賦初值。三個(gè)變量中,一個(gè)為整型,一個(gè)為單精度型,一個(gè)為雙精度型,然后用一條輸出語句將它們輸出,輸出的格式分別為%2d,%2.1f,%2.1f。
%2d表示輸出位數(shù)為兩位的整型數(shù)據(jù),但很顯然,題目中給出的數(shù)據(jù)不只兩位,那么需要按其實(shí)際位數(shù)輸出,因此,最后輸出變量a的結(jié)果為1234。
%2.1f表述輸出位數(shù)為兩位的實(shí)型數(shù)據(jù),并保留一位小數(shù)位,同樣,題目中給出的數(shù)據(jù)不只兩位,那么需要按其實(shí)際位數(shù)輸出。這里需要注意,因?yàn)樾?shù)位很多,只輸出一位時(shí)需要對其進(jìn)行四舍五入操作。因此,最后輸出變量b的結(jié)果為1234.5;輸出變量C的結(jié)果為12345.5。
67.B因?yàn)橐婚g宿舍可以住多名學(xué)生即多名學(xué)生住在一間宿舍中,但,名學(xué)生只能住一間宿舍,所以實(shí)體宿舍和學(xué)生之間是一對多的關(guān)系,因此本題答案為B)。
68.D循環(huán)的條件是i<7并且p[i]是奇數(shù),當(dāng)i=0時(shí),i<7,p[i]=11,滿足條件,所以k=0+11=11,然后i++,i++,所以i=2,p
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45228-2025信息技術(shù)生物特征識別產(chǎn)品適老化通用要求
- GB/T 1634.1-2025塑料負(fù)荷變形溫度的測定第1部分:通用試驗(yàn)方法
- 頂管電纜施工方案
- 榮楊線施工方案
- 旋轉(zhuǎn)裝飾幕墻施工方案
- 安丘路沿石施工方案
- TSHJMRH 0065-2024 北斗衛(wèi)星與光纖羅經(jīng)組合導(dǎo)航系統(tǒng)技術(shù)規(guī)范
- TSHAEPI 015-2024 海洋傾倒在線監(jiān)控設(shè)備技術(shù)要求及測試方法
- 二零二五年度解除勞動(dòng)合同通知書及員工離職培訓(xùn)費(fèi)用補(bǔ)償合同
- 2025年度新能源車充電設(shè)施建設(shè)合同終止函模板
- 《鳳仙花開花了》參考課件
- 2023年版《中國泌尿外科疾病診斷治療指南》
- 2023可信數(shù)字底座白皮書
- W公司加氫站安全管理問題
- 1.醫(yī)院總院醫(yī)藥代表接待管理制度(詳細(xì)版)
- 家長會課件:三年級下家長會課件
- 義務(wù)教育階段中小學(xué)學(xué)生轉(zhuǎn)學(xué)申請表
- pcb板銅箔厚度公差標(biāo)準(zhǔn)
- 阿斯伯格綜合征兒童上學(xué)與社交技能訓(xùn)練
- 23J916-1:住宅排氣道(一)
- 臨聘人員信息表
評論
0/150
提交評論