版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年寧夏回族自治區(qū)吳忠市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.廣義表(a,b,c,d)的表尾是()。
A.aB.(a)C.(b,c,d)D.((b,c,c))
2.以下程序中函數(shù)sort的功能是對(duì)數(shù)組a中的數(shù)據(jù)進(jìn)行由大到小的排序:#include<stdio.h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[]={1,2,3,4,5,6,7,8,9,10},i;son(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序運(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,2,3;8,7,6,5,4,9,10,
D.1,2,10,9,8,7,6,5,4,3,
3.棧的特點(diǎn)是B,隊(duì)列的特點(diǎn)是()。
A.先進(jìn)先出B.先進(jìn)后出
4.在JavaScript語(yǔ)言中,要定義局部變量則可以()。
A.由關(guān)鍵字private在函數(shù)內(nèi)定義
B.由關(guān)鍵字private在函數(shù)外定義
C.由var在函數(shù)內(nèi)定義
D.由關(guān)鍵字var在函數(shù)外定義
5.有以下程序
#include<stdio.h>
main()
{inta=1,b=0;
if(--a)b++;
elseif(a==0)b+=2;
elseb+=3:
printf("%d\n",b);
}
程序運(yùn)行后的輸出結(jié)果是A.A.0B.1C.2D.3
6.若一棵二叉樹具有10個(gè)度為2的結(jié)點(diǎn),5個(gè)度為1的結(jié)點(diǎn),則度為0的結(jié)點(diǎn)的個(gè)數(shù)是()。
A.9B.11C.15D.不能確定
7.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.0,1,0B.0,1,1C.0,0,1D.0,0,0
8.下列函數(shù)的功能是
set(s,t)
{char*s,*t;
while((*s)&&(*t)&&(*t++==*s++));
return(*s-*t);
}A.A.求字符串的長(zhǎng)度
B.比較兩字符串的大小
C.將字符串s復(fù)制到字符串t中
D.將字符串s連接到字符串t后
9.執(zhí)行下面的程序后,a的值為()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10
10.以下選項(xiàng)中不屬于c語(yǔ)言的類型的是()。
A.unsignedlongint
B.longshort
C.unsignedint
D.signedshortint
11.若有定義:“inta,b,c,*p=&c;”,接著執(zhí)行以下選項(xiàng)中的語(yǔ)句,則能正確執(zhí)行的語(yǔ)句是()。
A.scanf(“%d”,a,b,c);
B.scanf(“%d%d%d”,a,b,c);
C.scanf(“%d”,p);
D.scanf(“%d”,&p);
12.設(shè)有序順序表中有n個(gè)數(shù)據(jù)元素,則利用二分查找法查找數(shù)據(jù)元素X的最多比較次數(shù)不超過(guò)()。A.log2+1
B.log2(n-1)
C.log2n
D.log2(n+1)
13.
14.若已知一個(gè)棧的進(jìn)棧序列是1,2,3…n,其輸出序列是P1,P2,P3,…PN,若P1=n,則Pi(1<i<p)為()。
A.IB.n-iC.n-i+1D.不確定
15.有如下程序段:
inta=14,b=15,x;
charc='A';
x=(a&&b)&&(c<'B'):
執(zhí)行該程序后,x的值為()。A.A.trueB.falseC.0D.1
16.遞歸式的先序遍歷一個(gè)n節(jié)點(diǎn),深度為d的二叉樹,則需要棧空間的大小為()
A.O(logn)B.O(nlogn)C.O(n)D.O(d)
17.若長(zhǎng)度為n的線性表采用順序存儲(chǔ)結(jié)構(gòu),在其第i個(gè)位置插入一個(gè)新元素的算法的時(shí)間復(fù)雜度為()。
A.O(0)B.O(1)C.O(n)D.O(n2)
18.若主調(diào)用函數(shù)類型為double,被調(diào)用函數(shù)定義中沒有進(jìn)行函數(shù)類型說(shuō)明,而return語(yǔ)句中的表達(dá)式類型為float型,則被調(diào)函數(shù)返回值的類型是()。
A.int型B.float型C.double型D.由系統(tǒng)當(dāng)時(shí)的情況而定
19.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。
A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4
20.設(shè)有如下定義:structsk{inta;floatb;}data;int*p;若要使p指向data中的a域,正確的賦值語(yǔ)句是()
A.p=&a;B.p=data.a;C.p=&data.a,D.*p=data.a;
二、2.填空題(20題)21.以下程序段用于構(gòu)成一個(gè)簡(jiǎn)單的單向鏈表。請(qǐng)?zhí)羁铡?/p>
struetSTRU
{intx,y;
floatrate;
【】p;
}a,b;
a.x=0;a.y=0;a.rate=0;a.p=&b;
b.x=0;b.y=0;b.rate=0;b.p=NULL;
22.注釋說(shuō)明了程序的功能,它分為【】注釋和功能性注釋。
23.下面程序的功能:輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti,j;
for(i=0;i<10或i<=9;i++)
{j=i*10+6;
if(【】)continue;
printf("%d",j);
}
}
24.以下程序的運(yùn)行結(jié)果是______。
intx;
main()
{inta=5,b=8;
swap(a,b);
printf("a=%d,b=%d,x=%d\n",a,b,x);
}
swap(inta,intb)
{inttemp;
temp=a;a=b;
b=temp;x=a/b;
printf("x=%d\n",x);
}
25.閱讀下面程序段,則執(zhí)行后輸出的結(jié)果是【】。
#include"stdio.h"
main()
{charfun(char,int);
chara=′A′;
intb=13;
a=fun(a,b);
putchar(a);}
charfun(chara,intb)
{chark;
k=a+b;
returnk;}
26.x、y、x均為int型變量,描述"x、y和z中至少有兩個(gè)為正數(shù)"的表達(dá)式是______。
27.語(yǔ)句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請(qǐng)寫出一條同一功能的賦值語(yǔ)句(不得與列舉的相同)【】。
28.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和方法的機(jī)制稱為______。
29.執(zhí)行以下程序后sum的值是【】。
main()
{
inti,sum;
for(i=1;i<6;i++)
sum+=i;
printf("%d\n",sum);
}
30.以下sstrcpy()函數(shù)實(shí)現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指向內(nèi)存空間中,形成一個(gè)新的字符串s。清填空。
voidsstrcpy(char*s,char*t)
{while(*s++=【】);}
main()
{charstr1[100],str2[]="abcdefgh";
strcpy(str1,str2);
printf('%s\n",str1);
}
31.用以下語(yǔ)句調(diào)用庫(kù)函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁铡t=(char*)【】;
32.以下定義的結(jié)構(gòu)體類型擬包含兩個(gè)成員,其中成員變量info用來(lái)存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請(qǐng)將定義補(bǔ)充完整。
structnode
{intinfo;
【】link;};
33.下列程序執(zhí)行后輸出的結(jié)果是【】。
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);
}
34.以下程序的輸出是【】。
main()
{
charstrl[]]="Howdoyoudo",*p1=strl;
strcpy(strl+strlen(strl)/2,"esshe");
printf("%s\n",p1);
}
35.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<string.h>
char*ss(char*s)
{char*p;t;
p=s+1;t=*s;
while(*p){*(p-1)=*p;p++;}
*(p-1)=t;
returns;
}
main()
{char*p,str[10]="abcdergh";
p=ss(str);
printf("%s\n",p);
}
36.面向?qū)ο蟮哪P椭校罨镜母拍钍菍?duì)象和______。
37.下列程序的運(yùn)行結(jié)果是______。
main()
{inta=1,b=10;
do
{b-=a;a++;}while(b--<0);
printf("%d,%d\n",a,b);
}
38.在Windows環(huán)境下,可以將窗口最小化為【】。
39.按“先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是[]。
40.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
三、1.選擇題(20題)41.下面的程序執(zhí)行后,文件test.t中內(nèi)容是______。#include<stdio.h>voidfun(char*fname,char*st){FILE*myf;inti;myf=fopen(fname,"W");for(i=0;i<strlen(st);i++)foutc(st[i]myf;fclose(myf);}main(){fun("test.t","newworld");fun("test.t","hello,");}
A.hello,B.newworldhelloC.newworldD.hello,rid
42.fgetc函數(shù)的作用是從指定文件讀入一個(gè)字符,該文件的打開方式必須是______。
A.只讀B.追加C.讀或讀寫D.以上均正確
43.有以下程序______。#defineP3voidF(intx){return(P*x*x);}main(){printf("%d\n",F(xiàn)(3+5));}程序運(yùn)行后的輸出結(jié)果是______。
A.192B.29C.25D.編譯出錯(cuò)
44.以下結(jié)構(gòu)體類型說(shuō)明和變量定義中正確的是()。
A.typedefstruct
B.structREC;{intn;charc;}REC;{intn;charc;};RECt1,t2;RECt1,t2;
C.typedefstructREC;
D.struct{intn=0;charc='A';}t1,t2;{intn;charc;}REC;RECt1,t2;
45.有定義語(yǔ)句:chars[10];,若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語(yǔ)句是
A.sets(&s[0]);
B.scarf("%s",s+1);
C.gets(s);
D.scanf("%s",s[1]);
46.為了使模塊盡可能獨(dú)立,要求()。
A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
47.相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
48.有以下程序main(){ihtm=3,n=r,x;x=-m++;X=x+8/++n;printf("%d\n",x);}程序運(yùn)行后的輸出結(jié)果是
A.3B.5C.-1D.-2
49.以下關(guān)于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(),
A.均占4個(gè)字節(jié)B.根據(jù)數(shù)據(jù)的大小來(lái)決定所占內(nèi)存的字節(jié)數(shù)C.由用戶自己定義D.由C語(yǔ)言編譯系統(tǒng)決定
50.已知二叉樹BT的后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是______.
A.cedbaB.acbedC.decabD.deabc
51.若x是整型變量,pb是基本類型為整型的指針變量,則正確的賦值語(yǔ)句是()
A.pb=&x;B.pb=x;C.*pb=&x;D.*pb=*x;
52.以下定義語(yǔ)句中正確的是
A.inta=b=0;
B.charA=65+1,b=′b′;
C.floata=1,*b=&a,*c=&b;
D.doublea=00;b=1.1;
53.C語(yǔ)言庫(kù)函數(shù)fgets(str,n,fp)的功能是______。
A.從fp指向的文件中讀取長(zhǎng)度n的字符串存入str旨向的內(nèi)存
B.從fp指向的文件中讀取長(zhǎng)度不超過(guò)n-1的字符串存入str指向的內(nèi)存
C.從fb指向的文件中讀取n個(gè)字符串存入str指向的內(nèi)存
D.從str讀取至多n個(gè)字符到文fp
54.有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}執(zhí)行后輸出結(jié)果是()。
A.7,8,8B.7,8,7C.8,7,7D.8,7,8
55.在結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率。與程序的效率相比,人們更重視程序的
A.安全性B.一致性C.可理解性D.合理性
56.下列不屬于軟件工程3個(gè)要素的是()
A.工具B.過(guò)程C.方法D.環(huán)境
57.有以下程序main(){inti=1,j=l,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);執(zhí)行后輸出的結(jié)果是
A.1,1,2B.2,2,1C.2,2,2D.2,2,3
58.對(duì)以下程序段的描述,正確的是()。x=-1;do{x=x*x;}while(!x);
A.是死循環(huán)B.循環(huán)執(zhí)行兩次C.循環(huán)執(zhí)行一次D.有語(yǔ)法錯(cuò)誤
59.在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換為關(guān)系模式的過(guò)程屬于()。
A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
60.有以下程序,其中%u表示按無(wú)符號(hào)整數(shù)輸出:
main
{
unsignedintx=0xFFFF;/*x的初值為十六進(jìn)制數(shù)*/
printf("%u\n",x);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.-1B.65535C.32767D.0xFFFF
四、選擇題(20題)61.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.-3,-1,1,3,B.-12,-3,0,0,C.0,1,2,3,D.-3,-3,-3,-3,
62.當(dāng)把以下四個(gè)表達(dá)式用作if語(yǔ)句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與表達(dá)式(k%2)!=0含義相同,這個(gè)選項(xiàng)是()。
A.k%2==0B.k%2==1C.!k%2==1D.都不同
63.設(shè)有如下說(shuō)明
typedefstruct
{intnumber;charclass;doublescore;}student;
則以下選項(xiàng)中,能正確定義結(jié)構(gòu)體數(shù)組并賦初值的語(yǔ)句是()。
A.studenttt[2]={{189,’A’,62},{190,’B’,75}};
B.studenttt[2]={189,’"A",62,190,"B",75};
C.structtt[2]={{189,’A’},{190,’B’}};
D.structtt[2]={{189,"A",62.5},{190,"B",75.0}};
64.
65.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是()。
A.EOFB.-lC.非零值D.0
66.設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+′a′+i*f值的數(shù)據(jù)類型為
A.intB.floatC.doubleD.不確定
67.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.8B.4C.6D.2
68.以下選項(xiàng)中正確的定義語(yǔ)句是()。
A.double,a,b;B.doublea=b=7;C.doublea;b;D.doublea=7,b=7;
69.如果inta=1,b=2,c=3,d=4;則條件表達(dá)式“a<b?a:c<d?c:d”的值是()。
A)1B)2
C)3D)4
70.為了提高測(cè)試的效率,應(yīng)該()。
A.隨機(jī)選取測(cè)試數(shù)據(jù)
B.取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)
C.在完成編碼以后制定軟件的測(cè)試計(jì)劃
D.集中對(duì)付那些錯(cuò)誤群集的程序
71.
72.有以下程序:
#include<stdio.h>
#defineS(x)4*(x)*x+1
main()
{intk=5,j=2;
printf("%d\n",S(k+j));
}
程序運(yùn)行后的輸出結(jié)果是()。
A.197B.143C.33D.28
73.
74.
75.以下不能將a所指字符串正確復(fù)制到所指存儲(chǔ)空間的是()。
76.4個(gè)元素A、B、C、D依次入棧,入棧過(guò)程中允許棧頂元素出棧,假設(shè)某一時(shí)刻棧的狀態(tài)是C(棧頂)、B、A(棧底),則不可能的出棧順序是()。
A.D、C、B、A
B.C、B、D、A
C.C、A、D、B
D.C、D、B、A
77.若有“doublea;”,則正確的輸入語(yǔ)句是()。A.A.scanf("%1f",a);
B.scanf("%f",&a);
C.scanf("%1f",&a);
D.scanf("1e",&a);
78.下列函數(shù)的功能是
set(s,t)
{char*s,*t;
while((*s)&&(*t)&&(*t++==*s++));
return(*s-*t);
}A.A.求字符串的長(zhǎng)度
B.比較兩字符串的大小
C.將字符串s復(fù)制到字符串t中
D.將字符串s連接到字符串t后
79.若有以下程序
#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.8
C.4D.2
80.下列描述中正確的是()。
A.算法是指對(duì)解題方案的準(zhǔn)確而完整的描述
B.算法的有窮性是指算法程序的長(zhǎng)度是有限的
C.算法是否有效與擁有的情報(bào)無(wú)關(guān)
D.算法的基本特征有可行性、確定性和有窮性
五、程序改錯(cuò)題(1題)81.已知一個(gè)數(shù)列從0項(xiàng)開始的前3項(xiàng)為0,0,1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列給定的程序中,函數(shù)proc()的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的和sum。n的值通過(guò)形參傳人。例如,當(dāng)n-20時(shí),程序的輸出結(jié)果應(yīng)為42762.000000。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,規(guī)定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun(),其功能是使字符串中尾部的*號(hào)不多于n個(gè),若多于n個(gè),則刪除多余的*號(hào);若少于或等于n個(gè),則不做任何操作,字符串中間和前面的*號(hào)不刪除。例如,字符串中的內(nèi)容為“****A*BC*DEF*G*******”,若n的值為4,刪除后,字符串中的內(nèi)容應(yīng)為“****A*BC*DEF*G****”;若n的值為7,則字符串中的內(nèi)容仍為“****A*BC*DEF*G*******”。n的值在主函數(shù)中輸入。編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語(yǔ)句。試題程序:#include<stdio.h>voidfun(char*a,intn){}main(){ chars[81];intn; printf("Enterastring:\n”); gets(s); printf(“Entern:”); scanf(“%d”,&n); fun(s,n); printf(“Thestringafterdeleted:\n”); puts(s);}
參考答案
1.C
2.C解析:在main函數(shù)中調(diào)用sort函數(shù)時(shí),實(shí)參&aa[3]把數(shù)組元素aa[3]的首地址傳給形參數(shù)組a,使aa[3]與a[0]相對(duì)應(yīng)。sort函數(shù)將從aa[3]開始的連續(xù)5個(gè)數(shù)進(jìn)行了從大到小的排序,其他數(shù)組元素不變。
3.A
4.C
5.C解析:本題考察運(yùn)算符和選擇語(yǔ)句,執(zhí)行到if語(yǔ)句時(shí),--a為0,所以不會(huì)執(zhí)行后面的語(yǔ)句,但是會(huì)執(zhí)行elseif后面的語(yǔ)句,所以執(zhí)行后,b=2,選項(xiàng)C)正確。
6.B
7.Bif條件表達(dá)式“a--‖b--&&--c”使用了邏輯或運(yùn)算符和邏輯與運(yùn)算符。因?yàn)檫壿嬇c運(yùn)算符優(yōu)先級(jí)比邏輯或運(yùn)算符優(yōu)先級(jí)高,所以條件表達(dá)式等價(jià)于“(a--)‖(b--&&--c)”,自左向右運(yùn)算,執(zhí)行“a”,因?yàn)閍初值為1,所以a--的值為1,執(zhí)行完后a的值為0;又因?yàn)檫壿嫽蜻\(yùn)算符的短路原則,當(dāng)a--的值為1時(shí),條件為真,后面的表達(dá)式b--&&--c不執(zhí)行。程序執(zhí)行if語(yǔ)句塊,輸出a、b、c的值為:0,1,1。本題答案為B選項(xiàng)。
8.B在本題中,從題目給出的四個(gè)選項(xiàng)我們就可以知道,程序是對(duì)兩個(gè)字符串進(jìn)行操作。下面將具體分析程序。
程序首先定義兩個(gè)字符型的指針變量s和t,從后面的程序中不難看出這兩個(gè)指針變量應(yīng)該用來(lái)對(duì)兩個(gè)字符串進(jìn)行操作處理。用循環(huán)來(lái)對(duì)字符串進(jìn)行處理時(shí),循環(huán)繼續(xù)的條件是指針變量s和指針變量t所指向的結(jié)果值不為0,且兩結(jié)果值相等。很顯然,指針變量s和指針變量t所指向的結(jié)果值不為0,說(shuō)明兩字符串沒有結(jié)束,只有結(jié)束時(shí)才為0,而結(jié)果值相等說(shuō)明兩字符相等,如果不等,循環(huán)則結(jié)束,此時(shí)程序?qū)⒁蠓祷夭坏仍刂g的差值,從差值的正負(fù)關(guān)系我們可以判斷出哪個(gè)元素更大。綜上所述,程序段的作用是用來(lái)比較兩字符串的大小。因此,本題正確的答案選B。
9.D本題考查continue的用法,continue語(yǔ)句的作用是結(jié)束本次循環(huán),直接進(jìn)行下次循環(huán)。所以在程序中,只有當(dāng)a=10時(shí),才退出循環(huán),故選擇D選項(xiàng)。
10.Bc語(yǔ)言中整型變量分為4種,基本型int,短整型shortint,長(zhǎng)整型longint和無(wú)符號(hào)型(unsignedint、un-signedshort、unsignedlong)。因此B)選項(xiàng)不屬于c語(yǔ)言的類型。
11.Cscanf函數(shù)要求為:輸入的變量為地址形式。4個(gè)選項(xiàng)中,C選項(xiàng)符合要求。故本題答案為C選項(xiàng)。
12.A
13.D
14.C
15.D在C語(yǔ)言中,當(dāng)表達(dá)式成立時(shí)用l表示,不成立時(shí)用0表示,即x=(a&&b)&&(c<'B')=(14&&15)&&('A'<'B')=1&&1=1,故選擇D選項(xiàng)。
16.D
17.C
18.A
19.D解析:本題主要考查左移、右移對(duì)數(shù)據(jù)值的影響,左移n位相當(dāng)于乘以2的n次冪,右移n位相當(dāng)于除以2的n次冪。
20.C解析:data是—結(jié)構(gòu)體變量,a是它的成員,因此引用a域的正確方法是:data.a,取它的地址賦值給指針變量p的語(yǔ)句應(yīng)該是:p=&data.a。選項(xiàng)A,將a的地址直接賦給了p,而忽略了a為結(jié)構(gòu)體內(nèi)部的一個(gè)成員,而不是一單獨(dú)的變量,故選項(xiàng)A不正確;選項(xiàng)B在p=data.a表達(dá)式中右邊為一個(gè)結(jié)構(gòu)體變量的成員不是地址,而左邊為一指針應(yīng)該將一地址賦給它,故選項(xiàng)B不正確;選項(xiàng)D表達(dá)式*p=data.a是將結(jié)構(gòu)體變量中的成員a的值賦給指針p所指向的變量值,而不是使指針p指向data中的a域,故選項(xiàng)D不正確:4個(gè)選項(xiàng)中只有C正確。
21.structSTRU*
22.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。
23.j%3!=0或j%3j%3!=0或j%3解析:題目要求輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),且通過(guò)for循環(huán)實(shí)現(xiàn),循環(huán)體內(nèi)j=i*10+6;這也就滿足了個(gè)位數(shù)為6的條件,所以第1個(gè)空格填入i<10或i<=9;if語(yǔ)句中的continue說(shuō)明如果條件不成立則不輸出j,所以第2空填j%3!=0或j%3。
24.a=5b=8x=1。a=5,b=8,x=1。解析:本題考查形參變量值的改變并不能傳回給實(shí)參。因此主函數(shù)中最后輸出的a和b仍為原來(lái)的初值5和8。
25.NN解析:函數(shù)說(shuō)明語(yǔ)句中的類型名必須與函數(shù)返回值的類型一致。本題實(shí)現(xiàn)的是在字符'A'的ASCII碼值上加上一個(gè)常數(shù),使之變成另一個(gè)ASCII碼值,從而輸出字符。
26.((x>0)&&(y>0))||((x>0)&&(z>0)||((y>0)&&(z>0))((x>0)&&(y>0))||((x>0)&&(z>0)||((y>0)&&(z>0))解析:題目要求“x、y和z中至少有兩個(gè)為正數(shù)”,即x、y和z這3個(gè)數(shù)中必須有兩個(gè)是正數(shù),且這3個(gè)數(shù)中的哪兩個(gè)數(shù)都有可能是正數(shù),所以它們之間是或的關(guān)系。
27.x+=1;
28.繼承繼承解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,某些屬性和方法是可以共享的,由于類從父類中繼承而來(lái),這樣提高了軟件的可重用性。
29.1515解析:程序的功能是求1、2、3、4、5的和即15。
30.*t++或*(t++)*t++或*(t++)解析:主函數(shù)中定義了兩個(gè)字符型數(shù)組str1和str2,并且給str2賦初值“abcdefgh”,接著調(diào)用函數(shù)strcpy(str1,str2),將字符串str2的值賦給str1。在函數(shù)sstrcpy(*s,*t)中,用了一個(gè)while循環(huán),每循環(huán)一次將形參指針t所指的字符賦給形參指針s所指向的存儲(chǔ)空間,然后將指針s和t都移到下一個(gè)元素。所以空白處應(yīng)該填*t++或*(t++)。
31.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲(chǔ)區(qū),此題要分配11字節(jié)的單元,把11代入即可。
32.structnode*structnode*解析:本題中的結(jié)構(gòu)類型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個(gè)指向自身的結(jié)構(gòu)體指針。
33.1212解析:本題的第—個(gè)for循環(huán)用于紿數(shù)組arr賦初值,第二個(gè)for循環(huán)用于求和運(yùn)算。由于第二個(gè)for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。
34.HowdoessheHowdoesshe解析:strcpy(strl,s1):字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組strl中去。strlen(str):測(cè)試字符串str的長(zhǎng)度,函數(shù)的值為字符串中實(shí)際長(zhǎng)度,不包括\'\\0\'在內(nèi)。本題中strlen(strl)的值為13,則strcpy(strl+strlen(strl)/2,'esshe');相當(dāng)于strcpy(strl+6,'esshe');,因此可得答案為Howdoesshe。
35.bcdefghabcdefgha解析:在本題定義的ss()函數(shù)中首先定義了一個(gè)指針p和一個(gè)字符變量t,然后讓p指向參數(shù)指針s的下一個(gè)位置s+1,并讓t保存s位置的字符。然后使用一個(gè)while循環(huán)將p指向的內(nèi)容賦給它前面一個(gè)位置,即將參數(shù)s所指的字符串從第2個(gè)字符開始整體往前移動(dòng)一位。循環(huán)結(jié)束時(shí),p指向原s串的結(jié)束標(biāo)志處,所以讓*(p-1)=t;即是將原s串的第1個(gè)字符復(fù)制到s串的最后一個(gè)位置。整個(gè)函數(shù)實(shí)現(xiàn)的是讓一個(gè)字符串循環(huán)左移一位。故主函數(shù)中最后輸出的字符串是'bcdefgha'。
36.類類
37.282,8解析:do…while語(yǔ)句的功能是:首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán)。這里程序初始時(shí)a=1,b=10,經(jīng)過(guò)操作b-=a;a++后b=9,a=2,判斷條件b--<O不成立,退出循環(huán),但b的值被減1,因此結(jié)果為:a=2,b=8。
38.圖標(biāo)或按鈕圖標(biāo)或按鈕
39.棧棧解析:棧和隊(duì)列都是—種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的—端進(jìn)行插入或刪除操作,是—種“先進(jìn)后出”的線性表;而隊(duì)列只允許在表的—端進(jìn)行插入操作,在另—端進(jìn)行刪除操作,是—種“先進(jìn)先出”的線性表。
40.軟件開發(fā)
41.A解析:C語(yǔ)言中文件有文本文件與二進(jìn)制文件,對(duì)文件的使用前必須先打開,打開方式有只讀、寫入、讀寫等方式。
42.D解析:fgetc函數(shù)是指從指定的文件讀入一個(gè)字符,該文件必須是以讀或讀寫方式打開的。fgetc函數(shù)的調(diào)用形式為:ch=fgetc(fp);。
43.D解析:定義函數(shù)F(x)為void型,即沒有返回值,而函數(shù)體中又有return語(yǔ)句,編譯時(shí)會(huì)出錯(cuò)。
44.A解析:選項(xiàng)A中用typedef定義結(jié)構(gòu)體類型名REC后,REC能夠唯一地標(biāo)識(shí)這種結(jié)構(gòu)體類型,可以用REC定義變量,這是正確的結(jié)構(gòu)體類型變量的定義,選項(xiàng)C是錯(cuò)誤的。選項(xiàng)B中“structREC;”后面不應(yīng)該加分號(hào)。選項(xiàng)D中的結(jié)構(gòu)體是一個(gè)無(wú)名結(jié)構(gòu)體類型,REC是結(jié)構(gòu)體變量,不是結(jié)構(gòu)體類型,因此不能用來(lái)定義結(jié)構(gòu)體變量。
45.D解析:在格式輸入中,要求給出的是變量的地址,而D)答案中給出的s[1]是一個(gè)值的表達(dá)式。
46.B解析:模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。本題答案為B。
47.D解析:文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨(dú)立的,因此相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個(gè)缺點(diǎn),數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡(jiǎn)稱為數(shù)據(jù)依賴)。注意:文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫(kù)系統(tǒng)三代的特點(diǎn)。
48.D解析:主函數(shù)中首先定義了整型變量m、n和x,并給m和n賦初值為3和4,接著執(zhí)行兩條賦值語(yǔ)句,第一條x=-m++等價(jià)于x=-(m++),其值即為-3,第二條x=x+8/++n等價(jià)于x=x+8/(++n),即為x=-3+8/5=-2,因此最后輸出x的值為-2。
49.D解析:在C語(yǔ)言的標(biāo)準(zhǔn)中,short占2個(gè)字節(jié)、long占4個(gè)字節(jié),但int的大小和編譯系統(tǒng)相關(guān)。例如在Turbo\u3000C\u30002.0中,int占2個(gè)字節(jié),但在VisualC++6.0(VC6可以用做C語(yǔ)言編譯器)中占4個(gè)字節(jié)。故本題應(yīng)該選擇D。
50.A解析:由二叉樹后序遍歷序列和中序遍歷序列可以唯一確定一棵二叉樹。二叉樹BT的后序遍歷序列為dabec,故BT的根結(jié)點(diǎn)為c(后序遍歷序列的最后一個(gè)結(jié)點(diǎn)為樹的根結(jié)點(diǎn)):而BT的中序遍歷序列是debac,即遍歷序列中最后一個(gè)結(jié)點(diǎn)為根結(jié)點(diǎn),說(shuō)明BT的右子樹為空。由BT的后序遍歷序列和中序遍歷序列可知BT左子樹的后序遍歷序列和中序遍歷序列分別為dabe和deba,因此BT左子樹的根結(jié)點(diǎn)是e。再由中序遍歷序列可知其左子樹為d,右子樹為ba。因此BT的前序遍歷序列為cedba。
51.A
52.B解析:本題考查變量的定義方法。如果要一次進(jìn)行多個(gè)變量的定義,則在它們之間要用逗號(hào)隔開,因此選項(xiàng)A)和D)錯(cuò)誤。在選項(xiàng)C)中,變量c是一個(gè)浮點(diǎn)型指針,它只能指向一個(gè)浮點(diǎn)型數(shù)據(jù),不能指向指針變量b,故選項(xiàng)C)錯(cuò)誤。
53.B解析:fgets函數(shù)的作用是從指定的文件讀入—個(gè)字符串。fgets(str,n,fp);中的n為要求得到的字符的個(gè)數(shù),但只從中指向的文件輸入n-1個(gè)字符,然后在最后加—個(gè)'\\0'字符,因此得到的字符串共有n個(gè)字符。
54.B解析:本題定義了一個(gè)返回值為指針的函數(shù)f(),此函數(shù)有兩個(gè)指針型的形參x和y,該函數(shù)的功能,是返回x和y指向的變量中值較小的那個(gè)指針變量。主函數(shù)中定義了兩個(gè)指針變量p和q,并讓它們指向變量a和b,調(diào)用函數(shù)f(),返回指向的變量值較小的指針變量,r的值為指針變量p的值(變量a的地址),因此最后輸出的*p、*q和*r的值是7,8和7。所以,B選項(xiàng)為所選。
55.C解析:結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序具有明顯的優(yōu)點(diǎn)。其一,程序易于理解、使用和維護(hù);其二,提交了編程工作的效率,降低了軟件開發(fā)成本。其中,人們更重視前者。
56.DD)【解析】軟件工程包括3個(gè)要素,即方法、工具和過(guò)程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開發(fā)、管理、文檔生成;過(guò)程支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制、管理。
57.C解析:本題考核的知識(shí)點(diǎn)是if語(yǔ)句的應(yīng)用。首先計(jì)算if語(yǔ)句后面的表達(dá)式值,先計(jì)算運(yùn)算符&&前面括號(hào)里的“‖”運(yùn)算.在“‖”運(yùn)算中先計(jì)算j++,值為1(j的值為2),為真,后面的k++將不再計(jì)算,k的值依舊為2。計(jì)算&&后面的表達(dá)式i++,值為1(i的值變?yōu)?)。整個(gè)表達(dá)式的值為真,所以執(zhí)行后面的輸出語(yǔ)句,最后輸出的i,j和k的值為2,2和2.所以,C選項(xiàng)為所選。
58.C解析:do-while語(yǔ)句的執(zhí)行過(guò)程是:首先執(zhí)行循環(huán)體語(yǔ)句,再判斷表達(dá)式值的真假。在本題中,表達(dá)式的值為假,因此循環(huán)體只執(zhí)行一次。
59.BB?!窘馕觥繑?shù)據(jù)庫(kù)設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。其中邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換為關(guān)系模式。
60.B解析:整型常量有十進(jìn)制、八進(jìn)制和十六進(jìn)制3種表示:十進(jìn)制整數(shù)以正號(hào)(+)或負(fù)號(hào)(-)開頭,由首位非0的一串十進(jìn)制數(shù)字組成,正負(fù)號(hào)也可省略,表示正整數(shù);八進(jìn)制整數(shù)以數(shù)字0開頭,后面接著干個(gè)八進(jìn)制數(shù)字(0~7):十六進(jìn)制整數(shù)以數(shù)字。和字母x(大、小寫均可)開頭,后面接若干個(gè)十六進(jìn)制數(shù)字(數(shù)字0~9和字母A~F,大、小寫均可)。故本題是以無(wú)符號(hào)整數(shù)形式輸出一個(gè)十六進(jìn)制整數(shù)FFFF,將其轉(zhuǎn)換為十進(jìn)制就是65535,故本題應(yīng)該選擇B。
61.A本題中由fun函數(shù)可知,b[0]=a[0][0]-a[0][3]=1-4=-3,b[1]=a[1][1]-[1][2]=6-7=-1,b[2]=a[2][2]-[2][1]=11-10=1,b[3]=8[3][3]-[3][1]=16-13=3。所以主函數(shù)中打印Y數(shù)組元素的值為A選項(xiàng)。
62.BA選項(xiàng)說(shuō)的是偶數(shù),B選項(xiàng)求的是奇數(shù),C選項(xiàng)求的是偶數(shù),而題目求的是奇數(shù)。
63.AB項(xiàng)定義格式不對(duì),tt[2]只有兩個(gè)元素,C項(xiàng)缺少了結(jié)構(gòu)體名,而結(jié)構(gòu)體名不可少,D項(xiàng)一樣缺少了結(jié)構(gòu)體名。
64.C
65.D本題考查leon(tp)函數(shù),其功能是:測(cè)試所指的文件的位置指針是否已達(dá)到文件尾,如果已達(dá)到文件尾,則函數(shù)返回非0值;否則返回0,表示文件未結(jié)束。
66.C解析:根據(jù)混合運(yùn)算規(guī)則,如果有一個(gè)數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運(yùn)算的結(jié)果最終也是double型。
67.Aa左移2位后值為8,所以答案選擇A)。
68.DA選項(xiàng)中變量類型符double后面不能有逗號(hào)。B選項(xiàng)中變量b不能先使用再定義,應(yīng)該寫成選項(xiàng)D中的格式。C選項(xiàng)中變量a后面應(yīng)該是逗號(hào)而不是分號(hào)。
69.A先進(jìn)行a<b的判斷,因?yàn)閍=1,b=2,所以條件成立取a的值為表達(dá)式的值,即1.
70.D本題主要考查軟件的測(cè)試。軟件測(cè)試的主要目的體現(xiàn)在下面幾個(gè)方面。
(1)軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。
(2)一個(gè)好的測(cè)試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。
(3)一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。
軟件測(cè)試的效率是指利用更少的成本創(chuàng)造更多的價(jià)值,提供軟件測(cè)試效率的方法有很多,如制定一個(gè)合理的詳細(xì)的測(cè)試計(jì)劃,了解測(cè)試項(xiàng)目的業(yè)務(wù)需求,集中對(duì)付那些錯(cuò)誤群集的程序等。而選項(xiàng)A所描述的隨機(jī)選取測(cè)試數(shù)據(jù)是不能保證提高測(cè)試效率的,選項(xiàng)B描述的取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)顯然不能提高測(cè)試效率,反而使工作量加大,降低測(cè)試效率。
71.C
72.B\n此程
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 發(fā)光安全標(biāo)志市場(chǎng)環(huán)境與對(duì)策分析
- 醫(yī)用營(yíng)養(yǎng)糖市場(chǎng)環(huán)境與對(duì)策分析
- 西醫(yī)綜合分類模擬題289
- 臨床醫(yī)學(xué)綜合能力(西醫(yī))模擬354
- 臥鋪車廂項(xiàng)目評(píng)價(jià)分析報(bào)告
- 便攜式充電器相關(guān)項(xiàng)目建議書
- 發(fā)膜相關(guān)項(xiàng)目建議書
- 信用卡皮夾相關(guān)項(xiàng)目實(shí)施方案
- 可折疊非電燒水壺相關(guān)項(xiàng)目實(shí)施方案
- 吉他效果器踏板項(xiàng)目可行性實(shí)施報(bào)告
- 合唱指揮基本知識(shí)PPT課件:合唱指揮條件姿勢(shì)表情基本知識(shí)培訓(xùn)
- DB37∕T 5097-2021 山東省綠色建筑評(píng)價(jià)標(biāo)準(zhǔn)
- 水稻種植管護(hù)工作方案管護(hù)措施方法
- 隧道監(jiān)測(cè)總結(jié)報(bào)告
- 果樹栽培技術(shù)培訓(xùn)心得體會(huì)
- 遠(yuǎn)離流動(dòng)攤點(diǎn),拒絕垃圾食品
- 二次供水單位各類制度及應(yīng)急處理預(yù)案
- 三人表決器課堂教學(xué)設(shè)計(jì) 1-5 三人表決器的元器件的檢測(cè)、電路安裝、調(diào)試、維修.docx
- 船體結(jié)構(gòu)焊接要求作業(yè)指導(dǎo)書
- 漢語(yǔ)拼音字母描紅示范(打印版)
- 大腦分區(qū)AAL模板
評(píng)論
0/150
提交評(píng)論