版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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ì)知識(shí)點(diǎn)匯總卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.用二進(jìn)制來(lái)編碼字符串“abcdabaa”,需要能夠根據(jù)編碼,解碼回原來(lái)的字符串,最少需要()長(zhǎng)的二進(jìn)制字符串
A.12B.14C.18D.24
2.
3.
4.函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是______。
A.將串str1復(fù)制到串str2中后再連接到串str3之后
B.將串str1連接到串str2之后再?gòu)?fù)制到串str3之后
C.將串str2復(fù)制到串str1中后再將串sir3連接到串str1之后
D.將串str2連接到串str1之后再將串str1復(fù)制到串str3中
5.以下敘述中錯(cuò)誤的是()。
A.由3種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問(wèn)題
B.結(jié)構(gòu)化程序由順序、分支、循環(huán)3種基本結(jié)構(gòu)組成
C.C語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言
D.結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法
6.可以作為Windows外殼程序的是()
A.程序管理器B.文件管理C.程序管理器和文件管理器D.主群組
7.
8.以下敘述中錯(cuò)誤的是()。
A.C語(yǔ)句必須以分號(hào)結(jié)束
B.復(fù)合語(yǔ)句在語(yǔ)法上被看作一條語(yǔ)句
C.空語(yǔ)句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行
D.賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語(yǔ)句
9.
10.以下程序的輸出結(jié)果是
longfun(intn)
{longs;
if(n==1||n==2)s=2;
elses=n-fun(n-1);
returns;}
main()
{printf("%ld\n",fun(3));}
A.1B.2C.3D.4
11.若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
12.設(shè)有下列二叉樹(shù):
對(duì)此二叉樹(shù)先序遍歷的結(jié)果為
A.ABCDEFB.DBEAFCC.ABDECPD.DEBFCA
13.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]=“THIS\0”,*b=“OK\0\0”;printf(“%d,%d,%d,%d”,strlen(a),sizeof(a),strlen(b),sizeof(b));}程序運(yùn)行后的輸出結(jié)果是()。
A.4,6,2,4B.4,4,4,1C.6,5,2,1D.6,4,2,4
14.程序流程圖中帶有箭頭的線(xiàn)段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
15.現(xiàn)有如下定義語(yǔ)句int*p,s[20],i;p=s;表示數(shù)組元素s[i]的表達(dá)式不正確的是
A.*(s+i)B.*(p+i)C.*(s=s+i)D.*(p=p+i)
16.軟件需求分析一般應(yīng)確定的是用戶(hù)對(duì)軟件的______。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求
17.在一個(gè)無(wú)向圖中,所有頂點(diǎn)的度數(shù)之和等于所有邊數(shù)的()倍。
A.2B.3C.1D.1.5
18.表達(dá)式:(int)((double)9/2)-(9)%2.的值是A.0B.3C.4D.5
19.以下程序的輸出結(jié)果是().A.A.2222B.2468C.222D.246
20.設(shè)棧S和隊(duì)列Q的初始狀態(tài)為空,元素e1,e2,e3,e4,e5和e6依次通過(guò)棧S,一個(gè)元素出棧后即進(jìn)隊(duì)列Q,若6個(gè)元素出隊(duì)的序列是e2,e4,e3,e6,e5,e1,則棧S的容量至少應(yīng)該是()。
A.6B.4C.3D.2
二、2.填空題(20題)21.若從鍵盤(pán)輸入58,則以下程序輸出的結(jié)果是【】。
main()
{inta;
scanf("%d",&a);
if(a>50)printf("%d",a);
if(a>40)printf("%d",a);
if(a>30)printf("%d",a);}
22.fseek函數(shù)的正確調(diào)用形式是【】。
23.以下程序運(yùn)行后的輸出結(jié)果是【】。
structNODE
{intk;
structNODE*link;
};
main()
{structNODEm[5],*p=m,*q=m+4;
inti=0;
while(p!=q){
p->k=++i;p++;
q->k=i++;q--;
}
q->k=i;
for(i=0;i<5;i++)printf("%d",m[i].k);
printf("\n");
}
24.對(duì)長(zhǎng)度為10的線(xiàn)性表進(jìn)行冒泡排序,對(duì)壞情況下需要比較的次數(shù)為_(kāi)_____
25.診斷和改正程序中錯(cuò)誤的工作通常稱(chēng)為【】。
26.設(shè)有chara,b;,若要通過(guò)a&b運(yùn)算屏蔽掉a中的其他位,只保留第2位和第8位(右起為第1位),則b的二進(jìn)制是【】。
27.已知函數(shù)isaplha(ch)的功能是判斷變量ch是否是字母,若是,則該數(shù)值為1,否則為0。下面程序執(zhí)行后的輸出結(jié)果是()。
#include<ctype.h>
#include<string.h>
voidfun(chars[])
{inti,j;
for(i=0,j=0;s[i];i++)
s[j]='\0';
}
main()
{charss[80]="goodmorning";
fun(ss);
printf("%s",ss);
}
28.下列程序執(zhí)行后輸出的結(jié)果是【】。
structs
{intx,y;}data[2]={10,100,20,200};
main()
{
structs*p=data;
printf("%d\n",++(p->x));
}
29.函數(shù)pi的功能是根據(jù)以下公式近似求得的:
pi*pi/6=1+1/(2*2)+1/(3.3)+...+1/(n*n)
請(qǐng)?jiān)谙旅娴暮瘮?shù)中天空,完成求pi的功能。
#include<math.h>
doublepi(longn)
{doubles=0.0,longi;
for(i=1;i<<=n;i++)s=s+【】;
return(sqrt(6*s));
}
30.選擇程序中的輸入輸出語(yǔ)句,以滿(mǎn)足題目給定的輸入輸出數(shù)據(jù)形式。
main()
{inta;floatb;
【】
【】}
輸入形式:3.52<空格>6<回車(chē)>
輸出形式:a*b=21.12
31.數(shù)據(jù)元素之間______的整體稱(chēng)為邏輯結(jié)構(gòu)。
32.常用的黑箱測(cè)試有等價(jià)類(lèi)劃分法、【】和錯(cuò)誤推測(cè)法3種。
33.若有定義語(yǔ)句chars[100],d[100];intj=0,i=0;且s中已賦字符串,請(qǐng)?zhí)羁找詫?shí)現(xiàn)拷貝。(注:不使用逗號(hào)表達(dá)式)
while(s[i]){d[j]=【】;j++;}
d[j]=0;
34.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inti,n[]=10,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
35.在對(duì)文件進(jìn)行操作的過(guò)程中,若要求文件的位置回到文件的開(kāi)頭,應(yīng)當(dāng)調(diào)用的函數(shù)是【】函數(shù)。
36.下列程序的運(yùn)行結(jié)果是______。
#definePOWER(x)((x)*(x))
main()
{inti=1;
printf("%d,%d",POWER(i++),i);
}
37.設(shè)有下列宏定義:#defineA2
#defineBA+3
則執(zhí)行賦值語(yǔ)句;t=B*2;t為int型變量后的值是______。
38.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio,h>
main()
{inta=3,b=4,c=5,t=99;
if(b<a&&a<c)t=a;a=c;c=t;
if(a<e&&b<c)t=b;b=a;a=t;
printf("%d%d%d\n",a,b,e);
}
39.下面程序的功能是將一個(gè)字符串str的內(nèi)容倒序,請(qǐng)?zhí)羁铡?/p>
#inelude<stdio.h>
#include<strins.h>
main()
{inti,j,【】;
charstr[]={"1234567"};
for(i=0,j=strlen(str)【】;i<j;i++,j--)
{k=str[i];str[i]=str[j];str[j]=k;}
printf("%s\n",str);
}
40.下面程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{inty,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
三、1.選擇題(20題)41.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是
A.因變量類(lèi)型與格式描述符的類(lèi)型不匹配輸出無(wú)定值
B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值
C.a,97,12k=12
D.a,97,k=12
42.在C語(yǔ)言中,存儲(chǔ)類(lèi)型為()的變量只在使用它們時(shí)才占用存儲(chǔ)空間。
A.static和auto
B.register和auto
C.static和register
D.register和extem
43.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是()
A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭
44.請(qǐng)讀程序:#include<stdio.h>#include<string.h>voidfun(char*w,intm){chars,*p1,*p2;p1=w;p2=w+m-1;while(p1<p2){s=*p1++;*pl=*p2--;*p2=s;}}main(){chara[]="ABCDEFG";fun(a,strlen(a));puts(a);}上面程序的輸出結(jié)果是()
A.GEFDCBAB.AGADAGAC.AGAAGAGD.GAGGAGA
45.為了避免在嵌套的條件語(yǔ)句ifelse中產(chǎn)生二義性,C語(yǔ)言規(guī)定,else子句總是與()配對(duì)。
A.縮排位置相同ifB.其前面最近的ifC.其后面最近的ifD.同一行上的if
46.有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];則b的值是
A.5B.6C.9D.8
47.若有定義:inta=4,b=5;floatx=3.4,y=2.1;,則下列表達(dá)式的值為()。(float)(a+B)/2+(int)x%(int)y
A.5.5B.55C.5.5D.55
48.下列二維數(shù)組的說(shuō)明中,不正確的是()。
A.floata[][4]={0,1,8,5,9};
B.inta[3][4];
C.#defineN5
D.inta[2][9.5];floata[N][3];
49.有以下程序voidss(char*s,chart){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}main(){charstr1[100]="abcddfefdbd",c='d':ss(str1,C);printf("%s\n",str1);}程序運(yùn)行后的輸出結(jié)果是()
A.ABCDDEFEGDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd
50.下面程序的輸出結(jié)果為()。structst{intx;int*y;}*p;intdt[4]={10,20,30,40);structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};main(){p=aa;printf("%d\n",++p->x);printf("%d|n",(++p)->x);printf("%d\n",++(*p->y));}
A.102020B.506021C.516021D.607031
51.下面程序的輸出是______。main(){intk=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}
A.k=11,k=12,k=11
B.k=11,k=13,k=13
C.k=11,k=013,k=0xb
D.k=11,k=13,k=B
52.有以下程序:#include<stdio.h>voidswap1(intc[]){intt;t=c[0];c[0]=c[1];c[1]=t;}voidswap2(intc0,intc1){intt;t=c0;c0=c1;c1=t;}main(){inta[2]={3,5},b[2]={3,5};swap1(a);swap2(b[0],b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);}其輸出結(jié)果是()。
A.5353B.5335C.3535D.3553
53.下列表達(dá)式中,可以正確表示x≤0或x)1的關(guān)系是()。
A.(x>=1)||(x<=0)
B.x>l||x=0
C.x>=1ORx<=0
D.x>=1&&x<=0
54.以下程序輸出結(jié)果是#include<stdio.h>main(){inti=0,a=0;while(i<20){for(;;){if((i%10)==0)break;elsei--;}i+=11;a+=i;}printf("%d\n",a);}
A.21B.32C.33D.11
55.已知i、j、k為int型變量,若要從鍵盤(pán)輸入2、3、4<CR>,使i、j、k的值分別為2、3、4下列正確的輸入語(yǔ)句是()。
A.scanf(“%3d,%3d,%3d”,&i,&j,&k);
B.scanf(“%d,%d,%d”,&i,&j,&k);
C.scanf(“%d%do/od”,&i,&j,&k);
D.scaaf(“i=%d,j=%d,k=%d”,&i,&j,&k);
56.下述程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){inta[20],*p[4];inti,k=0;for(i=0;i<20;i++)a[i]=i;for(i=0;i<4;i++)p[i]=&a[i*i+1];for(i=0;i<4;i++){k=k+*p[i];}printf("%d",k);}
A.10B.18C.6D.數(shù)組元素引用不合法,輸出結(jié)果不定
57.有以下程序:fun(charp[][10]){intn=0,i;for(i=0;i<7;i++)if(P[i][0]=='T')n++;returnn;}main(){charstr[][10]={"Mon","Tue","wed","Thu","Fri","Sat","Sun"};printf("%d\n",fun(str));}程序執(zhí)行后的輸出結(jié)果是()。
A.1B.2C.3D.0
58.若變量a、i已正確定義,且i已正確賦值,合法的語(yǔ)句是()。A.A.a==1B.++iC.a=a++=5D.a=int(i)
59.下列一維數(shù)組說(shuō)明中,不正確的是()。
A.intN;
B.floata[]={1,6,6,0,2};scanf("%d",&N);intb[N];
C.#defineS10
D.inta[S+5];
60.已知下列函數(shù)定義:fun(int*b,intc,intD){intk;for(k=0;k<c*d;k++){*b=c+d;b++;}}則調(diào)用此函數(shù)的正確寫(xiě)法是(假設(shè)變量a的說(shuō)明為inta[10])()。
A.fun(*a,6,14);
B.fim(&a,6,8);
C.fun(a,8,4);
D.fun((int)a,8,6);
四、選擇題(20題)61.耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是()。
A.提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性
B.降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性
C.耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度
D.內(nèi)聚性是指模塊間互相連接的緊密程度
62.
63.程序中若有如下說(shuō)明和定義語(yǔ)句
charfun(char*);
main()
{
char*s="one",a[5]={0},(*f1)()=fun,ch;
……
}
以下選項(xiàng)中對(duì)函數(shù)fun的正確調(diào)用語(yǔ)句是
A.(*f1)(A);B.*f1(*s);C.fun(&A);D.ch=*f1(s);
64.設(shè)有定義:“inta;floatb;”,執(zhí)行“scanf("%2d%f",&a,&b);”語(yǔ)句時(shí),若從鍵盤(pán)輸入876543.0<回車(chē)>,a和b的值分別是()。A.A.876和543.000000B.87和6.000000
C.87和6543.000000
D.76和543.000000
65.樹(shù)是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是()。
A.有且只有1B.1或多于1C.0或1D.至少2
66.在HTML頁(yè)面中哪些部分能夠插入JavaScript?
A.<body>部分
B.<head>部分
C.<body>部分和<head>部分均可
D.<title>部分
67.
有以下計(jì)算公式
若程序前面已在命令中包含math.h文件,不能夠正確
計(jì)算上述公式的程序段是()。
A.if(x>=0)y=sqrt(x);elsey=sqrt(-x);
B.y=sqrt(x)if(x<0)y=sqrt(0x);
C.if(x>=O)y=sqrt(x);If(x<O)y=sqrt(0x);
D.y=sqrt(x>=0?x:0x);
68.有以下程序:
#include<<stdio.h>
structstu
{intnum;
charname[10]:
intage;}
voidfun(structstu*p)
{printf("%s\n",(*p).name);}
themain
{
structstustudents[3]={{9801,"Zhang".20},
{9802,"Wang",19},{9803,"Zhao",18}}
fun(students+2);
}
輸出的結(jié)果是()。
A.ZhangB.ZhaoC.WangD.18
69.
70.有以下程序:
#include<stdio.h>
intfun
{staticintx=1;
x+=1;returnX;
}
main
{inti,S=1;
for(i=1;i<=S;i++)s+=fun;
printf("%d\n",s);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.11B.21C.6D.120
71.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。
A.數(shù)據(jù)所占的存儲(chǔ)空間
B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式
C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式
D.存儲(chǔ)在計(jì)算機(jī)外存中的數(shù)據(jù)
72.有以下程序:
main
{
unsignedchara=2,b=4,c=5,d;
d=a|b;d&=c;printf("%d\n",d);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.3B.4C.5D.6
73.
74.(70)需求分析階段的任務(wù)是確定()
A.軟件開(kāi)發(fā)方法
B.軟件開(kāi)發(fā)工具
C.軟件開(kāi)發(fā)費(fèi)用
D.軟件系統(tǒng)功能
75.
76.若有定義floatX=1.5;inta=1,b=3,C=2;,則正確的switch語(yǔ)句是()。
A.
B.
C.
D.
77.函數(shù)fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點(diǎn)是()。
A.文件開(kāi)始B.文件末尾C.文件當(dāng)前位置D.以上都不對(duì)
78.
79.若變量已正確定義并賦值,以下符合C++語(yǔ)言語(yǔ)法的表達(dá)式是()。
A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b
80.若有定義語(yǔ)句:
則strlen(s)的值是()。
A.7B.8C.9D.10
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:求S的值。
例如,當(dāng)n為100時(shí),函數(shù)的值應(yīng)為1.566893。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.三個(gè)整數(shù)a、b、c,由鍵盤(pán)輸入,輸出其中最大的數(shù)。
參考答案
1.B
2.A
3.B
4.C解析:題目中所給函數(shù)的功能是;先用函數(shù)strcpy把參數(shù)串str2復(fù)制到參數(shù)串str1中去,然后用函數(shù)strcat把參數(shù)串str3連接到經(jīng)過(guò)修改后的參數(shù)串str1后,因此選項(xiàng)C正確。
5.A由順序、選擇(分支)、循環(huán)3種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問(wèn)題,而不只是解決簡(jiǎn)單問(wèn)題,所以A選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。
6.C
7.C
8.C解析:C語(yǔ)句必須以分號(hào)結(jié)束,選項(xiàng)A是正確的。復(fù)合語(yǔ)句在語(yǔ)法上被看作一條語(yǔ)句,選項(xiàng)B也是正確的??照Z(yǔ)句也算是一條語(yǔ)句,因此如果空語(yǔ)句出現(xiàn)在條件或者循環(huán)語(yǔ)句中,一樣會(huì)被當(dāng)作條件子句或者循環(huán)體來(lái)看待,所以選項(xiàng)c是錯(cuò)誤的。賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語(yǔ)句,選項(xiàng)D正確。故本題應(yīng)該選擇C。
9.C
10.A解析:該題考查的是遞歸函數(shù)的調(diào)用,題中讀fun函數(shù)進(jìn)行了遞歸調(diào)用,第1次調(diào)用:fun(3)n=3s=3-fun(2);第二次調(diào)用時(shí):fun(2)n=2s=2返回第一次調(diào)用后,s=3-2=1。
11.AB選項(xiàng)中運(yùn)算符“%”的運(yùn)算對(duì)象為整數(shù)。C選項(xiàng)中不能將變量賦給表達(dá)式“x+n”。D選項(xiàng)中不能將表達(dá)式“4+1”賦給常量5。故本題答案為A選項(xiàng)。
12.C解析:二叉樹(shù)的遍歷分為先序,中序、后序三種不同方式.本題要求先序遍歷,其遍歷順序應(yīng)該為:訪(fǎng)問(wèn)根結(jié)點(diǎn)->,先序遍歷左子樹(shù)->先序遍歷右子樹(shù)。按照定義,先序遍歷序列是ABDECF,故答案為C。
13.Astrlen函數(shù)求得參數(shù)中字符串的長(zhǎng)度(不包括字符串結(jié)束標(biāo)識(shí)“\\0”)sizeof函數(shù)求得特定類(lèi)型參數(shù)所占存儲(chǔ)空間的長(zhǎng)度。題干中a是數(shù)組名,由于定義時(shí)省略維數(shù)大小,因此數(shù)組大小是初始化的字符個(gè)數(shù),即a的數(shù)組大小為6。綜上,strlen(a)只計(jì)算字符“T”“H”“I”“S”,結(jié)果為4;sizeof(a)求得數(shù)組a的大小,結(jié)果為6;指針b指向一個(gè)字符串“OK\\0\\0”,所以strlen(b)只計(jì)算字符“O”“K”,結(jié)果為2;sizeof(b)求得指針占用存儲(chǔ)空間的大小,結(jié)果為4。故本題答案為A選項(xiàng)。
14.C解析:程序流程圖是人們對(duì)解決問(wèn)題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類(lèi)型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線(xiàn)表示操作的先后次序。帶箭頭的線(xiàn)段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線(xiàn)段在程序流程圖中表示控制流。題中給出的選項(xiàng)中,在圖元之間用帶有箭頭的線(xiàn)段表示圖元關(guān)系。在模塊之間用帶有箭頭的線(xiàn)段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;
表示邏輯條件。
15.C解析:當(dāng)p指向s數(shù)組的首地址時(shí),表示數(shù)組元素s[i]的表達(dá)式應(yīng)當(dāng)有:①s[i],②,(s+i),③*(p+i),④p[i]四種形式。選項(xiàng)C)錯(cuò)誤的原因是,數(shù)組的地址是不可變的,指針的地址是可以變的。
16.DD?!窘馕觥寇浖枨蠓治鲋行枰獦?gòu)造一個(gè)完全的系統(tǒng)邏輯模型,理解用戶(hù)提出的每一功能與性能要求,使用戶(hù)明確自己的任務(wù)。因此,需求分析應(yīng)確定用戶(hù)對(duì)軟件的功能需求和非功能需求。
17.A
18.B\n本題考查了強(qiáng)制類(lèi)型轉(zhuǎn)換。9/2為double型,所以結(jié)果為4.5,又強(qiáng)制轉(zhuǎn)換為整型,所以結(jié)果為4。9%2為取余運(yùn)算,結(jié)果為1。最終結(jié)果4-1=3。
\n
19.D
20.C
21.585858585858解析:本題考查對(duì)if語(yǔ)句的掌握,當(dāng)輸入58以后,程序中的3個(gè)if語(yǔ)句都成立,所以分別輸出58。
22.fseek(文件指針位移量起始點(diǎn))fseek(文件指針,位移量,起始點(diǎn))解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:
fseek(文件指針,位移量,起始點(diǎn))
“起始點(diǎn)”用0,1或2代替,其中,0代表“文件開(kāi)始”;1為“當(dāng)前位置”;2為“文件末尾”。“位移量”指以“起始點(diǎn)”為基點(diǎn),向前移動(dòng)的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當(dāng)文件的長(zhǎng)度大于64k時(shí)不致出現(xiàn)問(wèn)題。ANSIC標(biāo)準(zhǔn)規(guī)定在數(shù)字的末尾加一個(gè)字母L,就表示long型。
23.1343113431解析:初始化時(shí),指針p指向m[0]的地址,指針q指向m[4]的地址,p!=q滿(mǎn)足循環(huán)條件,執(zhí)行循環(huán)語(yǔ)句,得到m[0].k=1,m[4].k=1,此時(shí)i=2,指針p指向m[1]的地址,指針q指向m[3]的地址,p!=q滿(mǎn)足循環(huán)條件,執(zhí)行循環(huán)語(yǔ)句,得到m[1].k=3,k=3,此時(shí)i=4,指針q指向m[2]的地址,p==q不滿(mǎn)足循環(huán)條件,則退出循環(huán),m[2].k=4。所以最后輸出為13431。
24.在最壞情況下冒泡排序法需要比較的次數(shù)為n(n-1)/2。
25.程序調(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ā)階段。
26.1000001010000010解析:運(yùn)算“&”的規(guī)則是只有當(dāng)兩個(gè)相應(yīng)的二進(jìn)制位都為1時(shí),該位的結(jié)果才為1。要保留第2、8位,只要將其與二進(jìn)制數(shù)10000010相與。
27.goodmorninggoodmorning解析:子函數(shù)fun(chars[])的作用是將字符數(shù)組s中除去字母以外的所有其他字符都去掉,然后將字母仍按原來(lái)的順序存在數(shù)組s中。在主函數(shù)中調(diào)用fun(ss),是將“goodmorning”中所有的非字母去掉,在這里就是去掉空格,然后輸出ss。
28.1111解析:程序中結(jié)構(gòu)體數(shù)組data首地址(即&data[0])賦值給結(jié)構(gòu)體指針變量p,++(P->x)表示先將p所指向的結(jié)構(gòu)體變量的成員x值加1,然后將此x(即data[0].x)輸出。
29.1.0/i/i或1.0/(i*i)1.0/i/i或1.0/(i*i)解析:由題面中提供的計(jì)算pi的公式可知:在第i項(xiàng)其值為1/(i*i),考慮到運(yùn)算結(jié)果為浮點(diǎn)數(shù),故必須要將1轉(zhuǎn)化為浮點(diǎn)數(shù)或采用1.0/(i*i)的形式。故本題應(yīng)填1.0/(i*i)或其等效形式。
30.scanf("%f<空格>%d"&b&a);printf("ab=%5.2f"a*b);scanf('%f<空格>%d',&b,&a);\r\nprintf('a,b=%5.2f',a*b);
31.邏輯關(guān)系邏輯關(guān)系
32.邊界值分析法邊界值分析法解析:黑箱測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例。常用的黑箱測(cè)試有等價(jià)類(lèi)劃分、邊界值分析法和錯(cuò)誤推測(cè)法3種。
33.s[i++]s[i++]解析:本題中為了能實(shí)現(xiàn)字符串的拷貝,需要使字符數(shù)組s從頭到尾依次遍歷其所有元素。本題應(yīng)使用i的自增后置來(lái)實(shí)現(xiàn)。
34.1371513715解析:本題中,定義了一個(gè)整型數(shù)組n并初始化,在for循環(huán)語(yǔ)句中,再對(duì)數(shù)組中各元素重新賦值。循環(huán)執(zhí)行第一次時(shí),n[1]=n[0]*2+1=0+1=1,printf函數(shù)輸出1,然后i的值加1,比較i<=4成立,繼續(xù)執(zhí)行循環(huán)體語(yǔ)句,相應(yīng)輸出3、7、15,直至i<=4不成立,退出循環(huán)。所以最后輸出為1、3、7、15。
35.rewind()或fseek()rewind()或fseek()
36.111,1解析:POWER(i++)中先引用i的值1,再將i的值加1,POWER(i++)=1*1=1。
37.88解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算.運(yùn)算過(guò)程為:t=B*2=A+3*2=2+3*2=8。
38.45994599解析:要注意每條證語(yǔ)句后面是三條語(yǔ)句,而不是一條語(yǔ)句。執(zhí)行第一條if語(yǔ)句時(shí),條件表達(dá)式不成立,執(zhí)行a=c;c=t;,此時(shí)a=5,c=99;執(zhí)行第二條if語(yǔ)句時(shí),條件表達(dá)式成立,執(zhí)行t=b;b=a;a=t;交換a,b的值,輸出結(jié)果為4,5和99。
39.k-1k-1解析:第一處應(yīng)該是定義的某個(gè)變量,讀程序可知,變量k沒(méi)有定義,所以此處應(yīng)填入k。字符串的倒序,就是將首尾對(duì)應(yīng)的字符(數(shù)組元素)兩兩交換??捎脙蓚€(gè)游標(biāo)變量i和j分別代表前端元素的下標(biāo)和后端元素的下標(biāo),交換以這兩個(gè)變量值為下標(biāo)的元素str[i]和str[j]。開(kāi)始時(shí),i的值為0,j的值為字符串末元素的下標(biāo)(字符串長(zhǎng)度減1)。每次交換后,i增1,j減1。繼續(xù)交換的條件是str[i]仍然位于str[j]的前面,即i<j。字符串末元素的下標(biāo)是它的長(zhǎng)度減1,所以在第二處應(yīng)填入-1。
40.1-21,-2解析:考查嵌套的循環(huán)結(jié)構(gòu)。題中外層while循環(huán)的循環(huán)條件是\ue008y--!=-1\ue009,即y>=0;內(nèi)層do厀hile循環(huán)的循環(huán)條件是y--,即y-->0,y>=1。
41.D解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號(hào)的十進(jìn)制整型數(shù)輸出,所以第一個(gè)輸出語(yǔ)句輸出的結(jié)果為a,97;第二個(gè)輸出語(yǔ)句輸出的結(jié)果為k=12。
42.D
43.A解析:數(shù)據(jù)流圖包括4個(gè)方面,即加工(轉(zhuǎn)換)(輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出)、數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名)、存儲(chǔ)文件(數(shù)據(jù)源)(表示處理過(guò)程中存放各種數(shù)據(jù)的文件)、源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體)。不包括選項(xiàng)中的控制流。
44.C
45.B解析:本題考查ifelse語(yǔ)句。C語(yǔ)言規(guī)定,else總是與它前面的最近的if配對(duì)。
46.C解析:p=&a[3]將指針指向數(shù)組a的第4個(gè)元素,p[5]指向數(shù)組a的第9個(gè)元素,而a[8]=9,所以b=9。
47.C解析:在計(jì)算(float)(a+b)/2時(shí),由于通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換將(a+b)轉(zhuǎn)換成了float型,所以應(yīng)先將2轉(zhuǎn)換成float型,再進(jìn)行計(jì)算,得4.500000。
在計(jì)算(int)x%(int)y時(shí),先將x和y通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換成int型,再進(jìn)行求余運(yùn)算,得1。
又因?yàn)?.500000是float型,所以將1和它相加時(shí),先將1換成float型,再計(jì)算,得到5.500000。
注意:類(lèi)型轉(zhuǎn)換的一般規(guī)則是:低級(jí)類(lèi)型服從高級(jí)類(lèi)型,并進(jìn)行相應(yīng)的轉(zhuǎn)換。數(shù)據(jù)類(lèi)型的級(jí)別由低到高的排序表示為:char→int→unsigned→long→float→double。
48.D解析:C語(yǔ)言規(guī)定,對(duì)于二維數(shù)組,只可以省略第一個(gè)方括號(hào)中的常量表達(dá)式,而不能省略第二個(gè)方括號(hào)中的常量表達(dá)式;二維數(shù)組的一般定義格式是:類(lèi)型說(shuō)明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]。
49.B
50.C解析:第1個(gè)輸出語(yǔ)句中由于->的優(yōu)先級(jí)高于++,因此先取結(jié)構(gòu)體的分量x,再對(duì)x的值加1,再輸出。p的初值為結(jié)構(gòu)體數(shù)組aa的首地址即a[0]的地址,a[0]的x分量值為50,加1后輸出51。第2個(gè)輸出語(yǔ)句中++p被括號(hào)括起來(lái),括號(hào)的優(yōu)先級(jí)與->相同,自左至右結(jié)合,因此先對(duì)p加1,再取p所指向的元素的x分量的值。p加1后p指向數(shù)組元素a[1],a[1]的x分量的值為60,輸出60。第3個(gè)輸出語(yǔ)句中括號(hào)的優(yōu)先級(jí)高于++,因此先求括號(hào)中表達(dá)式的值,又由于->的優(yōu)先級(jí)高于*,所以先取p所指向的數(shù)組元素的y分量的值,p所指向的元素為a[1],y分量的值為&dt[1]。&dt[1]是一個(gè)存儲(chǔ)單元的地址,是數(shù)組dt第2個(gè)元素的地址值,再取該存儲(chǔ)單元中的值為20,最后對(duì)20加1,輸出21。選項(xiàng)C為所選。
51.D解析:在C語(yǔ)言格式字符的輸出中,“%d”是以帶符號(hào)的十進(jìn)制形式輸出整數(shù);“%60”是以8進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符o);“%x”是以16進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符Ox)。
52.B解析:swap1函數(shù)傳遞的是變量的地址,可以實(shí)現(xiàn)兩個(gè)數(shù)的交換;而swap2函數(shù)傳遞的是值,執(zhí)行完swap2后,c0,c1的值互換了,但main函數(shù)中的b0和b1并未互換,即形參值的改變無(wú)法傳給實(shí)參。
53.A解析:題中要求x的取值是小于等于0或者大于等于1,這說(shuō)明表達(dá)式是或的關(guān)系,所以在寫(xiě)成C語(yǔ)言表達(dá)式應(yīng)是邏輯或的關(guān)系,邏輯或運(yùn)算符是“||”。
54.B解析:break語(yǔ)句只能在循環(huán)體和switch語(yǔ)句體內(nèi)使用。本題程序?yàn)樵趙hile循環(huán)中嵌套for循環(huán)。先看內(nèi)層for循環(huán),該循環(huán)的3個(gè)表達(dá)式全部省略,循環(huán)條件始終為真,但循環(huán)體內(nèi)的break語(yǔ)句為終止循環(huán)的條件。首先,由初始條件判斷外層循壞while括號(hào)內(nèi)表達(dá)式的值,該值為真,執(zhí)行本次while循環(huán),即執(zhí)行循環(huán)體內(nèi)的訂語(yǔ)句,判斷該表達(dá)式后面括號(hào)里表達(dá)式的值為真,執(zhí)行break語(yǔ)句,跳出內(nèi)層循環(huán),執(zhí)行下面的語(yǔ)句,此時(shí)i和a的值均變?yōu)?1;回到外層循環(huán),判斷表達(dá)式“i<20”仍為真,執(zhí)行內(nèi)層循環(huán)語(yǔ)句,此時(shí)if條件不滿(mǎn)足,執(zhí)行else語(yǔ)句,i的值為10,繼續(xù)內(nèi)層循環(huán),if語(yǔ)句條件滿(mǎn)足,執(zhí)行break語(yǔ)句,跳出內(nèi)層循環(huán),執(zhí)行下面的語(yǔ)句后,i和a的值分別是21和32。再判斷外層循環(huán)的條件為假,結(jié)束循環(huán).所以,4個(gè)選項(xiàng)中B為所選。
55.B解析:函數(shù)scanf()的調(diào)用形式是:scanf(格式字符串,輸入項(xiàng)地址表)。其中,“格式字符串”是要輸入的變量的格式符;“輸入項(xiàng)地址表”是要輸入的變量的地址。若在格式符中插入了其他字符,則在輸入時(shí)要求按一一對(duì)應(yīng)的位置原樣輸入這些字符,其中的逗號(hào)也必須輸入。
56.B解析:第一個(gè)for循環(huán),給數(shù)組a的20個(gè)元素分別賦值0~19;第二個(gè)for循環(huán),給數(shù)組p賦值,p[0]=a[1]=1,p[1]=a[2]=2,p[2]=a[5]=5,p[3]=a[10]=10;第三個(gè)for循環(huán),將數(shù)組p中元素的值進(jìn)行累加,k=1+2+5+10=18。
57.B解析:fun()函數(shù)實(shí)現(xiàn)的功能為查找二維字符數(shù)組第一列中為字符T的個(gè)數(shù)。二維數(shù)組的地址作為函數(shù)的實(shí)參。
58.B本題主要考查C語(yǔ)言合法語(yǔ)句的定義。
在選項(xiàng)A中,a==1不是一個(gè)合法的語(yǔ)句,因?yàn)樗鼪](méi)有語(yǔ)句結(jié)束標(biāo)識(shí)符“;”,不能說(shuō)是一條語(yǔ)句,如果作為一個(gè)表達(dá)式,它是正確的。
在選項(xiàng)B中,由于變量i已被正確定義并有初值,“++i;”是正確的語(yǔ)句。
在選項(xiàng)C中,由于正確的賦值語(yǔ)句中,賦值符號(hào)的左邊不能為常量或表達(dá)式,而右邊不能為變量或表達(dá)式,很明顯,“a=a++=5;”違背了賦值語(yǔ)句的原則。
在選項(xiàng)D中,“a=int(i);”語(yǔ)句是不正確的,在C語(yǔ)言中沒(méi)有這種表示形式,如果是想將變量i強(qiáng)制轉(zhuǎn)換為整型的操作,應(yīng)該為“a=(int)i;”。
59.A
60.C
61.B模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性,所以A錯(cuò)誤,B正確。耦合性是模塊間互相連接的緊密程度的度量而內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度,所以C與D錯(cuò)誤。故答案為B選項(xiàng)。
62.C
63.A解析:函數(shù)fun()的參數(shù)為指針類(lèi)型,返回值為字符型,而選項(xiàng)B、C的參數(shù)不是指
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年貴州建設(shè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)標(biāo)準(zhǔn)卷
- 單位管理制度集合大全人事管理十篇
- 單位管理制度合并匯編【人員管理】
- 單位管理制度呈現(xiàn)匯編職工管理篇十篇
- 單位管理制度呈現(xiàn)大全人員管理
- 《鞋匠的兒子》教案(15篇)
- 第4單元 封建時(shí)代的亞洲國(guó)家(高頻非選擇題25題)(解析版)
- 1.3土地改革課時(shí)練習(xí)2021-2022學(xué)年部編版八年級(jí)歷史下冊(cè)
- 第25課 經(jīng)濟(jì)和社會(huì)生活的變化(原卷版)
- 2012年高考語(yǔ)文試卷(新課標(biāo))(解析卷)
- T-JSREA 32-2024 電化學(xué)儲(chǔ)能電站消防驗(yàn)收規(guī)范
- 2025年上半年江蘇省常州市文廣旅局下屬事業(yè)單位招聘4人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 2023-2024學(xué)年福建省泉州市石獅市三年級(jí)(上)期末數(shù)學(xué)試卷
- 新時(shí)代高校馬克思主義學(xué)院內(nèi)涵式發(fā)展的現(xiàn)狀和現(xiàn)實(shí)進(jìn)路
- 銅工崗位安全操作規(guī)程(2篇)
- 擦玻璃安全責(zé)任合同協(xié)議書(shū)范本
- 2024-2025學(xué)年人教PEP版英語(yǔ)五年級(jí)上冊(cè)期末試題
- 2019水電工程探地雷達(dá)探測(cè)技術(shù)規(guī)程
- 殘疾兒童(孤獨(dú)癥)康復(fù)服務(wù)機(jī)構(gòu)采購(gòu)項(xiàng)目招標(biāo)文件
- 室內(nèi)墻地磚鋪貼施工技術(shù)交底
- 少先隊(duì)活動(dòng)課《民族團(tuán)結(jié)一家親-同心共筑中國(guó)夢(mèng)》課件
評(píng)論
0/150
提交評(píng)論