![2021年河南省周口市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第1頁(yè)](http://file4.renrendoc.com/view/3c1eb85d7f3f27c5591c2daa3bd3e452/3c1eb85d7f3f27c5591c2daa3bd3e4521.gif)
![2021年河南省周口市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第2頁(yè)](http://file4.renrendoc.com/view/3c1eb85d7f3f27c5591c2daa3bd3e452/3c1eb85d7f3f27c5591c2daa3bd3e4522.gif)
![2021年河南省周口市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第3頁(yè)](http://file4.renrendoc.com/view/3c1eb85d7f3f27c5591c2daa3bd3e452/3c1eb85d7f3f27c5591c2daa3bd3e4523.gif)
![2021年河南省周口市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第4頁(yè)](http://file4.renrendoc.com/view/3c1eb85d7f3f27c5591c2daa3bd3e452/3c1eb85d7f3f27c5591c2daa3bd3e4524.gif)
![2021年河南省周口市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)_第5頁(yè)](http://file4.renrendoc.com/view/3c1eb85d7f3f27c5591c2daa3bd3e452/3c1eb85d7f3f27c5591c2daa3bd3e4525.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年河南省周口市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序:#include<stdio.h>structnode{charid;structnode*next;}a={‘A’},b={‘B’},c={‘C’},*p=&a,*pt;main(){p->next=&b;p=p->next;p->next=&c;p=p->next;p->next=NULL;p=&a;}若程序經(jīng)運(yùn)行后形成下圖所示的數(shù)據(jù)結(jié)構(gòu)。則以下可以刪除中間節(jié)點(diǎn)b的正確選項(xiàng)是()。
A.pt=p->next;p->next=p->next->next;free(pt);
B.pt=p->next;p->next=p->next->next->next;free(pt);
C.pt=&b;free(pt);
D.pt=&b;p->next=p->next->next->next;free(pt);
2.下列程序段的輸出結(jié)果是()。chara=9,b=020;prihtf("%o\n",~a&b<<1);
A.100000B.8C.40D.77
3.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開(kāi)發(fā)中的階段是______。
A.詳細(xì)設(shè)計(jì)B.需求分析C.總體設(shè)計(jì)D.編程調(diào)試
4.若有以下程序:inta=1,b=2:a=a^b:b=b^a:則執(zhí)行以上語(yǔ)句后a和b的值分別是()。
A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2.b=1
5.對(duì)于C語(yǔ)言的函數(shù),下列敘述中正確的是()。
A.函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套
B.函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套
C.函數(shù)的定義和調(diào)用都不能嵌套
D.函數(shù)的定義和調(diào)用都可以嵌套
6.為了提高軟件的獨(dú)立性,模塊之間最好是()。
A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合
7.有以下程序main()inta[10]={1,2,3,4,5,6,7,8,9,10},*p=.&a[3],*q=p+2;printf("%d\n",*p+*q);程序運(yùn)行后輸出結(jié)查是
A.16B.10C.8D.6
8.
9.設(shè)有以下說(shuō)明,則不正確的敘述是()。
A.A.arr所占的內(nèi)存長(zhǎng)度等于成員c的長(zhǎng)度
B.arr的地址和它的各成員的地址都是同一地址
C.arr可以作為函數(shù)參數(shù)
D.不能在定義arr時(shí)對(duì)它初始化
10.下列說(shuō)法正確的是()。
A.在C語(yǔ)言中,可以使用動(dòng)態(tài)內(nèi)存分配技術(shù)定義元素個(gè)數(shù)可變的數(shù)組
B.在c語(yǔ)言中,數(shù)組元素的個(gè)數(shù)可以不確定,允許隨機(jī)變動(dòng)
C.在C語(yǔ)言中,數(shù)組元素的數(shù)據(jù)類(lèi)型可以不一致
D.在C語(yǔ)言中,定義一個(gè)數(shù)組后.就確定了它所容納的元素的個(gè)數(shù)
11.下列程序的輸出結(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
12.設(shè)x和y均為int型變量,且x=10,y=3,則以下語(yǔ)句的輸出結(jié)果是()printf("%d,%d\n",x--,--y);
A.10,3B.9,3C.9,2D.10,2
13.有以下程序:#include<stdio.h>main(){inta[3][3]={{1,3,5,},{7,9,11,},{13,15,17}};int(*p)[3]=a,i,j,n=0;for(i=0;i<3;i++)for(j=0;j<2;j++)n+=*(*(p+i)+j);printf(“%d\n”,n);}程序運(yùn)行后的輸出結(jié)果是()。
A.54B.60C.36D.48
14.當(dāng)用戶要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是()。
A.scanfB.getcharC.getsD.getc
15.若在以下定義和賦值語(yǔ)句,則才s數(shù)組的第i行第j列(假設(shè)i,j已正確說(shuō)明并賦值)元素地址的合法引用為ints[2][3]={0},(*p)[3];p=s;
A.*(*(p+i)+j)B.*(p[i]+j)C.(p+i)+jD.(*(p+i))[j]
16.運(yùn)行下面程序段的輸出結(jié)果是().A.A.Set
B.Setup
C.Setup
D.'S''e''t'
17.定義下列結(jié)構(gòu)體(聯(lián)合)數(shù)組:structst{charname[15];intage;}a[10]={"ZHA0",14,"WANG",15,"LIU",16,"ZHANG",17);執(zhí)行語(yǔ)句printf("%d,%C",a[2].a(chǎn)ge,*(a[3].name+2))的輸出結(jié)果為()。A.15,AB.16,HC.16,AD.17,H
18.下列各排序法中,最壞情況下的時(shí)間復(fù)雜度最低的是()
A.希爾排序B.快速排序C.堆排序D.冒泡排序
19.下列程序的輸出結(jié)果是()。#includedstdi0.h>#includedstring.h>voidfun(intb[]){staticinti=0;do{b[i]+=b[i+1];}while(++i<2);}main{intk,a[5]={1,3,5,4,9};fun(a);for(k=0;k<5;k++)printf("%d",a[k]);}A.13579B.48579C.48549D.48999
20.樹(shù)是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是()。
A.有且只有1B.1或多于1C.0或1D.至少2
二、2.填空題(20題)21.下列程序的功能是:求出ss所指字符串中指定字符的個(gè)數(shù),并返回此值。
例如,若輸入字符串123412132,指定字符1,則輸出3。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h)
#deftneM81
intfun(char*ss,charc)
{inti=0;
for(;【】;ss++)
if(*ss==c)i++;
returni;
}
main()
{chara[M],ch;
printf("\nPleaseenterastring:");gets(a);
printf("\nPleaseenterachar:");ch=getchar();
printf("\nThenumberofthecharis:%d\n",fun(a,ch));
}
22.下列程序的運(yùn)行結(jié)果是______。
main()
{inta=1,b=10;
do
{b-=a;a++;}while(b--<0);
printf("%d,%d\n",a,b);
}
23.軟件工程研究的內(nèi)容主要包括:軟件開(kāi)發(fā)技術(shù)和【】。
24.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。
25.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為【】模式、內(nèi)部級(jí)模式與外部級(jí)模拭。
26.在兩種基本測(cè)試方法中,【】測(cè)試的原則之一是保證所測(cè)模塊中每一個(gè)獨(dú)立路徑至少要執(zhí)行一次。
27.程序的運(yùn)行結(jié)果為【】。
main()
{charc1='a',c2='b',c3='c';
printf("a%cb%c\tc%c\n",c1,c2,c3);
}
28.注釋說(shuō)明了程序的功能,它分為【】注釋和功能性注釋。
29.以下程序的輸出結(jié)果是______。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
}
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\n",*p,*q);
30.軟件是程序、數(shù)據(jù)和【】的集合。
31.下面的程序?qū)崿F(xiàn)的是指針p所指向的地址的n個(gè)數(shù)中,求出最大的和最小的數(shù)據(jù),請(qǐng)?zhí)羁铡?/p>
fun(int*p,intn)
{int*q;
intmax,min;
max=min=*p;
for(q=p;【】;q++)
if(*q>max)max=*q;
elseif(*q<min)min=*q;}
32.診斷和改正程序中錯(cuò)誤的工作通常稱(chēng)為【】。
33.軟件指的是計(jì)算機(jī)系統(tǒng)中與硬件相互依賴的另一部分,包括程序、數(shù)據(jù)和()的集合。
34.程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中【】是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過(guò)閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。
35.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio,h>
main()
{inta=1,b=2,c=3;
if(c=a)printf("%d\n",c);
elseprintf("%d\n",b);}
36.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),帶鏈的隊(duì)列屬于[]。
37.下面程序的功能是:輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti,j;
for(i=0【】;i++)
{j=i*10+6;
if(【】)continue;
printf("%d",j);
}
}
38.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。
39.函數(shù)delete(s,i,n)的作用是從字符串s中刪除從第i個(gè)字符開(kāi)始的n個(gè)字符,請(qǐng)?zhí)羁铡?/p>
voiddelete(chars[],inti,intn)
{intj,k,legth=0;
while(s[length])
【】;
-i;
j=i;
}
if(【】)
{k=i+n;
if(i+n<length)
while(k<length)
s[j++]=s[k++];
s[j]='\0'
}
40.下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個(gè)二維數(shù)組b中。請(qǐng)?zhí)羁铡?/p>
main()
{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
}
}
三、1.選擇題(20題)41.若有定義inta[2][3];,則對(duì)a數(shù)組的第i行第j列(假調(diào)i,j已正確說(shuō)明并賦值)元素值的正確引用為
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
42.已知在ASCⅡ代碼中,字母A的序號(hào)為65,以下程序的輸出結(jié)果是______。#include<stdio.h>main(){charc1='A',c2='Y';printf("%d,%d\n",c1,c2);}
A.65,90B.因輸出格式不合法,輸出錯(cuò)誤信息C.A,YD.65,89
43.以下能正確定義一維數(shù)組的選項(xiàng)是______。
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";
44.以下程序的輸出結(jié)果是______。fun(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));fun(&p,a);printf("%d\n",*p);}
A.1B.7C.9D.11
45.在下列敘述中,正確的一條是______。
A.如果形參發(fā)生改變,不會(huì)改變主調(diào)函數(shù)的實(shí)參值
B.在C語(yǔ)言中,函數(shù)可以遞歸調(diào)用或遞歸定義
C.數(shù)組名作函數(shù)參數(shù)時(shí),也采用“值傳送”方式
D.預(yù)處理時(shí),宏名用字符串代替,并檢查語(yǔ)法正確與否
46.以下運(yùn)算符中優(yōu)先級(jí)最高的運(yùn)算符是______。
A.++B.?:C.!=D.&&
47.程序設(shè)計(jì)語(yǔ)言的基本成分是數(shù)據(jù)成分、運(yùn)算成分、控制成分和()。
A.對(duì)象成分B.變量成分C.語(yǔ)句成分D.傳輸成分
48.設(shè)x,y均是int類(lèi)型變量,則以下不正確的函數(shù)調(diào)用為_(kāi)_____。
A.getchar();
B.putchar('\108');
C.scanf("%d%*2d%d",&x,&y);
D.putchar('\'');
49.用scanf("%d,%d",&a,&b)輸入數(shù)據(jù)時(shí),下面輸入法中,正確的是______。
A.123,4B.1234C.123;4D.123:4
50.有以下程序:#include<stdio.h>intf(intb[][4]){inti,j,s=0;for(j=0;j<4;j++){i=j;if(i>2)i=3-j;s+=b[i][j];}returns;}main(){inta[4][4]={{1,2,3,4},{0,2,4,6},{3,6,9,12},{3,2,1,0}};printf("%d\n",f(a));}執(zhí)行后的輸出結(jié)果是()。
A.12B.11C.18D.16
51.若希望下列的程序運(yùn)行后輸出25,程序空白處的正確選項(xiàng)是()。
main()
{inti,j=50,a[]={7,4,10,5,8};
for()
j+=a[i];
primf("%d,j-40);
}
A.i=1;i<4;++iB.i=1;i<3;++iC.i=4;i>2;i--D.i=2;i<4;++i
52.已知大寫(xiě)字母A的ASCII碼值是65,小寫(xiě)字母a的ASCII碼是97,則用八進(jìn)制表示的字符常量'\101'是A.字符AB.字符aC.字符eD.非法的常量
53.以下程序的輸出結(jié)果是chsrcchar(charch){if(ch>='A'&&ch<='Z')ch=ch-'A'+'a';returnch;}main(){chars[]=“ABC+abc=defDEF”,*p=s;while(*p){*p=cchar(*p);p++;}printf(“%s\n”,s);}
A.abd+ABC=DEFdef
B.abc+abc=defdef
C.abcABCDEFdef
D.abcabcdefdef
54.有以下程序:main(){inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);printf("%d%d%3.lf%3.lf\n",a,c,f,x);}程序運(yùn)行后的輸出結(jié)果是
A.16516.5B.1651.56.5C.1651.06.5D.2651.56.5
55.在C語(yǔ)言中,整數(shù)65534在存儲(chǔ)單元中的存儲(chǔ)情況是()
A.1111111111111111
B.1000000000000010
C.0111111111111111
D.1111111111111110
56.下列敘述中正確的是()。
A.break語(yǔ)句只能用于switch語(yǔ)句體中
B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)
D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同
57.設(shè)有以下語(yǔ)句,其中不是對(duì)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))
58.線性表L=(a1,a2,a3,…ai,…an),下列說(shuō)法正確的是()
A.每個(gè)元素都有一個(gè)直接前件和直接后件
B.線性表中至少要有一個(gè)元素
C.表中諸元素的排列順序必須是由小到大或由大到小
D.除第一個(gè)元素和最后一個(gè)元素外,其余每個(gè)元素都有一個(gè)且只有一個(gè)直接前件和直接后件
59.下列程序的運(yùn)行結(jié)果是______。voidfun(int*a,int*B){int*k;k=a;a=b;b=k;}main(){inta=3,b=6,*x’&a,*y’&b;fun(x,y);printf("%d%d",a,B);}
A.63B.36C.編譯出錯(cuò)D.0
60.設(shè)有定義:inta=2,b=3,c=4;,則下列選項(xiàng)中值為0的表達(dá)式是()。
A.(!a==1)&&(!b==0)
B.(a<b)&&!c‖1
C.a&&b
D.a‖(b+b)&&(c-a)
四、選擇題(20題)61.
62.語(yǔ)句Char(*P)說(shuō)明了()。
A.P是指向函數(shù)的指針,該函數(shù)返回一個(gè)Char型數(shù)據(jù)
B.P是指向Char型數(shù)據(jù)的指針變量
C.P是指向數(shù)組的指針變量
D.P是一個(gè)函數(shù)名,該函數(shù)的返回值是指向Char型數(shù)據(jù)的指針
63.
64.在以下給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。
65.
66.若k是int類(lèi)型變量,且有以下for語(yǔ)句:
for(k=-1;k<O;k++)printf("****\n");
下面關(guān)于語(yǔ)句執(zhí)行情況的敘述中正確的是()。、
A.循環(huán)體執(zhí)行一次
B.循環(huán)體執(zhí)行兩次
C.循環(huán)體一次也不執(zhí)行
D.構(gòu)成無(wú)限循環(huán)‘
67.以下函數(shù)返回a所指數(shù)組中最大值所在的下標(biāo)值
fun(int*a,intn)
{
inti,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]>a[p])_________;
return(p);
}
在下畫(huà)線處應(yīng)填入的內(nèi)容是
A.i=pB.a(chǎn)[p]=a[i]
C.p=iD.p=j
68.
69.有以下程序:main{intx,i;for(i=l;i<=50;i++){x=i:if(x%2=0)if(x%3=0)if(X%7=0)printf(”%d,i)”;}}輸出結(jié)果是()。A.28B.27C.42D.4l
70.軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過(guò)程設(shè)計(jì),其中軟件的過(guò)程設(shè)計(jì)是指()
A.模塊間的關(guān)系B.系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程描述C.軟件層次結(jié)構(gòu)D.軟件開(kāi)發(fā)過(guò)程
71.已知字符A的ASCⅡ代碼值是65,字符變量c1的直是A,c2的值是D。執(zhí)行語(yǔ)句printf("%d,%d",c1,c2-2);后,輸出結(jié)果是()。
A.A,BB.A,68C.65,66D.65,68
72.
73.
有以下程序:
#include<stdio.h>
main
{intx=4,y;
do
{y=x;
if(!y)printf("x");
else
printf("y"):
x--;
}while(x);
}
程序的輸出結(jié)果是()。
A.xyyxB.yyyyC.yyxxD.yxyx
74.
75.設(shè)inti=2,j=1,k=3,則表達(dá)式i&&(i+j)&k|i+j的值是_______。
A.0B.2C.1D.3
76.以下敘述中正確的是()。
A.c語(yǔ)言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_(kāi)始執(zhí)行
B.可以在程序中由用戶指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_(kāi)始執(zhí)行
C.c語(yǔ)言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開(kāi)始執(zhí)行、
D.main的各種大小寫(xiě)拼寫(xiě)形式都可以作為主函數(shù)名,如MAIN,Main等
77.在面向?qū)ο蠓椒ㄖ?,不屬于“?duì)象”基本特點(diǎn)的是A.一致性B.分類(lèi)性C.多態(tài)性D.標(biāo)識(shí)唯一性
78.
79.
80.
五、程序改錯(cuò)題(1題)81.下列給定的程序中,proc()函數(shù)的功能是:將str所指字符串中每個(gè)單詞的最后一個(gè)字母改成大寫(xiě)(這里的“單詞”是指有空格隔開(kāi)的字符串)。
例如,若輸人:Howdoyoudo,則輸出:HoWdOyoUd0。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)proc(),它的功能是:只刪除字符串前導(dǎo)和尾部的*號(hào),串中字母之間的*號(hào)都不刪除。形參m給出了字符串的長(zhǎng)度,形參h給出了字符串中前*號(hào)的個(gè)數(shù),形參e給出了字符串中最后*號(hào)的個(gè)數(shù)。在編寫(xiě)函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。例如,若字符串中的內(nèi)容為****a*bc*def*g****,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是a*bc*def*g。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.A題干中,a、b、c3個(gè)節(jié)點(diǎn)都是node類(lèi)型,它們都有兩個(gè)成員:字符成員id,node類(lèi)型指針成員next。由于a的next指向b,b的next指向c,因此a、b、c構(gòu)成了鏈表。要想刪除b節(jié)點(diǎn),只需要將a節(jié)點(diǎn)的next(p->next)指向c(p->next->next),然后將節(jié)點(diǎn)b的存儲(chǔ)空間釋放即可。所以刪除b節(jié)點(diǎn)的語(yǔ)句為“pt=p->next;p->next=p->next->next;free(pt);”。故本題答案為A選項(xiàng)。
2.C解析:將變量a按位求反,再與b按位與,最后左移1位。9的二進(jìn)制表示為00001001,020的二進(jìn)制表示為00010000。a按位求反為11110110,再與b按位與結(jié)果為00010000,左移1位結(jié)果為00100000。按八進(jìn)制輸出為040。
3.C解析:軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)包括:基于功能層次結(jié)構(gòu)建立系統(tǒng)、按功能劃分成模塊的層次結(jié)構(gòu)、確定每個(gè)模塊的功能、建立與已確定的軟件需求的對(duì)應(yīng)關(guān)系、確定模塊間的調(diào)用關(guān)系和模塊間的接口、評(píng)估模塊劃分的質(zhì)量等方面。詳細(xì)設(shè)計(jì)的任務(wù)是:在使用程序設(shè)計(jì)語(yǔ)言編制程序以前,對(duì)所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過(guò)程細(xì)節(jié),并給予清晰的表達(dá)。需求分析是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求,通常包括:功能需求、性能需求、環(huán)境需求、可靠性需求、安全保密要求、用戶界面需求、資源使用需求、成本消耗需求、開(kāi)發(fā)進(jìn)度需求等。編程調(diào)試的任務(wù)是診斷和改正程序中潛在的錯(cuò)誤。綜上所述。軟件功能分解只能發(fā)生在總體設(shè)計(jì)階段。
4.B本題考查按位異或的用法。按位異或運(yùn)算的規(guī)則是:兩個(gè)運(yùn)算數(shù)的相應(yīng)二進(jìn)制位相同,則結(jié)果為0,相異則結(jié)果為1。b=2的二進(jìn)制為00000010,a=1的二進(jìn)制為00000001,a=a^b=00000011,轉(zhuǎn)化為十進(jìn)制后為3,b=b^a=00000010-00000011=00000001,即1。
5.A
6.D在程序設(shè)計(jì)中,各模塊間的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚、低耦合,以有利于提高模塊的獨(dú)立性。耦合性與內(nèi)聚性是模塊獨(dú)立的兩個(gè)定性標(biāo)準(zhǔn),是互相關(guān)聯(lián)的。
7.B解析:本題考查的是指針的簡(jiǎn)單應(yīng)用。題目中首先定義了一個(gè)int型數(shù)組a并初始化了,然后定義了兩個(gè)指針變量p和q,并分別初始化p為指向數(shù)組元素a[3]、q指向p后面的第2個(gè)元素即指向a[5]。所以最終輸出的值為a[3]+a[5]的值10。應(yīng)該選B。
8.A
9.C本題主要考查聯(lián)合體的內(nèi)存使用:聯(lián)合體所占用的內(nèi)存空間為最長(zhǎng)的成員所占用的空間,int占2個(gè)字節(jié),char占1個(gè)字節(jié),float占4個(gè)字節(jié),所以arr所占的內(nèi)存長(zhǎng)度等于成員c的長(zhǎng)度:arr的地址和它的各成員的地址都是同一地址;不能直接對(duì)arr賦值,即不能在定義arr時(shí)對(duì)它初始化:arr也不可以作為函數(shù)參數(shù)。
10.D在C語(yǔ)言中,數(shù)組元素的個(gè)數(shù)是確定的,不允許隨機(jī)變動(dòng),數(shù)組定義好后,它所能容納的元素的個(gè)數(shù)也就確定了,并且同一個(gè)數(shù)組中所有元素都是同一類(lèi)型。
11.B解析:算術(shù)運(yùn)行符“/”、“%”的優(yōu)先級(jí)處于同一級(jí),并且兩者的結(jié)合性都是從左到右。所以算術(shù)表達(dá)式運(yùn)算過(guò)程為:a=25/10%9=2%9=2:當(dāng)邏輯運(yùn)算符“&&”兩邊的值都是非零時(shí),邏輯表達(dá)式的值才為真(即為1)。所以b=2&&(-1)=1。
12.D
13.D題目中,for循環(huán)的作用是求數(shù)組各行前兩列的數(shù)字之和。已知“*(*(P+i)+j)=p[i][j]”,則變量n=1+3+7+9+13+15=48。故本題答案為D選項(xiàng)。
14.C解析:C語(yǔ)言提供了許多輸入函數(shù),其中有:getchar(輸入字符)、scanf(格式輸入)和gets\u3000(輸入字符串)等。題目要求輸入的是字符串,所以可以排除getchar,而且要求輸入的字符串中包含空格,而scanf函數(shù)默認(rèn)將輸入的空格字符作為分割符,所以空格不會(huì)被輸入,故可排除scanf。getc的作用是從文件中輸入一個(gè)字符,故也不可取。gets函數(shù)可以輸入一整行作為一個(gè)字符串,其中也包括空格字符,故應(yīng)該選擇C。
15.A解析:p+i是數(shù)組s的第i+1行的首地址,而*(p+i)則是數(shù)組第i+1行第1列的元素的地址,*(p+i)+j則是第i+1行的第j+1列的地址,*(*(p+i)+j)引用的是數(shù)組元素s[i][j]的值。注意:通過(guò)建立一個(gè)指針數(shù)組來(lái)引用二維數(shù)組元素。
16.A
17.C本題考查結(jié)構(gòu)體數(shù)組。a[2].a(chǎn)ge為結(jié)構(gòu)體aEZ]的age成員,即a[3].name為指向結(jié)構(gòu)體a[3]的name成員的第一個(gè)元素的指針,即指向“2”,(a[3].name+2)將指針后移兩位指向第三個(gè)元素“A”,*(a[3].name+2)是取指針?biāo)赶虻刂返膬?nèi)容。
18.C
19.C本題考查do-while循環(huán),在fun函數(shù)中,首先定義了靜態(tài)變量i=0,do-while循環(huán)要實(shí)現(xiàn)的功能是以b[0]=b[0]+b[1],b[1]=b[1]+b[2],其他元素不變的規(guī)則重新給b數(shù)組賦值。在主函數(shù)中,通過(guò)調(diào)用fun函數(shù),按上面的規(guī)則對(duì)數(shù)組a重新賦值,最后輸出數(shù)組a。
20.A樹(shù)形結(jié)構(gòu)是一類(lèi)重要的非線性數(shù)據(jù)結(jié)構(gòu)。樹(shù)是n(n≥0)個(gè)結(jié)點(diǎn)的集合,對(duì)應(yīng)任意一棵非空樹(shù),它具有以下幾點(diǎn)重要的性質(zhì)。
①有且僅有一個(gè)特定的稱(chēng)為根的結(jié)點(diǎn)。
②當(dāng)n>1時(shí),其余結(jié)點(diǎn)可分為m(m>0)個(gè)互不相交的有限集T1,T2,…,TM,其中每一個(gè)集合本身又是一棵樹(shù),稱(chēng)為子樹(shù)。
因此,本題的正確答案有且只有一個(gè)。
21.*ss!='\0'*ss!='\\0'解析:從字符串ss中找出某字符的方法是:從字符串ss的第一個(gè)字符開(kāi)始,依次進(jìn)行比較,若ss串的當(dāng)前字符等于字符c,則i++;若ss串的當(dāng)前字符和字符c不同,則繼續(xù)對(duì)ss串的下一個(gè)字符進(jìn)行比較。本程序采用循環(huán)逐一比較的方式,找出某字符在字符串中出現(xiàn)的次數(shù)。汀語(yǔ)句的作用是判斷某字符與字符串中的當(dāng)前字符是否相同。
22.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。
23.軟件工程管理軟件工程管理解析:軟件工程足指,采用工程的概念、原理、技術(shù)和方法指導(dǎo)軟件的開(kāi)發(fā)與維護(hù):軟件工程學(xué)的主要研究對(duì)象包括軟件開(kāi)發(fā)與維護(hù)的技術(shù)、方法、工具和管理等方面。即軟件工程研究的內(nèi)容主要包括:軟件開(kāi)發(fā)技術(shù)和軟件工程管理。
24.33解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。
25.概念或概念級(jí)概念或概念級(jí)解析:數(shù)據(jù)庫(kù)系統(tǒng)在其內(nèi)部具有三級(jí)模式及二級(jí)映射,三級(jí)模式分別是概念級(jí)模式、內(nèi)部級(jí)模式和外部級(jí)模式。概念模式是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶(應(yīng)用)公共數(shù)據(jù)視圖。
內(nèi)模式式又稱(chēng)物理模式,它給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲(chǔ)的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑,內(nèi)模式的物理性主要體現(xiàn)在操作系統(tǒng)及文件級(jí)上,它還未深入到設(shè)備級(jí)上(如磁盤(pán)及磁盤(pán)操作)。
外模式也稱(chēng)子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,也就是用戶所見(jiàn)到的數(shù)據(jù)模式,它由概念模式推導(dǎo)而出。
26.白盒或白箱或白盒子或WhiteBox白盒或白箱或白盒子或WhiteBox解析:本題考查軟件工程的測(cè)試。測(cè)試一般有兩種方法:黑盒測(cè)試和白盒測(cè)試。黑盒測(cè)試不考慮程序的內(nèi)部邏輯結(jié)構(gòu)和處理過(guò)程,只著眼于程序的外部特性。用黑盒測(cè)試來(lái)發(fā)現(xiàn)程序中的錯(cuò)誤,必須用所有可能的輸入數(shù)據(jù)來(lái)檢查程序能否都能產(chǎn)生正確的輸出。白盒測(cè)試是在了解程序內(nèi)部結(jié)構(gòu)和處理過(guò)程的基礎(chǔ)上,對(duì)程序的所有路徑進(jìn)行測(cè)試,檢查路徑是否都能按預(yù)定要求正確工作。因此,劃線處應(yīng)填入“白盒(箱)”或“WhiteBox”。
27.aabbccaabbcc解析:printf函數(shù)先輸出a,遇%c,接著輸出變量c1的值a,然后輸出bb,遇%t,從第9個(gè)位置開(kāi)始輸出cc。
28.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。
29.
30.文檔文檔解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
31.q<p+nq<p+n解析:通過(guò)地址傳遞可以在被調(diào)函數(shù)中對(duì)調(diào)用函數(shù)中的變量進(jìn)行引用。
32.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。程序調(diào)試與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)誤,然后借助于調(diào)試工具找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期,而調(diào)試主要在開(kāi)發(fā)階段。
33.相關(guān)文檔相關(guān)文檔解析:軟件指的是計(jì)算機(jī)系統(tǒng)中與硬件相互依賴的另一部分,包括程序、數(shù)據(jù)和有關(guān)的文檔。程序足對(duì)計(jì)算機(jī)的處理對(duì)象和處理規(guī)則的描述,是軟件開(kāi)發(fā)入員根據(jù)用戶需求開(kāi)發(fā)的、用程序語(yǔ)言描述的、適合計(jì)算機(jī)執(zhí)行的指令序列。數(shù)拼是使程序能正常操作信息的數(shù)據(jù)結(jié)構(gòu)。文檔是為了便于了解程序所需的資源說(shuō)明,是與程序的開(kāi)發(fā)、維護(hù)和使用有關(guān)的資料。
34.靜態(tài)分析靜態(tài)分析解析:程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中,靜態(tài)分析是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過(guò)閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。
35.11解析:該程序要注意的是if語(yǔ)句的判斷條件“c=a”是賦值,而不是“c==a”。由于a=1,故條件c=a使c的值為1(真),所以輸出c的值1。
36.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:與棧類(lèi)似,隊(duì)列也是線性表,也町以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
37.i<=9或i<10或9>=i或10>ij%3!=0或j%3i<=9或i<10或9>=i或10>i\r\nj%3!=0或j%3
38.22解析:'\\13':表示八進(jìn)制數(shù)13表示的ASCII字符,是一個(gè)字符,占一個(gè)字節(jié);而”\\12”是個(gè)字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個(gè)字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個(gè)字節(jié)。
39.length++i<lengthlength++\r\ni<length解析:第—個(gè)循環(huán)極有可能是計(jì)算串的長(zhǎng)度,在i<=length時(shí)字符才被刪除,被刪除的是從第i個(gè)到第i+n或最后一個(gè)間的所有字符。刪除前,應(yīng)判斷i<=length。由于已經(jīng)進(jìn)行了-i運(yùn)算,故實(shí)際應(yīng)填入i<length。
40.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識(shí)。它是要將一個(gè)二維數(shù)組,的行和列元素互換后存放到另一個(gè)二維數(shù)組b中,只要將數(shù)組a的行標(biāo)和列標(biāo)互換,然后賦給數(shù)組b即可。
41.A解析:本題考查了二維數(shù)組元素的引用方法。選項(xiàng)A中a+i指向了數(shù)組a的第i+1行,*(a+i)則是第i+1行第0列的地址值,*(a+i)+j指向了數(shù)組a第i+1行,j+1列,*(*(a+i)+j)取到的是數(shù)組a的a[i][j]元素。
42.D解析:在C語(yǔ)言中,將一字符常量賦值給一個(gè)變量,是把此字符常量所對(duì)應(yīng)的ASCII碼值賦值給此字符變量,所以一個(gè)字符既可作為字符形式輸出,也可以整數(shù)形式輸出。
43.B解析:C語(yǔ)言一維數(shù)組的定義有兩種方式:一是指定數(shù)組長(zhǎng)度,如選項(xiàng)A“inta[5]={0,1,2,3,4,5};”,但此定義的賦初值個(gè)數(shù)為6,多于數(shù)組長(zhǎng)度,是錯(cuò)誤的。因?yàn)榻o數(shù)組賦初值,初值個(gè)數(shù)只能小于或等于數(shù)組長(zhǎng)度。二是不指定數(shù)組長(zhǎng)度,由賦初值的初值個(gè)數(shù)決定數(shù)組的長(zhǎng)度,如選項(xiàng)B的“chara[]={0,1,2,3,4,5};”,初值個(gè)數(shù)為6,因此數(shù)組長(zhǎng)度為6。所以能正確定義一維數(shù)組。選項(xiàng)C的定義中a是一個(gè)字符變量,不能正確定義一維數(shù)組。選項(xiàng)D“inta[5]=“0123”;”給int型數(shù)組賦字符串初值,顯然是錯(cuò)誤的。
44.C
45.A
46.A解析:四個(gè)運(yùn)算符的優(yōu)先級(jí)由高到低依次是:++,&&,?:,!=。
47.D解析:程序設(shè)計(jì)語(yǔ)言是用于書(shū)寫(xiě)計(jì)算機(jī)程序的語(yǔ)言,其基本成分有以下4種,數(shù)據(jù)成分:用來(lái)描述程序中的數(shù)據(jù)。運(yùn)算成分:描述程序中所需的運(yùn)算??刂瞥煞?用來(lái)構(gòu)造程序的邏輯控制結(jié)構(gòu)。傳輸成分:定義數(shù)據(jù)傳輸成分,如輸入/輸出語(yǔ)言。
48.B解析:八進(jìn)制中的基本數(shù)為0~7,不可能出現(xiàn)8。
49.A
50.D解析:程序中,當(dāng)j=0時(shí),i=0,i>2不成立,s+=b[0][0)=1;j=1時(shí),i=1,i>2不成立,s=s+b[1][1]=1+2=3;j=2時(shí),i=2,i>2不成立,s=s+b[2][2]=3+9=12;j=3時(shí),i=3,i>2成立,i=3-j,此時(shí)i=0,s=s+b[0][3]=12+4=16;j=4時(shí)循環(huán)結(jié)束。所以最后s值為16。
51.D解析:要想使程序輸出是25,則j-40=25,j=65,而j初值是50,所以填入for循環(huán)中的語(yǔ)句,使引用的數(shù)組元素累加為65-50=15即可。
52.A本題考查的知識(shí)點(diǎn)是轉(zhuǎn)義字符。題目中的關(guān)鍵是八進(jìn)制101的十進(jìn)制是多少.八進(jìn)制的101轉(zhuǎn)換為十進(jìn)制為65,也就是字符A的ASCII。
53.B解析:本題首先定義了一個(gè)函數(shù)cchar(),有一個(gè)字符型參數(shù)ch。在函數(shù)中首先判斷該字符是否為大寫(xiě)字母,如果是則把它轉(zhuǎn)換成小寫(xiě)字符再賦值給ch,把ch作為函數(shù)值返回。在主函數(shù)中定義了一個(gè)字符數(shù)組s并初始化,然后定義了一個(gè)指針變量并使它指向數(shù)組s。接著通過(guò)一個(gè)while循環(huán)利用指針變量p,依次取出字符數(shù)組的字符(直到遇到字符串結(jié)束標(biāo)志'\\0'),并調(diào)用cchar()函數(shù),把大寫(xiě)字母轉(zhuǎn)換成小寫(xiě)字母,其他字符不變。最后輸出字符數(shù)組為,中的內(nèi)容,結(jié)果為“abc+abc=defdef”。
54.B解析:主函數(shù)中先定義了一個(gè)整型變量a,一個(gè)字符變量c并賦初值10,一個(gè)浮點(diǎn)型變量f并賦初值100.00和一個(gè)double型x,接著執(zhí)行“a=f/=C*=x=6.5)”,該語(yǔ)句從右向左計(jì)算,先把6.5賦值給x(該括號(hào)表達(dá)式的值也為6.5),此時(shí)x的值的變?yōu)?.5,然后執(zhí)行“c*=(x=6.5)”相當(dāng)于執(zhí)行“c=c*(x=6.5)”,此時(shí)c的值為65,接著向左執(zhí)行“f/c*=(x=6.5)”,語(yǔ)句相當(dāng)于執(zhí)行“f=f/c”接著向最右邊執(zhí)行“a=f”,由于a是整型變量,所以a最后去f的整數(shù)部分為1。程序最后輸出的a、c、f和x的值分別為1、65、1.5、6.5。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
55.D
56.C解析:只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句。當(dāng)break出現(xiàn)在循環(huán)體的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體,并不能中止循環(huán)體的執(zhí)行。若想強(qiáng)行中止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語(yǔ)句中設(shè)置break語(yǔ)句,滿足某種條件,則跳出本層循環(huán)體。
57.D解析:觀察程序可知,a實(shí)際上就是數(shù)組a的首地址,所以“*(a+i)”
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- S-3-Keto-sphinganine-d18-0-hydrochloride-生命科學(xué)試劑-MCE-1677
- CP-LC-0729-生命科學(xué)試劑-MCE-3226
- Actinobolin-plus-Actinobolin-生命科學(xué)試劑-MCE-7644
- 3-4-Methylenedioxy-pyrovalerone-metabolite-2-hydrochloride-生命科學(xué)試劑-MCE-1172
- 2025年度國(guó)際貿(mào)易違約風(fēng)險(xiǎn)預(yù)防與處理合同
- 2025年度范文正式版合同文員崗位職責(zé)規(guī)范與職業(yè)素養(yǎng)培養(yǎng)協(xié)議
- 二零二五年度2025年競(jìng)業(yè)禁止及保密協(xié)議模板
- 2025年度風(fēng)力發(fā)電場(chǎng)租賃定金協(xié)議模板
- 2025年度籃球聯(lián)賽裁判員免責(zé)聲明及賽事執(zhí)行合同
- 二零二五年度自媒體合伙人合同版:自媒體平臺(tái)內(nèi)容創(chuàng)作與推廣合同
- 《法律援助》課件
- 小兒肺炎治療與護(hù)理
- 《高處作業(yè)安全》課件
- 春節(jié)后收心安全培訓(xùn)
- 小學(xué)教師法制培訓(xùn)課件
- 電梯操作證及電梯維修人員資格(特種作業(yè))考試題及答案
- 市政綠化養(yǎng)護(hù)及市政設(shè)施養(yǎng)護(hù)服務(wù)方案(技術(shù)方案)
- SLT824-2024 水利工程建設(shè)項(xiàng)目文件收集與歸檔規(guī)范
- 鍋爐本體安裝單位工程驗(yàn)收表格
- 我國(guó)水體中抗生素的污染現(xiàn)狀、危害及防治建議
- 手術(shù)出血量的評(píng)估
評(píng)論
0/150
提交評(píng)論