版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年寧夏回族自治區(qū)銀川市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.以下一維數(shù)組a正確的定義是()
A.inta(5)B.intn=5,a[n]C.inta[SZ]其中SZ為符號(hào)常量D.inta{5}
2.在JavaScript語(yǔ)言中,要定義局部變量則可以()。
A.由關(guān)鍵字private在函數(shù)內(nèi)定義
B.由關(guān)鍵字private在函數(shù)外定義
C.由var在函數(shù)內(nèi)定義
D.由關(guān)鍵字var在函數(shù)外定義
3.
4.有如下定義:inta[5],*p;p=a;則下列描述錯(cuò)誤的是()。
A.表達(dá)式p=p+1合法的B.表達(dá)式a=a+1是合法的C.表達(dá)式p-a是合法的D.表達(dá)式a+2是合法的
5.當(dāng)一個(gè)函數(shù)無(wú)返回值時(shí),定義它的函數(shù)類(lèi)型應(yīng)是()。
A.voidB.intC.任意D.無(wú)
6.
7.求2n個(gè)數(shù)中的最大值和最小值,最少的比較次數(shù)是()
A.4n/3B.2n-2C.3n-2D.3n/2
8.下列敘述中正確的足
A.軟件交付使用后還需要進(jìn)行維護(hù)
B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)
C.軟件交付使用后其生命周期就結(jié)束
D.軟件維護(hù)是指修復(fù)程序中被破壞的指令
9.下列關(guān)于字符串的說(shuō)法中錯(cuò)誤的是
A.在C語(yǔ)言中,字符串是借助于字符型一維數(shù)組來(lái)存放的,并規(guī)定以字符'\0'作為字符串結(jié)束標(biāo)志
B.'\0'作為標(biāo)志占用存儲(chǔ)空間,計(jì)入串的實(shí)際長(zhǎng)度
C.在表示字符串常量的時(shí)候不需要人為在其末尾加入'\0'
D.在C語(yǔ)言中,字符串常量隱含處理成以'\0'結(jié)尾
10.以下說(shuō)法錯(cuò)誤的是()。
A.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序不能解決過(guò)于復(fù)雜的問(wèn)題
B.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決一些簡(jiǎn)單的問(wèn)題
C.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決遞歸問(wèn)題
D.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決數(shù)學(xué)上有解析解的問(wèn)題
11.
12.查找較快,且插入和刪除操作也比較方便的查找方法是
A.分塊查找B.二分查找C.順序查找D.折半查找
13.在C++中,一個(gè)函數(shù)帶有參數(shù)說(shuō)明時(shí),則參數(shù)的默認(rèn)值應(yīng)該在()中給出。A.函數(shù)定義B.函數(shù)聲明C.函數(shù)定義或聲明D.函數(shù)調(diào)用
14.
15.以下程序的輸出結(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
16.
17.以下選項(xiàng)中合法的C語(yǔ)言常量是()。
A.‘C-STR’B.2014.1C.”\1.0D.2EK
18.當(dāng)接受用戶輸入的含有空格的字符串時(shí),應(yīng)使用()函數(shù)。
A.gets()B.getchar()C.scanf()D.printf()
19.若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對(duì)a數(shù)組元素不正確的引用是______。
A.a[p-a]B.*(&a[i])C.p[i]D.a[10]
20.若變量已正確定義并賦初值,以下合法的賦值語(yǔ)句是()。
A.k=(m==n);B.k=-m-nC.k=int(m+n);D.k=m*n=1;
二、2.填空題(20題)21.輸出若干學(xué)生3門(mén)課程的成績(jī)。
#include<stdio.h>
【】
structstudent
{intnum;
floatscore[3];
}
main()
{inti=0,n;
floata[3];
【】*ptr[200];
printf("請(qǐng)輸入學(xué)生學(xué)號(hào)和3門(mén)課成績(jī),學(xué)號(hào)為0表示數(shù)據(jù)輸入結(jié)束\n");
do
{ptr[i]=(structstudent*)malloc(sizeof(structstudent));
scanf("%d%f%f%f",&ptr[i]->num,&a[O],&a[1],&a[2]);
ptr[i]->score[O]=a[O];
ptr[i]->score[1]=a[1];
ptr[i]->score[2]=a[2];
if(【】)break;
i++;
}while(1);
n=i-1;
【】;
for(i=O;i<=n;i++)
printf("%-6d%.1f%.1f%.1f\n",ptr[i]->num,ptr[i]->score[0],
ptr[i]->score[1],ptr[i]->score[2]);}
22.以下程序的運(yùn)行結(jié)果是【】。
#defineMAX(a,b)(a>b?a:b)+1
main()
{inti=6,j=8,k;
printf("%d\n",MAX(i,j));
}
23.以下程序段用以統(tǒng)計(jì)鏈表中元素的個(gè)數(shù)。其中first指向鏈表第一個(gè)結(jié)點(diǎn),count用來(lái)統(tǒng)計(jì)結(jié)點(diǎn)個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>
structlink
{chardata;
structlink*next;
}
structlink*p,*first;
|
intcount=0;
p=first;
while(【】)
{
【】;
p=【】;
}
24.以下程序段打開(kāi)文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長(zhǎng)度,請(qǐng)?zhí)羁铡?/p>
FILE*myf;longf1;
myf=【】("test.t","rb");
fscek(myf,(),SEEK_END);f1+ftell(myf);
fclose(myf);
printf("%1d\n",f1);
25.設(shè)有下列程序:
#include<stdio.h>
#include<string.h>
main()
{inti;
chars[10],t[10];
gets(t);
for(i=0;i<2;i++)
{gets(s);
if(strcmp(t,s)<0)strcpy(t,s);
}
printf("%s\n",t);
}
程序運(yùn)行后,從鍵盤(pán)上輸入(<CR>代表回車(chē)符):DEF<CR>BADEF<CR>QTHRG<CR>,則程
序的輸出結(jié)果是______。
26.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
#defineMAX(x,y)(x),(y)?(x):(y)
main()
{inta=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf("%d\n",t);
}
27.以下程序輸出的最后個(gè)值是【】
intff(intn)
{staticintf=1;
f=f*n
returnf;
}
main()
{inti;
for(i=1;i<=5:i++)printf("%d、n",ff(i));}
28.以下程序的輸出結(jié)果是______。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\n",*p,*q);
}
29.有以下程序#include<stdio.h>typedefstruct{intnum;doubles;}REC;voidfunl(REC*x){x->num=23;x->s=88.5;}voidmain(){RECa={16,90.0};fun1(&A);printf("%d\n",a.num);}程序運(yùn)行后的輸出結(jié)果是()。
30.數(shù)據(jù)流圖的類(lèi)型有【】和事務(wù)型。
31.下列程序執(zhí)行輸出的結(jié)果是【】。
#include<stdio.h>
f(inta)
{intb=0;
staticc=3;
a=c++,b++;
return(a);}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);}
32.棧和隊(duì)列通常采用的存儲(chǔ)結(jié)構(gòu)是【】。
33.計(jì)算機(jī)指令是由【】和地址碼組成的。
34.下面程序的輸出是【】。
main()
{inta[]={2,4,6},*ptr=&a[0],x=8,y,z;
for(y=0;y<3;y++)z=(*(ptr+y)<x)?*(prt+y):x;
printf("%d\n",z);
}
35.以下程序的輸出結(jié)果是【】。
inta=1234;
printf("%2d\n",a);
36.以下程序的輸出結(jié)果是【】。
voidreverse(inta[],intn)
{inti,t;
for(i=0;i<n/2;i++)
{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf("%d\n",s);
}
37.以下程序的運(yùn)行結(jié)果為【】。
main()
{inti,j,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},b[4][3];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
b[j][i]=a[i][j];
for(i=0;i<4;i++)
{for(j=0;j<3;j++)
printf("%-3d",b[i][j]);
printf("\n");
}
}
38.長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。
39.下列程序的輸出結(jié)果是【】。
main()
{
inta[]={2,4,6},*ptr=&a[0],x=8,y,z;
for(y=0;y<3;y++)
z=(*(ptr+y)<x)?*(ptr+y):x;
printf("%d\n",z);
}
40.在面向?qū)ο蠓椒ㄖ校?lèi)之間共享屬性和方法的機(jī)制稱(chēng)為_(kāi)_____。
三、1.選擇題(20題)41.若要求定義具有10個(gè)血型元素的一維數(shù)組a,則以下定義語(yǔ)句中錯(cuò)誤的是()。
A.#definmeN10inta[N];
B.#definen5inta[2*n];
C.inta[5+5];
D.intn=10,a[n];
42.有以下程序:main(){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;1++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][i]);程序運(yùn)行后的輸出結(jié)果是______。
A.012B.123C.234D.345
43.下列說(shuō)法正確的是()。
A.main函數(shù)必須放在C程序的最后面
B.main函數(shù)必須放在C程序的最前面
C.main函數(shù)可以放在C程序的中間部分,但在執(zhí)行C程序時(shí)是從程序開(kāi)頭執(zhí)行的
D.main函數(shù)可以放在C程序的中間部分,但在執(zhí)行C程序時(shí)是從main函數(shù)開(kāi)始的
44.下列程序的輸出結(jié)果是______。main(){intn;(n=6*4,n+6),n*2;printf("n=%d\n",n);}
A.22B.23C.24D.25
45.在位運(yùn)算中,操作數(shù)左移一位,其結(jié)果相當(dāng)于A.A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)除以4
D.操作數(shù)乘以4
46.兩個(gè)或兩個(gè)以上的模塊之間關(guān)聯(lián)的緊密程度稱(chēng)為_(kāi)_____。A.耦合度B.內(nèi)聚度C.復(fù)雜度D.數(shù)據(jù)傳輸特性
47.若變量已正確定義,下列正確的程序段是()。
A.while(ch=getchar()=='\N')putchar(ch);
B.while((ch=getchar())=='\n')putchar(ch);
C.while((ch=getchar())!='\N')putchar(ch);
D.while((ch=getchar())!='\n')putchar(ch);
48.以下定義語(yǔ)句中正確的是()。
A.chara='A'b='B';
B.floata=b=l0.0;
C.inta=l0,*b=&a;
D.float*a,b=&a;
49.運(yùn)行以下程序后,如果從鍵盤(pán)上輸入6514<回車(chē)>,則輸出結(jié)果為_(kāi)_____。main(){intm,n;printf("Enterm,n:");scanf("%d%d",&m,&n);while(m!=n){while(m>n)m-=n;while(n>m)n-=m;}printf("m=%d\n",m);}
A.m=3B.m=2C.m=1D.m=0
50.已有定義:intx=3,y=4,z=5;,則表達(dá)式!(x+y)+z-1&&y+z/2的值是
A.6B.0C.2D.1
51.以下敘述中正確的是______。A.預(yù)處理命令行必須位于C源程序的起始位置
B.在C語(yǔ)言中,預(yù)處理命令行都以"#"開(kāi)頭
C.每個(gè)C程序必須在開(kāi)頭包含預(yù)處理命令行:#include<stdio.h>
D.C語(yǔ)言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
52.執(zhí)行下列程序的結(jié)果是()。#defineN5#defineH(x)((N+2)*x)main(){inta=2,b=3,C;c=H(a+b);printf("%d",c);}
A.15B.17C.23D.35
53.信息隱蔽的概念與下述______概念直接相關(guān)。
A.軟件結(jié)構(gòu)定義B.模塊獨(dú)立性C.模塊類(lèi)型劃分D.模擬耦合度
54.以下程序的輸出結(jié)果是f(intb[],intm,intn){inti,s=0;for(i=m;i<n;i=i+2)s=s+b[i];returns;}main(){intx,a[]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf("%d\n",x);}
A.10B.18C.8D.15
55.有以下程序
main()
{inti,s=0,t[]={l,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}
程序執(zhí)行后的輸出結(jié)果是
A.45B.20C.25D.36
56.軟件需求分析階段的工作,可以分為4個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)以及()。
A.階段性報(bào)告B.需求評(píng)審C.總結(jié)D.都不正確
57.可以在C語(yǔ)言程序中用做用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。
A.void123BBNB.aaabccasC.as+b3-123IfD.6fDoSIG
58.算法中的每一個(gè)步驟都必須是有明確意義的,不允許有模棱兩可的解釋?zhuān)膊辉试S有多義性,這個(gè)性質(zhì)稱(chēng)為
A.可行性B.有窮性C.正確性D.確定性
59.設(shè)intx=7,則~x的值是()。
A.-8B.-7C.-1D.1
60.有以下程序structSTU{charname[10]intnum;voidf1(structSTUc){structSTUb={"LiSiGuo",2042};c=b;}voidf2(structSTU*c){structSTUb={"SunDan",2044);*c=b;}main(){structSTUa={"YangSan",2041},b={"WangYin",2043};f1(a);f2(&b);printf("%d%d\n",a.num,b.num);}執(zhí)行后輸出結(jié)果是
A.20412044B.20412043C.20422044D.20422043
四、選擇題(20題)61.
62.(35)檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為_(kāi)_____。
A.確認(rèn)測(cè)試
B.集成測(cè)試
C.驗(yàn)證測(cè)試
D.驗(yàn)收測(cè)試
63.
64.下列說(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ù)
65.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。
A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4
66.
67.以下敘述中錯(cuò)誤的是()。
A)C語(yǔ)言是高級(jí)語(yǔ)言
B)C語(yǔ)言中的每條可執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
C)C語(yǔ)言產(chǎn)生的目標(biāo)程序后綴名為OBJ
D)C語(yǔ)言中的函數(shù)不可以單獨(dú)進(jìn)行編譯
68.
有以下程序:
#include<stdio.h>
main
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break:
else
i--;
}
i+=11:
a+=i:
}
printf("%d\n",a);
}
程序的輸出結(jié)果是()。
A.62B.63C.33D.32
69.在面向?qū)ο蠓椒ㄖ?,不屬于“?duì)象”基本特點(diǎn)的是A.一致性B.分類(lèi)性C.多態(tài)性D.標(biāo)識(shí)唯一性
70.下列敘述中錯(cuò)誤的是()。
A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)
B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率無(wú)關(guān)
C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)
D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的
71.下面函數(shù)的功能是()。
intfunc(char*x)
{char*y=x;
while(*y++);
return(y-x-1);
}
A.求字符串的長(zhǎng)度
B.比較兩個(gè)字符串的大小
C.將字符串x復(fù)制到字符串y
D.將字符串x連接到字符串y后面
72.
73.
已知有如下結(jié)構(gòu)體:
structsk
{inta;
floatb;
}data,*p;
若有P=&data,則對(duì)data的成員a引用正確的是()。
A.(*p).data.a(chǎn)B.(*p).a(chǎn);C.p->data.a(chǎn)D.p.data.a(chǎn)
74.c源程序中不能表示的數(shù)制是()。
A.二進(jìn)制B.八進(jìn)制C.十進(jìn)制D.十六進(jìn)制
75.
76.
77.
78.
79.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。
A.多態(tài)性B.繼承C.封裝性D.模塊化
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是逐個(gè)比較str1,str2兩個(gè)字符串對(duì)應(yīng)位置中的字符,把比ASCⅡ值大或相等的字符依次存放到str數(shù)組中,形成一個(gè)新的字符串。
例如,str1中的字符串為fshADfg,str2中的字符串為sdAEdi,則str中的字符串應(yīng)為sshEdig。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編一個(gè)函數(shù)fun(char*str),該函數(shù)的功能是把字符串中的內(nèi)容逆置。例如,字符串中原有的字符串為asdfg,則調(diào)用該函數(shù)后,串中的內(nèi)容為gfdsa。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.C
2.C
3.A
4.B
5.A
6.D
7.A
8.A解析:本題考核軟件維護(hù)的概念.維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長(zhǎng)、付出代價(jià)最大的階段,在軟件交付使用后,還需要進(jìn)行維護(hù)。軟件維護(hù)通常有以下四類(lèi):為糾正使用中出現(xiàn)的錯(cuò)誤而進(jìn)行的改正性維護(hù);為適應(yīng)環(huán)境變化而進(jìn)行的適應(yīng)性維護(hù);為改進(jìn)原有軟件而進(jìn)行的完善性維護(hù);為將來(lái)的可維護(hù)和可靠而進(jìn)行的預(yù)防性維護(hù)。軟件維護(hù)不僅包括程序代碼的維護(hù),還包括文檔的維護(hù)。綜上所述,本題的正確答案是A,其余選項(xiàng)的說(shuō)法錯(cuò)誤。
9.B解析:'\\0'作為標(biāo)志占用存儲(chǔ)空間,但是不計(jì)入串的實(shí)際長(zhǎng)度。當(dāng)給一個(gè)字符型指針賦值時(shí),賦給這個(gè)指針的是這個(gè)字符串的地址。
10.A順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)是3種基本結(jié)構(gòu),由3種基本結(jié)構(gòu)構(gòu)成的程序稱(chēng)為結(jié)構(gòu)化程序,由3種基本結(jié)構(gòu)組成的算法可以解決任何復(fù)雜的問(wèn)題,選項(xiàng)A錯(cuò)誤。本題答案為A選項(xiàng)。
11.A
12.A分塊查找是折半查找和順序查找的一種改進(jìn)方法,分塊查找要求索引表是有序的,對(duì)塊內(nèi)節(jié)點(diǎn)沒(méi)有排序要求,因此查找較快,且插入和刪除操作也比較方便。
13.CC程序中函數(shù)可以在說(shuō)明或定義時(shí)給一個(gè)或多個(gè)參數(shù)指定默認(rèn)值,但是不能在函數(shù)說(shuō)明定義時(shí)同時(shí)指定默認(rèn)參數(shù),默認(rèn)參數(shù)值應(yīng)該在函數(shù)名第一次出現(xiàn)時(shí)指定。
14.C
15.D解析:C語(yǔ)言的宏定義包括不帶參數(shù)的宏定義與帶參數(shù)的宏定義。本題為帶參數(shù)的宏定義,其形式為:
#define宏名(形參表)字符串
本題的M(a+b,b+c,c+a)被字符串a(chǎn)+b*b+c+c+a代替。
16.D
17.B所謂常量,是指在程序運(yùn)行的過(guò)程中,其值不能被改變的量。在C語(yǔ)言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類(lèi)型。選項(xiàng)A是字符串,需要使用雙引號(hào);選項(xiàng)C不是合法的常量形式;選項(xiàng)D為實(shí)型常量中的指數(shù)形式,但指數(shù)形式e(E)之前必須是數(shù)字,之后必須為整數(shù)。故本題答案為B選項(xiàng)。
18.A
19.D解析:通常,引用一個(gè)數(shù)組元素可以用下標(biāo)法,如a[P-a]形式,或指針?lè)ǎ?(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標(biāo)是從0開(kāi)始的。
20.A變量m、n的數(shù)據(jù)類(lèi)型未知,但題目中已定義并賦初值。選項(xiàng)B的語(yǔ)句缺少分號(hào)結(jié)尾。選項(xiàng)C,強(qiáng)制轉(zhuǎn)化使用錯(cuò)誤。選項(xiàng)D的“m*n”只能用作表達(dá)式的右值,不能作為左值。故本題答案為A選項(xiàng)。
21.#include<alloc.h>structstudentptr[i]->num==Ofree(ptr[i])#include<alloc.h>\r\nstructstudent\r\nptr[i]->num==O\r\nfree(ptr[i])
22.99解析:本題考查宏定義與三目運(yùn)算符的綜合用法,宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個(gè)表達(dá)式的值,否則為b+1的值為整個(gè)表達(dá)式的值,(應(yīng)注意后面的加1)。
23.p!=NULLcount++(*p).next
24.fopenfopen解析:C語(yǔ)言中的文件分為:ASCII文件與二進(jìn)制j文件。文件在使用前打開(kāi),使用后要關(guān)閉。打開(kāi)文件的函數(shù)為:fopen(),調(diào)用形式為:fp=fopen('文件名','使用文件方式:);
關(guān)閉文件的函數(shù)為:fclose(),調(diào)用形式為:fclose(fp);其中fp為文件指針。
25.QTHRGQTHRG解析:函數(shù)strcmp(t,s)用來(lái)比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。函數(shù)strcpy(t,s)的功能是,把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲(chǔ)空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語(yǔ)句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán),s='QTHRG',if語(yǔ)句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語(yǔ)句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲(chǔ)空間中,然后輸出字符數(shù)組t。
26.77解析:本題綜合考查帶參數(shù)的宏以及三目運(yùn)算符的計(jì)算方法。三目運(yùn)算符的一般形式是:<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>?!?:”運(yùn)算符的含義是:先求表達(dá)式1的值,如果為真,則求表達(dá)式2的值,并把它作為整個(gè)表達(dá)式的值;如果表達(dá)式1的值為假,則求表達(dá)式3的值,并把它作為整個(gè)表達(dá)式的值。注意,在本題中宏替換時(shí)可采用逐步求解,最終為7>6?7:6*10,即t=7>6?7:60,其值為t=7。
27.120120解析:靜態(tài)變量的類(lèi)型說(shuō)明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):
靜態(tài)變量的類(lèi)型說(shuō)明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):
①靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)類(lèi)別,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。
②對(duì)靜態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值—次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用函數(shù)時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。
③如在定義局部變量時(shí)不賦初值的話,則對(duì)靜態(tài)局部變量來(lái)說(shuō),編譯時(shí)自動(dòng)賦初值0(對(duì)數(shù)值型變量)或空字符(對(duì)字符變量)。(注意:C語(yǔ)言中非靜態(tài)變量在定義時(shí),系統(tǒng)并不會(huì)自動(dòng)給它賦初值)
④雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但其他函數(shù)是不能引用它的。本題中函數(shù)的功能是:與for語(yǔ)句一起求一個(gè)整數(shù)的階乘。
28.3535解析:函數(shù)swap(int*a,int*b)的功能是實(shí)現(xiàn)*a和*b中兩個(gè)數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,參形指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒(méi)有發(fā)生變化,所以輸出結(jié)果為35。
29.23
30.變換型典型的數(shù)據(jù)流類(lèi)型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過(guò)變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開(kāi)軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。
31.44解析:本題考查了靜態(tài)存儲(chǔ)類(lèi)別的局部變量的特點(diǎn)。靜態(tài)存儲(chǔ)類(lèi)別的局部變量在程序的整個(gè)生存周期內(nèi)都存在,但作用域卻只局限于定義它的函數(shù)或局部范圍。當(dāng)i=0時(shí)執(zhí)行第一次for循環(huán),k=f(2),a=c++,b++;因?yàn)橘x值運(yùn)算符的優(yōu)先級(jí)高于逗號(hào)運(yùn)算符,所以a=3,c=4;當(dāng)i=1時(shí)執(zhí)行第二次for循環(huán),k=f(3),a=c++,b++;因?yàn)閏為靜態(tài)局部變量所以保留著這一次執(zhí)行的結(jié)果值4,所以a=4,c=5,所以函數(shù)f()返回a的值為4。
32.鏈?zhǔn)酱鎯?chǔ)和順序存儲(chǔ)鏈?zhǔn)酱鎯?chǔ)和順序存儲(chǔ)
33.操作碼操作碼
34.66解析:本題變量z的值應(yīng)為最后一次給它賦的值,且最后一次for循環(huán)使prt指向a[2]
35.12341234解析:在%與格式符之間插入一個(gè)整形數(shù)來(lái)指這輸出寬度,并不影響數(shù)據(jù)的完整性,當(dāng)插入的寬度小于實(shí)際的寬度時(shí),則實(shí)際的寬度輸出。
36.2222解析:在main函數(shù)中,調(diào)用reverse函數(shù)將b數(shù)組中的前8個(gè)成員進(jìn)行互置,執(zhí)行完畢后,b數(shù)組中的成員為{8,7,6,5,4,3,2,1,9,10},然后再執(zhí)行for循環(huán)結(jié)構(gòu),將b[6],b[7]…b[9]的值相加,結(jié)果為22。
37.159261037114812159\r\n2610\r\n3711\r\n4812解析:程序的功能是將一個(gè)二維數(shù)組的行和列元素互換,存到另一個(gè)二維數(shù)組中。
38.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
39.66解析:條件運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符,因此本題先計(jì)算關(guān)系表達(dá)式(*ptr+y)<x)?*(ptr+y):x的值,再賦給變量z。當(dāng)y=0時(shí),*(ptr+y)=2,而x=8,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=2,所以z=2;當(dāng)y-1時(shí),*(ptr+y)=4,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=4,所以z=4;當(dāng)y=2時(shí),*(ptr+y)=6,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=6,所以z=6;循環(huán)結(jié)束。因此輸出z的結(jié)果為6。
40.繼承繼承解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,某些屬性和方法是可以共享的,由于類(lèi)從父類(lèi)中繼承而來(lái),這樣提高了軟件的可重用性。
41.D解析:C語(yǔ)言規(guī)定,在定義數(shù)組時(shí)數(shù)組名后的方括號(hào)中必須是常量表達(dá)式,不能包含變量。因此,選項(xiàng)D中用變量n來(lái)定義數(shù)組的大小是錯(cuò)誤的。故應(yīng)該選擇D。
42.D解析:p指向的a的首地址,由于C語(yǔ)言是行優(yōu)先存儲(chǔ)的,一維數(shù)組p就依次存放了a中從第0行到第2行的所有元素,因此a[1][i]就對(duì)應(yīng)了p[3]~p[5]。
43.D解析:每個(gè)C程序有且只有一個(gè)主函數(shù)(main),且程序必須從main()函數(shù)開(kāi)始執(zhí)行。別外main()函數(shù)可以放在程序中的任意位置。
44.C
45.A左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能是把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。例如,a<<4是把a(bǔ)的各二進(jìn)位向左移動(dòng)4位。如a=00000011(十進(jìn)制3),左移4位后為00110000(十進(jìn)制48)。
46.A解析:耦合度是對(duì)模塊間互相連接的緊密程度的度量;內(nèi)聚度是對(duì)一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度量。
47.D解析:本題考查兩個(gè)知識(shí)點(diǎn):①C語(yǔ)言用'\\n'這個(gè)字符常量表示換行;②函數(shù)getchar()的作用是從終端輸入一個(gè)字符,當(dāng)遇到換行時(shí)結(jié)束輸入。
48.C解析:C語(yǔ)言中可以同時(shí)定義多個(gè)變量,但變量之間必須用“,”隔開(kāi),顯然,選項(xiàng)A中少了一個(gè)逗號(hào)“,”,故選項(xiàng)A不正確;選項(xiàng)B中定義變量時(shí)用了連續(xù)的賦值語(yǔ)句,這在定義變量是不正確的,故選項(xiàng)B不正確:選項(xiàng)D定義了一個(gè)float型指針a,然后定義了一個(gè)float型變量b,并。讓這個(gè)變量的初值為指針變量a的地址,顯然這是錯(cuò)誤的,除非b是指向float型指針變量的指針。故選項(xiàng)D不正確,所以選項(xiàng)C符合題意。
49.C解析:分析程序可知,該程序?qū)崿F(xiàn)的功能是對(duì)數(shù)m,n求其最大公約數(shù)。在本題中m與n的值分別為65與14,其最大公約數(shù)為1,故其輸出結(jié)果為m=1。
50.D解析:本題考查的知識(shí)點(diǎn)是!和&&的運(yùn)算規(guī)則.本題中,&&左邊的表達(dá)式!(x+y)為!(3+7),結(jié)果為假,即為0。再加上2,然后減一,相當(dāng)于0+5-1=4。左邊等于4,&&右邊的表達(dá)式y(tǒng)+z/2相當(dāng)于4+5/2為6,所以整個(gè)表達(dá)式相當(dāng)于4&&6為真,即為1,所以選項(xiàng)D正確。
51.B解析:預(yù)處理命令行可以出現(xiàn)在C源程序的任何位置,故選項(xiàng)A不正確。#include<stdio.h>預(yù)處理命令行的意思是將stdio.h頭文件插入源程序中該行命令所在的位置,表示我們將在后續(xù)行中用到stdio.h頭文件中定義的函數(shù)或類(lèi)型,若程序中沒(méi)有用到這些函數(shù)或類(lèi)型就可以不用包含此頭文件,故選項(xiàng)C不正確。C提供的預(yù)處理功能主要有:宏定義、文件包含和條件編譯三種功能,故選項(xiàng)D不正確。在C語(yǔ)言中,預(yù)處理命令行都以”#”開(kāi)頭,故應(yīng)該選擇B。
52.B解析:用a+b替代宏H(x)中的參數(shù)x,用5替代N,則((N+2)*x)=((5+2)*a=b)=((5+2)*2+3)=17。
53.B解析:信息隱蔽是指在一個(gè)模塊內(nèi)包含的信息(過(guò)程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來(lái)說(shuō)是不合晰問(wèn)的。模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。衡量軟件的模塊獨(dú)立性的度量標(biāo)準(zhǔn)是耦合性和內(nèi)聚性。一個(gè)模塊的內(nèi)聚性越強(qiáng),則該模塊的模塊獨(dú)立性越強(qiáng)。而內(nèi)聚性是信息隱蔽和局部化概念的自然擴(kuò)長(zhǎng)。
54.A解析:本題考核的知識(shí)點(diǎn)是數(shù)組名作為函數(shù)參數(shù)的應(yīng)用.在malii()函數(shù)中定義了一個(gè)變量x,以及一個(gè)有9個(gè)元素的數(shù)組a,并且每個(gè)元素分別賦初值為1、2、3、4、5、6、7、8和9.執(zhí)行函數(shù)調(diào)用f(a,3,7),把a(bǔ)的首地址賦給形參b,把3和7分別賦給形參m和n。在f()函數(shù)中,for循環(huán)執(zhí)行了2次:第一次,i的值為3,相當(dāng)于執(zhí)行7語(yǔ)句“s=s+b[3]”,br3J的值就是a[3]的值4,故s的值變?yōu)?;第二次,i值為5,相當(dāng)于執(zhí)行了語(yǔ)句“s=s+b[5];”,b[5]的值6,故s的值變?yōu)?0。把s作為函數(shù)值返回并賦值給x。所以,4個(gè)選項(xiàng)中A為所選。
55.C解析:統(tǒng)計(jì)1~9九個(gè)數(shù)中的奇數(shù)和,此題考察指向數(shù)組的指針。C語(yǔ)言規(guī)定數(shù)組名代表數(shù)組的首地址,也就是第一個(gè)元素的地址。因此*(t+i)代表數(shù)組的第i+1個(gè)元素。程序運(yùn)行的結(jié)果是1+2+3+4+5+6+7+8+9=25。
56.B解析:需求分析是軟件定義時(shí)期的最后一個(gè)階段??梢愿爬?個(gè)方面:①需求獲??;②需求分析;⑧編寫(xiě)需求規(guī)格說(shuō)明書(shū);④需求評(píng)審。
57.B解析:C語(yǔ)言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下畫(huà)線組成,并且它的第一個(gè)字符必須是字母或者下畫(huà)線。
58.D解析:算法中的每一個(gè)步驟都必須是有明確意義的,不允許有多義性。算法的這個(gè)性質(zhì)即為算法的確定性。
59.A解析:本題主要考查按位求反運(yùn)算和C語(yǔ)言中正負(fù)數(shù)的表示,“0”代表正數(shù),“1”代表負(fù)數(shù);x=7的二進(jìn)制為00111,第一個(gè)0代表正數(shù),~x為11000,第一個(gè)1代表負(fù)數(shù),值為8。
60.A解析:本題考核的知識(shí)點(diǎn)是結(jié)構(gòu)體類(lèi)型的綜合應(yīng)用。本題中首先定義了一個(gè)結(jié)構(gòu)體類(lèi)型STU,它由一個(gè)字符數(shù)組和一個(gè)整形變量num組成。然后定義兩個(gè)函數(shù)n和n。其中n是值傳遞的,n是地址傳遞的。主函數(shù)中定義兩個(gè)結(jié)構(gòu)體變量a和b并分別賦初值,接著調(diào)用函數(shù)f1(a),由于函數(shù)f1是值傳遞,故執(zhí)行該函數(shù)后并沒(méi)有改變a的值,在接著調(diào)用函數(shù)f2(&b),由于該函數(shù)是地址傳遞,執(zhí)行該函數(shù)后將使變量b的值為{“SunDan”,2044},故函數(shù)最后輸出的a.num和b.num的值為2041和2044。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
61.D
62.A
63.A
64.D在C語(yǔ)言中,數(shù)組元素的個(gè)數(shù)是確定的,不允許隨機(jī)變動(dòng),數(shù)組定義好后,它所能容納的元素的個(gè)數(shù)也就確定了,并且同一個(gè)數(shù)組中所有元素都是同一類(lèi)型。
65.D解析:本題主要考查左移、右移對(duì)數(shù)據(jù)值的影響,左移n位相當(dāng)于乘以2的n次冪,右移n位相當(dāng)于除以2的n次冪。
66.D\r\n
67.DC語(yǔ)言是一種高級(jí)語(yǔ)言,用C語(yǔ)言編制成的程序成為源程序,經(jīng)編譯后產(chǎn)生目標(biāo)程序,后綴名為OBJ,C語(yǔ)言中的函數(shù)份為兩大類(lèi):庫(kù)函數(shù)和用戶自定義函數(shù),他們是可以進(jìn)行單獨(dú)編譯的。
68.D
\n本題考查while循環(huán)。當(dāng)i<20時(shí),進(jìn)入while循環(huán)體,循環(huán)體內(nèi)的for循環(huán)實(shí)現(xiàn)的功能是i%10==0,也就是說(shuō)當(dāng)i值為0或者l0的倍數(shù)的時(shí)候,跳出循環(huán),執(zhí)行i+=11;a+=i;,若i值不是10的倍數(shù),則一直執(zhí)行for循環(huán)i--。①當(dāng)i=0時(shí),執(zhí)行i+=11;a+=i;,i=11,a=11;②判斷i=10時(shí),跳出for循環(huán),執(zhí)行i+=11;a+=i;,i=21,a=32;③判斷i=21>20,不符合題意,結(jié)束循環(huán)。
\n
69.A對(duì)象具有如下特性:標(biāo)識(shí)唯一性、分類(lèi)性、多態(tài)性、封裝性、模塊獨(dú)立性。
70.BB。【解析】數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)分為順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu),一個(gè)數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)。順序結(jié)構(gòu)中數(shù)據(jù)元素所占的存儲(chǔ)空間是連續(xù)的,而鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,數(shù)據(jù)元素所占的存儲(chǔ)空間不一定是連續(xù)的。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)。
71.A首先將x指向的字符串的首地址賦給y,然后進(jìn)行掃描,知道遇到結(jié)束標(biāo)志0,y-x-1的意思就是求字符串的長(zhǎng)度,因?yàn)閥指向字符串的最后一個(gè)字符的下一位,而x指向字符的首地址。
72.A
73.B
\n本題主要考查結(jié)構(gòu)指針:P=&data,訪問(wèn)結(jié)構(gòu)體的成員。它可以通過(guò)結(jié)構(gòu)變量訪問(wèn),即data,可以用等價(jià)的指針形式:(*p).a(chǎn)和P->a來(lái)訪問(wèn)結(jié)構(gòu)體變量中的成員。
\n
74.AA?!窘馕觥緾語(yǔ)言源程序不能表示八進(jìn)制,在C語(yǔ)言中,所有的數(shù)值型常量都帶有符號(hào),所以整型數(shù)量只區(qū)別整型和長(zhǎng)整型兩種形式,整型常量和長(zhǎng)整型常量均可用十進(jìn)制、二進(jìn)制、十六進(jìn)制3種形式表示,故A不正確。
75.D
76.C
77.C
78.D
79.DD。【解析】面向?qū)ο笤O(shè)計(jì)方法與面向過(guò)程設(shè)計(jì)方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題。其特點(diǎn)包括:分類(lèi)性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)。
80.C
81.
【解析】題目中要求將ASCIl碼值較大的字符放到新的字符串中,因此if的條件判斷語(yǔ)句“if(*p>=*q)”應(yīng)改為“if(*p<=*q)”;在C語(yǔ)言中,每一條語(yǔ)句的結(jié)束是以“;”來(lái)標(biāo)識(shí)的,因此k++后應(yīng)該加上分號(hào)。
82.
【解析】在fun()函數(shù)中,首先求行字符串的長(zhǎng)度,然后通過(guò)循環(huán)進(jìn)行字符交換。要注意的是,如果字符串長(zhǎng)度是奇數(shù),則最中間的元素在逆置前后的位置是沒(méi)有改變的。
2021年寧夏回族自治區(qū)銀川市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.以下一維數(shù)組a正確的定義是()
A.inta(5)B.intn=5,a[n]C.inta[SZ]其中SZ為符號(hào)常量D.inta{5}
2.在JavaScript語(yǔ)言中,要定義局部變量則可以()。
A.由關(guān)鍵字private在函數(shù)內(nèi)定義
B.由關(guān)鍵字private在函數(shù)外定義
C.由var在函數(shù)內(nèi)定義
D.由關(guān)鍵字var在函數(shù)外定義
3.
4.有如下定義:inta[5],*p;p=a;則下列描述錯(cuò)誤的是()。
A.表達(dá)式p=p+1合法的B.表達(dá)式a=a+1是合法的C.表達(dá)式p-a是合法的D.表達(dá)式a+2是合法的
5.當(dāng)一個(gè)函數(shù)無(wú)返回值時(shí),定義它的函數(shù)類(lèi)型應(yīng)是()。
A.voidB.intC.任意D.無(wú)
6.
7.求2n個(gè)數(shù)中的最大值和最小值,最少的比較次數(shù)是()
A.4n/3B.2n-2C.3n-2D.3n/2
8.下列敘述中正確的足
A.軟件交付使用后還需要進(jìn)行維護(hù)
B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)
C.軟件交付使用后其生命周期就結(jié)束
D.軟件維護(hù)是指修復(fù)程序中被破壞的指令
9.下列關(guān)于字符串的說(shuō)法中錯(cuò)誤的是
A.在C語(yǔ)言中,字符串是借助于字符型一維數(shù)組來(lái)存放的,并規(guī)定以字符'\0'作為字符串結(jié)束標(biāo)志
B.'\0'作為標(biāo)志占用存儲(chǔ)空間,計(jì)入串的實(shí)際長(zhǎng)度
C.在表示字符串常量的時(shí)候不需要人為在其末尾加入'\0'
D.在C語(yǔ)言中,字符串常量隱含處理成以'\0'結(jié)尾
10.以下說(shuō)法錯(cuò)誤的是()。
A.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序不能解決過(guò)于復(fù)雜的問(wèn)題
B.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決一些簡(jiǎn)單的問(wèn)題
C.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決遞歸問(wèn)題
D.由3種基本結(jié)構(gòu)組成的結(jié)構(gòu)化程序能解決數(shù)學(xué)上有解析解的問(wèn)題
11.
12.查找較快,且插入和刪除操作也比較方便的查找方法是
A.分塊查找B.二分查找C.順序查找D.折半查找
13.在C++中,一個(gè)函數(shù)帶有參數(shù)說(shuō)明時(shí),則參數(shù)的默認(rèn)值應(yīng)該在()中給出。A.函數(shù)定義B.函數(shù)聲明C.函數(shù)定義或聲明D.函數(shù)調(diào)用
14.
15.以下程序的輸出結(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
16.
17.以下選項(xiàng)中合法的C語(yǔ)言常量是()。
A.‘C-STR’B.2014.1C.”\1.0D.2EK
18.當(dāng)接受用戶輸入的含有空格的字符串時(shí),應(yīng)使用()函數(shù)。
A.gets()B.getchar()C.scanf()D.printf()
19.若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對(duì)a數(shù)組元素不正確的引用是______。
A.a[p-a]B.*(&a[i])C.p[i]D.a[10]
20.若變量已正確定義并賦初值,以下合法的賦值語(yǔ)句是()。
A.k=(m==n);B.k=-m-nC.k=int(m+n);D.k=m*n=1;
二、2.填空題(20題)21.輸出若干學(xué)生3門(mén)課程的成績(jī)。
#include<stdio.h>
【】
structstudent
{intnum;
floatscore[3];
}
main()
{inti=0,n;
floata[3];
【】*ptr[200];
printf("請(qǐng)輸入學(xué)生學(xué)號(hào)和3門(mén)課成績(jī),學(xué)號(hào)為0表示數(shù)據(jù)輸入結(jié)束\n");
do
{ptr[i]=(structstudent*)malloc(sizeof(structstudent));
scanf("%d%f%f%f",&ptr[i]->num,&a[O],&a[1],&a[2]);
ptr[i]->score[O]=a[O];
ptr[i]->score[1]=a[1];
ptr[i]->score[2]=a[2];
if(【】)break;
i++;
}while(1);
n=i-1;
【】;
for(i=O;i<=n;i++)
printf("%-6d%.1f%.1f%.1f\n",ptr[i]->num,ptr[i]->score[0],
ptr[i]->score[1],ptr[i]->score[2]);}
22.以下程序的運(yùn)行結(jié)果是【】。
#defineMAX(a,b)(a>b?a:b)+1
main()
{inti=6,j=8,k;
printf("%d\n",MAX(i,j));
}
23.以下程序段用以統(tǒng)計(jì)鏈表中元素的個(gè)數(shù)。其中first指向鏈表第一個(gè)結(jié)點(diǎn),count用來(lái)統(tǒng)計(jì)結(jié)點(diǎn)個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>
structlink
{chardata;
structlink*next;
}
structlink*p,*first;
|
intcount=0;
p=first;
while(【】)
{
【】;
p=【】;
}
24.以下程序段打開(kāi)文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長(zhǎng)度,請(qǐng)?zhí)羁铡?/p>
FILE*myf;longf1;
myf=【】("test.t","rb");
fscek(myf,(),SEEK_END);f1+ftell(myf);
fclose(myf);
printf("%1d\n",f1);
25.設(shè)有下列程序:
#include<stdio.h>
#include<string.h>
main()
{inti;
chars[10],t[10];
gets(t);
for(i=0;i<2;i++)
{gets(s);
if(strcmp(t,s)<0)strcpy(t,s);
}
printf("%s\n",t);
}
程序運(yùn)行后,從鍵盤(pán)上輸入(<CR>代表回車(chē)符):DEF<CR>BADEF<CR>QTHRG<CR>,則程
序的輸出結(jié)果是______。
26.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
#defineMAX(x,y)(x),(y)?(x):(y)
main()
{inta=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf("%d\n",t);
}
27.以下程序輸出的最后個(gè)值是【】
intff(intn)
{staticintf=1;
f=f*n
returnf;
}
main()
{inti;
for(i=1;i<=5:i++)printf("%d、n",ff(i));}
28.以下程序的輸出結(jié)果是______。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\n",*p,*q);
}
29.有以下程序#include<stdio.h>typedefstruct{intnum;doubles;}REC;voidfunl(REC*x){x->num=23;x->s=88.5;}voidmain(){RECa={16,90.0};fun1(&A);printf("%d\n",a.num);}程序運(yùn)行后的輸出結(jié)果是()。
30.數(shù)據(jù)流圖的類(lèi)型有【】和事務(wù)型。
31.下列程序執(zhí)行輸出的結(jié)果是【】。
#include<stdio.h>
f(inta)
{intb=0;
staticc=3;
a=c++,b++;
return(a);}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);}
32.棧和隊(duì)列通常采用的存儲(chǔ)結(jié)構(gòu)是【】。
33.計(jì)算機(jī)指令是由【】和地址碼組成的。
34.下面程序的輸出是【】。
main()
{inta[]={2,4,6},*ptr=&a[0],x=8,y,z;
for(y=0;y<3;y++)z=(*(ptr+y)<x)?*(prt+y):x;
printf("%d\n",z);
}
35.以下程序的輸出結(jié)果是【】。
inta=1234;
printf("%2d\n",a);
36.以下程序的輸出結(jié)果是【】。
voidreverse(inta[],intn)
{inti,t;
for(i=0;i<n/2;i++)
{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf("%d\n",s);
}
37.以下程序的運(yùn)行結(jié)果為【】。
main()
{inti,j,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},b[4][3];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
b[j][i]=a[i][j];
for(i=0;i<4;i++)
{for(j=0;j<3;j++)
printf("%-3d",b[i][j]);
printf("\n");
}
}
38.長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。
39.下列程序的輸出結(jié)果是【】。
main()
{
inta[]={2,4,6},*ptr=&a[0],x=8,y,z;
for(y=0;y<3;y++)
z=(*(ptr+y)<x)?*(ptr+y):x;
printf("%d\n",z);
}
40.在面向?qū)ο蠓椒ㄖ?,?lèi)之間共享屬性和方法的機(jī)制稱(chēng)為_(kāi)_____。
三、1.選擇題(20題)41.若要求定義具有10個(gè)血型元素的一維數(shù)組a,則以下定義語(yǔ)句中錯(cuò)誤的是()。
A.#definmeN10inta[N];
B.#definen5inta[2*n];
C.inta[5+5];
D.intn=10,a[n];
42.有以下程序:main(){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;1++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][i]);程序運(yùn)行后的輸出結(jié)果是______。
A.012B.123C.234D.345
43.下列說(shuō)法正確的是()。
A.main函數(shù)必須放在C程序的最后面
B.main函數(shù)必須放在C程序的最前面
C.main函數(shù)可以放在C程序的中間部分,但在執(zhí)行C程序時(shí)是從程序開(kāi)頭執(zhí)行的
D.main函數(shù)可以放在C程序的中間部分,但在執(zhí)行C程序時(shí)是從main函數(shù)開(kāi)始的
44.下列程序的輸出結(jié)果是______。main(){intn;(n=6*4,n+6),n*2;printf("n=%d\n",n);}
A.22B.23C.24D.25
45.在位運(yùn)算中,操作數(shù)左移一位,其結(jié)果相當(dāng)于A.A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)除以4
D.操作數(shù)乘以4
46.兩個(gè)或兩個(gè)以上的模塊之間關(guān)聯(lián)的緊密程度稱(chēng)為_(kāi)_____。A.耦合度B.內(nèi)聚度C.復(fù)雜度D.數(shù)據(jù)傳輸特性
47.若變量已正確定義,下列正確的程序段是()。
A.while(ch=getchar()=='\N')putchar(ch);
B.while((ch=getchar())=='\n')putchar(ch);
C.while((ch=getchar())!='\N')putchar(ch);
D.while((ch=getchar())!='\n')putchar(ch);
48.以下定義語(yǔ)句中正確的是()。
A.chara='A'b='B';
B.floata=b=l0.0;
C.inta=l0,*b=&a;
D.float*a,b=&a;
49.運(yùn)行以下程序后,如果從鍵盤(pán)上輸入6514<回車(chē)>,則輸出結(jié)果為_(kāi)_____。main(){intm,n;printf("Enterm,n:");scanf("%d%d",&m,&n);while(m!=n){while(m>n)m-=n;while(n>m)n-=m;}printf("m=%d\n",m);}
A.m=3B.m=2C.m=1D.m=0
50.已有定義:intx=3,y=4,z=5;,則表達(dá)式!(x+y)+z-1&&y+z/2的值是
A.6B.0C.2D.1
51.以下敘述中正確的是______。A.預(yù)處理命令行必須位于C源程序的起始位置
B.在C語(yǔ)言中,預(yù)處理命令行都以"#"開(kāi)頭
C.每個(gè)C程序必須在開(kāi)頭包含預(yù)處理命令行:#include<stdio.h>
D.C語(yǔ)言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
52.執(zhí)行下列程序的結(jié)果是()。#defineN5#defineH(x)((N+2)*x)main(){inta=2,b=3,C;c=H(a+b);printf("%d",c);}
A.15B.17C.23D.35
53.信息隱蔽的概念與下述______概念直接相關(guān)。
A.軟件結(jié)構(gòu)定義B.模塊獨(dú)立性C.模塊類(lèi)型劃分D.模擬耦合度
54.以下程序的輸出結(jié)果是f(intb[],intm,intn){inti,s=0;for(i=m;i<n;i=i+2)s=s+b[i];returns;}main(){intx,a[]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf("%d\n",x);}
A.10B.18C.8D.15
55.有以下程序
main()
{inti,s=0,t[]={l,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}
程序執(zhí)行后的輸出結(jié)果是
A.45B.20C.25D.36
56.軟件需求分析階段的工作,可以分為4個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)以及()。
A.階段性報(bào)告B.需求評(píng)審C.總結(jié)D.都不正確
57.可以在C語(yǔ)言程序中用做用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是()。
A.void123BBNB.aaabccasC.as+b3-123IfD.6fDoSIG
58.算法中的每一個(gè)步驟都必須是有明確意義的,不允許有模棱兩可的解釋?zhuān)膊辉试S有多義性,這個(gè)性質(zhì)稱(chēng)為
A.可行性B.有窮性C.正確性D.確定性
59.設(shè)intx=7,則~x的值是()。
A.-8B.-7C.-1D.1
60.有以下程序structSTU{charname[10]intnum;voidf1(structSTUc){structSTUb={"LiSiGuo",2042};c=b;}voidf2(structSTU*c){structSTUb={"SunDan",2044);*c=b;}main(){structSTUa={"YangSan",2041},b={"WangYin",2043};f1(a);f2(&b);printf("%d%d\n",a.num,b.num);}執(zhí)行后輸出結(jié)果是
A.20412044B.20412043C.20422044D.20422043
四、選擇題(20題)61.
62.(35)檢查軟件產(chǎn)品是否符合需求定義的過(guò)程稱(chēng)為_(kāi)_____。
A.確認(rèn)測(cè)試
B.集成測(cè)試
C.驗(yàn)證測(cè)試
D.驗(yàn)收測(cè)試
63.
64.下列說(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ù)
65.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。
A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4
66.
67.以下敘述中錯(cuò)誤的是()。
A)C語(yǔ)言是高級(jí)語(yǔ)言
B)C語(yǔ)言中的每條可執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
C)C語(yǔ)言產(chǎn)生的目標(biāo)程序后綴名為OBJ
D)C語(yǔ)言中的函數(shù)不可以單獨(dú)進(jìn)行編譯
68.
有以下程序:
#include<stdio.h>
main
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break:
else
i--;
}
i+=11:
a+=i:
}
printf("%d\n",a);
}
程序的輸出結(jié)果是()。
A.62B.63C.33D.32
69.在面向?qū)ο蠓椒ㄖ?,不屬于“?duì)象”基本特點(diǎn)的是A.一致性B.分類(lèi)性C.多態(tài)性D.標(biāo)識(shí)唯一性
70.下列敘述中錯(cuò)誤的是()。
A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)
B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率無(wú)關(guān)
C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)
D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的
71.下面函數(shù)的功能是()。
intfunc(char*x)
{char*y=x;
while(*y++);
return(y-x-1);
}
A.求字符串的長(zhǎng)度
B.比較兩個(gè)字符串的大小
C.將字符串x復(fù)制到字符串y
D.將字符串x連接到字符串y后面
72.
73.
已知有如下結(jié)構(gòu)體:
structsk
{inta;
floatb;
}data,*p;
若有P=&data,則對(duì)data的成員a引用正確的是()。
A.(*p).data.a(chǎn)B.(*p).a(chǎn);C.p->data.a(chǎn)D.p.data.a(chǎn)
74.c源程序中不能表示的數(shù)制是()。
A.二進(jìn)制B.八進(jìn)制C.十進(jìn)制D.十六進(jìn)制
75.
76.
77.
78.
79.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。
A.多態(tài)性B.繼承C.封裝性D.模塊化
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是逐個(gè)比較str1,str2兩個(gè)字符串對(duì)應(yīng)位置中的字符,把比ASCⅡ值大或相等的字符依次存放到str數(shù)組中,形成一個(gè)新的字符串。
例如,str1中的字符串為fshADfg,str2中的字符串為sdAEdi,則str中的字符串應(yīng)為sshEdig。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編一個(gè)函數(shù)fun(char*str),該函數(shù)的功能是把字符串中的內(nèi)容逆置。例如,字符串中原有的字符串為asdfg,則調(diào)用該函數(shù)后,串中的內(nèi)容為gfdsa。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.C
2.C
3.A
4.B
5.A
6.D
7.A
8.A解析:本題考核軟件維護(hù)的概念.維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長(zhǎng)、付出代價(jià)最大的階段,在軟件交付使用后,還需要進(jìn)行維護(hù)。軟件維護(hù)通常有以下四類(lèi):為糾正使用中出現(xiàn)的錯(cuò)誤而進(jìn)行的改正性維護(hù);為適應(yīng)環(huán)境變化而進(jìn)行的適應(yīng)性維護(hù);為改進(jìn)原有軟件而進(jìn)行的完善性維護(hù);為將來(lái)的可維護(hù)和可靠而進(jìn)行的預(yù)防性維護(hù)。軟件維護(hù)不僅包括程序代碼的維護(hù),還包括文檔的維護(hù)。綜上所述,本題的正確答案是A,其余選項(xiàng)的說(shuō)法錯(cuò)誤。
9.B解析:'\\0'作為標(biāo)志占用存儲(chǔ)空間,但是不計(jì)入串的實(shí)際長(zhǎng)度。當(dāng)給一個(gè)字符型指針賦值時(shí),賦給這個(gè)指針的是這個(gè)字符串的地址。
10.A順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)是3種基本結(jié)構(gòu),由3種基本結(jié)構(gòu)構(gòu)成的程序稱(chēng)為結(jié)構(gòu)化程序,由3種基本結(jié)構(gòu)組成的算法可以解決任何復(fù)雜的問(wèn)題,選項(xiàng)A錯(cuò)誤。本題答案為A選項(xiàng)。
11.A
12.A分塊查找是折半查找和順序查找的一種改進(jìn)方法,分塊查找要求索引表是有序的,對(duì)塊內(nèi)節(jié)點(diǎn)沒(méi)有排序要求,因此查找較快,且插入和刪除操作也比較方便。
13.CC程序中函數(shù)可以在說(shuō)明或定義時(shí)給一個(gè)或多個(gè)參數(shù)指定默認(rèn)值,但是不能在函數(shù)說(shuō)明定義時(shí)同時(shí)指定默認(rèn)參數(shù),默認(rèn)參數(shù)值應(yīng)該在函數(shù)名第一次出現(xiàn)時(shí)指定。
14.C
15.D解析:C語(yǔ)言的宏定義包括不帶參數(shù)的宏定義與帶參數(shù)的宏定義。本題為帶參數(shù)的宏定義,其形式為:
#define宏名(形參表)字符串
本題的M(a+b,b+c,c+a)被字符串a(chǎn)+b*b+c+c+a代替。
16.D
17.B所謂常量,是指在程序運(yùn)行的過(guò)程中,其值不能被改變的量。在C語(yǔ)言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類(lèi)型。選項(xiàng)A是字符串,需要使用雙引號(hào);選項(xiàng)C不是合法的常量形式;選項(xiàng)D為實(shí)型常量中的指數(shù)形式,但指數(shù)形式e(E)之前必須是數(shù)字,之后必須為整數(shù)。故本題答案為B選項(xiàng)。
18.A
19.D解析:通常,引用一個(gè)數(shù)組元素可以用下標(biāo)法,如a[P-a]形式,或指針?lè)ǎ?(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標(biāo)是從0開(kāi)始的。
20.A變量m、n的數(shù)據(jù)類(lèi)型未知,但題目中已定義并賦初值。選項(xiàng)B的語(yǔ)句缺少分號(hào)結(jié)尾。選項(xiàng)C,強(qiáng)制轉(zhuǎn)化使用錯(cuò)誤。選項(xiàng)D的“m*n”只能用作表達(dá)式的右值,不能作為左值。故本題答案為A選項(xiàng)。
21.#include<alloc.h>structstudentptr[i]->num==Ofree(ptr[i])#include<alloc.h>\r\nstructstudent\r\nptr[i]->num==O\r\nfree(ptr[i])
22.99解析:本題考查宏定義與三目運(yùn)算符的綜合用法,宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個(gè)表達(dá)式的值,否則為b+1的值為整個(gè)表達(dá)式的值,(應(yīng)注意后面的加1)。
23.p!=NULLcount++(*p).next
24.fopenfopen解析:C語(yǔ)言中的文件分為:ASCII文件與二進(jìn)制j文件。文件在使用前打開(kāi),使用后要關(guān)閉。打開(kāi)文件的函數(shù)為:fopen(),調(diào)用形式為:fp=fopen('文件名','使用文件方式:);
關(guān)閉文件的函數(shù)為:fclose(),調(diào)用形式為:fclose(fp);其中fp為文件指針。
25.QTHRGQTHRG解析:函數(shù)strcmp(t,s)用來(lái)比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。函數(shù)strcpy(t,s)的功能是,把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲(chǔ)空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語(yǔ)句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán),s='QTHRG',if語(yǔ)句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語(yǔ)句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指存儲(chǔ)空間中,然后輸出字符數(shù)組t。
26.77解析:本題綜合考查帶參數(shù)的宏以及三目運(yùn)算符的計(jì)算方法。三目運(yùn)算符的一般形式是:<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>?!?:”運(yùn)算符的含義是:先求表達(dá)式1的值,如果為真,則求表達(dá)式2的值,并把它作為整個(gè)表達(dá)式的值;如果表達(dá)式1的值為假,則求表達(dá)式3的值,并把它作為整個(gè)表達(dá)式的值。注意,在本題中宏替換時(shí)可采用逐步求解,最終為7>6?7:6*10,即t=7>6?7:60,其值為t=7。
27.120120解析:靜態(tài)變量的類(lèi)型說(shuō)明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):
靜態(tài)變量的類(lèi)型說(shuō)明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):
①靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)類(lèi)別,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。
②對(duì)靜態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值—次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用函數(shù)時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。
③如在定義局部變量時(shí)不賦初值的話,則對(duì)靜態(tài)局部變量來(lái)說(shuō),編譯時(shí)自動(dòng)賦初值0(對(duì)數(shù)值型變量)或空字符(對(duì)字符變量)。(注意:C語(yǔ)言中非靜態(tài)變量在定義時(shí),系統(tǒng)并不會(huì)自動(dòng)給它賦初值)
④雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但其他函數(shù)是不能引用它的。本題中函數(shù)的功能是:與for語(yǔ)句一起求一個(gè)整數(shù)的階乘。
28.3535解析:函數(shù)swap(int*a,int*b)的功能是實(shí)現(xiàn)*a和*b中兩個(gè)數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,參形指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒(méi)有發(fā)生變化,所以輸出結(jié)果為35。
29.23
30.變換型典型的數(shù)據(jù)流類(lèi)型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過(guò)變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開(kāi)軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。
31.44解析:本題考查了靜態(tài)存儲(chǔ)類(lèi)別的局部變量的特點(diǎn)。靜態(tài)存儲(chǔ)類(lè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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國(guó)木孔鉆頭行業(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 2025年醫(yī)療設(shè)備專(zhuān)用零部件全球采購(gòu)合同
- 2025年夜景照明工程安全施工管理合同
- 2025年度戶口遷移與旅游項(xiàng)目投資合作合同
- 2025年度人工智能輔助診斷系統(tǒng)合同
- 2025年度數(shù)字廣告技術(shù)解決方案采購(gòu)合同樣本
- 2025年度新能源材料與技術(shù)展覽會(huì)現(xiàn)場(chǎng)搭建與展示合同
- 2025年度工程咨詢(xún)居間服務(wù)合同范本
- 2025年度公立幼兒園教育資源承包合同
- 2025年度合租房租賃房屋維修責(zé)任及費(fèi)用承擔(dān)合同
- 文檔協(xié)同編輯-深度研究
- 七年級(jí)數(shù)學(xué)新北師大版(2024)下冊(cè)第一章《整式的乘除》單元檢測(cè)習(xí)題(含簡(jiǎn)單答案)
- 2024-2025學(xué)年云南省昆明市盤(pán)龍區(qū)高一(上)期末數(shù)學(xué)試卷(含答案)
- 五年級(jí)上冊(cè)寒假作業(yè)答案(人教版)
- 2024年財(cái)政部會(huì)計(jì)法律法規(guī)答題活動(dòng)題目及答案一
- 2025年中考語(yǔ)文復(fù)習(xí)熱搜題速遞之說(shuō)明文閱讀(2024年7月)
- 和達(dá)投資集團(tuán)(杭州)有限公司招聘筆試沖刺題2025
- 政企單位春節(jié)元宵猜燈謎活動(dòng)謎語(yǔ)200個(gè)(含謎底)
- 綜治工作培訓(xùn)課件
- 2024年云網(wǎng)安全應(yīng)知應(yīng)會(huì)考試題庫(kù)
- 2024年全國(guó)職業(yè)院校技能大賽高職組(智能節(jié)水系統(tǒng)設(shè)計(jì)與安裝賽項(xiàng))考試題庫(kù)-下(多選、判斷題)
評(píng)論
0/150
提交評(píng)論