![2021-2022年福建省廈門市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測試卷(含答案)_第1頁](http://file4.renrendoc.com/view/525e5aac08be39fdb6510cbc7e7e2196/525e5aac08be39fdb6510cbc7e7e21961.gif)
![2021-2022年福建省廈門市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測試卷(含答案)_第2頁](http://file4.renrendoc.com/view/525e5aac08be39fdb6510cbc7e7e2196/525e5aac08be39fdb6510cbc7e7e21962.gif)
![2021-2022年福建省廈門市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測試卷(含答案)_第3頁](http://file4.renrendoc.com/view/525e5aac08be39fdb6510cbc7e7e2196/525e5aac08be39fdb6510cbc7e7e21963.gif)
![2021-2022年福建省廈門市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測試卷(含答案)_第4頁](http://file4.renrendoc.com/view/525e5aac08be39fdb6510cbc7e7e2196/525e5aac08be39fdb6510cbc7e7e21964.gif)
![2021-2022年福建省廈門市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測試卷(含答案)_第5頁](http://file4.renrendoc.com/view/525e5aac08be39fdb6510cbc7e7e2196/525e5aac08be39fdb6510cbc7e7e21965.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年福建省廈門市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.在單鏈表中,增加頭結(jié)點(diǎn)的目的是()。
A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說明單鏈表是線性的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)
2.對(duì)一個(gè)算法的評(píng)價(jià),不包括()方面的內(nèi)容。
A.健壯性和可讀性B.并行性C.正確性D.時(shí)空復(fù)雜度
3.
4.下列關(guān)系模型中,能使經(jīng)運(yùn)算后得到的新關(guān)系中屬性個(gè)數(shù)多于原來關(guān)系中屬性個(gè)數(shù)的是
A.選擇B.連接C.投影D.并
5.已知shortint類型變量占用兩個(gè)字節(jié),若有定義:shortintx[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是()。
A.3B.6C.10D.20
6.
7.有下列程序:fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printf("%d,",k);k=fun(j,m);printf("%d\n",k);}執(zhí)行后的輸出結(jié)果是()。
A.5,5B.5,11C.11,11D.11,5
8.
9.設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是()。
A.(x=y=6,x+y,x+1)
B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y)
D.(y=6,y+l,x=y,x+1)
10.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的描述錯(cuò)誤的是()。
A.選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口
B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)
C.不允許使用GOTO語句
D.語言中若沒有控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬
11.
12.下列代碼的復(fù)雜度是多少?如果多于1個(gè)答案正確,選擇最小的那個(gè)。()A.O(n*m*m)B.O(n*log(m)*m)C.O(n+m+m)D.O(n*m)
13.對(duì)于一個(gè)正常運(yùn)行的C程序,下列敘述中正確的是()。A.A.程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束
B.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在main函數(shù)結(jié)束
C.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束
D.程序的執(zhí)行總是從程序中的第一個(gè)函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束
14.以下選項(xiàng)中,合法的一組C語苦數(shù)值常量是()。
A.28.5e-3-0xf
B.12OXa234.5
C.1774c1.5Oabc
D.0x8A10,0003.e5
15.
16.有以下程序:#include#definePT3.5;#defineS(x)PT*x*x;Main(){inta=1,b=2;printf("%4.1f\n",S(a+b));程序運(yùn)行后的輸出結(jié)果是()。A.7.5B.31.5C.程序有錯(cuò)無輸出結(jié)果D.14.0
17.若有以下說明和定義:則對(duì)函數(shù)fun的正確調(diào)用語句是()。A.(*a)(&c);B.a=a(x);C.b=*b(x);D.fun(b);
18.下面哪個(gè)不是用來解決哈希表沖突的開放地址法()
A.線性探測法B.線性補(bǔ)償探測法C.拉鏈探測法D.隨機(jī)探測法
19.有以下程序:#include<stdio.h>voidfun(doublex,double*y,double*z){*y=*y-1.0;*z=*z+x;}main(){doublea=2.5,b=9.0,*pa,*pb;pa=&a;pb=&b;fun(b-a,pa,pb);printf(“%f\n”,a);}程序運(yùn)行后的輸出結(jié)果是()。
A.8.000000B.9.000000C.1.500000D.10.500000
20.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是______。A.o115B.0118C.1.5e1.5D.115L
二、2.填空題(20題)21.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
22.以下程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a、b、c輸入三角形三條邊長時(shí),確定a、b、c能構(gòu)成三角形的條件是需同時(shí)滿足三個(gè)條件:a+b>c,a+c>b,b+c>a。請(qǐng)?zhí)羁铡?/p>
main()
{floata,b,c;
scanf("%f%f%f",&a,&b,&c);
if(【】)printf("YES\n");/*abc能構(gòu)成三角形*/
elseprintf("NO\n");/*abc不能構(gòu)成三角形*/
}
23.設(shè)有定義“struct{inta;floatb;charc;}abc,*p_abc=&abc;”,則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc【】a。
24.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{inti,m=0,n=0,k=0;
for(i=9;i<=11;i++)
switch(i/10)
{case0:m++;n++;break;
case10:n++;break;
default:k++;n++;
}
printf("%d%d%d\n",m,n,k);
}
25.以下程序運(yùn)行后的輸出結(jié)果是______。
inta=5;
fun(intB)
{staticinta=10;
a+=b++;
printf("%d",A);
}
main()
{intc=20;
fun(C),
a+=C++;
printf("%d\n",A);
}
26.軟件測試的方法有動(dòng)態(tài)測試、靜態(tài)測試和【】13種。
27.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta,b,c,n;
a=2;b=0;c=1;n=1;
while(n<=3)
{c=c*a;b=b+c;++n;}
printf("b=%d",B);
}
28.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{intX=10,y=20,t=0;
if(X==y)t=x;x=y;y=t;
printf("%d,%d\n",x,y);
}
29.在軟件開發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法??尚行匝芯侩A段采用的是【】。
30.語句"int(*ptr)();"的含義是______是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)。
31.有以下語句段
intn1=10,n2=20;
printf("【】",n1,n2);
要求按以下格式輸出n1和n2的值,每個(gè)輸出行從第一列開始,請(qǐng)?zhí)羁铡?/p>
n1=10
n2=20
32.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
33.有以下定義和語句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。
structdate
{intday;
intmouth;
intyear;
union{intshare1;
floatshare2;
}share;
}a;
34.在Windows環(huán)境下,可以將窗口最小化為【】。
35.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有______。
36.用以下語句調(diào)用庫函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁?。st=(char*)【】;
37.下列表達(dá)式用于判斷y是否為閏年。閏年的判斷條件是:年號(hào)能被4整除但不能被100整除或年號(hào)能被400整除,請(qǐng)?zhí)羁誣_____。
38.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta,b,c;
a=3;b=4;c=5;
if(a>b)
if(a>c)
printf("%d",a);
elseprintf("%d",b);
printf("%d\n",c);
}
39.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
msin()
{inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
40.下列程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{unionEXAMPLE
{struct
{intx;inty;}in;
inta;
intb;
}e;
e.a=1;e.b=2;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf("%d,%d\n",e.in.x,e.in.y);
}
三、1.選擇題(20題)41.需求分析階段的任務(wù)是()
A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費(fèi)用D.軟件系統(tǒng)功能
42.有以下程序:#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
43.有以下程序#include<stdio.h>main(){intk=5,n=0;while(k>0){switch(k){defhult:break;case1:n+=k:case2:case3:n+=k;}k--;}printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是()
A.0B.4C.6D.7
44.變量m的值為8,m的地址為1010,若欲使p為指向m的指針變量,則下列賦值正確的是()。
A.&m=8B.*p=8C.*p=1010D.p=&m
45.以下關(guān)于函數(shù)的敘述中正確的是______。A.每個(gè)函數(shù)都可以被其他函數(shù)調(diào)用(包括main函數(shù))
B.每個(gè)函數(shù)都可以被單獨(dú)編譯
C.每個(gè)函數(shù)都可以單獨(dú)運(yùn)行
D.在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)
46.以下敘述中正確的是()
A.在C程序中,語句之間必須要用分號(hào)(;)分隔
B.在C程序中#include行和#define行不是C語句
C.程序中的注釋部分可有可無,通??梢允÷?/p>
D.當(dāng)輸入數(shù)值數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型值:對(duì)于實(shí)型變量只能輸入實(shí)型值
47.有以下程序
intfun1(doublea){returna*=a;}
intfun2(doublex,doubley)
{doublea=0,b=0;
a=fun1(x);b=fun1(y);return(int)(a+b);
}
main()
{doublew;w=fun2(1.1,2.0);……}
程序執(zhí)行后變量w中的值是A.5.21B.5C.5.0D.0.0
48.下列敘述中錯(cuò)誤的是()。
A.在C語言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容
C.在C語言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別
D.在C語言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量
49.有以下程序:main(){inty=1,x=2,z=3;printf("%d,%d\n",(++x,y++),z+2);}執(zhí)行后的輸出結(jié)果是()。
A.3,5B.2,5C.3,3D.1,5
50.軟件需求分析階段的工作,可以分為四個(gè)方面需求獲取,需求分析,編寫需求規(guī)格說明書,以及()A.階段性報(bào)告B.需求評(píng)審C.總結(jié)D.以上都不正確
51.以下數(shù)組定義中不正確的是_______。
A.inta[2][3];
B.intb[][3]={0,1,2};
C.intc[100][100={0};
D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
52.判斷char型變量c1是否為大寫字母的正確表達(dá)式是
A.'A'<=c1<='Z'
B.(c1>=A)&&(c1<=Z)
C.('A'>=c1)||('Z'<=c1)
D.(c1>='A')&&(c1<='Z')
53.有以下程序:main(){inti=1,j=2,k=3;if(i++==l&&(++j==3||k++==3))printf("%d%d%d\n",i,j,k):}程序運(yùn)行后的輸出結(jié)果是()。
A.123B.234C.223D.233
54.若有定義:inta[3][4],()不能表示數(shù)組元素a[1][1]。
A.*(a[1]+1)B.*(&a[1][1])C.(*(a+1))[1]D.*(a+5)
55.有以下程序main(){ihta[]{2,4,6,9,10},y=0,x,*p;p=&a[1];for(x=1);X<3;x++)y+=p[x];printf("%d\n",y);程序運(yùn)行后的輸出結(jié)果是
A.10B.11C.14D.15
56.如下程序的執(zhí)行結(jié)果是()main(){intn=1;printf("%d%d%\n",n,++n,n--);}
A.111B.122C.123D.121
57.有以下程序:voidswap(char*x,char*y){chart;t=*x,*x=*y;*y=t;}main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是()。
A.123,abcB.abc,123C.1bc,a23D.321,cba
58.設(shè)有定義:floata=2,b=4,h=3;,以下C語言表達(dá)式中與代數(shù)式計(jì)算結(jié)果不相符的是
A.(a+b)*h/2B.(1/2)*(a+b)*hC.(a+b)*h*1/2D.h/2*(a+b)
59.有以下程序:main(){intk=5,n=0;while(k>0);{switch(k){default;break;case1:n+=k;case2;case3:n+=k;}k--;}printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是______。
A.0B.4C.6D.7
60.假定當(dāng)前盤符下有兩個(gè)如下文本文件:
文件名a1.txta2.txt
內(nèi)容123#321#
則下面程序段執(zhí)行后的結(jié)果為
#include"stdio.h"
voidfc(FILE*p)
{charc;
while((c=fgetc(p))!=′#′)putchar(c);}
main()
{FILE*fp;
fp=fopen("a1.txt","r");
fc(fp);
fclose(fp);
fp=fopen("a2.txt","r");
fc(fp);
fclose(fp);
putchar('\n');}
A.123321B.123C.321D.以上答案都不正確
四、選擇題(20題)61.
62.在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是()。A.A.數(shù)據(jù)庫系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據(jù)項(xiàng)管理
63.若變量均已正確定義并賦值,以下合法的C語言賦值語句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
64.
65.有以下程序
structSTU
{
charname[10];
intnum;
intScore;
};
main()
{
structSTUs[5]={{"YangSan",20041,703},
{"LiSiGuo",20042,580},
{"WangYin",20043,680},
{"SunDan",20044,550},
{"Penghua",20045,537}},*p[5],*t;
inti,j;
for(i=0;i<5;i++)
p[i]=&s[i];
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(p[i]->Score>p[j]->Score)
{
t=p[i];
p[i]=p[j];
p[j]=t;
}
printf("%d%d\n",s[1].Score,p[1]->Score);
}
程序運(yùn)行后的輸出結(jié)果是
A.550550B.580550
C.680680D.580680
66.下面程序運(yùn)行后的輸出結(jié)果是()。
structabc
{
inta,b,c;
}
main()
{
structabcs[2]={{1,2,3},{4,5,6}};
intt;
t=s[0].a+s[1].b;
printf("%d\n",t);
}
A.5B.6C.7D.8
67.
在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。
A.(!E==0)B.(E>0C.D.E<0)E.(E==0)F.(E!=0)
68.以下選項(xiàng)中合法的標(biāo)識(shí)符是()。
69.以下選項(xiàng)中,不能作為合法常量的是
A.1.24e03B.1.34e0.3C.1.24e+3D.1.34e0
70.若程序中有以下說明和定義。
structabc
{
intx;chary;
}
structabcs1,s2;
則會(huì)發(fā)生的情況是
A.編譯時(shí)出錯(cuò)B.程序?qū)㈨樞蚓幾g、連接、執(zhí)行
C.能順序通過編譯、連接,但不能執(zhí)行D.能順序通過編譯,但連接出錯(cuò)
71.
72.
73.
以下程序執(zhí)行后sum的值是()。
main
{inti,sum;
for(i=1;i<6;i++)sum+=i:
printf("1%d\n",sum):
}
A.15B.14C.不確定D.0
74.對(duì)表達(dá)式for(表達(dá)式1;;表達(dá)式3)可理解為()。
A.for(表達(dá)式1;0;表達(dá)式3)
B.for(表達(dá)式1;1;表達(dá)式3)
C.for(表達(dá)式1;表達(dá)式1;表達(dá)式3)
D.for(表達(dá)式1;表達(dá)式3;表達(dá)式3)
75.下面描述中錯(cuò)誤的是()。
A.系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)
B.軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過程
C.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一
D.PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具
76.有以下程序
main()
{intx,y;
scanf("%d",&x);
y=x>12?x+10:x-12;
printf("%d\n",y);
}
若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是
A.0B.22
C.12D.10
77.定義無符號(hào)整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是()。
A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}
78.
79.有以下程序
程序運(yùn)行后的輸出結(jié)果是()。
A.6,2,3,4,5,B.2,2,3,4,5,C.1,2,3,4,5,D.2,3,4,5,6,
80.
五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:計(jì)算并輸出k以內(nèi)最大的10個(gè)能被15或18整除的自然數(shù)之和,k的值由主函數(shù)傳人。若k的值為800,則函數(shù)的值為7605。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編一個(gè)函數(shù)fun(ohlr*str),該函數(shù)的功能是把字符串中的內(nèi)容逆置。
例如,字符串中原有的字符串為asdf9,則調(diào)用該函數(shù)后,串中的內(nèi)容為9fdsa。
請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所編寫的若干語句。
試題程序:
#include<string.h>
#include<conio.h>
#include<stdio.h>
#defineN100
voidfun(char*str)
{
}
voidmain
{
chara[N];
FILE*out:
printf("Enterastring:");
gets(a);
printf("Theorigiralstringis:");
puts(a);
fun(a):
printf("Thestringaftermodified:");
puts(a);
strcpy(a,"Welcome!");
fun(a);
ut=fopen("outfile.dat","w");
fprintf(out,"%s".a(chǎn));
fclose(out);
}
參考答案
1.A根據(jù)單位鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。
2.B
3.A
4.B解析:本題主要考查關(guān)系模型中幾種運(yùn)算的特征。經(jīng)過選擇或投影運(yùn)算得到的新關(guān)系的屬性個(gè)數(shù)最多不會(huì)超過原關(guān)系中的屬性個(gè)數(shù)。經(jīng)過連接運(yùn)算得到的新關(guān)系最多不少于原關(guān)系中屬性的個(gè)數(shù)。故選項(xiàng)B正確。
5.D
6.D
7.B解析:子函數(shù)fun(intx,inty),將變量m和i聲明為局部靜態(tài)變量,因此第1次調(diào)用主函數(shù)后,局部靜態(tài)變量m和i的值為5和3,第1次函數(shù)調(diào)用結(jié)束時(shí),它們的值不釋放保持不變,所以第2次調(diào)用時(shí),局部靜態(tài)變量m和i的初始值分別為5和3,即在執(zhí)行“i+=m+1”時(shí),i的值為9,因此最終m的值為11。
8.A
9.C
10.C結(jié)構(gòu)化程序設(shè)計(jì)的原則和方法之一是限制使用GOT0語句,但不是絕對(duì)不允許使用GOT0語句。其他三項(xiàng)為結(jié)構(gòu)化程序設(shè)計(jì)的原則。
11.A
12.D
13.A解析:一個(gè)C語言源程序無論包括了多少函數(shù),總是從main函數(shù)開始執(zhí)行,從main函數(shù)結(jié)束。
14.B
15.D
16.C宏定義不是C語句,末尾不需要有分號(hào)。所以語句Printf("%4.1f\\n",,S(a+b));展開后為printf("%4.1f\\n",3.5;*a+b*a+b;);所以程序會(huì)出現(xiàn)語法錯(cuò)誤。
17.A題干中,函數(shù)fun接收一個(gè)整型指針參數(shù),返回值為int類型。main函數(shù)首先定義一個(gè)函數(shù)指針a,將函數(shù)fun的地址賦給a,所以a是指向函數(shù)fun的指針,可以通過a調(diào)用函數(shù)fun。選項(xiàng)A中,通過a調(diào)用函數(shù)fun,可以使用(*a),接收的參數(shù)是整型變量c的地址,正確;選項(xiàng)B中,參數(shù)x是一個(gè)數(shù)組,錯(cuò)誤;選項(xiàng)C中,調(diào)用b函數(shù),由于程序沒有給出函數(shù)b的定義,因此這里調(diào)用b是錯(cuò)誤的,而且函數(shù)b是沒有參數(shù)的,這里調(diào)用b的時(shí)候傳入了參數(shù),所以C錯(cuò)誤;選項(xiàng)D中,由于b是一個(gè)函數(shù),不能作為整型指針變量傳給fun函數(shù),因此D錯(cuò)誤。本題答案為A選項(xiàng)。
18.C
19.Cmain函數(shù)定義兩個(gè)double類型的變量a、b,分別賦初值為2.5、9.0。另外定義兩個(gè)double類型的指針變量pa、pb,其中pa指向a,pb指向b。然后將b-a、pa、pb傳給函數(shù)fun,此時(shí)x的值為6.5,y指向a,z指向b?!?y=*y-1.0;”是將變量a的值減去1.0賦給a,a的值為1.5;“*z=*z+x;”是將變量b的值加上6.5賦給b,b的值為15.5。fun函數(shù)執(zhí)行完畢后,輸出a的值為1.5。故本題答案為C選項(xiàng)。
20.D在C語言中,有整型常量、實(shí)型常量、字符常量和字符串常量等類型。整型常量和實(shí)型常量又稱數(shù)值型常量。基本整型常量只能用數(shù)字表示,不帶小數(shù)點(diǎn),例如12、-1和0等,在VC6.0中可以在整型常量的后面加—個(gè)字母l(L的小寫)或L;實(shí)型常量必須用帶小數(shù)點(diǎn)的數(shù)表示,例如3.14159、-2.71828、0.0等;選項(xiàng)A中字母o不符合要求,選頂B中超出八進(jìn)制的范圍,選項(xiàng)C中e后面的不為整數(shù),因此選頂D是正確的。
21.軟件開發(fā)
22.(a+b>c)&&(a+c>b)&&(b+c>a)(a+b>c)&&(a+c>b)&&(b+c>a)解析:三角形形式的條件是兩邊之和大于第三邊。要用'&&'指令連接三個(gè)條件,表示三個(gè)條件都要滿足。
23.->->解析:若結(jié)構(gòu)體變量abc有成員a,并有指針p_abc指向結(jié)構(gòu)變量abc,則引用變量abc成員a的標(biāo)記形式有abc.a和p_abc->a。
24.132132解析:在程序中,i從9開始循環(huán),當(dāng)i=9時(shí),執(zhí)行case0后的語句m++;n++;此時(shí)m=1,n=1,然后執(zhí)行break,跳出循環(huán);當(dāng)i=10時(shí),執(zhí)行detault后的語句k++;n++;此時(shí)k=1,n=2;當(dāng)i=11時(shí),再執(zhí)行default后的語句,k=2,n=3。此時(shí),m=1,n=3,k=2。輸出結(jié)果為132。
25.30253025解析:本題考核的知識(shí)點(diǎn)是變量的存儲(chǔ)屬性和算術(shù)運(yùn)算的應(yīng)用。本題涉及了自動(dòng)變量、靜態(tài)變量和外部變量。外部變量是定義在所有函數(shù)之外的變量,本題中inta=5定義了一個(gè)外部變量a,它是一個(gè)全局變量,即作用域是從定義的位置開始到本文件的結(jié)束;靜態(tài)變量的存儲(chǔ)空間在程序的整個(gè)運(yùn)行期間是固定的(static),本題函數(shù)fun()中staticinta=10定義個(gè)一個(gè)靜態(tài)變量a,此靜態(tài)變量a是個(gè)靜態(tài)的局部變量,即它的值只能在本函數(shù)中使用;自動(dòng)變量是C程序中使用最多的一種變量,它的建立和撤消都是由系統(tǒng)在程序執(zhí)行過程中自動(dòng)進(jìn)行的,auto是自動(dòng)變量的存儲(chǔ)類別標(biāo)識(shí)符,如果省略auto,系統(tǒng)隱含認(rèn)為此變量為auto,本題中main()中intc=20定義了一個(gè)自動(dòng)變量c,此自動(dòng)變量c是個(gè)靜態(tài)的局部變量.算術(shù)運(yùn)算中a+=b++相當(dāng)于a=a+b,b=b+1.所以,在第一個(gè)ptine('%d',a)中a=a+b=10+20=30,第二個(gè)printf('%d',a)中a=a+c=5+20=25,即輸出3025。
26.正確性測試正確性測試
27.b=14b=14解析:分析程序可知,n的初始值為1,因此,while(n<=3)循環(huán)3次。第1次:c=c*a=2:b=b+c=2;n=2。第2次:c=c*a=4;b=-b+c=6;n=3。第3次;c=c*a=8:b=b+c=14。當(dāng)n=4時(shí),判斷條件不滿足,退出循環(huán)。
28.20020,0解析:在主函數(shù)中首先定義了3個(gè)整型變量x、y、t,并分別給它們賦初值為10、20、0,接著執(zhí)行汀語句,在if后面括號(hào)內(nèi)的條件表達(dá)式中,條件x==y即10==20不成立,則不執(zhí)行其后的語句t=x,然后退出if語句,順序執(zhí)行語句x=y;y=t;。執(zhí)行完這兩條語句后x的值變?yōu)?0,y的值變?yōu)?,所以最后輸出x、y的值為20和0。
29.結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法解析:結(jié)構(gòu)化分析方法主要用于系統(tǒng)分析階段;結(jié)構(gòu)化設(shè)計(jì)方法主要用于系統(tǒng)設(shè)計(jì)階段;結(jié)構(gòu)化程序設(shè)計(jì)方法主要用于編碼階段??尚行匝芯繉儆谙到y(tǒng)分析階段,因此,可行性研究階段采用的是結(jié)構(gòu)化分析方法。
30.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類型標(biāo)識(shí)符(*旨針變量名)()。注:“類型標(biāo)識(shí)符”為函數(shù)返回值的類型。
31.n1=%d\nn2=%d\n或n1=%d\nn2=%d或n1=%2d\nn2=%2d\n或n1=%2d\nn2=%2dn1=%d\\nn2=%d\\n或n1=%d\\nn2=%d或n1=%2d\\nn2=%2d\\n或n1=%2d\\nn2=%2d解析:printf函數(shù)有兩種參數(shù):格式控制參數(shù)和輸出項(xiàng)參數(shù),其中格式控制參數(shù)由兩種成分組成:格式說明和普通字符,普通字符將被簡單地復(fù)制顯示,格式說明項(xiàng)將引起一個(gè)輸出參數(shù)項(xiàng)的轉(zhuǎn)換與顯示,它是由“%”引出并以一個(gè)類型描述符結(jié)束的字符串。本題中,n1=和n2=就是普通字符,可以直接顯示,又因?yàn)閚1,n2為整數(shù),所以格式說明項(xiàng)為%d,也可以在%與d之間加上域?qū)挘硗膺€要在每行輸出結(jié)束時(shí)加轉(zhuǎn)義字符\\n進(jìn)行換行。所以,應(yīng)填寫n1=%d\\nn2=%d\\n或n1=%d\\nn2=%d或n1=%2d\\nn2=%2dn或n1=%2d\\nn2=%2d。
32.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語言中,程序執(zhí)行完一個(gè)case標(biāo)號(hào)的內(nèi)容后,如果沒有break語句,控制結(jié)構(gòu)會(huì)轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行,因?yàn)閏ase常量表達(dá)式只是起語句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2:分支,最后a和b的值分別為2和1。
33.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。int占2個(gè)字節(jié),float占4個(gè)字節(jié),共用體變量所占的內(nèi)存長度等于最長的成員的長度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4=10。
34.圖標(biāo)或按鈕圖標(biāo)或按鈕
35.前件前件
36.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲(chǔ)區(qū),此題要分配11字節(jié)的單元,把11代入即可。
37.(y%4==0)&&(y%100!=0)||(y%400==0)(y%4==0)&&(y%100!=0)||(y%400==0)解析:考查邏輯表達(dá)。年號(hào)能被4整除(y%4==0)但不能被100整除(y%100!=0),兩者是與的關(guān)系,年號(hào)能被400整除即y%400==0,與前兩項(xiàng)是或的關(guān)系。
38.55解析:分析程序,當(dāng)a=3;b=4;c=5時(shí),判斷語句a>b不成立,所以不執(zhí)行后面的語句,直接執(zhí)行“printf('%d\\n',c);”語句,輸出c的值,輸出結(jié)果為5。
39.1371513715解析:程序中n是一個(gè)有5個(gè)元素,且元素值全為0的數(shù)組。在for循環(huán)中,當(dāng)i=1時(shí),n[1]=n[0]*2+1,此時(shí)n[1]=1;i=2時(shí),n[2]=n[1]*2+1,此時(shí)n[2]=3;i=3時(shí),n[3]=n[2]*2+1,此時(shí)n[3]=7;i=4時(shí),n[4]=n[3]*2+1,此時(shí)n[4]=15,循環(huán)結(jié)束。輸出函數(shù)中%d后有空格,因此輸出結(jié)果為13715。
40.484,8解析:C語言規(guī)定,共用體中各個(gè)成員變量在內(nèi)存中占用同一段內(nèi)存單元,即e.in.x、e.a、e.b占用同一段內(nèi)存單元。執(zhí)行語句e.b=2;后,e.in.x=e.a=e.b=2;執(zhí)行語句e.in.x=e.a*e.b;時(shí),e.a的值為2,e.b的值為2,所以運(yùn)算得出e.in.x的值為4;執(zhí)行語句e.in.y=e.a+e.b時(shí),由于e.in.x和e.a、e.b占用的是同一段內(nèi)存單元,所以此時(shí)的e.a、e.b的值為4,因此運(yùn)算得出e.in.y的值為4+4=8。程序最后的輸出結(jié)果為4,8。
41.DD)【解析】需求分析是軟件定義時(shí)期的最后一個(gè)階
\n段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象,充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在這些基礎(chǔ)上確定新系統(tǒng)的功能。
42.C解析:本題首先令y為9,然后通過一個(gè)for循環(huán),當(dāng)y還大于0則循環(huán),每次循環(huán)讓y遞減1。循環(huán)體中是一條if語句,通過%運(yùn)算符計(jì)算每當(dāng)y能被3整除的時(shí)候,輸出--y的值,即先將y減1,然后輸出y的值。故當(dāng)y等于9、6、3時(shí)會(huì)輸出,輸出值分別為8、5、20所以應(yīng)該選擇C。
43.D解析:因?yàn)闆]有break語句,當(dāng)k=2的時(shí)候,會(huì)順序執(zhí)行兩條語句,k=1的時(shí)候,會(huì)順序執(zhí)行3條語句。
44.D解析:指針變量是通過指向變量地址來指定變量值的。這里只要取m的地址賦給p,即可實(shí)現(xiàn)使p為指向m的指針變量。
45.B解析:本題考查函數(shù)的一些概念.main()函數(shù)是一個(gè)程序的主函數(shù),它由系統(tǒng)調(diào)用,所以選項(xiàng)A不正確。一個(gè)C語言源程序文件可以只包含一個(gè)函數(shù),每個(gè)源文件都可以被單獨(dú)編譯成。obj文件,最后鏈接成可執(zhí)行文件。因此每個(gè)函數(shù)都可以被單獨(dú)編譯,選項(xiàng)B正確。一個(gè)C程序必須從主函數(shù)main()開始運(yùn)行,其他函數(shù)只能是直接或間接被main()函數(shù)調(diào)用才能得以運(yùn)行,因此選項(xiàng)C錯(cuò)誤。C語言不支持函數(shù)的嵌套定義,所有函數(shù)只能是全局函數(shù),所以選項(xiàng)D錯(cuò)誤。故應(yīng)該選擇B。
46.B
47.C(33)C)解析:題中變量w的定義為double型,函數(shù)fun2()的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。
48.C解析:外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動(dòng)存儲(chǔ)類別。
49.D解析:本題考查逗號(hào)表達(dá)式。逗號(hào)表達(dá)武的求解步驟是先求解表達(dá)式1,然后依次求解表達(dá)式2,直到表達(dá)式N的值。整個(gè)逗號(hào)表達(dá)式的值就足最后一個(gè)表達(dá)式N的值。(++x,y++)這個(gè)表達(dá)式的返回值是y++,先使用y的債,然后將y加1,所以輸出第一個(gè)值為1。第二個(gè)輸出的值為z+2=3+2=5。
50.B解析:需求分析階段的工作,可以概括為以下4個(gè)方面:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評(píng)審。本題的正確答案為選項(xiàng)B。
51.D解析:一維數(shù)組的定義方式為:
類型說明符數(shù)組名[常量表達(dá)式];
選項(xiàng)A符合此定義形式,正確;C語言中多維數(shù)組賦初值時(shí)可以部分賦值,也可以不指定除第一維以外的其他維的大小,故選項(xiàng)C正確;另外,如果對(duì)全部數(shù)組元素都賦初值,則定義數(shù)組時(shí)對(duì)第一維的長度可以不指定,但第二維的長度不能省,所以選項(xiàng)B正確,而選項(xiàng)D是錯(cuò)誤的。
52.D解析:字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)部是以ASCII碼存儲(chǔ)的,英文大寫字母和小寫字母在ASCII碼表中都是連續(xù)的。大寫字母A到Z是從65到90,所以只要變量c1大于A并且小于Z就能保證其為大寫字母。注意:邏輯運(yùn)算符的功能與作用。
53.D解析:本題的考點(diǎn)是關(guān)于C語言的邏輯表達(dá)式的計(jì)算規(guī)則。對(duì)于邏輯表達(dá)式“i++==1&&(++j==3||k++==3)”,首先判斷“i++==1”,由于i初值為1,“i++==1”為真,同時(shí)i加1值為2。由于第一項(xiàng)為真,對(duì)于“&&”運(yùn)算符,結(jié)果取決于后一項(xiàng)“(++j==3||k++==3)”。而邏輯表達(dá)式“(++j==3||k++==3)”計(jì)算時(shí),首先判斷“++j==3”,由于j初值為2,++j后j值為3,“++j==3”為真,對(duì)于“||”運(yùn)算符不需要判斷后一項(xiàng)表達(dá)式的結(jié)果就可以斷定此邏輯表達(dá)式結(jié)果為真,因此“k++==3”并沒有進(jìn)行判斷,k++也未執(zhí)行,k仍是初值3,輸出結(jié)果應(yīng)該是233。正確選項(xiàng)是D。
54.D
55.C解析:題目首先申請(qǐng)了一個(gè)整型數(shù)組a,并讓一個(gè)指針變量p指向數(shù)組的元素arl)。然后使用一個(gè)for循環(huán),循環(huán)變量x從1遞增到2,即循環(huán)兩次.在循環(huán)體中每次讓y累加p[x]的值,而p[x)寫成指針形式就是*(p+x)。所以兩次y加的值分別是a[2]和a[3]的值,故最終輸出6+8=14。應(yīng)該選擇C。
56.A
57.C解析:首先看swap()函數(shù),函數(shù)中定義了一個(gè)臨時(shí)字符變量t,然后將形參指針x所指內(nèi)容存入t,再將形參指針y所指內(nèi)容存入到x所指內(nèi)容中,最后將臨時(shí)變量t的內(nèi)容存入到y(tǒng)所指內(nèi)容中。所以該函數(shù)實(shí)現(xiàn)的是:交換兩個(gè)字符指針?biāo)赶虻膬?nèi)容。在主函數(shù)中,首先定義了兩個(gè)字符指針s1和s2,同時(shí)用字符串'abc'和'123”來初始化它們,此時(shí)它們指向的是兩個(gè)字符串的第1個(gè)字符。所以,在調(diào)用完swap()函數(shù)后,彼此交換了兩個(gè)字符串的第1個(gè)字符,最后輸出結(jié)果為1bc,a23。故應(yīng)該選擇C。
58.B解析:選項(xiàng)B中由于1和2都是整型,其1/2的運(yùn)算結(jié)果為0,故整個(gè)表達(dá)式的值為0,所以它的結(jié)果和題目中要求的代數(shù)式的計(jì)算結(jié)果不相符,所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
59.D解析:在switch語句中,若case語句后沒有break語句,則執(zhí)行完本層case后會(huì)繼續(xù)執(zhí)行后面case中的操作。k的初值為5,while條件成立,進(jìn)入switch(5),執(zhí)行default語句,退出switch,執(zhí)行k--后得4,再進(jìn)入while循環(huán),執(zhí)行switch(4),退出switch,再執(zhí)行k--后得3,繼續(xù)while循環(huán),執(zhí)行switch(3),n=n+k=3,再執(zhí)行k--后得2,進(jìn)入while循環(huán),執(zhí)行case2,再執(zhí)行n=n+k=5,然后執(zhí)行k--后得1,最后一次進(jìn)入while循環(huán),執(zhí)行case1,n=n+k=6,然后繼續(xù)執(zhí)行case2和case3后的語句,n=n+k=7,且執(zhí)行k--后得0,此時(shí)while條件不滿足,退出循環(huán),輸出n的值為7。
60.A解析:本題的功能是順序的讀兩個(gè)文本文件,依次輸出。當(dāng)打開文件時(shí)出現(xiàn)錯(cuò)誤,fopen函數(shù)將返回NULL。
61.B
62.A數(shù)據(jù)庫系統(tǒng)的一個(gè)重要目標(biāo)就是使程序和數(shù)據(jù)真正分離,數(shù)據(jù)蝕立性包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。相對(duì)文件系統(tǒng)人工管
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公交司機(jī)轉(zhuǎn)正申請(qǐng)書
- 二零二五年度房產(chǎn)權(quán)屬變更及過戶合同3篇
- 2025年度土特產(chǎn)電商供應(yīng)鏈金融服務(wù)合同范本
- 2025年度影視化妝特效技術(shù)合作合同范本
- 警入職申請(qǐng)書
- 消費(fèi)者心理與網(wǎng)絡(luò)購物決策分析
- 2025年度手機(jī)屏幕觸控技術(shù)合作協(xié)議
- 詐騙撤案申請(qǐng)書
- 加入學(xué)習(xí)部申請(qǐng)書
- 現(xiàn)代智能家居的未來趨勢(shì)與教育行業(yè)融合
- 學(xué)校托管工作方案
- 腎性高血壓的護(hù)理查房
- 蘇教版八年級(jí)數(shù)學(xué)上冊(cè)期末試卷及答案【完美版】
- 法院拍賣議價(jià)協(xié)議書
- 2021年人教版八年級(jí)物理上冊(cè)期末考試卷(完美版)
- TB 10009-2016 鐵路電力牽引供電設(shè)計(jì)規(guī)范
- 2024年東南亞雞蛋分級(jí)包裝設(shè)備市場深度研究及預(yù)測報(bào)告
- 2023高考數(shù)學(xué)藝考生一輪復(fù)習(xí)基礎(chǔ)講義(學(xué)生版)
- 2MW-5MWh微網(wǎng)儲(chǔ)能項(xiàng)目整體技術(shù)方案設(shè)計(jì)
- 圍手術(shù)期中醫(yī)護(hù)理
- 國測省測四年級(jí)勞動(dòng)質(zhì)量檢測試卷
評(píng)論
0/150
提交評(píng)論