版權(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ì)重點(diǎn)匯總測試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.以下不構(gòu)成無限循環(huán)的語句或語句組的是()。
A.n=0;do{++n;}while(n<=0);
B.n=0;while(1){n++;}
C.n=10;while(n);{n--;}
D.for(n=0,i=1;i++)n+=i;
2.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.1B.2C.3D.4
3.數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是()。A.數(shù)據(jù)定義語言B.數(shù)據(jù)管理語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言
4.在下列定義語句中,編譯時(shí)會(huì)出現(xiàn)編譯錯(cuò)誤的是()。
A.chara=‘\x2d’;B.chara=‘\n’;C.chara=‘a(chǎn)’;D.chara=“aa”;
5.與單鏈表相比,雙鏈表的優(yōu)點(diǎn)之一是()。
A.插入、刪除操作更簡單B.可以進(jìn)行隨機(jī)訪問C.可以省略表頭指針或表尾指針D.順序訪問相鄰結(jié)點(diǎn)更靈活
6.有以下程序#include<stdio.h>main(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf(“%d\n”,m);}程序的運(yùn)行結(jié)果是()A.1B.0C.2D.3
7.下列關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述中正確的是()。
A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.可以是任意合法的表達(dá)式
8.
9.
有以下程序
#include<stdio.h>
#include<string.h>
typedefstrlIct{charname[9];charsex;floatscore[2];}STU;
STUf(STUa)
{STUb={"Zhao",m,85.0,90.0);inti;
strcpy(aname,b.name);
sex:b.sex;
for(i=0;i<2;i++)a.score[i]=b.score[i];
returna;
}
main
{STUc="Qian",f,95.0,92.0},d;
d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);
}
程序的運(yùn)行結(jié)果是()。
A.Qian,f,95,92
B.Qian,m,85,90
C.Zhao,m,85,90
D.Zhao,f,95,92
10.設(shè)有序順序表中有n個(gè)數(shù)據(jù)元素,則利用二分查找法查找數(shù)據(jù)元素X的最多比較次數(shù)不超過()。A.log2+1
B.log2(n-1)
C.log2n
D.log2(n+1)
11.有以下程序:voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i+=2)for(j=i+2;j<n;j+=2)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa,10);for(i=0;i<10;i++)printf("%d",aa[i]);printf("\n");}其輸出結(jié)果是
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.9,2,7,4,5,6,3,8,1,10,
D.1,10,3,8,5,6,7,4,9,2,
12.有如下定義:inta[5],*p;p=a;則下列描述錯(cuò)誤的是()。
A.表達(dá)式p=p+1合法的B.表達(dá)式a=a+1是合法的C.表達(dá)式p-a是合法的D.表達(dá)式a+2是合法的
13.有以下程序:#include<stdio.h>main(){intt;scanf(“%d”,&t);if(t++<6)printf(“%d\n”,t);elseprintf(“%d\n”,t--);printf(“\n”);}執(zhí)行時(shí)輸入6并按<Enter>鍵,則輸出結(jié)果是()。A.6B.8C.7D.5
14.判斷一個(gè)循環(huán)隊(duì)列cq(最多元素為m)為空的條件是()。A.cq->rear-cq-front=m;
B.(cq->rear+1)%m=cq->front;
C.cq->front=cq->rear;
D.cq->rear=m-1;
15.用鏈接方式存儲(chǔ)的隊(duì)列,在進(jìn)行刪除運(yùn)算時(shí)()。
A.僅修改頭指針B.僅修改尾指針C.頭、尾指針都要修改D.頭、尾指針可能都要修改
16.以下選項(xiàng)中合法的實(shí)型常數(shù)是
A.5E2.0B.E-3C.2.00E+00D.1.3E
17.單鏈表中,增加一個(gè)頭結(jié)點(diǎn)的目的是為了()。
A.使單鏈表至少有一個(gè)結(jié)點(diǎn)B.標(biāo)識(shí)表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置C.方面運(yùn)算的實(shí)現(xiàn)D.說明單鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)
18.C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間,()。
A.所有成員一直駐留在內(nèi)存中B.沒有成員駐留在內(nèi)存中C.部分成員駐留在內(nèi)存中D.只有一個(gè)成員駐留在內(nèi)存中
19.若有說明語句:double*P,a;則能通過scanf語句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段是()。
A.*p=&a;scanf("%lf",p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%lf",*p);
D.p=&a;scanf("%lf",p);
20.有以下程序:#include<stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};main(){inti;p=a;for(i=1;i<=2;i++){printf(“%d,”,p->x);p=p->y;}}程序的運(yùn)行結(jié)果是()。
A.20,30,B.30,17,C.15,30,D.20,15,
二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是______。
intf(inta[],intn)
{
if(n>=l)
returnf(a,n-1)+a[n-1];
else
return0;
}
main{)
{
intaa[5]={1,2,3,4,5},s;
s=f(aa,5);
printf{'%d\n",s);
}
22.下列程序的輸出結(jié)果是______。
main()
{inti,sum;
for(i=1;i<7;i++)
sum+=i;
printf("%d",sum);
}
23.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio,h>
main()
{inta=1,b=2,c=3;
if(c=a)printf("%d\n",c);
elseprintf("%d\n",b);}
24.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
25.若想通過以下輸入語句給a賦值1,給b賦值2.則輸入數(shù)據(jù)的形式應(yīng)該是【】。
inta,b;
scanf("a=%d,b=%d",&a,&b);
26.在軟件開發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法。詳細(xì)設(shè)計(jì)階段所采用的是【】方法。
27.以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135則輸出531。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{intn,s;
printf("Enteranumber:");scanf("%d",&n);
printf("Output:");
do
{s=n%10;printf("%d",s);【】;
}while(n!=0);
printf("\n");
}
28.設(shè)有定義:intn,*k=&n;以下語句將利用指針變量k讀寫變量n中的內(nèi)容,請(qǐng)將語句補(bǔ)充完整。
scanf(“%d”,______);
printf(“%d\n”,______);
29.下面程序的功能:輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請(qǐng)補(bǔ)充完整。
main()
{inti,j;
for(i=0;【】;i++)
{j=i*10+6;
if(【】)continue;
printf("%d",j);
}
}
30.數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和______兩大類。
31.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
unsignedfun6(unslgnednum)
{unsignedk=1;
do{k*=mum%10;num/=10;}
while(num);
returnk;
}
main()
{unsignedn=26;
printf("%d\n",fan6(n));
}
32.模式/內(nèi)模式映射為數(shù)據(jù)庫提供了【】數(shù)據(jù)獨(dú)立性。
33.以下程序的功能是調(diào)用函數(shù)fun計(jì)算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請(qǐng)?zhí)羁铡?/p>
intfun(intn)
{
intm=0,f=1,i;
for(i=1:i<=n;i++)
{
m+=i*f;
f=______;
}
returnm;
}
main()
{printf(“m=%d\n”,______)};
34.以下函數(shù)sstrcat的功能是實(shí)現(xiàn)字符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:,所指字符串為abed,t所指字符串為efgh,調(diào)用函數(shù)sstrcat后s所指字符串為abcdefgh。請(qǐng)?zhí)羁铡?/p>
#inehde<stdio.h>
#include<string.h>
voidsstuat(char*9,char*t)
{intn;
n=strlen(s);
while(*(s+n)=【】){s++;t++;}
35.以下函數(shù)的功能是計(jì)算s=1+1/2!+1/3!+…+1/n!,請(qǐng)?zhí)羁铡?/p>
doublerun(intn)
{doubles=0.0,fac=1.0;
inti,k=1;
for(i=1;i<=n;i++)
{【】;
fac=fac/k;
s=s+fac;
}
}
36.關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件,包括實(shí)體完整性、______和自定義完整性。
37.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu))改變時(shí),不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的【】。
38.下列程序的輸出結(jié)果是______。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
39.若要使指針p指向一個(gè)double類型的動(dòng)態(tài)存儲(chǔ)單元,請(qǐng)?zhí)羁铡?/p>
p=【】malloc(sizeof(double));
40.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{intfun();
fun();
}
fun()
{staticinta[4]={1,2,3,4};
inti;
for(i=0;i<4;i++)a[i]+=a[i];
for(i=0;i<4;i++)printf("%d,",a[i]);
printf"\n");
}
三、1.選擇題(20題)41.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是______。
A.程序的規(guī)模B.程序的易讀性C.程序的執(zhí)行效率D.程序的可移植性
42.設(shè)有語句:if(a==1)b=2;c=3;,以下語句中與之等價(jià)的是()。
A.if(a==1){b=2;c=3;}
B.if(a!=1){;}else{b=2;c=3;}
C.if(a=1)c=3;b=2;
D.(a==1)?b=2:a:=a;c=3;
43.有以下程序main(){intn[3],i,j;for(i=0;i<3;i++)n[i]=0;for(i=0;i<2,i++)for(j=0;j<2;j++)n[j]=n[i]+1;printf("%d\n",n[1]);}程序運(yùn)行后的輸出結(jié)果是()
A.2B.1C.0D.3
44.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inti;for(i=1;i<=10;i++){if((i*i>=20)&&(i*i<=100))}break;printf("%d\n",i*i);}
A.49B.36C.25D.64
45.程序流程圖中帶有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
46.若有以下定義和語句:intu=010,v=0x10,w=10;printf("%d,%d,%d\n",u,v,w);則輸出結(jié)果是()
A.8,16,10B.10,10,10C.8,8,10D.8,10,10
47.下面各語句行中,能正確進(jìn)行賦值字符串操作的語句是()
A.charst[4][5]={"ABCDE"};
B.chars[5]={'A','B','C','D','E'}
C.char*s;s="ABCDE";
D.char*s;scanf(”%s”,s);
48.若有以下定義和語句:ints[4][5],(*ps)[5];ps=s;則對(duì)s數(shù)組元數(shù)的正確引用形式是
A.ps+1B.*(ps+3)C.ps[0][2]D.*(ps+1)+3
49.設(shè)變量x為float型且已賦值,則以下語句中能將x中的數(shù)值保留到小數(shù)點(diǎn)后兩位,并將第三位四舍五入的是()。
A.x=x*100+0.5/100.0;
B.x=(x*100+0.5)/100.0
C.x=(int)(x*100+0.5)/100.0;
D.x=(x/100+0.5)/100.0;
50.若有以下定義和語句:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則不能表示a數(shù)組元素的表達(dá)式是______。
A.*pB.a[10]C.*aD.a[p-a]
51.有以下程序:main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=O)continue;k--;}printf("%d,%d\n",k,n);}程序運(yùn)行后的輸出結(jié)果是()。
A.1,1B.2,2C.3,3D.4,4
52.在C語言程序中,下列說法正確的是()。
A.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套
B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套
C.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套
D.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套
53.若整型變量a、b、c、d中的值依次為1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4
54.在下列敘述中,錯(cuò)誤的一條是______。
A.對(duì)關(guān)系的描述稱為關(guān)系模式,一個(gè)關(guān)系模式對(duì)應(yīng)一個(gè)關(guān)系的結(jié)構(gòu)
B.不同元組對(duì)同一個(gè)屬性的取值范圍稱為域
C.二維表中的行稱為屬性
D.所謂關(guān)鍵字,即屬性或?qū)傩越M合,其值能夠惟一標(biāo)識(shí)一個(gè)元組
55.有以下程序:#include<stdio.h>main(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}}程序運(yùn)行的結(jié)果是()。
A.234B.432C.23D.4534554334344523
56.產(chǎn)生軟件危機(jī)的原因是:一方面與軟件生產(chǎn)本身的復(fù)雜性有關(guān);另一方面,和______的方法不正確有關(guān)。
A.軟件的使用B.軟件的成本C.軟件的開發(fā)和維護(hù)D.軟件的文檔資料
57.下列敘述中正確的是()。
A.算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)
B.算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)
C.算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止
D.以上三種描述都不對(duì)
58.在數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖轉(zhuǎn)換為關(guān)系模式的過程屬于()。
A.需求分析階段B.邏輯設(shè)計(jì)階段C.概念設(shè)計(jì)階段D.物理設(shè)計(jì)階段
59.請(qǐng)讀程序:#include<stdio.h>main(){intnum=0;while(num<=2){num++;printf("%d\n",num);}}上面程序的輸出結(jié)果是()
A.1B.12C.123D.1234
60.當(dāng)用戶要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是()。
A.scanfB.getcharC.getsD.getc
四、選擇題(20題)61.下面程序段的輸出為()。
#include"stdio.h"
main
{
printf("%d\n",12<<2);
}
A.0B.47C.48D.24
62.下列關(guān)于C語言文件的敘述中正確的是()。
A.文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進(jìn)制文件
B.文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
C.文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件
D.文件由字符序列組成,其類型只能是文本文件
63.設(shè)變量均已正確定義,若要通過
scaIIf(”%d%c%d%c”,&;al,&;el,&;a2,&;c2);
語句為變量al和a2賦數(shù)值l0和20,為變量cl和c2賦字符x和Y。以下所示的輸入形式中正確的是()。(注:口代表空格字符)
64.在c語言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類型是()。
A.auto和static
B.extern和register
C.auto和register
D.static和register
65.分析以下程序的輸出結(jié)果是()。
main
{inta=5,b=-1,c;
c=adds(a,b);
printf(“%d”,c);
c=adds(a,b);
printf(“%d\n”,c);}
intadds(intx,inty)
{staticintm=0,n=3;
n*=++m;
m=n%x+y++;
return(m);}
A.2,3B.2,2C.3,2D.2,4
66.
67.
68.有以下程序
main()
{
inta[3][2]={0},(*ptr)[2],i,j;
for(i=0;i<2;i++)
{
ptr=a+i;
scanf("%d",ptr);
ptr++;
}
for(i=0;i<3;i++)
{
for(j=0;j<2;j++)
printf("%2d",a[i][j]);
printf("\n");
}
}
若運(yùn)行時(shí)輸入:123<回車>,則輸出結(jié)果是
69.設(shè)有定義:charp[]={1,2,3),*q=p;,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是()。
A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])
70.有以下程序:
程序運(yùn)行后,若從鍵盤輸入(從第l列開始.:
123<回車>
45678<回車>
則輸出結(jié)果是()。
A.1267B.1256C.1278D.1245
71.
72.一棵二叉樹共有25個(gè)結(jié)點(diǎn),其中5個(gè)是葉子結(jié)點(diǎn),則度為l的結(jié)點(diǎn)數(shù)為()。
A.16B.10C.6D.4
73.下列選項(xiàng)中,不是一個(gè)算法的基本特征的是()。
A.完整性B.可行性C.有窮性D.擁有足夠的情報(bào)
74.
75.
76.若intk=8;則執(zhí)行下列程序后,變量k的正確結(jié)果是
main()
{intk=8;
switch(k)
{case9:k+=1;
case10:k+=1;
default:k+=1;
case11:k+=1;break;
}
printf("%d\n",k);
}
A.12B.1
C.10D.9
77.以下選項(xiàng)中不屬于c語言的類型的是()。
A.unsignedlongint
B.longshort
C.unsignedint
D.signedshortint
78.閱讀下面程序段,則執(zhí)行后的結(jié)果為()。
A.64B.8C.56D.0
79.
80.
五、程序改錯(cuò)題(1題)81.已知一個(gè)數(shù)列從0項(xiàng)開始的前3項(xiàng)為0,0,1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列給定的程序中,函數(shù)proc的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的和sum。n的值通過形參傳人。例如,當(dāng)n=20時(shí),程序的輸出結(jié)果應(yīng)為42762.000000。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)maiil函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
doubleproc(intn)
{
doublesum,s0,s1,s2,s;
intk;
sum=1.0;
if(n<=2)
sum=0.0;
s0=0.0;
s1=0.0;
s2=1.0;
//****found****
for(k=4;k<n;k++)
}
{
s=s0+s1+s2;
sum+=S:
s0=s1;
s1=s2;
//****found****
s2=s;
returnsum;
}
voidmain
{
intn;
system("CLS");
printf("InputN=");
scanf("%d",&nJ;
printf("%f\n",proc(n));
}
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)fun,其功能是:找出一維整型數(shù)組元素中最大的值所在的下標(biāo),并通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。
主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個(gè)數(shù),max存放最大值。index存放最大值所在元素的下標(biāo)。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。
試題程序:
參考答案
1.AA選項(xiàng)中do后面的語句只執(zhí)行了一次便結(jié)束了循環(huán);B選項(xiàng)中條件while(1)永遠(yuǎn)成立,所以是死循環(huán);C選項(xiàng)中n的值為10,而循環(huán)體為空語句,所以while(n)永遠(yuǎn)為真,進(jìn)入死循環(huán);D選項(xiàng)中for語句第2個(gè)表達(dá)式為空,所以沒有判斷條件,進(jìn)入死循環(huán)。故本題答案為A選項(xiàng)。
2.C該程序中int8pl=&a,+p2=&b,4P=&c;指定義三個(gè)指針變量,并賦值,即使pl指向a;p2指向b;p指向c。+P=。pl$(+p2)。;該條語句是給P所指的存儲(chǔ)單元c賦值,就是pl所指的存儲(chǔ)單元的值,即a的值,與p2所指的存儲(chǔ)單元b的值相乘,也就是c=a+b,等價(jià)于c=1·3=3;因此C選項(xiàng)正確?!?/p>
3.AA。數(shù)據(jù)定義語言(DDL)是集中負(fù)責(zé)數(shù)據(jù)庫模式定義與數(shù)據(jù)庫對(duì)象定義的語言。數(shù)據(jù)操縱語言(DML)是指用來查詢、添加、修改和刪除數(shù)據(jù)庫中數(shù)的語句。數(shù)據(jù)控制語言(DCL)是用來設(shè)置或者更改數(shù)據(jù)為用戶或角色權(quán)限的語句。據(jù)此,本題正確答案為選項(xiàng)A。
4.DD選項(xiàng)中將字符串常量“aa”賦給字符變量a是錯(cuò)誤的。故本題答案為D選項(xiàng)。
5.D
6.A雖為嵌套的for循環(huán),但“m=m%j”只執(zhí)行1次,即當(dāng)i=3時(shí),內(nèi)層循環(huán)條件成立,m=55%3=1,故選A。
7.D解析:邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象可以是任意合法的表達(dá)式。邏輯表達(dá)式的運(yùn)算結(jié)果或者為1(“真”),或者為0(“假”)。
8.A
9.Cf函數(shù)的功能是對(duì)形參a的各個(gè)成員用結(jié)構(gòu)體變量b的各個(gè)成員進(jìn)行賦值后,然后返回變量a。
10.A
11.C解析:本題考核的知識(shí)點(diǎn)是程序中算法的基本分析。sort()函數(shù)作用是將數(shù)組aa中的下標(biāo)為偶數(shù)的元素按大到小排序.主函數(shù)中首先定義了一個(gè)長度為10的數(shù)組并賦值,然后調(diào)用sort()函數(shù),將數(shù)組aa中奇數(shù)個(gè)元素的值按大到小排序,因此執(zhí)行完該函數(shù)后,數(shù)組中奇數(shù)個(gè)元素的值為9,7、5、3和1,故主函數(shù)中最后通過一個(gè)for循環(huán)輸出數(shù)組aa中各元素的值為9、2、7、4、5、6、3、8、1和10,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
12.B
13.C后綴自增運(yùn)算“t++”表示先運(yùn)算,再自加。語句“if(t++<6)printf(“%d\\n”,t);elseprintf(“%d\\n”,t--);”中t的初值為6,則“t++<6”,條件為假,t自增至7,執(zhí)行“printf(“%d\\n”,t--);”,此時(shí)t=7,輸出t值為7,之后進(jìn)行自減操作t=6。因此輸出的結(jié)果為7。故本題答案為C選項(xiàng)。
14.C
15.D
16.C解析:在C語言中,實(shí)數(shù)有兩種表示形式:十進(jìn)制數(shù)形式與指數(shù)形式。
1)一般形式的實(shí)數(shù):小數(shù)形式的實(shí)數(shù)由整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分組成(必須要有小數(shù)點(diǎn))。
2)指數(shù)形式的小數(shù):指數(shù)形式的實(shí)數(shù)由尾數(shù)部分、e(E)和指數(shù)部分組成(字母e或E的前后必須要有數(shù)字,且其后面的指數(shù)必須為整數(shù))。選項(xiàng)A中,5E2.0中E后面的2.0不是整數(shù);選項(xiàng)B中,E前面沒有數(shù)字;選項(xiàng)D中,E后面沒有數(shù)字。
17.C
18.A解析:C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間所有成員一直駐留在內(nèi)存中。
19.D解析:*p間接引用指針指向的變量,因此“(*p)=&a”不對(duì)。scanf()的輸入變量必須為地址,因此C是錯(cuò)誤的。
20.D結(jié)構(gòu)體指針變量p指向a數(shù)組的第1個(gè)元素,所以“p->x”為20。執(zhí)行“p=p->y”后,p指向數(shù)組a的第2個(gè)元素,所以輸出15。故本題答案為D選項(xiàng)。
21.1515解析:在函數(shù)f()中只有一條if語句,如果n不小于1,則返回f(a,n-1)+a[n-1);,否則返回0。所以f(aa,5)返回f(aa,4)+aa[4],而f(aa,4)返回f(aa,3)+aa[3]……直到f(aa,0)返回0.故f(aa,5)實(shí)際返回值是0+aa[1]+aa[2]+aa[3]+aa[4]+aa[5],所以本題最終輸出15。
22.無定值無定值解析:for(i=1;i<7;i++)決定了循環(huán)次數(shù)為6次,每次執(zhí)行的操作是sum+=i,但由于sum沒有初始化,并不知道sum的初值是多少,所以結(jié)果無定值。
23.11解析:該程序要注意的是if語句的判斷條件“c=a”是賦值,而不是“c==a”。由于a=1,故條件c=a使c的值為1(真),所以輸出c的值1。
24.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
25.a=1b=2
26.結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)解析:在軟件開發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法。詳細(xì)設(shè)計(jì)階段所采用的是結(jié)構(gòu)化設(shè)計(jì)方法。
27.n/=10或n=n/10n/=10或n=n/10解析:每次循環(huán)把n除以10所得的商賦給n。
28.k*kk*k解析:本題考查的知識(shí)點(diǎn)是scarf()函數(shù)和printf()函數(shù)的用法。scanf()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是格式控制部分(格式控制部分是字符串,主要由“%”號(hào)和格式字符組成)第二個(gè)參數(shù)是一地址列表(地址列表是由多個(gè)地址組成,可以是變量的地址,也可以是字符串的首地址)。而第一個(gè)空格處位于scanf()函數(shù)的第二個(gè)參數(shù)處,所以,第一個(gè)空應(yīng)該填地址k。printf()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是輸出格式字符串(輸出格式字符串是由控制輸出格式的字符和非格式字符組成的,通常是字符常量。非格式字符作為輸出數(shù)據(jù)的間隔,輸出時(shí)原樣輸出)第二個(gè)參數(shù)為一輸出表達(dá)式表(輸出表達(dá)式表是由若干個(gè)需要計(jì)算和輸出的表達(dá)式組成的,表達(dá)式之間用逗號(hào)分隔開)。而第;個(gè)空位于printf()函數(shù)的第二個(gè)參數(shù)處,所以應(yīng)該填*K。
29.i<10i%3!=0i<10\r\ni%3!=0解析:本題要求輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),程序中j=i*10+6;語句是求個(gè)位數(shù)為6的整數(shù),由此可得出程序的循環(huán)次數(shù)為i<10。然后通過if語句判斷整數(shù)是否能被3整除,若不能則繼續(xù)下一次循環(huán),若能則輸出該整數(shù),所以邏輯表達(dá)式為j%3!=0。
30.非線性結(jié)構(gòu)非線性結(jié)構(gòu)
31.1212解析:循環(huán)語句中,表達(dá)式num%10是取num的個(gè)位。循環(huán)直至num為0結(jié)束,這是逐一求出num+進(jìn)制表示的各位數(shù)字,并累乘于變量k中。函數(shù)最后返回k,所以程序輸出12。
32.物理物理
33.-f或f*-1或-1*f或f*(-1)或(*1)*f。fun(10)-f或f*-1或-1*f或f*(-1)或(*1)*f。\r\nfun(10)解析:本題考核的知識(shí)點(diǎn)是C程序的簡單應(yīng)用。本題要求調(diào)用fun()函數(shù)計(jì)算m的值,故在主函數(shù)中的空格處應(yīng)該填調(diào)用fun()函數(shù)的語句。fun()函數(shù)有一個(gè)形參n,為每次參加計(jì)算的值的個(gè)數(shù),故在主函數(shù)中的空格處應(yīng)該填fun(10),回到fun()函數(shù),函數(shù)用到了一個(gè)for循環(huán),共循環(huán)n次,當(dāng)循環(huán)第i次的時(shí)候,m的值等于m=1-2+……+[(-1)的i-1次方]*1所以在fun()函數(shù)的空格處應(yīng)該填使f改變符號(hào)的語句,故應(yīng)填*f或f*-1或-1*f或f*(-1)或(-1)*f。
34.*t*t解析:程序中,(a+n)代表字符串s最后一個(gè)字符后的,'\\0',根據(jù)題意,'\\0'所在位置應(yīng)該賦值為字符串t的第一個(gè)字符,字符中t的其他字符根據(jù)循環(huán),依次賦值到,所指字符串的尾部,所以[14]應(yīng)填:*t。
35.k=k*ik=k*i解析:本題小通過for循環(huán)求s表達(dá)式中每一項(xiàng)的和,表達(dá)式“fac=fac/k;”求的是每一項(xiàng)的值,所以k的值應(yīng)為n!,在求n!的時(shí)候,可以用上次循環(huán)階乘的值乘i,就可以直接得此次n!,故木題填k=k*i。
36.參照完整性參照完整性
37.物理獨(dú)立性數(shù)據(jù)獨(dú)立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫中數(shù)據(jù)獨(dú)立于應(yīng)用程序而不依賴于應(yīng)用程序。也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)與存取方式的改變不會(huì)影響應(yīng)用程序。數(shù)據(jù)獨(dú)立性一般分為物理獨(dú)立性與邏輯獨(dú)立性兩級(jí)。
38.3232解析:while(表達(dá)式)的功能是:首先計(jì)算表達(dá)式的值,若為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢,再計(jì)算表達(dá)式的值,若仍為真,則重復(fù)執(zhí)行循環(huán)體語句,直到表達(dá)式的值為假時(shí),結(jié)束while語句的執(zhí)行,繼續(xù)執(zhí)行while語句后面的語句:i=0時(shí)滿足循環(huán)條件,也滿足if的條件,執(zhí)行語句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結(jié)束。
39.(double*)(double*)解析:一般用malloc函數(shù)為變量分配存儲(chǔ)單元時(shí),要在前面用強(qiáng)制類型轉(zhuǎn)換符說明該存儲(chǔ)單元中數(shù)據(jù)的類型。本題要為指向雙精度浮點(diǎn)型數(shù)據(jù)的指針變量p分配存儲(chǔ)單元,因此用(double*)說明。
40.24682,4,6,8解析:子函數(shù)fun()的功能是將數(shù)組a中的元素都自加一遍,然后仍然將結(jié)果存在原數(shù)組中,其實(shí)就是將數(shù)組a的每個(gè)元素都變?yōu)樵瓉淼?倍,然后輸出。在主程序中首先通過intfun()定義了子函數(shù)fun(),然后再調(diào)用fun()。
41.B解析:采用結(jié)構(gòu)化編程方法的好處主要在于:一是便于控制、降低程序的復(fù)雜性,因此便于編寫程序。二是程序清晰易讀,可理解性好。因此,結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是程序的易讀性,而不是程序的規(guī)模、程序的執(zhí)行效率和程序的可移植性。
42.D
43.D
44.C解析:本題考查if語句。當(dāng)執(zhí)行到第一個(gè)滿足(i*i>=20)&&(i*i<=100)這個(gè)條件的i出現(xiàn)時(shí),通過break語句跳出循環(huán),執(zhí)行下列的printf語句。
45.C解析:程序流程圖是人們對(duì)解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項(xiàng)中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;
表示邏輯條件。
46.A
47.C
48.C解析:本題首先定義了一個(gè)4行5列的數(shù)組s,又定義了一個(gè)指向由5個(gè)元素組成的一維數(shù)組的指針變量ps,通過賦值讓ps指向了數(shù)組s的首地址。此時(shí)數(shù)組元素s[i)[j]的地址為“*(ps+i)+j”,數(shù)組元素s[i][j]可表示為*(*(pe+i)+j);選項(xiàng)B表示的是數(shù)組元素a[3][0]的地址;選項(xiàng)D表示的是數(shù)組元素s[1][3]的地址;選項(xiàng)A中“ps+1”為指向下一行(第二行)的地址;選項(xiàng)C中ps[0][2]無條件等價(jià)于“*(ps[0]+2)”又無條件等價(jià)于“*(*(pe+0)+2)”,即是數(shù)組元素s[0][2]。
49.C解析:本題考查實(shí)型數(shù)據(jù)。題目要求保留到小數(shù)點(diǎn)后兩位,選項(xiàng)A)、B)、D)都不合要求。在選項(xiàng)C)中,x*100+0.5的作用是將第三位四舍五入,取整后再除以100.0,即可得符合要求的數(shù)據(jù)。
50.B解析:程序中定義了數(shù)組a[10],則其元素的下標(biāo)范圍為0~9,而B選項(xiàng)中的a[10]所表示的元素已經(jīng)超出a數(shù)組元素的范圍,故應(yīng)該選擇B。
51.C解析:在本程序的for循環(huán)中,用到了一個(gè)continue語句,continue語句的作用是停止本次循環(huán),不執(zhí)行循環(huán)體內(nèi)continue語句后面的其他語句,繼續(xù)下次循環(huán)的條件判斷。首先在for循環(huán)中n自加1(值變?yōu)?),然后執(zhí)行后面的if語句,由于if語句后面括號(hào)的表達(dá)式1%3!=0的值為真,程序執(zhí)行continue語句,回到for循環(huán)的開始部分,并且判斷for循環(huán)中的條件表達(dá)式(n<k)為真,重復(fù)執(zhí)行“n++;”語句,如此循環(huán)直到n=3時(shí),if語句判定條件中表達(dá)式3%3!=0的值為假,程序執(zhí)行if語句后面的“k--;”語句,此時(shí)k的值為3,不滿足n<k,退出for循環(huán)。故最后的k和n的值為3和3,選項(xiàng)C符合題意。
52.B解析:本題考查函數(shù)調(diào)用的基本概念。因?yàn)楹瘮?shù)的結(jié)果是個(gè)未知量,而函數(shù)定義時(shí)不能使用未知量,所以函數(shù)定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。
53.A解析:條件表達(dá)式的形式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3,所以本題條件表達(dá)式a<b?a:c<d?c:d應(yīng)該理解為a<b?a:(c<d?c:d),首先求出條件表達(dá)式c<d?c:d的值等于2,再求條件表達(dá)式a<b?a:2的值,由于a-1<b-4成立,所以上述條件表達(dá)式的值等于1。
54.C
55.D解析:本題主要考查for循環(huán)語句的嵌套。外層主循環(huán)執(zhí)行了3次,嵌套的循環(huán)語句每輪執(zhí)行2次,每次輸出i+j的值,推出嵌套循環(huán)語句后換行。
56.C解析:在軟件開發(fā)和維護(hù)的過程中存在著不少問題,從而導(dǎo)致軟件危機(jī)。軟件危機(jī)一方面與軟件生產(chǎn)本身的復(fù)雜性有關(guān),另一方面也和軟件開發(fā)與維護(hù)的方法不正確有關(guān)。
57.C解析:算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)。算法的空間復(fù)雜度是指算法執(zhí)行過程中所需的存儲(chǔ)空間。
58.BB?!窘馕觥繑?shù)據(jù)庫設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。其中邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換為關(guān)系模式。
59.C
60.C解析:C語言提供了許多輸入函數(shù),其中有:getchar(輸入字符)、scanf(格式輸入)和gets\u3000(輸入字符串)等。題目要求輸入的是字符串,所以可以排除getchar,而且要求輸入的字符串中包含空格,而scanf函數(shù)默認(rèn)將輸入的空格字符作為分割符,所以空格不會(huì)被輸入,故可排除scanf。getc的作用是從文件中輸入一個(gè)字符,故也不可取。gets函數(shù)可以輸入一整行作為一個(gè)字符串,其中也包括空格字符,故應(yīng)該選擇C。
61.C解析:考查位運(yùn)算的運(yùn)算原理。<<為左移運(yùn)算符,運(yùn)算符的左邊是移位對(duì)象;右邊是整型表達(dá)式,代表左移的位數(shù),左移時(shí),右端(低位)補(bǔ)0;左端(高位)移出的部分舍棄。
62.C文件由數(shù)據(jù)序列組成,可以構(gòu)成二進(jìn)制文件或文本文件。故本題答案為C選項(xiàng)。
63.C輸入數(shù)據(jù)的格式必須與scanf()的格式控制串完全匹配,如果A、B、Cc選項(xiàng)中在數(shù)字l0
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東省廣外實(shí)驗(yàn)2024-2025學(xué)年高二上學(xué)期10月月考 數(shù)學(xué)試題含答案
- 幼兒園師德師風(fēng)論壇活動(dòng)方案策劃
- 江蘇省蘇州市(2024年-2025年小學(xué)五年級(jí)語文)統(tǒng)編版期末考試((上下)學(xué)期)試卷及答案
- 2024年BOD自動(dòng)在線監(jiān)測儀項(xiàng)目投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2024-2025學(xué)年重慶烏江新高考協(xié)作體高三上學(xué)期二調(diào)英語試題及答案
- 上海市市轄區(qū)(2024年-2025年小學(xué)五年級(jí)語文)人教版綜合練習(xí)(下學(xué)期)試卷及答案
- 2024年甘肅公務(wù)員考試申論試題(縣鄉(xiāng)卷)
- 垃圾誤時(shí)投放
- DB11T 1123-2014 公共職業(yè)介紹服務(wù)規(guī)范
- 化學(xué)熒光棒市場發(fā)展預(yù)測和趨勢(shì)分析
- 基于大數(shù)據(jù)的電商平臺(tái)用戶行為分析系統(tǒng)研究與實(shí)現(xiàn)
- 財(cái)務(wù)管理的財(cái)務(wù)財(cái)務(wù)數(shù)字化轉(zhuǎn)型
- 直線與圓的位置關(guān)系-省賽一等獎(jiǎng)
- 湖南鹽業(yè)公司招聘考試試題
- 妊娠期病毒性肝炎
- 知識(shí)產(chǎn)權(quán)法治宣傳活動(dòng)
- 《現(xiàn)代護(hù)士職業(yè)素養(yǎng)》課件
- 2024年度患者健康教育制度
- 聚氨酯保溫板
- 小學(xué)生勞動(dòng)技能培養(yǎng)與就業(yè)市場需求
- 疑難信訪培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論