版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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ì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
2.
3.以下程序運(yùn)行后的輸出結(jié)果是()。
A.1,2,3,1,5,9,
B.1,3,5,1,3,5,
C.1,3,5,0,d,8,
D.1,3,5,-1,3,7,
4.以下定義語(yǔ)句中正確的是()。
A.inta=b=0;
B.charA=65+1,b=‘b’;
C.floata=1,*b=&a,*c=&b;
D.doublea=0.0;b=1.1;
5.有以下函數(shù):intfun(char*x,char*y)intn=0;while((*x==*y)&&*x!=‘\0’)∣x++;y++;n++;∣returnn;函數(shù)的功能是()。A.將y所指字符串賦給x所指存儲(chǔ)空間
B.查找和y所指字符串中是否有‘\0’
C.統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)
D.統(tǒng)計(jì)x和y所指字符串中相同的字符個(gè)數(shù)
6.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。A.AaB.AbC.abD.Ba
7.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
8.以下程序的輸出結(jié)果是main(){intc=35;printf("%d\n",c&c);}
A.0B.70C.35D.1
9.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inti,S=0;for(i=1;i<10;i++)if(!(i%2)&&!(i%3))s+=i;printf("%d\n",s);}A.4B.39C.45D.6
10.
11.有以下程序:#include<stdio.h>main(){charch=‘1’;while(ch<‘9’){printf(“%d”,ch-‘0’);ch++;}}程序運(yùn)行后的輸出結(jié)果是()。
A.12345678B.01234567C.0D.1
12.為了使模塊盡可能獨(dú)立,要求_____。A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
13.在一個(gè)單鏈表HL中,若要在指針q所指結(jié)點(diǎn)的后面插入一個(gè)由指針p所指向的結(jié)點(diǎn),則執(zhí)行____。
A.q一>next=p一>next;p一>next=q;
B.q一>next=p一>next;p一>next=q;
C.p一>next=q一>next;q=p;
D.p一>next=q一>next;q一>next=p;
14.
15.
16.下列變量聲明合法的是()。A.shorta=1.4e-1;
B.doubleb=1+3e2.8;
C.longdo=0xfdaL;
D.float2aaa=1e-3;
17.
18.有如下程序段
voidfun(int*a,int*b)
{int*k;
k=a;a=b;b=k;
}
main()
{inta=3,b=6,*x=&a,*y=&b;
fun(x,y);
printf("%d%d",a,b);
}
程序運(yùn)行后輸出的結(jié)果是A.A.63
B.36
C.編譯出錯(cuò)
D.00
19.有以下程序intfun(intx,inty){return(x+y);}main{inta=1,b=2,C=3,sum;sum=fun((a++,b++,a+b),c++printf("%d\n",sum);)執(zhí)行后的輸出結(jié)果是()。A.6B.7C.8D.9
20.下列敘述中正確的是()。
A.在C語(yǔ)言中,預(yù)處理命令行都以“#”開(kāi)頭
B.預(yù)處理命令行必須位于C語(yǔ)言源程序的起始位置
C.“include<stdio.h>”必須放在C語(yǔ)言程序的開(kāi)頭
D.C語(yǔ)言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
二、2.填空題(20題)21.以下程序段的輸出結(jié)果是【】。
inti=9;
prinff("%o\n",i);
22.若有定義:inta=4,b=5,c=6;然后順序執(zhí)行下列語(yǔ)句后,變量b中的值是()。c=(a-=(b-5));c=(a%3)+(b=1);
23.在數(shù)據(jù)結(jié)構(gòu)中,順序存儲(chǔ)結(jié)構(gòu)的數(shù)據(jù)元素所占的存儲(chǔ)空間是______的。
24.下列程序段的運(yùn)行結(jié)果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
25.數(shù)據(jù)庫(kù)技術(shù)的主要特點(diǎn)為數(shù)據(jù)的集成性、數(shù)據(jù)的高【】和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理與控制。
26.下列程序的運(yùn)行結(jié)果是______。
#definePOWER(x)((x)*(x))
main()
{inti=1;
primtf("%d,%d",POWER(i++),i);
}
27.下面程序的輸出是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)
arr[i]=i;
for(i=1;i<4;i++)
k+=arr[i]+i;
printf("%d\n"k);}
28.以下定義的結(jié)構(gòu)體類(lèi)型擬包含兩個(gè)成員,其中成員變量info用來(lái)存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請(qǐng)將定義補(bǔ)充完整。
structnode
{intinfo;
【】link;};
29.語(yǔ)句“int(*ptr)();”的含義是______是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)。
30.若已知a=10,b=20,則表達(dá)式!a<b的值為【】。
31.若有如下程序:
#include"stdio.h"
main()
{chars[30];
strcpy(&s[0],"abc");strcpy(&s[1],"de");strcpy(&s[2],"f");
printf("%s\n",s);}
則程序運(yùn)行后的輸出結(jié)果是【】。
32.下列程序的運(yùn)行結(jié)果是______。
#definePOWER(x)((x)*(x))
main()
{inti=1;
printf("%d,%d",POWER(i++),i);
}
33.以下程序運(yùn)行后的輸出結(jié)果是______。
fun(intx)
{if(x/2>0)fun(x/2);
printf("%d",x);
}
main()
{fun(6);}
34.以下程序的輸出結(jié)果是【】。
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}
35.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且fun函數(shù)為void類(lèi)型;請(qǐng)寫(xiě)出fun函數(shù)的首部【】(要求形參名為b)。main(){doubles[10][22];intn;……fun(s);……}
36.下面的程序是將從終端讀入的20個(gè)字符放入字符數(shù)組中,然后利用指針變量輸出上述字符串,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti;
chars[21],*p;
for(i=0;i<20;i++)
s[i]=getehar();
s[i]=【】;
p=【】;
while(*p)putchar(【】);
}
37.按照邏輯結(jié)構(gòu)分類(lèi),結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。
38.以下程序運(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);
}
39.以下程序的輸出是【】。
main()
{
charstrl[]]="Howdoyoudo",*p1=strl;
strcpy(strl+strlen(strl)/2,"esshe");
printf("%s\n",p1);
}
40.在最壞情況下,冒泡排序的時(shí)間復(fù)雜度為【】。
三、1.選擇題(20題)41.在C語(yǔ)言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()
A.%B./C.<D.!
42.在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是()。
A.不限制goto語(yǔ)句的使用B.減少或取消注解行C.程序越短越好D.程序結(jié)構(gòu)應(yīng)有助于讀者理解
43.下列敘述中正確的是()。
A.break語(yǔ)句只能用于switch語(yǔ)句體中
B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)
D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同
44.有定義語(yǔ)句:intb;charc[10];則正確的輸入語(yǔ)句是()。
A.seanf("%d%s",&b,&c);
B.scanf("%d%s",&b,c);
C.seanf("%d%s",b,c);
D.scanf("%d%s",b,&c);
45.下列敘述中正確的是()。
A.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間具有密切的聯(lián)系
B.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象都是公用的
C.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴(lài)性小
D.上述三種說(shuō)法都不對(duì)
46.在順序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找關(guān)鍵碼值11,所需的關(guān)鍵碼比較次數(shù)為_(kāi)_____。
A.2B.3C.4D.5
47.數(shù)據(jù)庫(kù)設(shè)計(jì)的4個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和()。
A.編碼設(shè)計(jì)B.測(cè)試階段C.運(yùn)行階段D.物理設(shè)計(jì)
48.有下列程序:main(){intk=5;while(--k)printf("%d",k-=3);printf("\n");}執(zhí)行后的輸出結(jié)果是()。
A.1B.2C.4D.死循環(huán)
49.以下程序的功能是:建立一個(gè)帶布頭結(jié)點(diǎn)的單向鏈表,并將存儲(chǔ)在數(shù)組中的字符依次存儲(chǔ)到鏈表的各個(gè)結(jié)點(diǎn)中,請(qǐng)從與下劃線處號(hào)碼對(duì)應(yīng)的一組選項(xiàng)中選擇出正確的選項(xiàng)
#include<stdlib.h>
structnode
{chardata;structnode*next;};
(48)CreatList(char*s),
{structnode*h,*p,*q;
h=(structnode*)malloc(sizeof(structnode));
p=q=h;
while(*s!="\0")
{p=(structnode*)malloc(sizeof(structnode));
p->data=(49);
q->next=p;
q=(50);
s++;
}
p->next="\0";
returnh;
}
main()
{charstr[]="linklist";
structnode*head;
head=CreatList(str);
…
}
(1)
A.char*B.structnodeC.structnode*D.char
50.軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合
B.高內(nèi)聚低耦合
C.低內(nèi)聚高耦合
D.高內(nèi)聚高耦合
51.下述函數(shù)功能是______。intfunr(char*x){char*y=x;while(*y++);returny-x-1;}
A.求字符串的長(zhǎng)度B.求字符串存放的位置C.比較兩個(gè)字符串的大小D.將字符串x連接字符串y后面
52.以下對(duì)結(jié)構(gòu)體類(lèi)型變量的定義中,不正確的是()
A.typedefstructaa{intn;floatm;}AA;AAtdl;
B.#defineAAstructaaAA{intn;floatm;}tdl;
C.struct{intn;floatm;}aa;structaatdl;
D.struct{intn;floatm,}tdl;
53.請(qǐng)選出正確的程序段
A.int*p;scanf("%d",p);…
B.int*s,k;*s=100;…
C.int*s,k;char*p,c;s=&k;p=&c;*p=′a′;…
D.int*s,k;char*p,e;s=&k;p=&c;s=p;*s=1;…
54.希爾排序法屬于______類(lèi)型的排序法。
A.交換類(lèi)排序法B.插入類(lèi)排序法C.選擇類(lèi)排序法D.建堆排序法
55.以下函數(shù)調(diào)用語(yǔ)句中含有_______個(gè)實(shí)參。func((exp1,exp2),(exp3,exp4,exp5));
A.1B.2C.4D.5
56.有以下程序:#include<stdio.h>main(){intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13;14,15,16}},i,j;for(i=0;i<4;i++){for(j=0;j<=i;j++)printf("%4c",");for(j=______;j<4;j++)printf("%4d",hum[i][j]);printf("\n");}}若要按以下形式輸出數(shù)組右上半三角;1234678111216則在程序下劃線處應(yīng)填入的是()。
A.i-1B.iC.i+1D.4-i
57.若已包括頭文件<stdio.h>和<string.h>,運(yùn)行下列程序段時(shí)輸出結(jié)果是()。inti=0;chars1[10]="ABCD",s2[10]="EFG";strcat(s1,s2);while(s2[i++]!='\0')s2[i]=s1[i];puts(s2);
A.ABCB.ABCDEFC.EBCDEFGD.CBD
58.下列程序的輸出結(jié)果是()。#include<stdio.h>f(intA){intb=0;staticintc=4;a=c++;b++;return(A);}main(){inta=2,i,c;for(i=0;i<2;i++)c=f(a++);printf("%d\n",C);}
A.4B.7C.6D.5
59.若有定義inta[10],*p=a,則p+6表示()。
A.數(shù)組元素a[5]的值B.數(shù)組元素a[5]的地址C.數(shù)組元素a[6]的地址D.數(shù)組元素a[0]的值加上5
60.設(shè)有如下程序段:intx=2002,y=2003;printf("%d\n",(x,y));則以下敘述中正確的是()。
A.輸出語(yǔ)句中格式說(shuō)明符的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),不能正確輸出
B.運(yùn)行時(shí)產(chǎn)生出錯(cuò)信息
C.輸出值為2002
D.輸出值為2003
四、選擇題(20題)61.有以下程序,程序中庫(kù)函數(shù)islower(ch)用以判斷ch中的字母是否為小寫(xiě)字母:
程序運(yùn)行后的輸出結(jié)果是()。
A.abcdEFg!B.AbCdEFg!C.abcdEFG!D.aBcDEFG!
62.下列選項(xiàng)中,能夠滿(mǎn)足“若字符串sl等于字符串s2,則執(zhí)行sT”要求的是()。
A.
B.
C.
63.若有以下程序段:
輸出結(jié)果是()。
A.2B.4C.8D.16
64.(62)棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是()
A.ABCED
B.DBCEA
C.CDABE
D.DCBEA
65.下列敘述中正確的是()。
A.循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
B.循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)
C.循環(huán)隊(duì)列是非線性結(jié)構(gòu)
D.循環(huán)隊(duì)列是一種邏輯結(jié)構(gòu)
66.
67.有如下程序段:inta=14,b=15,x;charc=A;x=(a&&b)&&(c<B):執(zhí)行該程序后,x的值為()。A.trueB.falseC.0D.1
68.若有函數(shù)voidfun(doublea[]。int*n){…}以下敘述中正確的是()。A.調(diào)用fun函數(shù)時(shí)只有數(shù)組執(zhí)行按值傳送,其他實(shí)參和形參之間執(zhí)行按地址傳送
B.形參a和n都是指針變量
C.形參a是一個(gè)數(shù)組名,n是指針變量
D.調(diào)用fun函數(shù)時(shí)將把double型參數(shù)組元素一一對(duì)應(yīng)地傳送給形參a數(shù)組
69.設(shè)有定義:intk=0;以下選項(xiàng)的四個(gè)表達(dá)式中與其他三個(gè)表達(dá)式的值不相同的是()。
A.++kB.k+=1C.k++D.k+1
70.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1B.2C.3D.4
71.
72.
73.Internet使用的網(wǎng)絡(luò)協(xié)議是()。
A.3CP協(xié)議B.TCP/IP協(xié)議C.UDP協(xié)議D.IP協(xié)議
74.
75.
76.有三個(gè)關(guān)系R、S和t如下:由關(guān)系R和s通過(guò)運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.笛卡兒積B.交C.并D.自然連接
77.
78.有以下程序程序運(yùn)行后的輸出結(jié)果是()
A.1,3,3B.1,3.2C.1,2,3D.3,2,1.
79.
80.在一個(gè)C源程序文件中所定義的全局變量。其作用域?yàn)?)。A.由具體定義位置和extern說(shuō)明來(lái)決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍
五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:為一個(gè)偶數(shù)尋找兩個(gè)素?cái)?shù),這兩個(gè)素?cái)?shù)之和等于該偶數(shù),并將這兩個(gè)素?cái)?shù)通過(guò)形參指針傳回主函數(shù)。
請(qǐng)修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)proc(),它的功能是:將字符串尾部的*號(hào)全部刪除,前面和中間的*號(hào)不刪除。例如,若字符串中的內(nèi)容為****a*bc*def*g。***,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是****a*bc*def*g。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.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ù)的相互依賴(lài)(簡(jiǎn)稱(chēng)為數(shù)據(jù)依賴(lài))。注意:文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫(kù)系統(tǒng)三代的特點(diǎn)。
2.D
3.Dmain函數(shù)中,fun(fun(t))嵌套調(diào)用fun函數(shù)。第一次調(diào)用為fun(1),調(diào)用后,a[3]={1,3,5},輸出1,3,5,返回a[1]=3。第二次調(diào)用為fun(3),調(diào)用后,a[3]={一1,3,7},輸出一l,3,7。
4.BA選項(xiàng)中的變量b沒(méi)有定義,不能直接給變量a賦值。C選項(xiàng)中,*b、*c表示的是一個(gè)實(shí)型變量的地址,不能將指針型變量b的地址賦值給指針型變量c。D選項(xiàng)中,“a=0.0”后面應(yīng)該為逗號(hào),不能是分號(hào)。故本題答案為B選項(xiàng)。
5.C本題中由循環(huán)條件可知遇到‘\\0’或x與y所指的字符的值不等中的一個(gè)條件時(shí)就結(jié)束,所以功能是統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)。
6.B函數(shù)fun將形參b賦給形參a,使得a和b都指向原b所指向的地址,然后對(duì)該地址的值執(zhí)行自增1;main函數(shù)中p1指向ch1,p2指向ch2。通過(guò)fun函數(shù)的調(diào)用,將ch2的值完成自增1,字符’a’自增1后變成字符’b’,所以程序輸出:Ab。本題答案為B選項(xiàng)。
7.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。
8.C解析:本題考查按位與“&”。因?yàn)?&1=1,0&0=0,所以任何數(shù)與自身按位與,結(jié)果仍為此數(shù),不發(fā)生變化。
9.Dif語(yǔ)句的條件是當(dāng)i既是3的倍數(shù)又是2的倍數(shù)時(shí)成立,所以此程序?qū)崿F(xiàn)的功能是將10以?xún)?nèi)既是3的倍數(shù)又是2的倍數(shù)的數(shù)相加。
10.B
11.A表達(dá)式“ch-‘0’’將數(shù)字字符轉(zhuǎn)為數(shù)字。輸出的格式為%d。while循環(huán)從‘1’~‘8’,因此輸出的結(jié)果是12345678。故本題答案為A選項(xiàng)。
12.B解析:模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。本題答案為B。
13.D
14.A
15.B
16.A本題需了解3個(gè)知識(shí)點(diǎn):①標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成,并且它的第一個(gè)字符必須是字母或者下劃線;②do是C語(yǔ)言的一個(gè)關(guān)鍵字,不能再用做變量名和函數(shù)名;③c語(yǔ)言規(guī)定指數(shù)形式的實(shí)型數(shù)量e或E后面的指數(shù)必須是整數(shù)。
17.A
18.B在本題中,程序首先定義了一個(gè)無(wú)返回值的函數(shù)fun,該函數(shù)帶有兩個(gè)整型的指針形參變量,在函數(shù)體中,首先定義一個(gè)整型指針變量k,然后試圖利用k來(lái)交換a和b的結(jié)果。但處理語(yǔ)句k=a;很明顯是對(duì)地址進(jìn)行賦值操作。在C語(yǔ)言中,指針變量作為函數(shù)參數(shù)時(shí),可以改變被指向的變量的值,但不能改變指針變量本身的值,即我們可以改變實(shí)參指向的變量的值,不能使實(shí)參指向其他的變量。因此,本函數(shù)并不能交換形參所指向變量的結(jié)果。
在主函數(shù)中,首先定義了兩個(gè)整型變量a和b,并分別被初始化為3和6,然后定義兩個(gè)指針變量x和y,分別指向a和b,接著調(diào)用fun函數(shù),傳遞的實(shí)參為指針變量x和y,根據(jù)前面對(duì)fun函數(shù)的分析可知,調(diào)用該函數(shù)后并不能實(shí)現(xiàn)a和b數(shù)組的交換,因此,執(zhí)行輸出語(yǔ)句后,輸出的結(jié)果是36。本題正確答案選B。
19.Csum=fun((a++,b++,a+b),c++)中a++,b++,a+b為逗號(hào)表達(dá)式,運(yùn)算后取a+b的值為5,c++為3,故函數(shù)調(diào)用后輸出結(jié)果為8。
20.A預(yù)處理命令以“#”開(kāi)頭,一般在源文件的最前面書(shū)寫(xiě),但不是必須在起始位置書(shū)寫(xiě),所以B、C選項(xiàng)錯(cuò)誤。C語(yǔ)言的預(yù)處理能夠?qū)崿F(xiàn)宏定義和條件編譯的功能,所以D選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。
21.1111解析:格式字符。是以八進(jìn)制無(wú)符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0),因?yàn)檎麛?shù)9的八進(jìn)制為11,所以輸出結(jié)果為11。
22.11解析:本題考查的是基本賦值運(yùn)算符和賦值表達(dá)式。a-=(b-5)等價(jià)于a=a-(b-5)=4,c=a=4;a%3=1,c=(a%3)+(b=1)=2,其中b的值被b=1確定為1。
23.連續(xù)連續(xù)解析:順序存儲(chǔ)結(jié)構(gòu)具有兩個(gè)特點(diǎn):1)數(shù)據(jù)元素所占空間是連續(xù)的;2)數(shù)據(jù)元素在存儲(chǔ)空間中是按邏輯順序依次存放的。
24.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個(gè)指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時(shí)是以“%d”格式輸出的,即輸出其相應(yīng)ASCII碼值68。
25.共享性共享性解析:數(shù)據(jù)庫(kù)技術(shù)的主要特點(diǎn)有以下幾個(gè)方面:數(shù)據(jù)的集成性,數(shù)據(jù)的高共享性與低冗余性,數(shù)據(jù)的獨(dú)立性,數(shù)據(jù)統(tǒng)一管理與控制。
26.111,1解析:POWER(i++)中先引用i的值1,再將i的值加1,POWER(i++)=1*1=1。
27.1212解析:本題通過(guò)第一個(gè)for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過(guò)第二個(gè)for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:
i=1:k=0+arr[1]+1即k=2;
i=2:k=2+arr[2]+2即k=6;
i=3:k=6+arr[3]+3即k=12;
28.structnode*structnode*解析:本題中的結(jié)構(gòu)類(lèi)型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個(gè)指向自身的結(jié)構(gòu)體指針。
29.ptrptr解析:本題考查函數(shù)指針的概念。函數(shù)指針的定義格式是:類(lèi)型標(biāo)識(shí)符(*指針變量名)()。注:“類(lèi)型標(biāo)識(shí)符”為函數(shù)返回值的類(lèi)型。
30.11解析:計(jì)算表達(dá)式!a<b,先計(jì)算!a,因a的值為10,!a的值為0,而關(guān)系表達(dá)式0<20為真,所以表達(dá)式!a<b的值為1。
31.adf
32.111,1解析:POWER(i++)中先引用i的值1,再將i的值加1,POWER(i++)=1*1=1。
33.136136解析:本題考核的知識(shí)點(diǎn)是函數(shù)遞歸。主函數(shù)調(diào)用函數(shù)fun(6),由于6/2>0為真遞歸調(diào)用fun(3),接著遞歸調(diào)用fun(1),輸出1,返回上一層輸出3,在返回上一層輸出6。故空格處應(yīng)該填136。
34.99解析:本題考查函數(shù)的綜合知識(shí)。首先,我們可以利用強(qiáng)制轉(zhuǎn)換類(lèi)型轉(zhuǎn)換運(yùn)算符,將一個(gè)表達(dá)式轉(zhuǎn)換成所需類(lèi)型。如:(double)a是將a轉(zhuǎn)換成double類(lèi)型;(int)(x+y)是將x+y的值轉(zhuǎn)換成整型。
本題可按部就班地逐步運(yùn)算:
fun((int)fun(a+c,b),a-c)
fun((int)fun(10,5),2-8)
fun((int)15.000000,-6)
fun(15,-6)
9
35.
36.\0s*p++\\0\r\ns\r\n*p++解析:本題先通過(guò)for循環(huán)從鍵盤(pán)讀入20個(gè)字符,然后賦值'\\0'作為字符串結(jié)束標(biāo)志,再使指針p指向字符串的首地址,最后通過(guò)while循環(huán)對(duì)字符串進(jìn)行掃描并輸出。
37.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。常見(jiàn)的線性結(jié)構(gòu)有線性表、棧和隊(duì)列等,常見(jiàn)的非線性結(jié)構(gòu)有樹(shù)、二叉樹(shù)等。
38.30253025解析:本題考核的知識(shí)點(diǎn)是變量的存儲(chǔ)屬性和算術(shù)運(yùn)算的應(yīng)用。本題涉及了自動(dòng)變量、靜態(tài)變量和外部變量。外部變量是定義在所有函數(shù)之外的變量,本題中inta=5定義了一個(gè)外部變量a,它是一個(gè)全局變量,即作用域是從定義的位置開(kāi)始到本文件的結(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í)行過(guò)程中自動(dòng)進(jìn)行的,auto是自動(dòng)變量的存儲(chǔ)類(lèi)別標(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。
39.HowdoessheHowdoesshe解析:strcpy(strl,s1):字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組strl中去。strlen(str):測(cè)試字符串str的長(zhǎng)度,函數(shù)的值為字符串中實(shí)際長(zhǎng)度,不包括\'\\0\'在內(nèi)。本題中strlen(strl)的值為13,則strcpy(strl+strlen(strl)/2,'esshe');相當(dāng)于strcpy(strl+6,'esshe');,因此可得答案為Howdoesshe。
40.
解析:冒泡排序法是通過(guò)相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。假設(shè)線性表的長(zhǎng)度為n,則在最壞的情況下,冒泡排序需要經(jīng)過(guò)遍的從前往后的掃描和遍的從后往前的掃描,需要的比較次數(shù)為。
41.A解析:題目的四個(gè)選項(xiàng)中,B、C、D都不要求運(yùn)算數(shù)必須為整數(shù),參與模運(yùn)算(%)的運(yùn)算數(shù)必須是整型數(shù)據(jù)。
42.D解析:濫用goto語(yǔ)句將使程序流程無(wú)規(guī)律,可讀性差,因此選項(xiàng)A)不選;注解行有利于對(duì)程序的理解,不應(yīng)減少或取消,選項(xiàng)B)也不選;程序的長(zhǎng)短要依照實(shí)際情況而論,而不是越短越好,選項(xiàng)C)也不選。
43.C解析:只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句。當(dāng)break出現(xiàn)在循環(huán)體的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體,并不能中止循環(huán)體的執(zhí)行。若想強(qiáng)行中止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語(yǔ)句中設(shè)置break語(yǔ)句,滿(mǎn)足某種條件,則跳出本層循環(huán)體。
44.B解析:scanf函數(shù)中格式控制后面是地址表列,不能用變量名。數(shù)組名c代表數(shù)組在內(nèi)存的首地址,&b代表變量b的首地址,選項(xiàng)B)正確。
45.C解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,對(duì)象是面向?qū)ο蟮能浖幕灸K,它是由數(shù)據(jù)及可以對(duì)這些數(shù)據(jù)施加的操作所組成的統(tǒng)一體,而且對(duì)象是以數(shù)據(jù)為中心的,操作圍繞對(duì)其數(shù)據(jù)所需做的處理來(lái)設(shè)置,沒(méi)有無(wú)關(guān)的操作。從模塊的獨(dú)立性考慮,對(duì)象內(nèi)部各種元素彼此結(jié)合得很緊密,內(nèi)聚性強(qiáng)。由于完成對(duì)象功能所需要的元素(數(shù)據(jù)和方法)基本上都被封裝在對(duì)象內(nèi)部,它與外界的聯(lián)系自然就比較少,所以,對(duì)象之間的耦合通常比較松。所以,選項(xiàng)A與B錯(cuò)誤,選項(xiàng)C正確。
46.C解析:二分法查找是一種線性查找方法,其基本方法是:首先要用要查找的關(guān)鍵碼與線性表中間位置結(jié)點(diǎn)的關(guān)鍵碼值進(jìn)行比較,這個(gè)中間結(jié)點(diǎn)把線性表分為兩個(gè)子表,比較相等則查找完畢,不等則根據(jù)查找結(jié)果確定下一步的查找應(yīng)該在哪一個(gè)子表中進(jìn)行,如此下去,直到找到滿(mǎn)足條件的結(jié)點(diǎn):或者確定表中沒(méi)有這樣的結(jié)點(diǎn)。用二分法查找關(guān)鍵碼值11的順序如下所示,其中[]內(nèi)為本次栓索的子表,()內(nèi)為該子表的中間結(jié)果。從圖中可以看出,經(jīng)四次查找后,確定表中沒(méi)有這樣的結(jié)點(diǎn)。因此本題正確答案為選項(xiàng)C(4)。
第一次:[3,6,8,10,12,(15),16,18,21,25,30]
第二次:[3,6,(8),10,12],15,16,18,21,25,30
第三次:[3,6,8,[(10),(12)],15,16,18,21,25,30]
第四次:[3,6,8,10,[(12)],(15),16,18,21,25,30]查找失敗。
47.D解析:數(shù)據(jù)庫(kù)的生命周期可以分為兩個(gè)階段:一是數(shù)據(jù)庫(kù)設(shè)計(jì)階段,二是數(shù)據(jù)庫(kù)實(shí)現(xiàn)階段。數(shù)據(jù)庫(kù)的設(shè)計(jì)階段又分為4個(gè)子階段,即需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。因此,本題的正確答案是D。
48.A解析:在程序語(yǔ)句中,k的初始值為5,進(jìn)行第1次while循環(huán)后,k自減1為4,非0,執(zhí)行循環(huán)體里的printf語(yǔ)句,輸出1,此時(shí)k的值變?yōu)?。程序執(zhí)行第2次循環(huán)時(shí),k自減1變?yōu)?,為假,退出while循環(huán)語(yǔ)句。所以程序的最后結(jié)果為1。
49.C
50.B解析:耦合性和內(nèi)聚性足模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn)。內(nèi)聚性是一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度量,作為軟件結(jié)構(gòu)設(shè)計(jì)的設(shè)計(jì)原則,要求每個(gè)模塊的內(nèi)部都具有很強(qiáng)的內(nèi)聚性;耦合性是指模塊間相互連接的緊密程度的度量,一個(gè)模塊與其他模塊的耦合性越強(qiáng)則該模塊的獨(dú)立性越弱。一般優(yōu)秀的軟件設(shè)計(jì)應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。
51.A解析:在函數(shù)體內(nèi)定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長(zhǎng)度。
52.C解析:定義結(jié)構(gòu)體類(lèi)型的變量有幾種的方法如下:
①定義結(jié)構(gòu)體類(lèi)型的同時(shí),定義結(jié)構(gòu)體類(lèi)型的變量,如下面的定義中在定義結(jié)構(gòu)體類(lèi)型aa的同時(shí)定義了該類(lèi)型的變量tdl。上述B)項(xiàng)中將宏名AA用宏體structaa替換進(jìn)去后,與該定義形式一樣,因此是正確的。這一定義形式中,結(jié)構(gòu)體類(lèi)型名明是可以省略的,因此,D)項(xiàng)也是正確的。
structaa
{...
}tdl;
②先定義結(jié)構(gòu)體類(lèi)型,然后再定義結(jié)構(gòu)體類(lèi)型的變量,形式如下:
structaa
{
…
};
structaatdl;
這種定義形式也可演變?yōu)?,先用?lèi)型定義語(yǔ)句typedef將該結(jié)構(gòu)體類(lèi)型定義成一個(gè)類(lèi)型名AA,然后直接用該類(lèi)型名AA去定義一個(gè)變量(這時(shí)不再需要使用關(guān)鍵字struct了)。這就是A)項(xiàng)的形式。
53.C解析:本題的選項(xiàng)A)和B)犯了同樣的錯(cuò)誤,即指針變量在定義后并沒(méi)有指向具體的變量。也就是說(shuō),指針變量中沒(méi)有確定的地址值,它的值是不可預(yù)見(jiàn)的,所指的單元也是不可預(yù)見(jiàn)的,因此不能進(jìn)行賦值操作。另外,在選項(xiàng)D)中,s是int型指針變量,p是char型指針變量,所指向的內(nèi)存單元所占用的字節(jié)數(shù)是不同的,因而不能將字符指針變量p的值賦給整型指針變量s。
54.B解析:希爾排序法的基本思想是:將整個(gè)無(wú)序序列分割成若干小的子序列分別進(jìn)行插入排序。所以希爾排序法屬于插入類(lèi)排序,但它對(duì)簡(jiǎn)單插入排序做了很大的改進(jìn)。
55.B解析:實(shí)參可以是常量、變量或表達(dá)式,(exp1,exp2)是逗號(hào)表達(dá)式,它的值是exp2的值;(exp3,exp4,exp5)是逗號(hào)表達(dá)式,它的值是exp5的值。所以該函數(shù)調(diào)用語(yǔ)句含有的實(shí)參個(gè)數(shù)是2,即:(exp1,exp2)和(exp3,exp4,exp5)。
56.B解析:本程序?yàn)槎匮h(huán),外循環(huán)控制輸出數(shù)據(jù)的行數(shù),內(nèi)循環(huán)控制輸出數(shù)據(jù)的列數(shù)。本題需要輸出4行4列,外層循環(huán)語(yǔ)句for(i=0;i<4;i++)控制輸出4行,內(nèi)層的第一條for循環(huán)控制每行輸出的空格數(shù),第二條for循環(huán)用于控制每行的數(shù)字輸出,由于每一行的數(shù)字個(gè)數(shù)比前一行少1個(gè),所以?xún)?nèi)層的第二條for循環(huán)每次循環(huán)的次數(shù)需要遞減1,那么j的初始值應(yīng)該遞增,因?yàn)榈谝恍休敵龅氖?個(gè)數(shù),所以空格中應(yīng)填i。
57.C解析:strcat(s1,s2)把s2連接到s1的后面
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年川北幼兒師范高等專(zhuān)科學(xué)校單招職業(yè)技能考試參考題庫(kù)含詳細(xì)答案解析
- 2026年潞安職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試模擬試題含詳細(xì)答案解析
- 2026年1月浙江杭州市上城區(qū)教育局所屬事業(yè)單位招聘教師40人參考考試試題及答案解析
- 2026年河南科技職業(yè)大學(xué)單招綜合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 2026年眉山職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)筆試參考題庫(kù)含詳細(xì)答案解析
- 2026年重慶工貿(mào)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考題庫(kù)及答案詳細(xì)解析
- 2026年銀川能源學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考題庫(kù)含詳細(xì)答案解析
- 2026年遼寧城市建設(shè)職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)筆試模擬試題含詳細(xì)答案解析
- 2026云南臨滄市臨翔區(qū)人民法院聘用制書(shū)記員招聘11人備考考試題庫(kù)及答案解析
- 2026年徐州生物工程職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考試題及答案詳細(xì)解析
- 康養(yǎng)醫(yī)院企劃方案(3篇)
- 東華小升初數(shù)學(xué)真題試卷
- 2025年成都市中考化學(xué)試題卷(含答案解析)
- 中泰飲食文化交流與傳播對(duì)比研究
- QGDW11486-2022繼電保護(hù)和安全自動(dòng)裝置驗(yàn)收規(guī)范
- 2025招商局集團(tuán)有限公司所屬單位崗位合集筆試參考題庫(kù)附帶答案詳解
- 寧夏的伊斯蘭教派與門(mén)宦
- 山東師范大學(xué)期末考試大學(xué)英語(yǔ)(本科)題庫(kù)含答案
- 抖音本地生活服務(wù)商培訓(xùn)體系
- 茶葉中的化學(xué)知識(shí)
- 唐河縣泌陽(yáng)凹陷郭橋天然堿礦產(chǎn)資源開(kāi)采與生態(tài)修復(fù)方案
評(píng)論
0/150
提交評(píng)論