![2021-2022年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view/6748e7a49d9a97208ad5a42a993da859/6748e7a49d9a97208ad5a42a993da8591.gif)
![2021-2022年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view/6748e7a49d9a97208ad5a42a993da859/6748e7a49d9a97208ad5a42a993da8592.gif)
![2021-2022年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view/6748e7a49d9a97208ad5a42a993da859/6748e7a49d9a97208ad5a42a993da8593.gif)
![2021-2022年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view/6748e7a49d9a97208ad5a42a993da859/6748e7a49d9a97208ad5a42a993da8594.gif)
![2021-2022年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view/6748e7a49d9a97208ad5a42a993da859/6748e7a49d9a97208ad5a42a993da8595.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.鏈表不具有的特點(diǎn)是A.A.不必事先估計(jì)存儲(chǔ)空間
B.可隨機(jī)訪問任一元素
C.插入和刪除不需要移動(dòng)元素
D.所需空間與線性表長(zhǎng)度成正比
2.若有如下函數(shù)定義:doublefun(intx,inty){return(x+y);}return語(yǔ)句中表達(dá)式值的類型與說(shuō)明的類型不一致,則以下敘述中正確的是()。
A.運(yùn)行時(shí)出錯(cuò)B.函數(shù)返回的值為int型C.編譯出錯(cuò)D.函數(shù)返回的值為double型
3.設(shè)有以下語(yǔ)句
charchl,ch2;scanf("%c%C",&chl,&ch2);
若要為變量chl和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是()。
A.A和B之間用逗號(hào)間隔
B.A和B之間不能有任何間隔符
C.A和B之間可以用回車間隔
D.A和B之間用空格間隔
4.已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是()。
A.數(shù)組a和b的長(zhǎng)度相同B.a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度C.a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度D.以述說(shuō)法都不對(duì)
5.
6.x,y,z被定義為int型變量,若從鍵盤給x,y,z輸入數(shù)據(jù),正確的輸入語(yǔ)句是
A.INPUTx、v、z;
B.scanf("%d%d%d",&x,&y,&z);
C.scanf("%d%d%d",x,y,z);
D.read("%d%d%d",&x,&y,&z);
7.下列方法中,屬于白盒法設(shè)計(jì)測(cè)試用例的方法的是()。
A.錯(cuò)誤推測(cè)B.因果圖C.基本路徑測(cè)試D.邊界值分析
8.下列選項(xiàng)中與“if(a==1)a=b;elsea++;”語(yǔ)句功能不同的switch語(yǔ)句是()。
A.switch(a==1){ case0:a=b;break; case1:a++;}
B.switch(a){ case1:a=b;break; default:a++;}
C.switch(a){ default:a++;break; case1:a=b;}
D.switch(a==1){ case1:a=b;break; case0:a++;}
9.若有定義“intx[10],*pt=x;”,則對(duì)x數(shù)組元素的引用正確的是()。
A.pt+3B.*&x[10]C.*(pt+10)D.*(x+3)
10.
11.程序運(yùn)行后的輸出結(jié)果是()。A.10B.30C.0D.64
12.同一個(gè)關(guān)系模型的任意兩個(gè)元組值()。
A.可以全相同B.不能全相同C.必須全相同D.以上都不對(duì)
13.軟件詳細(xì)設(shè)計(jì)生產(chǎn)的圖如右圖:該圖是()。
A.N—S圖B.PAD圖C.程序流程圖D.E—R圖
14.下面是有關(guān)C語(yǔ)言字符數(shù)組的描述,其中錯(cuò)誤的是()。
A.不可以用賦值語(yǔ)句給字符數(shù)組名賦字符串
B.可以用輸入語(yǔ)句把字符串整體輸入給字符數(shù)組
C.字符數(shù)組中的內(nèi)容不一定是字符串
D.字符數(shù)組只能存放字符串
15.設(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
16.下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}
A.-1B.1C.8D.0
17.有以下程序:#include<stdio.h>intfun(int*a,int*b,intn){inti=0,j=0,sum=0;for(;i<n;i++){sum+=a[i];if((i+1)%2==0){b[j++]=sum;sum=0;}}returnj;}main(){inta[8]={1,0,2,3,5,4,2,1},b[8],k,i;k=fun(a,b,8);for(i=0;i<k;i++)printf(“%d”,b[i]);}程序的運(yùn)行結(jié)果是()。
A.0242B.1593C.1351D.286
18.下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘中正確的是______。
A.數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致
D.數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
19.執(zhí)行下述程序后,輸出的結(jié)果是()。#include<stdio.h>#defineS(X)X*Xvoidmain{inta=9,k=3,m=2;a/=S(k+m)/s(k+m);printf("%d",a);}A.1B.4C.9D.0
20.以下關(guān)于C語(yǔ)言的敘述中正確的是()。
A.C語(yǔ)言中的注釋不可以?shī)A在變量名或關(guān)鍵字的中間
B.C語(yǔ)言中的變量可以在使用之前的任何位置進(jìn)行定義
C.在C語(yǔ)言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致
D.C語(yǔ)言的數(shù)值常量中夾帶空格不影響常量值的正確表示
二、2.填空題(20題)21.數(shù)據(jù)模型分為格式化模型與非格式化模型,層次模型與網(wǎng)狀模型屬于【】。
22.下面程序的輸出結(jié)果是【】。
unsignedfun6(unsignednum)
{unsignedk=1;
do{k*=hum%10;
num/=10;}while(num);
return(k);}
main()
{unsignedn=26;
printf("%d\n",fun6(n));}
23.在C語(yǔ)言中,while和do…while循環(huán)的主要區(qū)別是______的循環(huán)至少被執(zhí)行一次。
24.在結(jié)構(gòu)化設(shè)計(jì)方法中,數(shù)據(jù)流圖表達(dá)了問題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個(gè)______實(shí)際上對(duì)應(yīng)一個(gè)處理模塊。
25.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
longfunc(intx)
{longp;
if(x==0||x==1)
return(1);
p=x*func(x-1);
return(p);
}
main()
{printf("%d\n",func(4));
}
26.某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。
27.按"先進(jìn)后出"原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是【】。
28.下面程序運(yùn)行后的輸出結(jié)果是()。
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6},*k[3],i=1;
while(i<4)
{k[i-1]=&a[2*i-1];
printf("%d",*k[i-1]);
i++;
}
}
29.下面程序的功能是求整數(shù)m、n的最大公約數(shù),請(qǐng)?zhí)羁铡?/p>
main()
{intm,n,r;
scanf("%d,%d",m,n);
if(【】){r=m;m=n;n=r;}
while(【】)
{r=m%n;m=n;n=r;}
printf("%d",m);
}
30.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
31.以下程序運(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);
}
32.若a是int型變量,則表達(dá)式(a=2*3,a*2),a+6的值為______。
33.語(yǔ)句"int(*ptr)();"的含義是______是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)。
34.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{intm=011,n=11;
printf("%d%d\n",++m,n++);
}
35.下列程序的輸出結(jié)果是______。
longfun5(intn)
{longs;
if((n==1)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main()
{longx;
x=fun5(4);
printf("%1d\n",x);}
36.以下函數(shù)的功能是【】。
floatav(a,n)
floata[];
intn;
{inti;floats;
for(i=0,s=0;i<n;i++)s=s+a[i];
returns/n;}
37.下面的程序可對(duì)指定字符串中的字符串進(jìn)行從大到小排序,請(qǐng)將程序填完整。(注:程序采用了冒泡排序法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n-->1)
for(i=0;i<n;i++)
if(str[i]<str[i+l])
{temp=【】;
str[i]=str[i+l];
【】=temp;
}
printf(【】);
}
38.語(yǔ)句“int(*ptr)();”的含義是______是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)。
39.已有定義:intx;,執(zhí)行以下語(yǔ)句后的輔出結(jié)果是【】。
x=11/3;y=5;
printf("%%d,%%%d\n",x,y);
40.符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是順序結(jié)構(gòu)、()和循環(huán)結(jié)構(gòu)。
三、1.選擇題(20題)41.有以下程序#include<stdio.h>main(){inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的運(yùn)行結(jié)糶是()。
A.741B.963C.852D.875421
42.有以下程序:#definef(x)(x*x)main(){inti1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf("%d,%d\n",i1,i2);}程序運(yùn)行后的輸出結(jié)果是______。
A.64,28B.4,4C.4,3D.64,64
43.有定義語(yǔ)句:chars[10];,若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語(yǔ)句是
A.gets(&s[0]);
B.scanf("%s",s+1);
C.gets(s);
D.scanf("%s",s[1]);
44.以下關(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)決定
45.以下程序的輸出結(jié)果是______。#defineSQR(X)X*Xmain(){inta=16,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}
A.16B.2C.9D.1
46.設(shè)棧S的初始狀態(tài)為空,棧的容量為5,若入棧元素的順序是e1、e2、e3、e4、e5,則出棧元素的順序不可能是______。
A.e1、e2、e3、e4、e5
B.e5、e4、e3、e2、e1
C.e2、e4、e3、e5、e1
D.e3、e4、e1、e2、e5
47.有以下程序:#include<stdio.h>main(){FILE*fp;inti;charch[]="abcd",t;fp=fopen("abc.dat","wb+");for(i=0;i<4;i++)fwrite(&ch[i]1,1,fp);fseck(fp,-2L,SEEK_END);fread(&t,1,1,fp);felose(fp);printf("%c\n",t);}程序執(zhí)行后的輸出結(jié)果是()。
A.dB.cC.bD.a
48.若已建立如下圖所示的單向鏈表結(jié)構(gòu):在該鏈表結(jié)構(gòu)中,指針p、s分別指向圖中所示結(jié)點(diǎn),則不能將s所指的結(jié)點(diǎn)插入到鏈表末尾仍構(gòu)成單向鏈表的語(yǔ)句組是______。
A.p=p->next;s->next=p;p->next=s;
B.p=p->next;s->next=p->next;p->next=s;
C.s->next=NULL;p=p->next;p->next=s;
D.p=(*p).next;(*s).next=(*p).next;(*p).next=s;
49.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=2,b=3,p;p=f(a,b);printf("%d",p);}intf(a,b){intc;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;return(c);}
A.-1B.0C.1D.2
50.若int類型數(shù)據(jù)占兩個(gè)字節(jié),則下列語(yǔ)句的輸出結(jié)果為()intx=-1;printf("%u\n",x);
A.-1B.32767C.65535D.65536
51.有以下程序:main(){char*p[]={"3697","2584"};inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0'){if((p[il[j]-'0')%2)num=10*num+p[i][j]-'0';j+=2;}printf("%d\n",num);}程序執(zhí)行后的輸出結(jié)果是()。
A.35B.37C.39D.3975
52.下面程序運(yùn)行后的輸出結(jié)果是______。structabc{inta,b,c;}main(){structabcs[2]={{1,2,3},{4,5,6}};intt=-s[0].a+s[1].b;printf("%d\n",t);}
A.5B.6C.7D.8
53.下面敘述正確的是()
A.函數(shù)調(diào)用不可以出現(xiàn)在表達(dá)式中
B.函數(shù)調(diào)用可以作為一個(gè)函數(shù)的實(shí)參
C.函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參
D.函數(shù)不可以直接調(diào)用其本身
54.設(shè)x,y和z都是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中,值為0的表達(dá)式是
A.x&&y
B.x<=y
C.x||++y&&y-z
D.!(x<y&&!z||1)
55.設(shè)計(jì)軟件結(jié)構(gòu)是在軟件生命周期的()。
A.軟件定義期B.軟件開發(fā)期C.軟件維護(hù)期D.以上3個(gè)都不是
56.以下能正確定義二維數(shù)組的是()。
A.inta[][3];
B.inta[][3]={2*3};
C.inta[][3]={};
D.inta[2][3]={{1},{2},{3,4}}:
57.兩個(gè)或兩個(gè)以上模塊之間聯(lián)系的緊密程度稱為()。
A.耦合性B.內(nèi)聚性C.復(fù)雜性D.數(shù)據(jù)傳輸特性
58.有以下程序:#include<stdio.h>intf(inta)returna%2;}main()ints[8]={1,3,5,2,4,6},i,d=0;for(i=0;f(s[i]);i++)d+=s[i];prinff("%d\n",d);程序運(yùn)行后的輸出的結(jié)果是().
A.9B.11C.19D.21
59.以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是______。
A.調(diào)用函數(shù)時(shí),只能將實(shí)參的值傳遞給形參,形參值不能傳遞給實(shí)參
B.C函數(shù)既可以嵌套調(diào)用又可以遞歸調(diào)用
C.函數(shù)必須有返回值,否則不能使用函數(shù)
D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中
60.相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
四、選擇題(20題)61.下面程序的運(yùn)行結(jié)果是()。
main
{
inty=5,x=14;y=((x=3*y,x+6),x-1);
printf("x=%d,y=%d",x,y);
}
A.x=27,y=27
B.x=12,y=13
C.x=15,y=14
D.x=y=27
62.
63.要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán),若變量已正確定義,下列正確的程序段是()。
A.while((ch—getchar)!=N)printf("%c",ch);
B.while(oh=getchar!=N)printf("%c",ch);
C.while(ch=getchar==N)printf("%c",ch);
D.while((ch—getchar)==N)printf("%c",ch);
64.以下程序的運(yùn)行結(jié)果是()。
#include<stdio.h>
main{inta=1,b=2,c=3,x;
x=(a^b)&c;printf("%d\n",x);}
A.0B.1C.2D.3
65.有下列程序:intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i]:returnsum;}main(){inta[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;s=fun(a,5)+fun(b,4);printf(“%d\n”,s);}程序執(zhí)行后的輸出結(jié)果是()。A.45B.50C.60D.55
66.檢查軟件產(chǎn)品是否符合需求定義的過程稱為()。
A.確認(rèn)測(cè)試B.集成測(cè)試C.驗(yàn)證測(cè)試D.驗(yàn)收測(cè)試
67.有以下程序段以下關(guān)于程序段執(zhí)行情況的敘述,正確的是()。
A.當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時(shí),結(jié)束程序運(yùn)行
B.當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時(shí),結(jié)束循環(huán)操作
C.當(dāng)產(chǎn)生的隨機(jī)數(shù)n為l和2時(shí),不做任何操作
D.細(xì)循環(huán)語(yǔ)句固定執(zhí)行8次
68.為了提高軟件的獨(dú)立性,模塊之間最好是()。
A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合
69.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1,2B.1,0C.3,2D.0,0
70.有以下程序段以下關(guān)于程序段執(zhí)行情況的敘述,正確的是()。
A.當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時(shí)結(jié)束程序運(yùn)行
B.當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時(shí)結(jié)束循環(huán)操作
C.當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2時(shí)不做任何操作
D.for循環(huán)語(yǔ)句固定執(zhí)行8次
71.以下程序運(yùn)行后的輸出結(jié)果是()。
A.EFGHIJABCD
B.bcdefghij
C.abdefCghij
D.不確定的值
72.
73.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.2,4B.1,2C.1,4D.2.3
74.有以下程序:
執(zhí)行時(shí)輸入:aBeDefG##<;回車>;,則輸出結(jié)果是()。
A.AbCdEFgB.ABCDEFGC.BCDEFGHD.bedefgh
75.
76.有以下程序
#include<stdio.h>
main()
{inti=5;
do
{if(i%3==1)
if(i%5==2)
{printf("*%d",i);break;}
i++;
}while(i!=0);
printf("\n");
}
程序的運(yùn)行結(jié)果是
A.*7B.*3*5
C.*5D.*2*6
77.對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是()。
A.隊(duì)頭指針是固定不變的
B.隊(duì)頭指針一定大于隊(duì)尾指針
C.隊(duì)頭指針一定小于隊(duì)尾指針
D.隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針
78.設(shè)有下列二叉樹:對(duì)此二叉樹前序遍歷的結(jié)果為()
A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY
79.以下程序執(zhí)行后的輸出結(jié)果是()。
A.5,5
B.5,11
C.11,11
D.11,5
80.以下敘述中錯(cuò)誤的是()。A.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡(jiǎn)單問題
B.結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成
C.c語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言
D.結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:計(jì)算n!。例如,若輸人:6,則輸出:6!=720.000000。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),其功能是:計(jì)算并輸出下列多項(xiàng)式的值。
S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+m)
例如,若主函數(shù)從鍵盤給m輸入20后,則輸出為s=1.904762。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。
試題程序:
參考答案
1.B鏈表是一種特殊的線性表,鏈表的存儲(chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)不同,它的存儲(chǔ)區(qū)域可以是任意的存儲(chǔ)單元,對(duì)存儲(chǔ)系統(tǒng)中零碎的存儲(chǔ)部分具有更好的應(yīng)用,在給其分配存儲(chǔ)單元時(shí),不必事先估計(jì)整個(gè)存儲(chǔ)單元的空間大??;由于鏈表的元素是通過指針域的指針相連的,用鏈表存儲(chǔ)數(shù)據(jù)時(shí),對(duì)其進(jìn)行插入和刪除操作時(shí),不需要移動(dòng)其他元素,只需改變其直接前驅(qū)指針域,使其指向該結(jié)點(diǎn),并將該結(jié)點(diǎn)的指針域修改為指向其直接后繼結(jié)點(diǎn)即可。當(dāng)然,不管是鏈表還是順序存儲(chǔ),所需空間與線性表長(zhǎng)度都成正比。在鏈?zhǔn)酱鎯?chǔ)的鏈表結(jié)構(gòu)中,由于后一結(jié)點(diǎn)數(shù)據(jù)被存儲(chǔ)在哪里,只有通過前一結(jié)點(diǎn)的指針域才知道,因此,訪問時(shí)只能是逐個(gè)訪問,而不能實(shí)現(xiàn)隨機(jī)訪問。
2.D題干中“x+y”是整型,函數(shù)的返回值是double類型,由于整型可以自動(dòng)轉(zhuǎn)換成double類型,因此函數(shù)值返回時(shí)自動(dòng)轉(zhuǎn)換成double類型。故本題答案為D選項(xiàng)。
3.B\nscanf輸入函數(shù)中,格式控制J必須嚴(yán)格按照函數(shù)中的要求進(jìn)行輸入,在scanf('%c%c',&chl,&ch2)的格式控制語(yǔ)句中沒有任何字符進(jìn)行間隔,所以在輸入時(shí)也不能使用任何字符進(jìn)行間隔,所以答案選擇B。
\n
4.C解析:對(duì)字符型一維數(shù)組在定義時(shí)初始化,既可以使用初始化列表,也可以使用字符串常量。不過由于字符串常量會(huì)自動(dòng)在結(jié)尾添加\'\\0\',字符做結(jié)束標(biāo)志,所以用字符串常量的初始化列表項(xiàng)個(gè)數(shù)是字符串的長(zhǎng)度加1。因此題目中的chara[]='xyz';等價(jià)于chara[]={\'x\',\'y\',\'z\',\'\\0\');,所以a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度,應(yīng)該選C。
5.B
6.B解析:scanf函數(shù)的一般格式是:
scanf(格式控制,地址表列)
該格式中,地址表列中應(yīng)是變量地址,而不是變量名。注意:調(diào)用putchar和getchar函輸出和輸入字符。
7.CC)【解析】白盒測(cè)試方法也稱為結(jié)構(gòu)測(cè)試或邏輯測(cè)試,主要方法有邏輯覆蓋測(cè)試、基本路徑測(cè)試等。
8.A題干中,if語(yǔ)句的含義是:如果a的值為1,將b的值賦給a,否則將a的值自增1。選項(xiàng)A中,“switch(a==1)”中表達(dá)式“a==1”的結(jié)果如果為真,即1,則從case1開始執(zhí)行“a++”;如果“a==1”的結(jié)果為假,即為0,則從case0開始執(zhí)行“a=b”,所以與題干含義執(zhí)行操作相反的是選項(xiàng)A中的語(yǔ)句。故本題答案為A選項(xiàng)。
9.D選項(xiàng)A中,“pt+3”使指針變量Pt移動(dòng)3個(gè)單元,指向第4個(gè)元素,不能正確引用。運(yùn)算符“*”與“&”放在一起,其作用相互抵消,且下標(biāo)10超出了數(shù)組下標(biāo)范圍,所以B選項(xiàng)錯(cuò)誤?!?(pt+i)”表示引用指針pt所指元素后的第i個(gè)元素,引用數(shù)組第11個(gè)元素,C選項(xiàng)錯(cuò)誤。故本題答案為D選項(xiàng)。
10.D
11.D[解析]本題目中靜態(tài)局部變量x,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。所以第一次循環(huán)s的值為2.第二次循環(huán)中,返回的x的值為4.所以s的值為8.第三次循環(huán),返回的x的值為8.所以s的值為64.
12.B關(guān)系具有以下7個(gè)性質(zhì)。①元組個(gè)數(shù)有限性:二維表中元組的個(gè)數(shù)是有限的。②元組的唯一性:二維表中任意兩個(gè)元組不能完全相同。③元組的次序無(wú)關(guān)性:二維表中元組的次序,即行的次序可以任意交換。④元組分量的原子性:二維表中元組的分量是不可分割的基本數(shù)據(jù)項(xiàng)。⑤屬性名唯一性:二維表中不同的屬性要有不同的屬性名。⑥屬性的次序無(wú)關(guān)性.二維表中屬性的次序可以任意交換。⑦分量值域的同一性:二維表屬性的分量具有與該屬性相同的值域,或者說(shuō)列是同質(zhì)的。滿足以上7個(gè)性質(zhì)的二維表稱為關(guān)系,以二維表為基本結(jié)構(gòu)所建立的模型稱為關(guān)系模型。本題答案為B選項(xiàng)。
13.CN—s圖提出了用方框圖來(lái)代替?zhèn)鹘y(tǒng)的程序流程圖,所以A不對(duì)。PAD圖是問題分析圖,它是繼承程序流程圖和方框圖之后提出的又一種主要用于描述軟件詳細(xì)設(shè)計(jì)的圖形表示工具,所以8不對(duì)。E—R圖是數(shù)據(jù)庫(kù)中的用于表示E—R模型的圖示工具,所以D不對(duì)。根據(jù)圖中所示表示方法是進(jìn)行軟件詳細(xì)設(shè)計(jì)時(shí)使用的程序流程圖。
14.D\n用來(lái)存放字符量的數(shù)組稱為字符數(shù)組。字符數(shù)組也可以是二維或多維數(shù)組,對(duì)一個(gè)字符數(shù)組,如果不作初始化賦值,則必須說(shuō)明數(shù)組長(zhǎng)度,還可用printf函數(shù)和scarlf函數(shù)一次性輸出/輸入一個(gè)字符數(shù)組中的字符串,而不必使用循環(huán)語(yǔ)句逐個(gè)地輸入/輸出每個(gè)字符。通常用一個(gè)字符數(shù)組來(lái)存放一個(gè)字符串。所以D選項(xiàng)不正確。
\n
15.D
16.D解析:本題考查“++”和“--”運(yùn)算符,運(yùn)算符“++”是操作數(shù)加1,而“--”則是操作數(shù)減1。在do-while循環(huán)中,首先執(zhí)行y--,再執(zhí)行--y。當(dāng)y=2時(shí),執(zhí)行y--,y的值變?yōu)?,--y使y值變?yōu)?,循環(huán)結(jié)束。執(zhí)行輸出時(shí),先輸出y的值0,然后執(zhí)行y--,使y的值變?yōu)?1。
17.B程序中,fun函數(shù)的功能是接收兩個(gè)數(shù)組a、b,以及數(shù)組a的元素個(gè)數(shù)n,然后通過for循環(huán)將數(shù)組a中下標(biāo)為偶數(shù)的元素與后面相鄰的下標(biāo)為奇數(shù)的元素兩兩相加,賦給數(shù)組b中下標(biāo)為j的元素,最后返回?cái)?shù)組b的個(gè)數(shù)。所以main函數(shù)中,通過調(diào)用fun函數(shù),將數(shù)組a的元素兩兩相加,得到數(shù)組b的各個(gè)元素,再通過for循環(huán)輸出,結(jié)果為:1593。故本題答案為B選項(xiàng)。
18.A解析:由于數(shù)據(jù)的集成性使得數(shù)據(jù)可為多個(gè)應(yīng)用所共享,特別是在網(wǎng)絡(luò)發(fā)達(dá)的今天,數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)的結(jié)合擴(kuò)大了數(shù)據(jù)關(guān)系的應(yīng)用范圍。數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲(chǔ)空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值,而數(shù)據(jù)的不一致性指的是同一個(gè)數(shù)據(jù)在系統(tǒng)的不同拷貝處有不同的值。
19.D本題j=要是考查帶參數(shù)的宏的定義,過程如下:inta=a/S(k+m)/S(k+m)=a/(k+m*k+m/k+m)=9/(3十2*3十2/3十2*3十2)=0。
20.B解析:C語(yǔ)言中注釋可以放在任何位置,選項(xiàng)A錯(cuò)誤;C語(yǔ)言中的變量只要在使用之前定義即可,位置可以是使用前的任何位置,故選項(xiàng)B正確;C語(yǔ)言中兩側(cè)數(shù)據(jù)類型可以不一致,系統(tǒng)可進(jìn)行強(qiáng)制類型轉(zhuǎn)換,選項(xiàng)C錯(cuò)誤;C語(yǔ)言數(shù)值常量中不允許存在空格,選項(xiàng)D錯(cuò)誤。
21.格式化模型格式化模型解析:層次模型與網(wǎng)狀模型屬于格式化模型。
22.1212解析:do…while循環(huán)的一個(gè)比較顯著的特點(diǎn)是:先執(zhí)行一次循環(huán)體然后再判斷循環(huán)的條件是否滿足,若滿足則接著進(jìn)入下一次循環(huán),否則就退出循環(huán)。注意:3種循環(huán)結(jié)構(gòu)的比較。
23.do…whiledo…while解析:考查while和do…while循環(huán)的主要區(qū)別。while循環(huán)的控制出現(xiàn)在循環(huán)體之前,只有當(dāng)while后面的表達(dá)式的值為非零時(shí),才可能執(zhí)行循環(huán)體;在do…while構(gòu)成的循環(huán)體中,總是先執(zhí)行一次循環(huán)體,然后再求表達(dá)式的值,因此無(wú)論表達(dá)式的值是否為零,循環(huán)體至少要被執(zhí)行一次。
24.加工加工解析:數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。其中的每一個(gè)加工對(duì)應(yīng)一個(gè)處理模塊。
25.2424解析:本題考查函數(shù)的循環(huán)調(diào)用。p=x*func(x-1),當(dāng)x=4時(shí),不滿足if語(yǔ)句的條件,p=4*func(3),x=3也不滿足條件,則func(3)=3*func(2),func(2)=2*func(1),x=1滿足條件return(1),則輸出結(jié)果為4*3*2*1=24。
26.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。
27.棧棧解析:考查考生對(duì)棧和隊(duì)列概念的掌握。按'先進(jìn)后出'原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是棧;按'先進(jìn)先出'原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是隊(duì)列。
28.246
29.m<nn!=0
30.8888解析:C語(yǔ)言規(guī)定,以0開頭的整型常量為八進(jìn)制。另外,在primf()函數(shù)中,%X表示以十六進(jìn)制無(wú)符號(hào)形式輸出一個(gè)整數(shù),且十六進(jìn)制中的ABCDEF為大寫字母。本題的輸出應(yīng)該是八進(jìn)制210的十六進(jìn)制形式。將八進(jìn)制轉(zhuǎn)換為十六進(jìn)制,可以先將其轉(zhuǎn)換為二進(jìn)制。因?yàn)?位八進(jìn)制表示3位二進(jìn)制,4位二進(jìn)制表示1位十六進(jìn)制。(210)8=(10001000)2=(88)16,故本題輸出為880
31.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。
32.1212解析:本題考查逗號(hào)表達(dá)式的運(yùn)算規(guī)則。逗號(hào)表達(dá)式的基本格式為:“表達(dá)式1,表達(dá)式2,…”,其整個(gè)表達(dá)式的結(jié)果取最后一個(gè)子表達(dá)式的值。本題中首先計(jì)算逗號(hào)表達(dá)式中的第1個(gè)表達(dá)式a=2*3=6,然后計(jì)算第2個(gè)表達(dá)式a*2,這時(shí)整個(gè)表達(dá)式的值為12,但要注意,因?yàn)榈?個(gè)表達(dá)式并沒有給a賦值,因此a的值不變;接下來(lái)執(zhí)行最后一個(gè)表達(dá)式a+6=12,所以整個(gè)表達(dá)式最后的值為12。
33.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標(biāo)識(shí)符(*旨針變量名)()。注:“類型標(biāo)識(shí)符”為函數(shù)返回值的類型。
34.10111011解析:前綴自增運(yùn)算時(shí),表達(dá)式的值和變量自增之后的值相同;后綴自增運(yùn)算時(shí),表達(dá)式的值為變量自增之前的值。所以,本題程序輸出的兩個(gè)結(jié)果分別是m+1和n的值。而m在初始化時(shí)使用的是八進(jìn)制常量011,轉(zhuǎn)換為十進(jìn)制為9。故輸出結(jié)果是1011。
35.考查ifelse語(yǔ)句,n=4不滿足條件,所以fun5(4)=4+fun5(3),n==3也不滿足條件,fun5(3)=3+fun5(2),n==2滿足條件fun5(2)=2,故x=4+3+2=9。\r\n\r\n
36.求出數(shù)組元素平均值求出數(shù)組元素平均值解析:函數(shù)有一個(gè)數(shù)組形參a和一個(gè)整型形參n。函數(shù)首先用循環(huán)求數(shù)組a的前n個(gè)元素和,然后將和除以n。即求數(shù)組元素的平均值。
37.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實(shí)過程是將相鄰兩個(gè)字符進(jìn)行比較,如果當(dāng)前字符小于下一個(gè)字符,則通過中間變量temp將字符兩兩交換,所以第—空應(yīng)填:str[i],第二空應(yīng)填str[i+1]最終打印輸出得到的字符串str,所以第三空應(yīng)填'%s',str。
38.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標(biāo)識(shí)符(*指針變量名)()。注:“類型標(biāo)識(shí)符”為函數(shù)返回值的類型。
39.%d%3
40.選擇結(jié)構(gòu)選擇結(jié)構(gòu)解析:程序設(shè)計(jì)語(yǔ)言僅僅使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。遵循程序結(jié)構(gòu)化的設(shè)計(jì)原則,按結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序易于理解、使用和維護(hù);可以提高編程工作的效率,降低軟件的開發(fā)成本。
41.C解析:y的初值為9,所以在for循環(huán)中,當(dāng)y的值為9、6或3時(shí),if語(yǔ)句的條件成立,執(zhí)行輸出語(yǔ)句,輸出表達(dá)式--y的值。因?yàn)樽詼p符號(hào)在y的前面,所以首先y自減1,然后再輸出y的值,故輸出結(jié)果為852。
42.C解析:根據(jù)題意,il=f(8)/f(4)進(jìn)行宏替換后.i1=(8*8)/(4*4)=4,i2=f(4+4)/f(2+2)=(4+4*4+4)/(2+2*2+2)=24/8=3。所以輸出結(jié)果為4、3。
43.D解析:在格式輸入中,要求給出的是編譯的地址,而D)答案中給出的s[1]是一個(gè)值的表達(dá)式。
44.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。
45.B解析:C語(yǔ)言在預(yù)編譯時(shí)遇到帶實(shí)參的宏名,則按命令行中指定的字符串從左到右進(jìn)行置換。在做這題時(shí),也不妨運(yùn)用置換法。得到a/=k+m*k+m/k+m*k+m=16/7=2。注:a為整型,所以在做除法時(shí),自動(dòng)取整。
46.D解析:棧是僅在表頭和表尾進(jìn)行插入和刪除元素操作的線性表,其特點(diǎn)是“先進(jìn)后出”。本題中,進(jìn)棧的過程中可以出棧。選項(xiàng)D中,如果第一個(gè)出棧的元素為e3,由于入棧順序是e1、e2、e3,那么e3出棧后,棧中元素必定有e1和e2,因?yàn)閑1先入棧,故e1應(yīng)在e2后出棧,所以選項(xiàng)D是不可能的出棧順序。
47.B解析:程序首先定義了一個(gè)文件指針fp,并使用fopen()函數(shù)以'wb+'方式新建一個(gè)可讀寫文件'abe.dat'。然后使用一個(gè)for循環(huán),循環(huán)變量i從0遞增到3,在循環(huán)體中每次寫入ch[i]的值。所以循環(huán)結(jié)束時(shí),文件中的內(nèi)容應(yīng)該為:abed。接下來(lái)程序使用fseek()函數(shù),將文件的讀寫指針從文件末尾處向后退2個(gè)字節(jié),文件末尾是最后一個(gè)輸出字節(jié)的下一個(gè)字節(jié),即下次寫入數(shù)據(jù)的位置,所以此時(shí)文件讀寫指針指向的是字符\'c\'。最后調(diào)用ficadO函數(shù)從文件中讀取1個(gè)字節(jié)到變量t中。所以最終輸出應(yīng)該為:c。故本題選B。
48.A解析:在答案A中:p=p->next;s->next=p;p->next=s;s的確已插到了鏈表的末尾,但它的next卻并沒有為NULL,而是指向了它的直接前趨p,這樣它就不是一個(gè)單向鏈表(單向鏈表最后一個(gè)結(jié)點(diǎn)的next指針一定是一個(gè)NULL)。
49.A解析:本題考查ifelse語(yǔ)句。在intf(a,b)中:第一個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)a>b條件不成立,則執(zhí)行與其配對(duì)的else語(yǔ)句;第二個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)a==b條件不成立,則執(zhí)行與其配對(duì)的else語(yǔ)句,c=-1。
50.C
51.C解析:本題首先定義了一個(gè)字符指針數(shù)組p,然后使用一個(gè)兩重循環(huán)遍歷數(shù)組p。因?yàn)閮?nèi)循環(huán)的循環(huán)變量j每次會(huì)加2,所以只能遍歷到數(shù)組p每行中列下標(biāo)為偶數(shù)的字符,它們是‘3’、‘9’、‘2’、‘8’。然后,將它們通過p[i][j]-‘0’表達(dá)式轉(zhuǎn)換為對(duì)應(yīng)的整數(shù)3、9、2、8,并用%2來(lái)判斷該整數(shù)是否為奇數(shù)。所以最終能執(zhí)行到num=10*num+p[i][j]-‘0’,語(yǔ)句的只有‘3’和‘9’兩個(gè)字符。此時(shí)已不難算出,運(yùn)行后num中的值為39。故應(yīng)該選擇C。
52.B解析:在main函數(shù)中定義了一個(gè)structabc類型的數(shù)組,同時(shí)分別利用{1,2,3}及(4,5,6}對(duì)數(shù)組中兩個(gè)元素進(jìn)行初始化。在該結(jié)構(gòu)體,依次對(duì)其中的a,b,c三個(gè)變量進(jìn)行初始化。故s[0].a=1,s[1].b=5,所以本題輸出為6。
53.B
54.D解析:該題考查邏輯與'&&'和邏輯或'||'以及邏輯非'!'符號(hào)的用法。選項(xiàng)A)即3&&4為真;選項(xiàng)B)即3<=4為真;選項(xiàng)C)是一個(gè)邏輯或與邏輯與的混合運(yùn)算,只要執(zhí)行了邏輯或左半部分,程序?qū)⒅苯油V箞?zhí)行邏輯或右半部分程序,因?yàn)閤的值為真;此時(shí)選項(xiàng)C)變?yōu)?&&-1為真。選項(xiàng)D)不用計(jì)算,括號(hào)內(nèi)邏輯或右邊的值為1,因而括號(hào)內(nèi)的值為1,再進(jìn)行邏輯非運(yùn)算得0。
55.BB?!窘馕觥吭O(shè)計(jì)軟件結(jié)構(gòu),是在軟件概要設(shè)計(jì)階段進(jìn)行的,而概要設(shè)計(jì)屬于軟件開發(fā)期。
56.B解析:(1)二維數(shù)組的定義
二維數(shù)組的定義方式為:類型說(shuō)明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]。
二維數(shù)組在內(nèi)存中是按行優(yōu)先的順序存放的,即先存放第一行的元素,再存放第二行的元素,依次類推。
(2)二維數(shù)組元素的引用
二維數(shù)組元素的表示形式為:數(shù)組名[下標(biāo)][下標(biāo)],下標(biāo)可以是整型常量或整型表達(dá)式其范圍為:0~(常量表達(dá)式-1)。
(3)二維數(shù)組的初始化
可以用以下方法對(duì)二維數(shù)組元素初始化:
①分行給二維數(shù)組賦初值
例如:inta[2][2]={{1,2},{3,4}};
這種賦值方式比較直觀,把第1個(gè)大括號(hào)內(nèi)的數(shù)據(jù)賦給第1行的元素,第2個(gè)大括號(hào)內(nèi)的數(shù)據(jù)賦給第2行的元素,即按行賦值。
②可以將所有數(shù)據(jù)寫在一個(gè)大括號(hào)內(nèi),按數(shù)組排列的順序?qū)Ω鱾€(gè)元素賦初值。
③可以對(duì)部分元素賦初值,沒有初始化的元素值為0。
④如果對(duì)全部數(shù)組元素賦初值,則定義數(shù)組時(shí)對(duì)第一維的長(zhǎng)度可以不指定,但第二維的長(zhǎng)度不能省略。
57.A解析:耦合性是模塊間互相連接的緊密程度的度量,取決于各個(gè)模塊之間接口的復(fù)雜度、調(diào)用方式以及哪些信息通過接口。
[知識(shí)拓展]模塊的獨(dú)立程序是評(píng)價(jià)設(shè)計(jì)好壞的一個(gè)重要標(biāo)準(zhǔn),衡量軟件的模塊獨(dú)立性有兩個(gè)定性的度量標(biāo)準(zhǔn)。其中內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度最,內(nèi)聚性是從功能角度來(lái)度量模塊內(nèi)的聯(lián)系;耦合性是模塊間互相連接的緊密程度的度量,耦合性從整體的角度來(lái)度量模塊間的聯(lián)系。
58.A解析:在主函數(shù)main中,f(s[i])為for語(yǔ)句的循環(huán)終止條件,當(dāng)f函數(shù)返回非零值時(shí),則繼續(xù)執(zhí)行循環(huán),否則終止循環(huán),輸出d的值。程序的運(yùn)行步驟為:當(dāng)i=0時(shí),f(s[i])返回值為1,執(zhí)行d+=1,d=1;當(dāng)i=1時(shí),將s[1];3傳給形參變量s,f函數(shù)返回a%2=1,執(zhí)行d=d+s[1]=1+3=4;當(dāng)i=2時(shí),將s[2]=5傳給形參變量a,f函數(shù)返回a%2=1,執(zhí)行d=d+s[2]=4+5=9;當(dāng)i=3時(shí),將a[3]=2傳給形參變量a,f函數(shù)返回a%2=0,終止循環(huán),輸出d的值9。
59.A
60.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)。
61.C本題考查的是逗號(hào)表達(dá)式。逗號(hào)表達(dá)式的求解步驟是先求解表達(dá)式1,然后依次求解表達(dá)式2,直到表達(dá)式N的值。整個(gè)逗號(hào)表達(dá)式的值就是最后一個(gè)表達(dá)式N的值。表達(dá)式(x=3*y,x+6)中,x=15。表達(dá)式y(tǒng)=x—1=14。
62.B
63.Awhile循環(huán)的執(zhí)行過程如下:①計(jì)算while后面圓括號(hào)中表達(dá)式的值。當(dāng)值為非0時(shí),執(zhí)行步驟②;當(dāng)值為0時(shí),執(zhí)行步驟④。②執(zhí)行循環(huán)體一次。③轉(zhuǎn)去執(zhí)行步驟①。④退出循環(huán)。在選項(xiàng)A中,表達(dá)式(ch=get-char)!=N表示輸入的字符不等于N,如果這個(gè)條件表達(dá)式成立,則執(zhí)行循環(huán)體,打印輸出輸入的字符。如果這個(gè)條件表達(dá)式不成立,即輸入的字符等于N,則退出循環(huán)。所以選項(xiàng)A為正確答案。
64.D
65.C在函數(shù)intfun(intx[],intn)的定義中,變量sum為一個(gè)靜態(tài)局部變量。由于在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存中的靜態(tài)存儲(chǔ)中占據(jù)著永久的存儲(chǔ)單元。函數(shù)intfun(intx[],intn)的功能是求出數(shù)組x[]各個(gè)元素的和,所以在主函數(shù)中,調(diào)用函數(shù)fun(a,5)后,變量sum=1+2+3+4+5=15,當(dāng)再次調(diào)用fun(b,4)后,變量sum=15+6+7+8+9=45,所以s=15+45=60。
66.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)的問題。集成測(cè)試可以發(fā)現(xiàn)概要設(shè)計(jì)時(shí)犯的錯(cuò)誤。
(3)確認(rèn)測(cè)試用于驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測(cè)試主要用于發(fā)現(xiàn)需求分析時(shí)犯下的錯(cuò)誤,一般使用黑盒法測(cè)試,以表明軟件符合需求說(shuō)明書的要求,應(yīng)該仔細(xì)設(shè)計(jì)測(cè)試用例和測(cè)試過程。確認(rèn)測(cè)試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計(jì)測(cè)試用例,通常情況下,主要使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測(cè)試,測(cè)試數(shù)據(jù)通過用戶接口輸入。
(4)系統(tǒng)測(cè)試是將已經(jīng)通過確認(rèn)測(cè)試的軟件,作為整個(gè)計(jì)算機(jī)系統(tǒng)的元素與計(jì)算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。系統(tǒng)測(cè)試的目的是通過與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測(cè)試可以發(fā)現(xiàn)問題定義時(shí)犯下的錯(cuò)誤。
67.Acase常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。在執(zhí)行switch語(yǔ)句時(shí),根據(jù)switch的表達(dá)式,找到與之匹配的case語(yǔ)句,就從該case子句執(zhí)行下去,不再進(jìn)行判斷,直到碰到bleak或函數(shù)結(jié)束為止。簡(jiǎn)單地說(shuō),break是結(jié)束整個(gè)循環(huán)體,而continue是結(jié)束單次循環(huán)。B)選項(xiàng)中當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時(shí)要執(zhí)行打印操作。C)選項(xiàng)中當(dāng)產(chǎn)生的隨機(jī)數(shù)為1和2時(shí)分別執(zhí)行case3與case4后面語(yǔ)句的內(nèi)容。由于存在break語(yǔ)句,因此for循環(huán)不是固定執(zhí)行8次,執(zhí)行次數(shù)與產(chǎn)生的隨機(jī)數(shù)n有關(guān)系。故本題答案為A)。
68.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)的。
69.A首先打印b=a+b=1+0=1的值l,此時(shí)已給b賦值為1。然后打印a=2}b=2{1=2的值2。所以結(jié)果是1,2。
70.An為。時(shí)執(zhí)行exit(0);函數(shù)結(jié)束,所以產(chǎn)生的隨機(jī)數(shù)為0時(shí),函數(shù)結(jié)束。答案選擇A)。
71.B函數(shù)調(diào)用fun(a,10)執(zhí)行完畢后,a=”abcdefghij”,但函數(shù)返回的指針指向a[1],因此輸出bcdefghij。
72.B
73.B結(jié)構(gòu)體變量可以作為函數(shù)的參數(shù)和返回值。作為函數(shù)的實(shí)參時(shí),可以實(shí)現(xiàn)函數(shù)的傳值調(diào)用。當(dāng)使用結(jié)構(gòu)體變量作為函數(shù)的形參時(shí),實(shí)參也應(yīng)該是結(jié)構(gòu)體變量名以實(shí)現(xiàn)傳值調(diào)用,實(shí)參將拷貝副本給形參,在被調(diào)用函數(shù)中改變形參值對(duì)于調(diào)用函數(shù)中的實(shí)參沒有影響。所以選擇B。
74.C循環(huán)的作用是將輸入的字符串轉(zhuǎn)化為大寫,9etchar()每次讀入一個(gè)字符,putchar()每次輸出一個(gè)字符,當(dāng)遇到#字符結(jié)束。putchar(++C),表示將字符變量C加1后輸出。因此,輸入aBcDefG##,得到的結(jié)果是BCDEFGH。故答案為c選項(xiàng)。
75.C
76.A本題考查C語(yǔ)言中對(duì)整數(shù)求余數(shù)運(yùn)算。運(yùn)算符“%”是兩個(gè)數(shù)相除后取余數(shù)。分析本題的程序,main函數(shù)中的主體為一個(gè)do-while循環(huán),該循環(huán)的終止條件為i==0。do-while循環(huán)內(nèi)部起始為一個(gè)if語(yǔ)句,該語(yǔ)句包含一個(gè)if子語(yǔ)句,外層if語(yǔ)句的判斷條件是i%3==1,表示i的取值范圍為{1,4,7,11,…},內(nèi)部if子語(yǔ)句的判斷條件為i%5==2,表示i的取值范圍為{2,7,12,…}。如果外層和內(nèi)層的if語(yǔ)句的條件都滿足,則執(zhí)行語(yǔ)句printf('*%d',i);break;,該語(yǔ)句輸出*i形式的結(jié)果并跳出do-while循環(huán)。如果兩個(gè)if語(yǔ)句有一個(gè)條件不滿足,則執(zhí)行i++操作,繼續(xù)執(zhí)行do-while循環(huán)。i的初始值為5,只有滿足兩個(gè)if語(yǔ)句條件時(shí)才能夠跳出do-while循環(huán),即當(dāng)i=7時(shí),循環(huán)結(jié)束,輸出結(jié)果為*7。
77.D循環(huán)隊(duì)列的隊(duì)頭指針與隊(duì)尾指針都不是固定的,隨著入隊(duì)與出隊(duì)操作要進(jìn)行變化。因?yàn)槭茄h(huán)利用的隊(duì)列結(jié)構(gòu),所以隊(duì)頭指針有時(shí)可能大于隊(duì)尾指針,有時(shí)也可能小于隊(duì)尾指針。
78.B解析:所謂二叉樹的前序遍歷(DLR)是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這3者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹,并且,在遍歷左右子樹時(shí),上述規(guī)則同樣適用,即“根-左-右”。故該二叉樹的前序遍歷結(jié)果為“ATBZXCYP”。對(duì)于本題,若使用后序遍歷和中序遍歷的結(jié)果分別為“ZBTYCPXA”和“TZBACYXP”。
79.Bmain函數(shù)中的局部變量m與fun函數(shù)中的靜態(tài)局部變量m同名,因此main訪問的是其局部變量m,所以main中的兩次函數(shù)調(diào)用,實(shí)際上都是調(diào)用fun(1,1)。
第一次調(diào)用時(shí),i=i+(m+1)=2+(0+1)=3,m=i+x+y=3+1+1=5。
第二次調(diào)用時(shí),i=i+(m+1)=3+(5+1)=9,m=i+x+y=9+1+l=11。
所以程序輸出5,11。
80.A使用順序、選擇(分支)、循環(huán)3種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問題,而不只是解決簡(jiǎn)單問題,因此A)選項(xiàng)錯(cuò)誤。
81.
82.
【解析】由題目中所給公式可知,多項(xiàng)式的值為m項(xiàng)的和。多項(xiàng)式每一項(xiàng)的分子均為1,第i項(xiàng)的分母為1~i所有整數(shù)的和。根據(jù)這個(gè)特點(diǎn),通過m次循環(huán)求出多項(xiàng)式的每一項(xiàng)并求和。最后將多項(xiàng)式的和返回到主函數(shù)中。
2021-2022年安徽省六安市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.鏈表不具有的特點(diǎn)是A.A.不必事先估計(jì)存儲(chǔ)空間
B.可隨機(jī)訪問任一元素
C.插入和刪除不需要移動(dòng)元素
D.所需空間與線性表長(zhǎng)度成正比
2.若有如下函數(shù)定義:doublefun(intx,inty){return(x+y);}return語(yǔ)句中表達(dá)式值的類型與說(shuō)明的類型不一致,則以下敘述中正確的是()。
A.運(yùn)行時(shí)出錯(cuò)B.函數(shù)返回的值為int型C.編譯出錯(cuò)D.函數(shù)返回的值為double型
3.設(shè)有以下語(yǔ)句
charchl,ch2;scanf("%c%C",&chl,&ch2);
若要為變量chl和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是()。
A.A和B之間用逗號(hào)間隔
B.A和B之間不能有任何間隔符
C.A和B之間可以用回車間隔
D.A和B之間用空格間隔
4.已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是()。
A.數(shù)組a和b的長(zhǎng)度相同B.a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度C.a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度D.以述說(shuō)法都不對(duì)
5.
6.x,y,z被定義為int型變量,若從鍵盤給x,y,z輸入數(shù)據(jù),正確的輸入語(yǔ)句是
A.INPUTx、v、z;
B.scanf("%d%d%d",&x,&y,&z);
C.scanf("%d%d%d",x,y,z);
D.read("%d%d%d",&x,&y,&z);
7.下列方法中,屬于白盒法設(shè)計(jì)測(cè)試用例的方法的是()。
A.錯(cuò)誤推測(cè)B.因果圖C.基本路徑測(cè)試D.邊界值分析
8.下列選項(xiàng)中與“if(a==1)a=b;elsea++;”語(yǔ)句功能不同的switch語(yǔ)句是()。
A.switch(a==1){ case0:a=b;break; case1:a++;}
B.switch(a){ case1:a=b;break; default:a++;}
C.switch(a){ default:a++;break; case1:a=b;}
D.switch(a==1){ case1:a=b;break; case0:a++;}
9.若有定義“intx[10],*pt=x;”,則對(duì)x數(shù)組元素的引用正確的是()。
A.pt+3B.*&x[10]C.*(pt+10)D.*(x+3)
10.
11.程序運(yùn)行后的輸出結(jié)果是()。A.10B.30C.0D.64
12.同一個(gè)關(guān)系模型的任意兩個(gè)元組值()。
A.可以全相同B.不能全相同C.必須全相同D.以上都不對(duì)
13.軟件詳細(xì)設(shè)計(jì)生產(chǎn)的圖如右圖:該圖是()。
A.N—S圖B.PAD圖C.程序流程圖D.E—R圖
14.下面是有關(guān)C語(yǔ)言字符數(shù)組的描述,其中錯(cuò)誤的是()。
A.不可以用賦值語(yǔ)句給字符數(shù)組名賦字符串
B.可以用輸入語(yǔ)句把字符串整體輸入給字符數(shù)組
C.字符數(shù)組中的內(nèi)容不一定是字符串
D.字符數(shù)組只能存放字符串
15.設(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
16.下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}
A.-1B.1C.8D.0
17.有以下程序:#include<stdio.h>intfun(int*a,int*b,intn){inti=0,j=0,sum=0;for(;i<n;i++){sum+=a[i];if((i+1)%2==0){b[j++]=sum;sum=0;}}returnj;}main(){inta[8]={1,0,2,3,5,4,2,1},b[8],k,i;k=fun(a,b,8);for(i=0;i<k;i++)printf(“%d”,b[i]);}程序的運(yùn)行結(jié)果是()。
A.0242B.1593C.1351D.286
18.下述關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)的敘中正確的是______。
A.數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致
D.數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
19.執(zhí)行下述程序后,輸出的結(jié)果是()。#include<stdio.h>#defineS(X)X*Xvoidmain{inta=9,k=3,m=2;a/=S(k+m)/s(k+m);printf("%d",a);}A.1B.4C.9D.0
20.以下關(guān)于C語(yǔ)言的敘述中正確的是()。
A.C語(yǔ)言中的注釋不可以?shī)A在變量名或關(guān)鍵字的中間
B.C語(yǔ)言中的變量可以在使用之前的任何位置進(jìn)行定義
C.在C語(yǔ)言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致
D.C語(yǔ)言的數(shù)值常量中夾帶空格不影響常量值的正確表示
二、2.填空題(20題)21.數(shù)據(jù)模型分為格式化模型與非格式化模型,層次模型與網(wǎng)狀模型屬于【】。
22.下面程序的輸出結(jié)果是【】。
unsignedfun6(unsignednum)
{unsignedk=1;
do{k*=hum%10;
num/=10;}while(num);
return(k);}
main()
{unsignedn=26;
printf("%d\n",fun6(n));}
23.在C語(yǔ)言中,while和do…while循環(huán)的主要區(qū)別是______的循環(huán)至少被執(zhí)行一次。
24.在結(jié)構(gòu)化設(shè)計(jì)方法中,數(shù)據(jù)流圖表達(dá)了問題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個(gè)______實(shí)際上對(duì)應(yīng)一個(gè)處理模塊。
25.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
longfunc(intx)
{longp;
if(x==0||x==1)
return(1);
p=x*func(x-1);
return(p);
}
main()
{printf("%d\n",func(4));
}
26.某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。
27.按"先進(jìn)后出"原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是【】。
28.下面程序運(yùn)行后的輸出結(jié)果是()。
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6},*k[3],i=1;
while(i<4)
{k[i-1]=&a[2*i-1];
printf("%d",*k[i-1]);
i++;
}
}
29.下面程序的功能是求整數(shù)m、n的最大公約數(shù),請(qǐng)?zhí)羁铡?/p>
main()
{intm,n,r;
scanf("%d,%d",m,n);
if(【】){r=m;m=n;n=r;}
while(【】)
{r=m%n;m=n;n=r;}
printf("%d",m);
}
30.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
31.以下程序運(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);
}
32.若a是int型變量,則表達(dá)式(a=2*3,a*2),a+6的值為______。
33.語(yǔ)句"int(*ptr)();"的含義是______是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)。
34.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{intm=011,n=11;
printf("%d%d\n",++m,n++);
}
35.下列程序的輸出結(jié)果是______。
longfun5(intn)
{longs;
if((n==1)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main()
{longx;
x=fun5(4);
printf("%1d\n",x);}
36.以下函數(shù)的功能是【】。
floatav(a,n)
floata[];
intn;
{inti;floats;
for(i=0,s=0;i<n;i++)s=s+a[i];
returns/n;}
37.下面的程序可對(duì)指定字符串中的字符串進(jìn)行從大到小排序,請(qǐng)將程序填完整。(注:程序采用了冒泡排序法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n-->1)
for(i=0;i<n;i++)
if(str[i]<str[i+l])
{temp=【】;
str[i]=str[i+l];
【】=temp;
}
printf(【】);
}
38.語(yǔ)句“int(*ptr)();”的含義是______是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)。
39.已有定義:intx;,執(zhí)行以下語(yǔ)句后的輔出結(jié)果是【】。
x=11/3;y=5;
printf("%%d,%%%d\n",x,y);
40.符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是順序結(jié)構(gòu)、()和循環(huán)結(jié)構(gòu)。
三、1.選擇題(20題)41.有以下程序#include<stdio.h>main(){inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的運(yùn)行結(jié)糶是()。
A.741B.963C.852D.875421
42.有以下程序:#definef(x)(x*x)main(){inti1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf("%d,%d\n",i1,i2);}程序運(yùn)行后的輸出結(jié)果是______。
A.64,28B.4,4C.4,3D.64,64
43.有定義語(yǔ)句:chars[10];,若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語(yǔ)句是
A.gets(&s[0]);
B.scanf("%s",s+1);
C.gets(s);
D.scanf("%s",s[1]);
44.以下關(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)決定
45.以下程序的輸出結(jié)果是______。#defineSQR(X)X*Xmain(){inta=16,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}
A.16B.2C.9D.1
46.設(shè)棧S的初始狀態(tài)為空,棧的容量為5,若入棧元素的順序是e1、e2、e3、e4、e5,則出棧元素的順序不可能是______。
A.e1、e2、e3、e4、e5
B.e5、e4、e3、e2、e1
C.e2、e4、e3、e5、e1
D.e3、e4、e1、e2、e5
47.有以下程序:#include<stdio.h>main(){FILE*fp;inti;charch[]="abcd",t;fp=fopen("abc.dat","wb+");for(i=0;i<4;i++)fwrite(&ch[i]1,1,fp);fseck(fp,-2L,SEEK_END);fread(&t,1,1,fp);felose(fp);printf("%c\n",t);}程序執(zhí)行后的輸出結(jié)果是()。
A.dB.cC.bD.a
48.若已建立如下圖所示的單向鏈表結(jié)構(gòu):在該鏈表結(jié)構(gòu)中,指針p、s分別指向圖中所示結(jié)點(diǎn),則不能將s所指的結(jié)點(diǎn)插入到鏈表末尾仍構(gòu)成單向鏈表的語(yǔ)句組是______。
A.p=p->next;s->next=p;p->next=s;
B.p=p->next;s->next=p->next;p->next=s;
C.s->next=NULL;p=p->next;p->next=s;
D.p=(*p).next;(*s).next=(*p).next;(*p).next=s;
49.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=2,b=3,p;p=f(a,b);printf("%d",p);}intf(a,b){intc;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;return(c);}
A.-1B.0C.1D.2
50.若int類型數(shù)據(jù)占兩個(gè)字節(jié),則下列語(yǔ)句的輸出結(jié)果為()intx=-1;printf("%u\n",x);
A.-1B.32767C.65535D.65536
51.有以下程序:main(){char*p[]={"3697","2584"};inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0'){if((p[il[j]-'0')%2)num=10*num+p[i][j]-'0';j+=2;}printf("%d\n",num);}程序執(zhí)行后的輸出結(jié)果是()。
A.35B.37C.39D.3975
52.下面程序運(yùn)行后的輸出結(jié)果是______。structabc{inta,b,c;}main(){structabcs[2]={{1,2,3},{4,5,6}};intt=-s[0].a+s[1].b;printf("%d\n",t);}
A.5B.6C.7D.8
53.下面敘述正確的是()
A.函數(shù)調(diào)用不可以出現(xiàn)在表達(dá)式中
B.函數(shù)調(diào)用可以作為一個(gè)函數(shù)的實(shí)參
C.函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參
D.函數(shù)不可以直接調(diào)用其本身
54.設(shè)x,y和z都是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中,值為0的表達(dá)式是
A.x&&y
B.x<=y
C.x||++y&&y-z
D.!(x<y&&!z||1)
55.設(shè)計(jì)軟件結(jié)構(gòu)是在軟件生命周期的()。
A.軟件定義期B.軟件開發(fā)期C.軟件維護(hù)期D.以上3個(gè)都不是
56.以下能正確定義二維數(shù)組的是()。
A.inta[][3];
B.inta[][3]={2*3};
C.inta[][3]={};
D.inta[2][3]={{1},{2},{3,4}}:
57.兩個(gè)或兩個(gè)以上模塊之間聯(lián)系的緊密程度稱為()。
A.耦合性B.內(nèi)聚性C.復(fù)雜性D.數(shù)據(jù)傳輸特性
58.有以下程序:#include<stdio.h>intf(inta)returna%2;}main()ints[8]={1,3,5,2,4,6},i,d=0;for(i=0;f(s[i]);i++)d+=s[i];prinff("%d\n",d);程序運(yùn)行后的輸出的結(jié)果是().
A.9B.11C.19D.21
59.以下對(duì)C語(yǔ)言函數(shù)的有關(guān)描述中,正確的是______。
A.調(diào)用函數(shù)時(shí),只能將實(shí)參的值傳遞給形參,形參值不能傳遞給實(shí)參
B.C函數(shù)既可以嵌套調(diào)用又可以遞歸調(diào)用
C.函數(shù)必須有返回值,否則不能使用函數(shù)
D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中
60.相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
四、選擇題(20題)61.下面程序的運(yùn)行結(jié)果是()。
main
{
inty=5,x=14;y=((x=3*y,x+6),x-1);
printf("x=%d,y=%d",x,y);
}
A.x=27,y=27
B.x=12,y=13
C.x=15,y=14
D.x=y=27
62.
63.要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán),若變量已正確定義,下列正確的程序段是()。
A.while((ch—getchar)!=N)printf("%c",ch);
B.while(oh=getchar!=N)printf("%c",ch);
C.while(ch=getchar==N)printf("%c",ch);
D.while((ch—getchar)==N)printf("%c",ch);
64.以下程序的運(yùn)行結(jié)果是()。
#include<stdio.h>
main{inta=1,b=2,c=3,x;
x=(a^b)&c;printf("%d\n",x);}
A.0B.1C.2D.3
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貧困生申請(qǐng)書父母離異
- 學(xué)費(fèi)緩交申請(qǐng)書范文
- 技能大賽申請(qǐng)書
- 考研宿舍的申請(qǐng)書
- 崗位調(diào)動(dòng)申請(qǐng)書理由
- 住宿生申請(qǐng)書
- 2024-2025學(xué)年高中地理課時(shí)分層作業(yè)12人類面臨的主要環(huán)境問題含解析湘教版必修2
- 2024-2025學(xué)年高中化學(xué)課時(shí)分層作業(yè)11酚含解析新人教版選修5
- 2024-2025學(xué)年高中生物第6章第1節(jié)第2課時(shí)動(dòng)物細(xì)胞的有絲分裂無(wú)絲分裂及觀察有絲分裂實(shí)驗(yàn)學(xué)案新人教版必修1
- 2024-2025學(xué)年高中語(yǔ)文課時(shí)作業(yè)11包身工含解析新人教版必修1
- 中英旅游文本用詞的共同特點(diǎn)及其翻譯
- Meta分析的步驟與實(shí)例分析
- 城市區(qū)域環(huán)境噪聲監(jiān)測(cè)實(shí)驗(yàn)報(bào)告
- MBTI量表完整版本
- 護(hù)理操作-吸痰
- 中醫(yī)適宜技術(shù)-腕踝針
- 初二上勞動(dòng)技術(shù)課件電子版
- 創(chuàng)業(yè)計(jì)劃書模板-創(chuàng)業(yè)計(jì)劃書-商業(yè)計(jì)劃書模板-項(xiàng)目計(jì)劃書模板-商業(yè)計(jì)劃書30
- 醫(yī)院護(hù)理帶教老師競(jìng)聘課件
- 四川虹科創(chuàng)新科技有限公司高強(qiáng)超薄耐摔玻璃智能制造產(chǎn)業(yè)化項(xiàng)目環(huán)境影響報(bào)告
- 多聯(lián)機(jī)空調(diào)系統(tǒng)設(shè)計(jì)課件
評(píng)論
0/150
提交評(píng)論