![2022年福建省漳州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第1頁(yè)](http://file4.renrendoc.com/view/6d980548ca7eb0a1a6f0c3502e40d5b9/6d980548ca7eb0a1a6f0c3502e40d5b91.gif)
![2022年福建省漳州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第2頁(yè)](http://file4.renrendoc.com/view/6d980548ca7eb0a1a6f0c3502e40d5b9/6d980548ca7eb0a1a6f0c3502e40d5b92.gif)
![2022年福建省漳州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第3頁(yè)](http://file4.renrendoc.com/view/6d980548ca7eb0a1a6f0c3502e40d5b9/6d980548ca7eb0a1a6f0c3502e40d5b93.gif)
![2022年福建省漳州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第4頁(yè)](http://file4.renrendoc.com/view/6d980548ca7eb0a1a6f0c3502e40d5b9/6d980548ca7eb0a1a6f0c3502e40d5b94.gif)
![2022年福建省漳州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)_第5頁(yè)](http://file4.renrendoc.com/view/6d980548ca7eb0a1a6f0c3502e40d5b9/6d980548ca7eb0a1a6f0c3502e40d5b95.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年福建省漳州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.
2.有以下程序:intfun(intn){if(n==l)returnl;elsereturn(n+fun(n一1)):}main{intx;scanf("%d",&x);x=fun(x);printf("%d\n",x):}執(zhí)行程序時(shí),給變量X輸入10,程序的輸出結(jié)果是()。A.55B.54C.65D.45
3.
4.如果以鏈表作為棧的存儲(chǔ)結(jié)構(gòu),則入棧操作時(shí)()。
A.必須判別棧是否滿B.必須判別棧是否為空C.必須判別棧元素類(lèi)型D.可不做任何判斷
5.在C語(yǔ)言中,函數(shù)返回值的類(lèi)型最終取決于()。
A.函數(shù)定義時(shí)在函數(shù)首部所說(shuō)明的函數(shù)類(lèi)型
B.return語(yǔ)句中表達(dá)式值的類(lèi)型
C.調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類(lèi)型
D.函數(shù)定義時(shí)形參的類(lèi)型
6.
7.設(shè)線性鏈表中結(jié)點(diǎn)的結(jié)構(gòu)為(data,next)。已知指針q所指結(jié)點(diǎn)是指針結(jié)點(diǎn)p的直接前驅(qū),若在*q與*p之間插入結(jié)點(diǎn)*s,則應(yīng)執(zhí)行下列()操作。
A.s->next=p->next;p->next=s;
B.q->next=s;s->next=p;
C.p->next=s->next;s->next=p;
D.p->next=s;s->next=q;
8.若運(yùn)行以下程序時(shí),從鍵盤(pán)輸入ADescriptor<CR>(<CR>表示回車(chē)),則下面程序的運(yùn)行結(jié)果是
#include<stdio.h>
main()
{charc;
intv0=1,v1=0,v2=0;
do{switch(c=getchar())
{case′a′:case′A′:
case′e′:case′E′:
case′i′:case′I′:
case′o′:case′O′:
case′u′:case′U′:v1+=1;
default:v0+=1;v2+=1;}}while(c!='\n');
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}
A.v0=7,v1=4,v2=7
B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11
D.v0=13,v1=4,v2=12
9.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][20]={“One*World”,“One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);}程序運(yùn)行后的輸出結(jié)果是()。
A.10,One*Dream!
B.9,One*Dream!
C.9,One*World
D.10,One*World
10.若已定義:“inta[9],*p=a;”,并在以后的語(yǔ)句中未改變p的值,不能表示a[1]地址的表達(dá)式是______。
A.p+1B.a+1C.a++D.++p
11.若有說(shuō)明語(yǔ)句:double*p,a;則通過(guò)scanf語(yǔ)句正確給輸入項(xiàng)讀人數(shù)據(jù)的程序段是()。
A.*p=&a;scanf("%1f”,p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%",*p);
D.p=&a;scanf("%1f",p);
12.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲(chǔ)結(jié)C.元素按值有序且采用順序存儲(chǔ)結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
13.下列程序的輸出結(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
14.設(shè)intx=7,則~x的值是()。
A.-8B.7C.-1D.1
15.下列合法的聲明語(yǔ)句是()。
A.intabc=50;
B.doubleint=3+5e2.5;
C.longdo=1L;
D.float3asd=3e一3;
16.若有以下定義和語(yǔ)句charc1='b',c2='e'printf("%d,%c\n",c2-c1,c2-'a'+A);則輸出結(jié)果()
A.2,MB.3,EC.2,ED.輸出項(xiàng)與對(duì)應(yīng)的格式控制不一致,輸出結(jié)果不確定
17.在一個(gè)雙向鏈表中,q的前一個(gè)節(jié)點(diǎn)為p,q的后一個(gè)節(jié)點(diǎn)為n,刪除q所指向節(jié)點(diǎn),則執(zhí)行()
A.deleteq;
B.q->prev->next=q->prev;q->next->prev=q->next;deleteq;
C.q->prev=p->next;p->next=p->prev;deleteq;
D.q->next=q->prev->next;q->prev=q->next->prev;deleteq;
E.q->prev->next=q->next;q->next->prev=q->prev;deleteq;
F.p->prev->next=p->next;p->next->prev=p->prev;deleteq->next;
18.設(shè)散列表中m個(gè)存儲(chǔ)單元,散列函數(shù)為H(key)=key%p,p是最好選擇()。
A.小于等于m的最大奇數(shù)B.小于等于m的最大素?cái)?shù)C.小于等于m的最大偶數(shù)D.小于等于m的最大合數(shù)
19.有以下程序:#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}程序的運(yùn)行結(jié)果是()。
A.2,1,1,2B.1,2,1,2C.2,1,2,1D.1,2,2,1
20.要求通過(guò)while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán),若變量已正確定義,下列正確的程序段是()。
A.while((ch=getchar())!='N')printf("%c",ch);
B.while(ch=getchar()!='N')printf("%c",ch);
C.while(ch=getchar()=='N')printf("%c",ch);
D.while((ch=getchar())=='N')printf("%c",ch);
二、2.填空題(20題)21.下述函數(shù)統(tǒng)計(jì)一個(gè)字符串中的單詞個(gè)數(shù),單詞是指處在空格之間的字符序列,請(qǐng)?zhí)羁铡?/p>
intword(char*s)
{intnum=0,flag=0;
while(*s)
{if(【】='')flag=0;
elseif(【】){flag=1;num++}
}
return【】}
22.以下程序運(yùn)行后的輸出結(jié)果是()。
main()
{intx,a=1,b=2,c=3,d=4;
{intx,a=1,b=2,c=3,d=4;
x=(a<B)?a:b;x=(a<C)?x:C;x=(d>x)?x:d;
printf("%d\n",x);
}
23.定義inta=5,b;,則執(zhí)行表達(dá)式b=++a*--a之后,變量b的值為【】。
24.有以下程序:
main()
{inta=7,b=8,*p,*q,*r;
p=&a;q=&b;
r=p;p=q;q=r;
printf("%d,%d,%d,%d\n",*p,*q,a,b);
}
程序運(yùn)行后的輸出結(jié)果是【】。
25.以下程序的功能是進(jìn)行位運(yùn)算main(){unsignedchara,b;a=7^3;b=~4&3;pfintf("%d%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是
26.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{
n[i]=n[i-1]*2+1;
printfi["%d",n[i]);
}
}
27.軟件生命周期分為軟件定義期、軟件開(kāi)發(fā)期和軟件維護(hù)期,詳細(xì)設(shè)計(jì)屬于______中的一個(gè)階段。
28.以下程序的功能是將字符串s中的數(shù)字字符放入d數(shù)組中,最后輸出d中的字符串。例如,輸入字符串:
abcl23edf456gh,執(zhí)行程序后輸出:123456。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype,h>
main()
{chars[80],d[80];inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(【】){d[j]=s[i];j++;}
d[j]='\0';
puts(d);
}
29.設(shè)有chara,b;,若要通過(guò)a&b運(yùn)算屏蔽掉a中的其他位,只保留第2位和第8位(右起為第1位),則b的二進(jìn)制是【】。
30.已有文本文件test.txt,其中的內(nèi)容為:Hello,everyone!。以下程序中,文件test.txt已正確為“讀”而打開(kāi),由此文件指針fr指向該文件,則程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{FILE*fr;charstr[40];
…
fgets(str,5,fr);
printf("%s\n",str);
felose(fr);
}
31.下列程序的輸出結(jié)果是______。
main()
{inta=2,b=4,c=6;
int*p1=&a,*p2,&b,*p;
*(p=&c)=*p1*(*p2);
printf("%d\n",c);
}
32.下列程序的運(yùn)行結(jié)果是______。
#defineP(A)printf("%d",A)
main()
{intj,a[]={1,2,3,4,5,6,7},i=5;
for(j=3;j>1;j--)
{switch(j)
{case1:
case2:P(a[i++]);break;
case3:P(a[--i]);
}
}
}
33.有以下程序:
#include<stdio.h>
intsub(intn)
{return(n/10+n%10);}
main()
{intx,y;
seanf("%d",&x);y=sub(sub(sub(x)));
printf("%d\n";,y);
}
若運(yùn)行時(shí)輸入:1234<回車(chē)>,程序的輸出結(jié)果是【】。
34.以下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);
}
35.數(shù)據(jù)管理技術(shù)發(fā)展過(guò)程經(jīng)過(guò)人工管理、文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)三個(gè)階段,其中數(shù)據(jù)獨(dú)立性最高的階段是______。
36.以下程序運(yùn)行后的輸出結(jié)果是()。
#include
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]="abcdefgh";
p=ss(str);
printf("%s\n",p);
}
37.用復(fù)合的賦值運(yùn)算符將變量x中的值增大2的賦值表達(dá)式是【】。
38.已有文本文件test.txt,其中的內(nèi)容為:Hello,everyone!。以下程序中,文件test.txt已正確為“讀”而打開(kāi),由此文件指針fr指向文件,則程序的輸出結(jié)果是______。
#include<stdio.h>main(){FILE*fr;charstr[40];
fgets(str,5,fr);
printf("%s\n,,str);
fclose(fr);}
39.若輸入12、3、2、5、7,則以下程序的運(yùn)行結(jié)果為【】。
intmax,min;
voidmax_min_value();
main()
{inti,number[5];
printf("輸入5個(gè)整數(shù);\n");
for(i=0;i<5;i++)scanf("%d",&number[i]);
maxminvalue(number,5);
printf("max=%d,min=%d\n",max,min);
getch();
}
voidmax_min_value(array,n)
intarray[],n;
{int*p;
max=min=*array;
for(p=array+1;p<array+n;p++)
if(*p>max)max=*p;
elseif(*p<min)min=*p;
}
40.在一個(gè)容量為15的循環(huán)隊(duì)列中,若頭指針front=6,尾指針Year=9,則該循環(huán)隊(duì)列中共有【】個(gè)元素。
三、1.選擇題(20題)41.若有下列說(shuō)明,則()不是對(duì)strcpy庫(kù)函數(shù)的正確的調(diào)用。strcpy庫(kù)函數(shù)用于復(fù)制一個(gè)字符串:char*str1="abcd",str2[10],*str3="hijklmn",*str4[2],*str5="aaaa"
A.strcpy(str2,str1)
B.strcpy(str3,str1)
C.strcpy(str4,str1)
D.strcpy(str5,str1)
42.可在C程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是A.and2007
B.Date_y-m-d
C.HiDr.Tom
D.caseBigl
43.在深度為5的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A.32B.31C.16D.15
44.有以下程序:#include<stdio.h>intf(intt[],intn);main(){inta[4]={1,2,3,4},s;s=f(a,2);printf("%d\n",s);}intf(intt[],intn){if((n>0)&&(n<5))returnt[n+1]+f(t,n-1);elsereturn0;}程序運(yùn)行后的輸出結(jié)果是()。
A.4B.7C.10D.61
45.若有以下定義:intt[3][2];,能正確表示t數(shù)組元素地址的表達(dá)式是______。
A.&t[3][2]B.t[3]C.t[1]D.*t[2]
46.檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為()。
A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試
47.在C語(yǔ)言中,合法的長(zhǎng)整型常數(shù)是()。
A.OLB.4962710C.324562&D.216D
48.數(shù)據(jù)管理技術(shù)隨著計(jì)算機(jī)技術(shù)的發(fā)展而發(fā)展。數(shù)據(jù)庫(kù)階段具有許多特點(diǎn),但下面列出的特點(diǎn)中,______不是數(shù)據(jù)庫(kù)階段的特點(diǎn)。
A.數(shù)據(jù)結(jié)構(gòu)化B.數(shù)據(jù)面向應(yīng)用程序C.數(shù)據(jù)共享性高D.數(shù)據(jù)具有較高的獨(dú)立性
49.若有說(shuō)明:inta[][3]={0,0};則不正確的敘述是()。
A.數(shù)組a的每個(gè)元素的初值都是0
B.數(shù)組a的第一維大小為1
C.數(shù)組a的行數(shù)為1
D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
50.視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)的是______。
A.自頂向下B.由外向內(nèi)C.由內(nèi)向外D.自底向上
51.以下程序的輸出結(jié)果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}
A.19B.17C.15D.12
52.下面對(duì)對(duì)象概念描述錯(cuò)誤的是()
A.任何對(duì)象都必須有繼承性B.對(duì)象是屬性和方法的封裝體C.對(duì)象間的通訊靠消息傳遞D.操作是對(duì)象的動(dòng)態(tài)屬性
53.下面說(shuō)明不正確的是
A.chara[10]="china";
B.chara[10],*p=a;p="china"
C.char*a;a="china";
D.chara[10],*P;P=a="china"
54.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是一種______的存儲(chǔ)結(jié)構(gòu)。
A.隨機(jī)存儲(chǔ)B.順序存儲(chǔ)C.索引結(jié)構(gòu)D.散列結(jié)構(gòu)
55.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.x=y*5=x+z
B.int(15.8%5.
C.x=y+z+5,++y
D.x=25%5.0
56.設(shè)有以下聲明語(yǔ)句structex{intx;floaty;charz;}example;則下面的敘述中不正確的是______。
A.struct是結(jié)構(gòu)體類(lèi)型的關(guān)鍵字
B.example是結(jié)構(gòu)體類(lèi)型名
C.x,y,z都是結(jié)構(gòu)體成員名
D.structex是結(jié)構(gòu)體類(lèi)型
57.以下數(shù)組定義中錯(cuò)誤的是()。
A.intx[][3]={0};
B.intx[2][3]={{1,2},{3,4},{5,6}};
C.intx[][3]={{1,2,3},{4,5,6}};
D.intx[2][3]={1,2,3,4,5,6};
58.下列敘述中正確的是()。
A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無(wú)關(guān)
B.算法的空間復(fù)雜度是指算法程序中指令(或語(yǔ)句)的條數(shù)
C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止
D.以上3種描述都不對(duì)
59.執(zhí)行下面的語(yǔ)句后,表達(dá)式*(p[0]+1)+**(q+2)的值為_(kāi)_____。inta[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p;
A.8B.7C.6D.5
60.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){chara[]={'a','b','c','d','e','f,'\0'};inti,j;i=sizeof(a);j=strlen(a);printf("%d,%d",i,j);}
A.7,7B.7,6C.6,6D.6,7
四、選擇題(20題)61.#define能作簡(jiǎn)單的替代,用宏來(lái)替代計(jì)算多項(xiàng)式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語(yǔ)句為()。
A.#definef(x)5*x*x+5*x+5
B.#definef5*X*x+5*x+5
C.#definef(a)(5*a*a+5*a+5)
D.#define(5*x*x+5*x+5)f(x)
62.
63.設(shè)有以下語(yǔ)句:
其中0≤k<5。以下不是對(duì)字符串的正確引用的是()。
A.*strpB.strp[k]C.str[k]D.strp
64.假定已建立以下鏈表結(jié)構(gòu),且指針P和q已指向如圖所示的結(jié)點(diǎn):
則以下選項(xiàng)中可將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語(yǔ)句組是()。
A.p一>next=q一>next;flee(q);
B.p=q一>next;free(q);
C.p=q;free(q);
D.(*p).next=(幸q).next;ffee(p);
65.
66.
67.有以下定義語(yǔ)句,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是()。
A)
B)
A.
B.
68.
69.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.3B.5C.7D.9
70.若a為int類(lèi)型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()。A.A.-3B.9C.-12D.6
71.在軟件開(kāi)發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。
A.可行性分析報(bào)告B.軟件需求規(guī)格說(shuō)明書(shū)C.概要設(shè)計(jì)說(shuō)明書(shū)D.集成測(cè)試計(jì)劃
72.
73.
74.以下敘述中正確的是()。A.在c語(yǔ)言中,預(yù)處理命令行都以‘‘#”開(kāi)頭
B.預(yù)處理命令必須位于c源程序的起始位置
C.#include必須放在c程序的開(kāi)頭
D.C語(yǔ)言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
75.算法分析最重要的目的是
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.找出算法中輸入和輸出之間的關(guān)系
C.分析算法的易懂性和可靠性D.分析算法的效率以求改進(jìn)
76.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.9B.6C.11D.7
77.
有以下程序:
viodfun(inta,intb,intc)
{a=456:b=567;c=678;}
main
{intx=10,y=20,z=30;
fun(x,y,z):
printf("%d,%d,%d\n",x,y,z);
}
輸出的結(jié)果是()。
A.30,20,10B.10,20,30C.456,567,678D.678,567,456
78.判斷char型變量cl是否為大寫(xiě)字母的正確表達(dá)式是
A.’A’<=cl<=’Z’B.(cl>=A)&&(cl<=Z)
C.(’A’>=cl)||(’Z’<=cl)D.(cl>=’A’)&&(cl<=’Z’)
79.語(yǔ)句int(*ptr)的含義是()。
A.ptr是一個(gè)返回值為int的函數(shù)
B.ptr是指向int型數(shù)據(jù)的指針變量
C.ptr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)
D.ptr是一個(gè)函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針
80.以下正確的字符串常量是()。A.A."\\\"
B.'abc'
C.OlympicGames
D.""
五、程序改錯(cuò)題(1題)81.已知一個(gè)數(shù)列從0項(xiàng)開(kāi)始的前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)maiil函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>doubleproc(intn){doublesum,s0,s1,s2,s;intk;sum=1.0;if(n<=2)sum=0.0;s0=0.0;s1=0.0;s2=1.0;//****found****for(k=4;k<n;k++)}{s=s0+s1+s2;sum+=S:s0=s1;s1=s2;//****found****s2=s;returnsum;}voidmain{intn;system("CLS");printf("InputN=");scanf("%d",&nJ;printf("%f\n",proc(n));}六、程序設(shè)計(jì)題(1題)82.某學(xué)生的記錄由學(xué)號(hào)、8門(mén)課程成績(jī)和平均分組成,學(xué)號(hào)和8門(mén)課程的成績(jī)已在主函數(shù)中給出,請(qǐng)編寫(xiě)函數(shù),其功能是:求出該學(xué)生的平均分,并放入記錄的ave成員中。例如,學(xué)生的成績(jī)是:85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應(yīng)為78.875。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun部位中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>#defineN8typedefstruct{charnum[10];doubles[N];doubleave;}STREC;voldfun(STREC*a){}voidmainSTRECs={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};inti;fun(&s);printf("The%ssstudentdata:\n",s.num);for(i=0;i<N;i++)printf("%4.1fkn",s.s[i]);printf("\nknave=%7.3fkn",s.aVe);printf("\n");}
參考答案
1.D
2.A函數(shù)intfun(intn)的功能是求1+2+…+n的值并返回。所以執(zhí)行程序時(shí),給變量x輸入10后,執(zhí)行語(yǔ)句“x=fun(x);”,X的值將變?yōu)?到10中10個(gè)整數(shù)的累加和,即55。
3.B
4.D
5.A解析:在C語(yǔ)言中,應(yīng)當(dāng)在定義函數(shù)時(shí)指定函數(shù)值的類(lèi)型。凡不加類(lèi)型說(shuō)明的函數(shù),默認(rèn)按整型處理。在定義函數(shù)時(shí)對(duì)函數(shù)值說(shuō)明的類(lèi)型一般應(yīng)該和return語(yǔ)句中的表達(dá)式類(lèi)型一致。如果函數(shù)值的類(lèi)型和return語(yǔ)句中的表達(dá)式類(lèi)型不一致,則以函數(shù)值的類(lèi)型為準(zhǔn),由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換,即函數(shù)類(lèi)型決定返回值的類(lèi)型。
6.A
7.B
8.D解析:本題考查switch語(yǔ)句的掌握。必須撐握以下內(nèi)容:首先應(yīng)該明白switch語(yǔ)句的語(yǔ)法格式:
switch語(yǔ)句的語(yǔ)法格式為:
switch(表達(dá)式)
{
case常量表達(dá)式1:語(yǔ)句組1;
case常量表達(dá)式2:語(yǔ)句組2;
case常量表達(dá)式n:語(yǔ)句組n;
default:語(yǔ)句組n+1;
}
另外,以下幾點(diǎn)關(guān)于switch語(yǔ)句的重點(diǎn):
①系統(tǒng)在執(zhí)行時(shí)計(jì)算開(kāi)關(guān)表達(dá)式的值;②根據(jù)所得的值在各個(gè)case標(biāo)號(hào)表達(dá)式中尋找匹配,直到發(fā)現(xiàn)與表達(dá)式匹配的標(biāo)號(hào)(本例中匹配的是case\'B\':);\ue008③找\ue009到匹配后執(zhí)行后面相應(yīng)的語(yǔ)句表,順序往下執(zhí)行;④如果無(wú)相匹配的標(biāo)號(hào),若存在default標(biāo)號(hào),則執(zhí)行該語(yǔ)句標(biāo)號(hào)后面的語(yǔ)句表n+1;當(dāng)不存在default標(biāo)號(hào)時(shí),不執(zhí)行switch中的任何一個(gè)語(yǔ)句表。
一般而言,在多分支結(jié)構(gòu)中總會(huì)出現(xiàn)'意外'的情況,這時(shí)均可歸入default程序段,作統(tǒng)一的處理。default標(biāo)號(hào)是可選性的,不必每次都有,視需要而定。switch語(yǔ)句中還可以包含switch語(yǔ)句,形成switch的嵌套。
9.A函數(shù)“strlen(char*s)”;計(jì)算字符串s的長(zhǎng)度,不包括‘\\0’在內(nèi)。p指向數(shù)組的第2個(gè)元素,因此“Strien(P)=10”,并輸出“one*Dream!”。故本題答案為A選項(xiàng)。
10.C
11.Ddouble*p,a定義了一個(gè)指向雙精度型的指針變量P和雙精度型變量a,p=&a表示將變量a的地址賦給指針變量p;scanf("%If",p)表示用鍵盤(pán)輸入的數(shù)賦給指針變量P所指向的地址單元中,scanf函數(shù)要求在輸入double型數(shù)據(jù),格式控制符必須用%1f。否則,數(shù)據(jù)不能正確輸入。所以選項(xiàng)D正確。
12.C
13.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。
14.A本題主要考查按位求反運(yùn)算和C語(yǔ)言正負(fù)數(shù)的表示,“O”代表正數(shù),“1”代表負(fù)數(shù);x=7的二進(jìn)制為00111,第一個(gè)0代表正數(shù),~x為11000,第一個(gè)l代表負(fù)數(shù),值為8。
15.A標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成,并且它的第一個(gè)字符必須是字母或者下劃線。B選項(xiàng)int不是表達(dá)變量類(lèi)型的標(biāo)識(shí)符,它不能再用做變量名和函數(shù)名。C選項(xiàng)do是C語(yǔ)言的一個(gè)關(guān)鍵字。D選項(xiàng)標(biāo)識(shí)符只能以字母或下劃線開(kāi)始。
16.B
17.E
18.B
19.D執(zhí)行語(yǔ)句“intm=1,n=2,*p=&m,*q=&n,*r;”,即指針變量p指向m,指針變量q指向n。執(zhí)行語(yǔ)句“r=p;p=q;q=r;”,即通過(guò)指針變量r,將指針p和指針q的指向交換。因此最后輸出1,2,2,1。故本題答案為D選項(xiàng)。
20.A解析:while循環(huán)的執(zhí)行過(guò)程如下:(1)計(jì)算while后面圓括號(hào)中表達(dá)式的值.當(dāng)值為非0時(shí),執(zhí)行步驟(2);當(dāng)值為0時(shí),執(zhí)行步驟(4)。(2)執(zhí)行循環(huán)體一次。(3)轉(zhuǎn)去執(zhí)行步驟(1)。(4)退出循環(huán)。在選項(xiàng)A)中,表達(dá)式(ch=getchar())!='N'表示輸入的字符不等于N,如果這個(gè)條件表達(dá)式成立,則執(zhí)行循環(huán)體,打印輸出輸入的字符。如果這個(gè)條件表達(dá)式不成立,即輸入的字符等于N,則退出循環(huán).所以選項(xiàng)A)為正確答案。
21.*s++flag=0或*(s-1)=''num*s++\r\nflag=0或*(s-1)=''\r\nnum解析:在統(tǒng)計(jì)字符串單詞個(gè)數(shù)的算法中,本題的flag是為了記錄一個(gè)單詞是否結(jié)束。第13空應(yīng)填*s++;如果某個(gè)字符不是空格,則必須判斷它是否是單詞,如是,則使得flag的標(biāo)志為1,num的值加1。本題判斷方法是:先判斷s所指向的字符是否為空格,如果是則使得flag=0,否則判斷前一個(gè)字符是否是空格,如果是則說(shuō)明這個(gè)字符是一個(gè)單詞的開(kāi)始,將flag標(biāo)志為1,num的值加1,如果不是,則不必記錄。故第14空應(yīng)填flag=0或*(s-1)='';最后一個(gè)空格需填寫(xiě)的是返回的單詞的個(gè)數(shù),即num。
22.11解析:條件運(yùn)算表達(dá)式:“表達(dá)式1?表達(dá)式2:表達(dá)式3”,但表達(dá)式1的值為非0時(shí),此時(shí)表達(dá)式2的值就是整個(gè)條件表達(dá)式的值,反之為表示式3的值。解析易知結(jié)果為1。
23.2525解析:#NAME?
24.87788,7,7,8解析:本題中執(zhí)行語(yǔ)句p=&a和q=&b后,*p=7,*q=8;執(zhí)行完語(yǔ)句r=p,p=q,q=r后,*p=8,*q=7,故答案為8,7,7,8。
25.A
26.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。
27.軟件開(kāi)發(fā)軟件開(kāi)發(fā)解析:軟件生命周期分為3個(gè)時(shí)期共8個(gè)階段:軟件定義期(問(wèn)題定義、可行性研究和需求分析)、軟件開(kāi)發(fā)期(系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試)、軟件維護(hù)期(即運(yùn)行維護(hù)階段)。
28.s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]解析:字符數(shù)組的初始化,字符串的輸入和輸出的應(yīng)用。C語(yǔ)言沒(méi)有字符串變量,字符串不是存放在一個(gè)變量中而是存放在一個(gè)字符型數(shù)組中,因此為了存放字符串,常常在程序中定義字符型數(shù)組;字符串存放在字符數(shù)組中,但字符數(shù)組與字符串可以不等長(zhǎng),C語(yǔ)言規(guī)定以“\\0”字符作為字符串結(jié)束標(biāo)志。
本題中,chars[80],d[80];定義了兩個(gè)字符型數(shù)組,可以放入80個(gè)字符。gets函數(shù)是c語(yǔ)言提供的一個(gè)專(zhuān)門(mén)用于讀字符串的函數(shù),它讀入全部字符(包括空格),直到遇到回車(chē)為止。本題中,讀入字符串s后,開(kāi)始比較s中的每個(gè)字符是否為數(shù)字字符,因?yàn)樽址麛?shù)據(jù)在內(nèi)存中以相應(yīng)的ASCII碼存放,所以只需比較相應(yīng)的ASCII碼值是否在48('0'的ASCII代碼)與57('9'的ASCII代碼)之間,或者直接與'0','9'進(jìn)行比較,如果是數(shù)字字符則將此字符存入d數(shù)組中,不是則繼續(xù)進(jìn)行下一字符的比較,直至s結(jié)束(即'0'的出現(xiàn))。將“'\\0'”字符作為字符串d結(jié)束標(biāo)志,最后調(diào)用puts函數(shù)輸出d。所以在空格處應(yīng)填入比較語(yǔ)句s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或&&48<=s[i]或57>=s[i]。
29.1000001010000010解析:運(yùn)算“&”的規(guī)則是只有當(dāng)兩個(gè)相應(yīng)的二進(jìn)制位都為1時(shí),該位的結(jié)果才為1。要保留第2、8位,只要將其與二進(jìn)制數(shù)10000010相與。
30.HellHell解析:文件的字符串讀寫(xiě)函數(shù)fgets()有3個(gè)參數(shù),第三個(gè)參數(shù)是文件指針指向要讀取數(shù)據(jù)的文件,第二個(gè)參數(shù)是一個(gè)整數(shù)(假設(shè)為n),表示從文件中讀取n-1個(gè)字符并在其后加一個(gè)'0',第一個(gè)參數(shù)為存放讀取的字符串的內(nèi)存區(qū)的起始地址,讀取得數(shù)據(jù)保存在其中??梢?jiàn)本題的輸出結(jié)果為:Hell。
31.本程序定義了3個(gè)指針變量p1、p2、p,并且將a、b的地址分別賦給p1、p2,則*p1=a=2,*p2=b=4,所以表達(dá)式*p1*(*p2)的值是8。在賦值語(yǔ)句的左邊是*(p=&c),即使指針p指向了變量c,因而*(p)代表了c的存儲(chǔ)單元,賦值語(yǔ)句“*(p=&c)=*p1*(*p2);”是把整數(shù)8賦給了變量c。\r\n\r\n
32.5555解析:分析程序執(zhí)行過(guò)程,第一次循環(huán)時(shí),i=3,i=5,因?yàn)閟witch(3),所以執(zhí)行case3,調(diào)用P(a[--i])=P(a[4])=P(5),輸出5:第二次循環(huán)時(shí),j=2,i=4,因?yàn)閟witch(2),所以執(zhí)行case2,調(diào)用P(a[i++]):P(a[4])=P(5),輸出5,之后i自加等于5。
33.1010解析:函數(shù)sub遞歸調(diào)用的返回值被作為再次調(diào)用sub函數(shù)的實(shí)參傳給函數(shù)sub的形參,共進(jìn)行3次遞歸調(diào)用。第1次調(diào)用sub(1234)的返回值為1234/10+1234%10=127;第2次調(diào)用sub(127)的返回值為127/10+127%10=19;第3次調(diào)用sub(19)的返回值為19/10+19%10=10。所以程序的輸出為10。
34.*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++)。
35.數(shù)據(jù)庫(kù)系統(tǒng)或數(shù)據(jù)庫(kù)系統(tǒng)階段或數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)階段或數(shù)據(jù)庫(kù)管理技術(shù)階段數(shù)據(jù)庫(kù)系統(tǒng)或數(shù)據(jù)庫(kù)系統(tǒng)階段或數(shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)階段或數(shù)據(jù)庫(kù)管理技術(shù)階段解析:在數(shù)據(jù)庫(kù)系統(tǒng)管理階段,數(shù)據(jù)是結(jié)構(gòu)化的,是面向系統(tǒng)的,數(shù)據(jù)的冗余度小,從而節(jié)省了數(shù)據(jù)的存儲(chǔ)空間,也減少了對(duì)數(shù)據(jù)的存取時(shí)間,提高了訪問(wèn)效率,避免了數(shù)據(jù)的不一致性,同時(shí)提高了數(shù)據(jù)的可擴(kuò)充性和數(shù)據(jù)應(yīng)用的靈活性;數(shù)據(jù)具有獨(dú)立性,通過(guò)系統(tǒng)提供的映象功能,使數(shù)據(jù)具有兩方面的獨(dú)立性:一是物理獨(dú)立性,二是邏輯獨(dú)立性;保證了數(shù)據(jù)的完整性、安全性和并發(fā)性-綜上所述,數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫(kù)系統(tǒng)管理階段。
36.bcdefgha
37.x+=2
38.HellHell解析:該函數(shù)有3個(gè)參數(shù),第三個(gè)參數(shù)是文件指針指向要讀取數(shù)據(jù)的文件,第二個(gè)參數(shù)是一個(gè)整數(shù)(假設(shè)為n),表示從文件中讀n-1個(gè)字符并在其后加一個(gè)'\\0',第一個(gè)參數(shù)為存放讀取的字符串的內(nèi)存區(qū)的起始地址,讀取得數(shù)據(jù)保存在其中??梢?jiàn)本題的輸出結(jié)果為:Hell。
39.max=12min=2
40.3
41.C解析:strcpy(s1,s2)函數(shù)的功能是將字符串s2復(fù)制到字符串s1中(注意:要保證s1存儲(chǔ)區(qū)能容納下s2字符串)。
42.A解析:在C語(yǔ)言中,合法標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符可以由字母、數(shù)字和下畫(huà)線3種字符組成,且第一個(gè)字符必須為字母或下畫(huà)線。C語(yǔ)言的標(biāo)識(shí)符可以分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符。選項(xiàng)B)和C)中的橫線以及點(diǎn)都不合法,選項(xiàng)D)中的case為C語(yǔ)言關(guān)鍵字。
43.C2(n-1)
=2(5-1)=16
44.B
45.C解析:選項(xiàng)A和B兩個(gè)表達(dá)式都越界了;選項(xiàng)D中,*t[2]是目標(biāo)變量,即—個(gè)整型值,而不是地址值。
46.A本題主要考查軟件測(cè)試的基本知識(shí)。軟件測(cè)試的步驟可分為單元測(cè)試(模塊測(cè)試)、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試。
(1)單元測(cè)試是針對(duì)每個(gè)模塊進(jìn)行的測(cè)試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例,多個(gè)模塊可以平行、對(duì)立地測(cè)試。單元測(cè)試主要用于發(fā)現(xiàn)詳細(xì)設(shè)計(jì)和編程時(shí)犯下的錯(cuò)誤。單元測(cè)試多采用白盒測(cè)試,輔之以黑盒測(cè)試。
(2)集成測(cè)試是在單元測(cè)試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個(gè)模塊連接起來(lái),必須精心計(jì)劃,應(yīng)提交集成測(cè)試計(jì)劃、集成測(cè)試規(guī)格說(shuō)明和集成測(cè)試分析報(bào)告。主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問(wèn)題。集成測(cè)試可以發(fā)現(xiàn)概要設(shè)計(jì)時(shí)犯的錯(cuò)誤。
(3)確認(rèn)測(cè)試用于驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測(cè)試主要用于發(fā)現(xiàn)需求分析時(shí)犯下的錯(cuò)誤,一般使用黑盒法測(cè)試,以表明軟件符合需求說(shuō)明書(shū)的要求,應(yīng)該仔細(xì)設(shè)計(jì)測(cè)試用例和測(cè)試過(guò)程。確認(rèn)測(cè)試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計(jì)測(cè)試用例,通常情況下,主要使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測(cè)試,測(cè)試數(shù)據(jù)通過(guò)用戶接口輸入。
(4)系統(tǒng)測(cè)試是將已經(jīng)通過(guò)確認(rèn)測(cè)試的軟件,作為整個(gè)計(jì)算機(jī)系統(tǒng)的元素與計(jì)算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。系統(tǒng)測(cè)試的目的是通過(guò)與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測(cè)試可以發(fā)現(xiàn)問(wèn)題定義時(shí)犯下的錯(cuò)誤。
47.A解析:長(zhǎng)整型常數(shù)可用十進(jìn)制、八進(jìn)制、十六進(jìn)制表示,要求在數(shù)后邊加上1或L作為后綴(必須加上后綴,否則無(wú)法判斷該常量是短整型、整型、無(wú)符號(hào)整型還是長(zhǎng)整型)。選項(xiàng)B、c、D中都無(wú)后綴1或L,故選項(xiàng)B、c、D都不足合法的長(zhǎng)整型常數(shù),只有選現(xiàn)A中有后綴L,是合法的長(zhǎng)整型常數(shù)。
48.B解析:數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫(kù)階段的重要特征之一。在數(shù)據(jù)庫(kù)階段,數(shù)據(jù)不再面向應(yīng)用,而是面向整個(gè)系統(tǒng),數(shù)據(jù)的共享性高、冗余小、易于擴(kuò)展。由于數(shù)據(jù)庫(kù)三級(jí)模式間的兩級(jí)映像,所以數(shù)據(jù)具有較高的獨(dú)立性。
49.D解析:本題考查給二維數(shù)組元素賦值。給二維數(shù)組元素賦值時(shí)應(yīng)注意下列兩點(diǎn):①在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0。②二維數(shù)組第一維的大小由下列規(guī)則確定;當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大??;當(dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),第一維的大小等于所得商數(shù)加1。
50.B解析:視圖設(shè)汁一般有3種設(shè)計(jì)次序,它們分別是自頂向下、自底向上和由內(nèi)
向外,它們又為視圖設(shè)計(jì)提供了具體的操作方法,設(shè)計(jì)者可根據(jù)實(shí)際情況靈活掌握,可以
單獨(dú)使用也可混合使用。
注意:數(shù)據(jù)庫(kù)概念設(shè)計(jì)的過(guò)程:首先選擇局部應(yīng)用,再進(jìn)行局部視圖設(shè)計(jì),最后
對(duì)局部視圖進(jìn)行集成得到概念模式。
51.D解析:C語(yǔ)言的宏定義包括不帶參數(shù)的宏定義與帶參數(shù)的宏定義。本題為帶參數(shù)的宏定義,其形式為:
#define宏名(形參表)字符串
本題的M(a+b,b+c,c+a)被字符串a(chǎn)+b*b+c+c+a代替。
52.A解析:繼承是面向?qū)ο蟮姆椒ǖ囊粋€(gè)主要特征。繼承是使用已有的類(lèi)定義做為基礎(chǔ)建立新類(lèi)的定義技術(shù)。已有的類(lèi)可當(dāng)做基類(lèi)來(lái)引用,則新類(lèi)相應(yīng)地可當(dāng)做派生類(lèi)來(lái)引用。但并不是所有的對(duì)象都必須有繼承性。因此,選項(xiàng)A中的說(shuō)法是錯(cuò)誤的,應(yīng)為所選。
53.D解析:C語(yǔ)言中操作一個(gè)字符串常量的方法有:①將字符串常量存放在一個(gè)字符數(shù)組之中;②用字符指針指向字符串,然后通過(guò)字符指針來(lái)訪問(wèn)字符串存儲(chǔ)區(qū)域。當(dāng)字符串常量在表達(dá)式中出現(xiàn)時(shí),根據(jù)數(shù)組的類(lèi)型轉(zhuǎn)換規(guī)則,將其轉(zhuǎn)換成字符指針。
本題D)項(xiàng)中錯(cuò)誤的關(guān)鍵是對(duì)數(shù)組初始化時(shí),可以在變量定義時(shí)整體賦初值,但不能在賦值語(yǔ)句中整體賦值。
54.B解析:線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的每一個(gè)存儲(chǔ)結(jié)點(diǎn)不僅含有一個(gè)數(shù)據(jù)元素,還包括指針,每一個(gè)指針指向一個(gè)與本結(jié)點(diǎn)有邏輯關(guān)系的結(jié)點(diǎn)。此類(lèi)存儲(chǔ)方式屬于順序存儲(chǔ)。
55.C解析:求余運(yùn)算符'%'兩邊的運(yùn)算對(duì)象必須是整型,而選項(xiàng)B)和D)中'%'兩邊的運(yùn)算對(duì)象有浮點(diǎn)整數(shù)據(jù),所以選項(xiàng)B)和D)是錯(cuò)誤的表達(dá)式。在選項(xiàng)A)中賦值表達(dá)式的兩邊出現(xiàn)相同的變量x,也是錯(cuò)誤的。選項(xiàng)C)是一個(gè)逗號(hào)表達(dá)式,所以正確答案為C)。
56.B解析:example是結(jié)構(gòu)體變量名。
57.B解析:二維數(shù)組的初始化有以下幾種形式:①分行進(jìn)行初始化;②不分行進(jìn)行初始化;③部分?jǐn)?shù)組元素進(jìn)行初始化;④省略第一維的定義,不省略第二維的定義。選頃B)等號(hào)右邊分了3行,大于等號(hào)左邊數(shù)組的行數(shù)2。
58.C解析:算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)。算法的空間復(fù)雜度是指算法執(zhí)行過(guò)程中所需的存儲(chǔ)空間。
59.D解析:p為指針數(shù)組,其元素分別為指向數(shù)組a的4個(gè)元素的指針。q為指向指針的指針變量,其初值為指針數(shù)組p的首地址。所以:表達(dá)式*(p[0]+1)+**(q+2)=*(a+3+1
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年應(yīng)急救生系統(tǒng)項(xiàng)目合作計(jì)劃書(shū)
- 2025年水基聚合物防水涂料項(xiàng)目合作計(jì)劃書(shū)
- 智能交通系統(tǒng)建設(shè)工程施工合同
- 鹽城市房屋租賃合同
- 小學(xué)生品德教育讀后感
- 2025年飲料及冷飲服務(wù)項(xiàng)目發(fā)展計(jì)劃
- 妊娠紋的專(zhuān)業(yè)知識(shí)
- Isonicotinamide-Standard-生命科學(xué)試劑-MCE
- Direct-blue-6-生命科學(xué)試劑-MCE
- 2025年鞋用乳液膠粘劑項(xiàng)目建議書(shū)
- 2024年管理學(xué)理論考核試題及答案
- 關(guān)鍵工序特殊過(guò)程培訓(xùn)課件精
- 手術(shù)體位相關(guān)周?chē)窠?jīng)損傷及預(yù)防課件
- 輪機(jī)備件的管理(船舶管理課件)
- 【活教育】陳鶴琴現(xiàn)代兒童教育學(xué)說(shuō)
- 《機(jī)修工基礎(chǔ)培訓(xùn)》課件
- 統(tǒng)編《道德與法治》三年級(jí)下冊(cè)教材分析
- 《介入放射學(xué)》電子教材
- 紡織材料學(xué)課件第二章-植物纖維(棉)
- 續(xù)修家譜倡議書(shū)
- 成立項(xiàng)目部紅頭文件
評(píng)論
0/150
提交評(píng)論