版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021年四川省宜賓市全國計算機(jī)等級考試C語言程序設(shè)計重點匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.下面關(guān)于圖的存儲的敘述中,哪一個是正確的。________
A.用相鄰矩陣法存儲圖,占用的存儲空間數(shù)只與圖中結(jié)點個數(shù)有關(guān),而與邊數(shù)無關(guān)
B.用相鄰矩陣法存儲圖,占用的存儲空間數(shù)只與圖中邊數(shù)有關(guān),而與結(jié)點個數(shù)無關(guān)
C.用鄰接表法存儲圖,占用的存儲空間數(shù)只與圖中結(jié)點個數(shù)有關(guān),而與邊數(shù)無關(guān)
D.用鄰接表法存儲圖,占用的存儲空間數(shù)只與圖中邊數(shù)有關(guān),而與結(jié)點個數(shù)無關(guān)
3.若某表最常用的操作是在最后一個結(jié)點之后插入一個結(jié)點或刪除最后一個結(jié)點,則采用()存儲方式最節(jié)省運(yùn)算時間。
A.單鏈表B.給出表頭指針的單循環(huán)鏈表C.雙鏈表D.帶頭結(jié)點的雙循環(huán)鏈表
4.數(shù)據(jù)在計算機(jī)存儲器內(nèi)表示時,如果元素在存儲器中的相對位置能反映數(shù)據(jù)元素之間的邏輯關(guān)系,則稱這種存儲結(jié)構(gòu)為()。
A.存儲結(jié)構(gòu)B.邏輯結(jié)構(gòu)C.順序存儲結(jié)構(gòu)D.鏈?zhǔn)酱鎯Y(jié)構(gòu)
5.以下說法錯誤的是()。
A.散列法存儲的思想是由關(guān)鍵字值決定數(shù)據(jù)的存儲地址
B.散列表的結(jié)點中只包含數(shù)據(jù)元素自身的信息,不包含指針
C.負(fù)載因子是散列表的一個重要參數(shù),它反映了散列表的飽滿程度
D.散列表的查找效率主要取決于散列表構(gòu)造時選取的散列函數(shù)和處理沖突的方法
6.下列敘述中正確的是()。
A.對長度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n
B.對長度為n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為n/2
C.對長度為n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為log2n
D.對長度為n的有序鏈表進(jìn)行對分查找,最壞情況下需要的比較次數(shù)為nlog2n
7.以下敘述中正確的是()。
A.構(gòu)成C程序的基本單位是函數(shù)
B.可以在一個函數(shù)中定義另一個函數(shù)
C.main函數(shù)必須放在其他函數(shù)之前
D.C函數(shù)定義的格式是K&R格式
8.數(shù)組A[5][6]的每個元素占五個字節(jié),將其按列優(yōu)先次序存儲在起始地址為1000的內(nèi)存單元中,下標(biāo)從1開始,則元素A[5][5]的地址是()。
A.1175B.1180C.1205D.1120
9.若a是數(shù)值類型,則邏輯表達(dá)式(a==1)II(a!=1)的值是()。
A.1B.0C.2D.不知道a的值,不能確定
10.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示
A.模塊之間的調(diào)用關(guān)系B.程序的組成成分C.控制程序的執(zhí)行順序D.數(shù)據(jù)的流向
11.以下選項中不能作為C語言合法常量的是()
A.0.1e+6B.‘cd’C.“\a”D.‘\011’
12.下面程序的輸出是()。A.17B.18C.23D.24
13.數(shù)據(jù)庫系統(tǒng)的核心是()。
A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員
14.“商品”與“顧客”兩個實體集之間的聯(lián)系一般是
A.一對一B.一對多C.多對一D.多對多
15.下列字符數(shù)組初始化語句中,不正確的是()。
A.charc[]=goodmorning;
B.charc[20]="goodmorning";
C.charc[]={a,b,c,d);
D.charc[]={"ffgoodmorning"};
16.現(xiàn)有如下定義語句int*p,s[20],i;p=s;表示數(shù)組元素s[i]的表達(dá)式不正確的是
A.*(s+i)B.*(p+i)C.*(s=s+i)D.*(p=p+i)
17.關(guān)系數(shù)據(jù)庫的數(shù)據(jù)及更新操作必須遵循()等完整性規(guī)則。
A.實體完整性和參照完整性
B.參照完整性和用戶定義的完整性
C.實體完整性和用戶定義的完整性
D.實體完整性、參照完整性和用戶定義的完整性
18.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學(xué)號,課號,成績.,則表SC的關(guān)鍵字(鍵或碼)為()
A.課號,成績B.學(xué)號,成績C.學(xué)號,課號D.學(xué)號,姓名,成績
19.設(shè)intx=7,則~x的值是()。
A.-8B.7C.-1D.1
20.C語言中的基本數(shù)據(jù)類型所占存儲空間長度的順序是()
A.char<=int<=float<=double<=long
B.int<=char<=float<=long<=double
C.int<=long<=float<=double<=char
D.char<=int<=float<=long<=double
二、2.填空題(20題)21.fwrite函數(shù)的一般調(diào)用形式是
22.寫出下列程序的執(zhí)行結(jié)果。swap(p1,p2)int*p1,*p2;{intp;p=*p1;*p1=*p2;*p2=p;}main(){inta,b,*p1,*p2;scanf("%d%d",&a,&B);p1=&a;p2=&b;if(a<B)swap(p1,p2);printf("\na=%d,b=%d\n",a,B);}若a=7,b=8,則程序的運(yùn)行結(jié)果為()。
23.由25人圍坐成圓圈,先由任意一人開始順時針沿用1~25依次編號,然后從1號開始順時針報數(shù)(1、2、3…),凡報5的倍數(shù)者出圈,剩下者繼續(xù)報數(shù),求出最后出圈者的編號。
#include
main()
{inta[26],j,n,count;
for(j=1;j<=25;j++)a[j]=j;
j=1;count=0;n=【】;
do
{
if(a[j]!=0)
{n++;
if(n%5==0)
{【】;
if(count==24)printf("%d\n",,j);
count++;
}
}
j++;
if(j>25)j=1;
}
while(【】);
}
24.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
longfib(intg)
{switch(g)
{case0:return0;
case1:case2:return1;
}
return(fib(g-1)+fib(g-2));
}
main()
{longk;
k=fib(5);
printf("k=%d\n",k);
}
25.媒體在計算機(jī)領(lǐng)域中的含義,是指存儲信息的實體和【】。
26.以下程序運(yùn)行時若從鍵盤輸入:102030<回車>。輸出結(jié)果是【】。
#include<stdio.h>
main()
{
inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d\n",i,j,k);
}
27.若有以下程序
main()
{chara;
a='H'-'A'+'0';
printf("%c\n",a);
}
執(zhí)行后輸出的結(jié)果是______。
28.數(shù)據(jù)管理技術(shù)的發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個階段,其中數(shù)據(jù)獨(dú)立性最高的階段是【】。
29.以下定義的結(jié)構(gòu)體類型擬包含兩個成員,其中成員變量info用來存入整形數(shù)據(jù);成員變量link是指向自身結(jié)構(gòu)體的指針,請將定義補(bǔ)充完整。
structnode
{intinfo;
【】link;};
30.在最壞情況下,堆排序需要比較的次數(shù)為()。
31.性結(jié)構(gòu)中,隊列的操作順序是先進(jìn)先出,而棧的操作順序是______。
32.以下程序?qū)?shù)組a的4個元素和數(shù)組b的6個元素寫到名為lett.dat的二進(jìn)制文件中,請?zhí)羁铡?/p>
#include<stdio.h>
#include<stdlib.h>
main()
{FILE*fp;
chara[5]="1234",b[7]="abcedf";
if((fp=fopen("【】","wb"))==NULL)exit(0);
fwrite(a,sizeof(char),4,fp);
fwrite(b,【】,1,fp);
fclose(fp);
}
33.以下程序的輸出結(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))
}
34.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
35.數(shù)據(jù)庫系統(tǒng)的主要特點為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。
36.以下sum函數(shù)的功能是計算下列級數(shù)之和:
請給函數(shù)中的各變量正確賦初值。
doublesum(douLlex,intn)
{inti;
doublea,b,s;
【】
for(i=1;i<=n;i++){a=a*x;b=b*i;s=s+a/b;}
returns;
}
37.以下函數(shù)的功能是求x的y次方,請?zhí)羁铡?/p>
doublefun(doublex,inty)
{inti;
doublez;
for(i=1,z=x;i<y;i++)z=z*【】;
returnz;
}
38.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{inta=1,b=2,c=3;
if(c=A)printf("%d\n",C);
elseprintf("%d\n",B);
}
39.以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請?zhí)羁铡?/p>
vioddele(char*s)
{intn=0,i;
for(i=0;s[i];i++)
if(______)
s[n++];s[i];
s[n]=______;
}
40.執(zhí)行以下程序后的輸出結(jié)果是()。
main()
{inta=10;
a=(3*5,a+4);printf("a=%d\n",A);
三、1.選擇題(20題)41.設(shè)有:
inta=1,b=2,c=3,d=4,m=2,n=2;
執(zhí)行(m=a>b)&&(n=c>d)后,n的值是
A.1B.2C.3D.4
42.簡單的交換排序方法是()。
A.快速排序B.選擇排序C.堆排序D.冒泡排序
43.設(shè)有以下程序段;inta[5]={0},*p,*q;p=a;q=a;則合法的運(yùn)算是______。
A.p+qB.p-qC.p*qD.p%q
44.微型計算機(jī)中使用的鼠標(biāo)器連接在()
A.并行接口上B.串行接口上C.顯示器接口上D.鍵盤接口上
45.字長為32位的計算機(jī)是指()
A.該計算機(jī)中的CPU有32個寄器
B.該計算機(jī)能夠處理的最大數(shù)不超過232
C.該計算機(jī)每秒鐘所能執(zhí)行的指令條數(shù)為32MIPS
D.該計算機(jī)中的CPU可以相同時處理32位的二進(jìn)制數(shù)
46.有以下程序:main(){inta=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);elseif((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}執(zhí)行后輸出結(jié)果是______。
A.2B.3C.4D.編譯時有錯,無結(jié)果
47.下列敘述中錯誤的是()。
A.在C語言中,函數(shù)中的自動變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語言中,在調(diào)用函數(shù)時,實參和對應(yīng)形參在類型上只需賦值兼容
C.在C語言中,外部變量的隱含類型是自動存儲類別
D.在C語言中,函數(shù)形參的存儲類型是自動(auto)類型的變量
48.已知字母A的ASCII碼為十進(jìn)制數(shù)65,下面程序的輸出結(jié)果是()main(){charch1,ch2;ch1=A+5-3;ch2=A+6-3;printf("%d,%c\n",ch1,ch2);}
A.67,DB.B,CC.C,DD.不正確定的值
49.有以下程序:main(){intm[][3]={1,4,7,2,5,8,3,6,9);inti,j,k=2;for(i=0;i<3;i++){printf("%d",m[k][i]);}}執(zhí)行后輸出結(jié)果是______。
A.456B.258C.369D.789
50.有以下程序段:intn,t=1,S=0;scanf("%d",&n);do{s=s+t;t=t-2;}while(t!=n);為使此程序段不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是()。
A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)
51.在深度為5的滿二叉樹中,結(jié)點的個數(shù)為
A.32B.31C.16D.15
52.按通信距離劃分,計算機(jī)網(wǎng)絡(luò)可以分為局域網(wǎng)和廣域網(wǎng)。下列網(wǎng)絡(luò)中屬于局域網(wǎng)的是()
A.InternetB.CERNETC.NovellD.CHINANET
53.若有如下定義:intx=3,y=2,Z;則表達(dá)式Z=X/y*3.0的值是()。
A.2B.2C.3D.3
54.以下數(shù)組定義中錯誤的是()。
A.intx[][3]={0};
B.intx[2][3]={{1,2},{3,4},{5,6}};
C.intx[][3]={{1,2,3},{4,5,6}};
D.intx[2][3]={1,2,3,4,5,6};
55.下列選項中錯誤的說明語句是
A.chara[]={'t','o','y','o','u','\0'};
B.chara[]={"toyou\0"};
C.chara[]="toyou\0";
D.chara[]='toyou\0';
56.下列說法不正確的是()。
A.C程序是以函數(shù)為基本單位的,整個程序由函數(shù)組成
B.C語言程序的一條語句可以寫在不同的行上
C.C程序的注釋行對程序的運(yùn)行功能不起任何作用,所以注釋應(yīng)該盡可能少寫
D.C程序的每個語句都以分號結(jié)束
57.若有定義:inta=4,b=5;floatx=3.4,y=2.1;,則下列表達(dá)式的值為()。
(float)(a+b)/2+(int)x%(int)y
A.5.5B.55C.5.500000D.55.00000
58.有下列二叉樹,對此二叉樹前序遍歷的結(jié)果為()。
A.ACBEDGFHB.ABDGCEHFC.HGFEDCBAD.ABCDEFGH
59.下面程序的功能是輸出以下形式的金字塔圖案:****************main(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)printf("");for(j=1;j<=();j++)printf("*");printf("\n");}}在下劃線處應(yīng)填入的是()。
A.iB.2*-1C.2*i+1D.i+2
60.判斷字符串s1是否大于字符串s2,應(yīng)該使用()。
A.if(strcmp(s1,s2)<0)
B.if(s1>s2)
C.if(strcmp(s2,s1)<0)
D.if(strcmp(s1,s2))
四、選擇題(20題)61.以下敘述中錯誤的是()。
A.C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序
B.C程序經(jīng)過編譯、連接步驟之后才能形成一個真正可執(zhí)行的二進(jìn)制機(jī)器指令文件
C.用c語言編寫的程序稱為源程序,它以ASCIl代碼形式存放在一個文本文件中
D.C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
62.下列選擇中,不能用做標(biāo)識符的是()。
A.1234B._1_2C.int_2_D.2_int_
63.若函數(shù)調(diào)用時的實參為變量時,以下關(guān)于函數(shù)形參和實參的敘述中正確的是()。
A.函數(shù)的形參和實參分別占用不同的存儲單元
B.形參只是形式上的存在,不占用具體存儲單元
C.同名的實參和形參占同一存儲單元
D.函數(shù)的實參和其對應(yīng)的形參共占同一存儲單元
64.
65.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.Beijing!
B.toBeijing]
C.WelcomeyoutoBeijingI
D.youtoBeijingI
66.若i、j已定義成int型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。
for(i=6;i>0;i--)
for(j=0;j<4;j++){…}A.A.20B.24C.25D.30
67.以下關(guān)于宏的敘述中正確的是()。
A.宏替換沒有數(shù)據(jù)類型限制
B.宏定義必須位于源程序中所有語句之前
C.宏名必須用大寫字母表示
D.宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時間
68.下列敘述中正確的是()。
A.用E—R圖能夠表示實體集之間一對一的聯(lián)系、一對多的聯(lián)系、多對多的聯(lián)系
B.用E—R圖只能表示實體集之間一對一的聯(lián)系
C.用E—R圖只能表示實體集之間一對多的聯(lián)系
D.用E—R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型
69.
70.
71.執(zhí)行語句X=(a=10,b=a--.后,x、a、b的值依次為()。
A.10,10,9
B.10,9,9
C.9,10,9
D.10,9,10
72.
73.
74.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.2,3B.2,1C.1,2D.3,1
75.下列語句組中,正確的是()。
A.char*s;s="Olympic";
B.charsE73;s="Olympic";
C.char*S;s={¨Olympic"};
D.charsET3;s={"Olympic"};
76.
77.
下面for語句的循環(huán)次數(shù)為()。
for(x=1,y=0;(y!=19)&&(x<6);x++);
A.是無限循環(huán)B.循環(huán)次數(shù)小定C.最多執(zhí)行6次D.最多執(zhí)行5次
78.以下程序的輸出結(jié)果是()。
intx=10,y=10;
printf(“%d%d\n”,x--,--y);
A.1010B.99C.910D.109
79.下列說法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是()
A.數(shù)據(jù)結(jié)構(gòu)B.數(shù)據(jù)操作C.數(shù)據(jù)查詢D.數(shù)據(jù)約束
80.以下程序段中,不能正確給字符串賦值(編譯時系統(tǒng)會提示錯誤)的是:()
五、程序改錯題(1題)81.下列給定的程序中,函數(shù)proc的功能是:判斷字符ch是,與str所指字符串中的某個字符相同;若相同,則什么也不做,若不同,則將其插在串的最后。請修改程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
//****found****
voidproc(charstr,charch)
{
while(*str&&*str!=ch)str++;
//****found****
if(*str==ch)
{str[0]=ch;
//****found****
str[1]=0:
}
}
voidmain
{
charstr[81],ch;
system("CLS");
printf("\nPleaseenterastring:");
gets(str);
printf("\nPleaseenterthecharacterto
search:");
ch=getchar;
proc(str,ch);
printf("\nTheresultis%s\n",str);
}
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,定義了NxN的二維數(shù)組,并在主函數(shù)中賦值。請編寫函數(shù)fun(),其功能是求出數(shù)組周邊元素的平均值并將其作為函數(shù)值返回給主函數(shù)中的s。例如,若a數(shù)組中的值為0127919745238314568259141則返回主程序后s的值應(yīng)為3.375。注意:部分源程序在文件prog1.c中。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:1#include<stdio.h>2#include<conio.h>3#include<stdlib.h>4#defineN55doublefun(intw[][n])6{78}9voidmain()10{11FILE*wf;12inta[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,13inti,j;14doubles;15system("CLS");16printf("***Thearray***\n");17for(i=0;i<N;i++)18{for(j=0;j<N;j++)19{printf("%4d",a[i][j]);}20printf("\n");21}22s=fun(a);23printf("***TheResult***\n");24printf("Thesumis:%lf\n",s);25/******************/26wf=fopen("out.dat","w");27fprintf(wf,"%if",s);28fclose(wf);29/******************/30}
參考答案
1.B
2.A
3.D
4.C
5.B
6.C\n\tC?!窘馕觥慷址ú檎抑贿m用于順序存儲的有序表,對于長度為n的有序線性表,最壞情況只需比較log2n次。
7.A解析:本題考查C語言的綜合基礎(chǔ)知識。構(gòu)成C程序的基本單位是函數(shù),一個C程序總是從main函數(shù)開始執(zhí)行,而不論main函數(shù)在整個程序中的位置如何。C語言的函數(shù)定義都是互相平行、獨(dú)立的,在定義函數(shù)時,一個函數(shù)內(nèi)不能定義另一個函數(shù)。C函數(shù)定義的一般格式有兩種:傳統(tǒng)格式和現(xiàn)代格式。傳統(tǒng)格式也稱K&R格式,是早期編譯系統(tǒng)使用的格式;現(xiàn)代格式又稱ANSI格式,是現(xiàn)代編譯系統(tǒng)使用的格式。
8.D
9.A由于a==l和a!=1兩者互斥,即總有一個為真,因此二者的或也必定為真。
10.D解析:數(shù)據(jù)流相當(dāng)于一條管道,并有一級數(shù)據(jù)(信息)流經(jīng)它。在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實體流向系統(tǒng)或從系統(tǒng)流向外部實體。
11.B字符串常量應(yīng)該用雙引號標(biāo)注,即“cd”,單引號標(biāo)注的單個字符表示字符常量,所以B選項中的表示方法錯誤。故本題答案為B選項。
12.B
13.B解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫的建立、使用和維護(hù)的軟件。數(shù)據(jù)庫管理系統(tǒng)建立在操作系統(tǒng)之上,實施對數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應(yīng)用程序的執(zhí)行,最終都必須通過數(shù)據(jù)庫管理系統(tǒng)。另外,數(shù)據(jù)庫管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫的安全保護(hù)工作,按照數(shù)據(jù)庫管理員所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。
14.D解析:兩個實體間的聯(lián)系可以歸納為3種類型:一對一聯(lián)系:一對一的聯(lián)系表現(xiàn)為主表中的每一條記錄只與相關(guān)表中的一條記錄相關(guān)聯(lián)。一對多聯(lián)系,一對多的聯(lián)系表現(xiàn)為主表中的每一條記錄與相關(guān)表中的多條記錄相關(guān)聯(lián)。多對多聯(lián)系:多對多的聯(lián)系表現(xiàn)為二個表中的多個記錄在相關(guān)表中同樣有多個記錄其匹配。本題中一個顧客可以購買多種商品,同一種商品可以有多個顧客購買,所以商品和顧客之間是多對多的聯(lián)系。
15.A本題考查兩個概念:①用單引號括起來的一個字符常量只能存放一個字符;②℃語言中沒有字符串變量,只能用字符數(shù)組來存儲字符串。
16.C解析:當(dāng)p指向s數(shù)組的首地址時,表示數(shù)組元素s[i]的表達(dá)式應(yīng)當(dāng)有:①s[i],②,(s+i),③*(p+i),④p[i]四種形式。選項C)錯誤的原因是,數(shù)組的地址是不可變的,指針的地址是可以變的。
17.D解析:關(guān)系模型中包括關(guān)系的數(shù)據(jù)結(jié)構(gòu)、關(guān)系的操縱和關(guān)系中的數(shù)據(jù)約束。關(guān)系完整性約束即數(shù)據(jù)完整性,包括實體完整性、參照完整性和用戶自定義完整性。
18.C學(xué)號是學(xué)生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個表能夠直接聯(lián)系且能唯一定義的學(xué)號和課號,所以選擇C項。
19.A本題主要考查按位求反運(yùn)算和C語言正負(fù)數(shù)的表示,“O”代表正數(shù),“1”代表負(fù)數(shù);x=7的二進(jìn)制為00111,第一個0代表正數(shù),~x為11000,第一個l代表負(fù)數(shù),值為8。
20.A
21.D
22.a=8b=7
23.0a[j]=0count<25
24.k=5k=5解析:由題可知fib(0)的值為0,fib(1)和fib(2)的值為1,因此,fib(3)=fib(2)+fib(1)=2;fib(4)=fib(3)+fib(2)=3;fib(5)=fib(4)+fib(3)=5。
25.載體載體
26.1030010300解析:本題的scanf()函數(shù)要求用戶輸入三個十進(jìn)制整數(shù),但只接受第一和第三個到函數(shù)的第二和第三個參數(shù)所指的內(nèi)存地址中。所以本題的輸出為:10300。
27.77解析:本題考核的知識點是字符類型變量的運(yùn)算。字符型數(shù)據(jù)可作為整型參加算術(shù)運(yùn)算,其值為其對應(yīng)的ASCII碼。'H'-'A'的結(jié)果是7,加'0'后是'7'的ASCII碼,所以輸出的是字符'7'。
28.數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段解析:在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段,其中數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫系統(tǒng)階段。
29.structnode*structnode*解析:本題中的結(jié)構(gòu)類型名為structnode,所以空白處應(yīng)填:structnode*。即定義一個指向自身的結(jié)構(gòu)體指針。
30.O(nlog2n)
31.先進(jìn)后出先進(jìn)后出解析:隊列和棧都是線性結(jié)構(gòu),但是不同之處在于隊列的操作順序是先進(jìn)先出,而棧的操作順序是先進(jìn)后出。
32.lett.dat6*sizeof(char)lett.dat6*sizeof(char)解析:本題主要考查函數(shù)fwrite(char*pt,unsignedsize,unsignedn,F(xiàn)ILE*fp),把pt所指向的n*size個字節(jié)輸出到fp所指定的文件中。
33.3535解析:函數(shù)swap(int*a,int*b)的功能是實現(xiàn)*a和*b中兩個數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒有發(fā)生變化,所以輸出結(jié)果為35。
34.軟件開發(fā)
35.共享性共享性解析:數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫的主要目的。
36.a=1.0;b=1.0;s=1.0;a=1.0;b=1.0;s=1.0;解析:各種數(shù)值型數(shù)據(jù)間進(jìn)行混合運(yùn)算時,不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,再進(jìn)行運(yùn)算。本題的結(jié)果為double型。
37.xx解析:函數(shù)的定義形式為;
函數(shù)類型函數(shù)名(形參表)
{
類型說明語句;
執(zhí)行語句;
}
本題中函數(shù)的功能是:累積變量以求得變量的Y次方。
38.11解析:本題是一個陷阱題。在if語句的判斷表達(dá)式中,使用的不是邏輯運(yùn)算符==而是賦值運(yùn)算符=,使該表達(dá)式返回的結(jié)果正好相反。如果是c==a,則結(jié)果為假。但是c=a則是將a賦給c,且表達(dá)式的結(jié)果是賦值之后的c的值,因此結(jié)果為1是真.故最后輸出c的值1。
39.s[i]<'0'‖s[i]>9或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))isdigit(s[i])==0或s[i]>'9'‖s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'‖*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'!(*(s+i)<='9'&&*(s+i)>='0'或iss[i]<'0'‖s[i]>9,或\r\n!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))\r\nisdigit(s[i])==0或s[i]>'9'‖s[i>'0'或\r\n!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'‖*(s+i)>'9'或\r\n!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或\r\n*(s+i)>='9'&&*(s+i)<='0'\r\n!(*(s+i)<='9'&&*(s+i)>='0'或is解析:本題考核的知識點是字符指針變量作為函數(shù)的參數(shù)以及與字符串有關(guān)的算法。從一個字符串中刪除某字符的方法是從字符串的第一個字符開始一一判斷該字符是否是要刪除的字符,若不是則把它放到結(jié)果字符串中,若是則不放入結(jié)果字符串中。本題的第一個空應(yīng)判斷a[i]是否為數(shù)字字符,只有在不是數(shù)字字符的情況下才存入結(jié)果字符串,所以應(yīng)填入s[i]<'0'‖s[i]>'9'。最后應(yīng)在結(jié)果字符串的末尾填上字符串結(jié)束標(biāo)志“\\0”。
40.a=14a=14解析:在“逗號表達(dá)式(表達(dá)式1,表達(dá)式2)”中,其運(yùn)算方法是先求表達(dá)式1的值,然后求表達(dá)式2的值,整個逗號表達(dá)式的值是表達(dá)式2的值。首先3*5=15,a=10,a+4=14,最后輸出的運(yùn)算結(jié)果為14。
41.B本題考查邏輯與運(yùn)算符“&&”的使用。對于邏輯與運(yùn)算符&&來說,對象的結(jié)合方式為從左往右,只有&&左邊的值為真,才繼續(xù)右邊的運(yùn)算。題目中&&左邊的表達(dá)式為m=a>b,“>”運(yùn)算符優(yōu)先級高于“=”,故先判斷a>b,因為a=1,b=2,所以a>b為假,于是m=0?!?&”左邊的值為假,所以不進(jìn)行右邊的運(yùn)算。n的值沒有發(fā)生改變,n=2。
42.D解析:所謂的交換類排序方法是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡單的交換排序方法,它通過相鄰元素的交換,逐步將線性表變成有序。
43.B解析:指向同一字符串的指針可以、也只能進(jìn)行減運(yùn)算,返回一個整型數(shù)。
44.B
45.D
46.B解析:C語言規(guī)定else總是和離它最近的if語句配對。故第一個else和第一個if配對,第二個else和第二個if配對。首先計算第一個if后面的表達(dá)式“a>b>c”,表達(dá)式“a>b”是為1,表達(dá)式“1>c”為0,所以執(zhí)行else后面的語句。先執(zhí)行if后面的表達(dá)式,“c-1>d”為真,值為1?!?==1”為真,執(zhí)行printf語句。
47.C解析:外部變量在編譯時由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動存儲類別。
48.A
49.C解析:數(shù)組m初始化后結(jié)果為:m[0][0]=1、m[0][1]=4、m[0][2]=7、m[1][0]=2、m[1][1]=5、m[1][2]=8、m[2][0]=3、m[2][1]=6、m[2][2]=9。for循環(huán)語句的作用是輸出數(shù)組元素m[2][0]、m[2][1]和m[2][2],所以輸出結(jié)果為:369。
50.D解析:為了使程序不陷入死循環(huán),則while的條件不能一直為真。t的初值為1,循環(huán)體中語句t=t-2使t變?yōu)樨?fù)奇數(shù)-1、-3、-5…,而while的循環(huán)條件是t不等于n,若從鍵盤輸入的數(shù)據(jù)為A、B、C三項時,則t永遠(yuǎn)不等于n,即循環(huán)條件一直為真,程序陷入死循環(huán)。只有輸入負(fù)奇數(shù)時,t會在某個時候等于n,使得while條件不成立,終止循環(huán)。
51.B解析:二叉樹有如下性質(zhì):深度為m的二叉樹最多有2的m次方再減1個結(jié)點,也就是2m-1=25-1=32-1=31。由此可知答案為B。
52.C解析:在這四個選項中,只有Novell屬于局域網(wǎng),Internet是計算機(jī)網(wǎng)絡(luò)中最大的網(wǎng)絡(luò)。CERNET和CHINANET都是廣域網(wǎng)。
53.C解析:變量z被定義為整型,所以選項B和D不符合題意,首先被排除。變量x和y也被定義為整型,所以表達(dá)式x/y的值為整數(shù)1,最后z被賦值為3,選項C正確。
54.B解析:二維數(shù)組的初始化有以下幾種形式:①分行進(jìn)行初始化;②不分行進(jìn)行初始化;③部分?jǐn)?shù)組元素進(jìn)行初始化;④省略第一維的定義,不省略第二維的定義。選頃B)等號右邊分了3行,大于等號左邊數(shù)組的行數(shù)2。
55.D解析:通過賦初值的方式給一維數(shù)組賦字符串,可以用給一般數(shù)組賦初值的相同方式給一維字符數(shù)組賦字符串,也可以在賦值時直接賦字符串常量。選項B)和C)后面的'\\0'是多余的,不過也不錯,在C語言中,系統(tǒng)會自動在字符串的結(jié)尾處加上一個字符'\\0'作為串的結(jié)束標(biāo)記。
56.C解析:本題涉及C語言基本的3個知識點:①C語言的源程序是由函數(shù)構(gòu)成的,函數(shù)是其基本單位,每一個函數(shù)完成相對獨(dú)立的功能,其中只能包括一個主函數(shù);②C語言規(guī)定每個語句以分號結(jié)束,其書寫格式是自由的,一條語句可以寫在不同的行上,或者一行也可以寫多條語句;③注釋行雖然對程序的運(yùn)行不起作用,但是它可以方便程序員閱讀,提高程序的可讀性和可移植性,所以書寫注釋行還是很有必要的。
57.C解析:在計算(float)(a+b/2時,由于通過強(qiáng)制類型轉(zhuǎn)換將(a+b轉(zhuǎn)換成了foat型,所以應(yīng)先將2轉(zhuǎn)換成float型,再進(jìn)行計算,得4.500000。
在計算(int)x%(int)y時,先將x和y通過強(qiáng)制類型轉(zhuǎn)換成int型,再進(jìn)行求余運(yùn)算,得1。又因為4.500000是float型,所以將1和它相加時,先將1換成float型,再計算,得到5.500000。
[知識擴(kuò)展]類型轉(zhuǎn)換的一般規(guī)則是:低級類型服從高級類型,并進(jìn)行相應(yīng)的轉(zhuǎn)換。數(shù)據(jù)類型的級別由低到高的排序表示為:char→int→unsigned→long→float→double。
58.B解析:對二叉樹的前序遍歷是指:先訪問根結(jié)點,然后訪問左子樹,最后訪問右子樹,并且,在訪問左、右子樹時,先訪問根結(jié)點,再依次訪問其左,右子樹。
59.B解析:觀察可知圖形共4行,主函數(shù)中通過一個for5循環(huán)循環(huán)4次,輸出4行。第1行輸出3個空格和1個*,第2行輸出2個空格和3個*,第3行輸出1個空格和5個*,第4行輸出7個*,主函數(shù)中通過第2個循環(huán)控制每行的輸出空格數(shù),第3個for循環(huán)控制輸出*的個數(shù),總結(jié)規(guī)律:每行輸出*的個數(shù),總比前一行的多2個,且第1行的個數(shù)為1,可以斷定每行輸出*的個數(shù)組成了一個公差為2的等差數(shù)列,所以每行輸出。的個數(shù)即該等差數(shù)列的通項,故該空白處應(yīng)該填寫2*i-1,所以,4個選項中選項B符合題意。
60.C解析:本題考查字符串比較函數(shù)strcmp()。調(diào)用形式:strcmp(s1,s2),其中s1、s2分別是字符串存儲區(qū)的首地址。函數(shù)功能:比較字符串str1和str2,當(dāng)str1<str2時,返回值為負(fù)數(shù);當(dāng)str1=str2時,返回0;當(dāng)str1>str2,返回值為正數(shù)(注意:不能使用關(guān)系運(yùn)算符比較兩個字符串的大小)。
61.D并不是源程序中的所有行都參加編譯。在條件編譯形式下,相關(guān)內(nèi)容只在滿足一定條件時才進(jìn)行編譯。選項D)中的非執(zhí)行語句不在其范圍內(nèi)。
62.DC語言規(guī)定標(biāo)識符是由字母、數(shù)字和下劃線組成的,且必須以字母或下劃線開頭,因此可知D選項錯誤。
63.A本題重點考察的是函數(shù)的形參和實參。I在定義函數(shù)時函數(shù)名后面括弧中的變量名稱為“形式參數(shù)”l(簡稱形參),在主調(diào)函數(shù)中調(diào)用一個函數(shù)時,函數(shù)名后面括弧1中的參數(shù)(可以是—個表達(dá)式)稱為“實際參數(shù)”(簡稱實參)。fC語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內(nèi)存中,實參單元與形參單元是不同的單元。因此A選項正確。
64.B
65.Afor循環(huán)的作用是每次遇到空格,將空格后面的移動到數(shù)組的最前面。因此數(shù)組最后的狀態(tài)是“Bei-jing!、Og!\0ng!、neijing!、O”,但是pfinff(“%s”)打印遇到、0自動結(jié)束。因此,打印Beijing!。故答案為A選項。
66.B本題考查for循環(huán)的使用。對于第1個for循環(huán),任何一個i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語句執(zhí)行6次,第二條for語句執(zhí)行4次,所以內(nèi)循環(huán)體執(zhí)行6*4=24次。
67.A宏定義寫在函數(shù)的花括號外邊,作用域為其后的程序,通常在文件的最開頭,因此B)選項中宏定義必須位于源程序中所有語句之前是錯誤的。宏名一般用大寫,但不是必須用大寫,因此c)選項錯誤。宏展開不占運(yùn)行時間,只占編譯時間,函數(shù)調(diào)用占運(yùn)行時間(分配內(nèi)存、保留現(xiàn)場、值傳遞、返回值),因此D)選項錯誤。
68.A用E—R圖可以描述實體及其相互之間的聯(lián)系,還可以描述多個實體集之間的聯(lián)系和一個實體集內(nèi)部實體之間的聯(lián)系。用E—R圖表示的概念數(shù)據(jù)模型不僅能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型,還可以轉(zhuǎn)換為其他數(shù)據(jù)模型,如網(wǎng)狀模型和層次模型等。所以A的說法正確。
69.B
70.D
71.D表達(dá)式a一一的值為10,a的值遞減為9,所以b=10,x的值為逗號表達(dá)式的值,x=10。因此x=10,a=9.b=10。
72.B
73.C
74.B結(jié)構(gòu)體tt是一個遞歸定義,類似于鏈表,
通過成員變量Y鏈接起來。P=s+1指向s[1]。P一>Y指向8[2],但現(xiàn)在P->Y=s,因此s[2]=s[O],此時8[]={1.0,2.0,1.0},而P在s[1]位置,因此P_>x為2,P=P_>Y,P指向s[2],因此P_>x=1,故打印結(jié)果為2,1。答案為B選項。
75.A給字符串?dāng)?shù)組賦值時,要先定義數(shù)組長度,然后再賦值??梢灾唤o部分元素賦初值,當(dāng)中值的個數(shù)少于元素個數(shù)時,只給前面部分元素賦值。數(shù)組的下標(biāo)是從0開始的,所以s[7]代表從s[0]到s[6]七個元素。其格式可以寫成:char數(shù)組名[常量]={字符,字符,…);,也可寫為char數(shù)組名[常量]={"字符串"};,或去掉{)寫為:char數(shù)組名[常量]="字符串"。所以本題應(yīng)選擇
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年區(qū)域醫(yī)療服務(wù)承包協(xié)議
- 2024醫(yī)藥產(chǎn)品研發(fā)與銷售代理合同
- 2024年企業(yè)知識產(chǎn)權(quán)管理與運(yùn)用合同
- 2024員工福利外包服務(wù)合同
- 2024年度游戲委托開發(fā)與運(yùn)營合同
- 2024年度新能源汽車電池制造與回收合同
- 2024城市配送車輛購置擔(dān)保合同
- 2024年產(chǎn)定做加工協(xié)議
- 2024年品牌授權(quán)使用合同(服裝業(yè))
- 2019年西藏開發(fā)投資集團(tuán)有限公司招聘試題及答案解析
- HAY崗位管理體系構(gòu)建
- 2023年中級經(jīng)濟(jì)師考試真題及答案
- SB/T 10895-2012鮮蛋包裝與標(biāo)識
- GB/T 9115-2010對焊鋼制管法蘭
- GB/T 2423.3-2006電工電子產(chǎn)品環(huán)境試驗第2部分:試驗方法試驗Cab:恒定濕熱試驗
- GB/T 23221-2008烤煙栽培技術(shù)規(guī)程
- GB/T 16900-2008圖形符號表示規(guī)則總則
- 城市綠地系統(tǒng)規(guī)劃 第9章 工業(yè)綠地規(guī)劃
- 遼寧省遼南協(xié)作校2022-2023學(xué)年高二上學(xué)期期末考試語文答案 Word版含解析
- 中職英語統(tǒng)考復(fù)習(xí)講課教案
評論
0/150
提交評論