版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021-2022年山東省濰坊市全國計算機(jī)等級考試C語言程序設(shè)計測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.下列敘述中正確的是()。
A.一個邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲結(jié)構(gòu)
B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲結(jié)構(gòu)屬于非線性結(jié)構(gòu)
C.一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存諸結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
D.一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存諸結(jié)構(gòu)影響數(shù)據(jù)處理的效率
2.
3.有以下程序:#include<stdio.h>main(){inta=-2,b=2;for(;++a&&--b;)printf(“%d,%d\n”,a,b);}程序運行后的輸出結(jié)果是()。
A.0,1B.0,0C.1,-1D.0,2
4.若有定義:typedefint*INTEGER;INTEGERp,*q;則以下敘述正確的是()。
A.q是基類型為int的指針變量
B.p是int型變量
C.p是基類型為int的指針變量
D.程序中可用INTEGER代替類型名int
5.判定一個順序棧st(最多元素為MaxSize)為空的條件是()。
A.st->top!B.st->top!C.top==-1D.top==MaxSize
6.以下關(guān)于字符串的敘述中正確的是()。
A.C語言中有字符串類型的常量和變量
B.兩個字符串中的字符個數(shù)相同時才能進(jìn)行串符串大小的比較
C.可以用關(guān)系運算符對字符串的大小進(jìn)行比較
D.空串一定比空格打頭的字符串小
7.
8.設(shè)inta=12,則執(zhí)行完語句a+=a-=a*a后,a的值是()。
A.552B.264C.144D.-264
9.在下面的一維數(shù)組定義中,哪一個有語法錯誤()。A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];
10.在Internet中,域名服務(wù)器的主要功能是實現(xiàn)()的轉(zhuǎn)換。
A.IP地址到域名(主機(jī)名字)B.域名到IP地址C.主機(jī)IP地址和路由器IP地址之間D.路由器IP地址之問
11.有以下程序:
程序的運行結(jié)果是()。
A.0987654321
B.4321098765
C.5678901234
D.0987651234
12.下列敘述中錯誤的是()。A.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,
B.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題
C.數(shù)據(jù)庫設(shè)計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫
D.數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持
13.一個模塊直接調(diào)用的下層模塊的數(shù)目稱為模塊的()。
A.扇入數(shù)B.扇出數(shù)C.寬度D.作用域
14.有以下程序:#include<stdio.h>#defineF(x,y)(x)*(y)main(){inta=3,b=4;printf("%d\n",F(a++,b++));}程序運行后的輸出結(jié)果是()。
A.12B.15C.16D.20
15.以下敘述中錯誤的是()。
A.在同一源文件中,函數(shù)名必須唯一
B.凡是帶有返回值的庫函數(shù),都不能通過加分號而作為獨立的語句出現(xiàn)
C.不同函數(shù)中的形式參數(shù)可以同名
D.返回基本數(shù)據(jù)類型的庫函數(shù)的調(diào)用,均可以出現(xiàn)在賦值號右邊的表達(dá)式中
16.下述程序的輸出結(jié)果是()。#include<stdio.h>main(){inti;for(i=1;i<=10;i++){if(i*i>=20)(i*i<=lOO))break;}printf("%d\n",i*i);}A.49B.36C.25D.64
17.軟件需求規(guī)格說明書的作用不包括()。
A.軟件設(shè)計的依據(jù)B.軟件可行性研究的依據(jù)C.軟件驗收的依據(jù)D.用戶與開發(fā)人員對軟件要做什么的共同理解
18.設(shè)變量已正確定義,則以下能正確計算n!的程序段是______。
A.f=0;for(i=1;i<=n;i++)f*=i;
B.f=1;for(i=1;i<n;i++)f*=i;
C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
19.有以下程序:voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=1;i>0;i--)sum(&aa[i]);print("%d\n",aa[0]);}程序運行后的輸出結(jié)果是______。
A.4B.3C.2D.1
20.下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是()
A.雙向鏈表B.帶鏈的棧C.二叉鏈表D.循環(huán)鏈表
二、2.填空題(20題)21.下列程序的功能是將2個數(shù)從小到大輸出。
main()
{floata,b,【】;
scanf(【】,&a,&b);
if(a>b)
{t=a;
【】;
b=t;
}
printf("%5.2f,%5.2f\n",a,b);
}
22.下面程序的運行結(jié)果是:【】。
fun(intt[],intn)
{inti,m;
if(n==1)returnt[0];
elseif(n>=2){m=fun(t,n-1);returnm;}
}
main()
{inta[]={11,4,6,3,8,2,3,5,9,2};
printf("%d\n",fun(a,10));
}
23.以下程序的運行結(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);
}
24.排序是計算機(jī)程序設(shè)計中的一種重要操作,常見的排序方法有插入排序、【】和選擇排序等。
25.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和方法的機(jī)制稱為______。
26.數(shù)據(jù)庫系統(tǒng)中實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件是______。
27.成本估算模型中,Putnam估算模型是一種【】模型。
28.以下程序中,函數(shù)fun的功能是計算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
請?zhí)羁铡?/p>
#include"math.h"
doublefun(doublex){return(x*x-2*x+6);}
main()
{doublex,y1,y2;
printf("Enterx:");scanf("%lf",&x);
y1=fun(【】);
y2=fun(【】);
printf("y1=%lf,y2=%lf\n",y1,y2);
}
29.一個項目具有一個項目經(jīng)理,一個項目經(jīng)理可管理多個項目,則實體“項目經(jīng)理”與實體“項目”的聯(lián)系屬于()的聯(lián)系。
30.以下程序的輸出結(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))
}
31.長度為n的順序存儲線性表中,當(dāng)在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元素的平均個數(shù)為【】。
32.下列程序用來將從鍵盤上輸入的2個字符串進(jìn)行比較,然后輸出2個字符串中第1個不相同字符的ASCII碼之差。例如,輸入的2個字符串分別為abcdef和abceef,則輸出為-1。
#include
main()
{charstr[100],str2[100],c;
inti,s;
printf("\ninputstring1:\n");gest(str1);
printf("\ninputstring2:\n");gest(str2);
i=0;
while((strl[i]==str2[i]&&(strl[i]!=【】))
i++;
s=【】;
printf(.%d\n",s);
33.冒泡排序算法在最好的情況下的元素交換次數(shù)為【】。
34.下列程序的運行結(jié)果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
35.以下程序的輸出結(jié)果是【】。
main()
{inta=0;
a+=(a=8);
printf("%d\n",A);
}
36.已知bead指向一個帶頭結(jié)點的單向鏈表,鏈表中每個結(jié)點包含數(shù)據(jù)域(data)和指針域(next),數(shù)據(jù)域為整型。以下函數(shù)求出鏈表中所有連接點數(shù)據(jù)域的和值作為函數(shù)值返回。請在橫線處填入正確內(nèi)容。
{intdata;structlink*next;}
main()
{structlink*head;
sam(______);
{stmctlink*p;ints=0;
p=head->next;
while(p){s+=p->data;p=p->next;}
return(s);}
37.在算法正確的前提下,評價一個算法的兩個標(biāo)準(zhǔn)是空間復(fù)雜度和()。
38.以下程序運行后的輸出結(jié)果是【】。
#include<stdio,h>
main()
{chara[]="Language",b[]:"Programe";
char*pl,*p2;intk;
p1=a;p2=b;
for(k=0;k<=7;k++)
if(*(p1+k)==*(p2+k))printf("%c",*(pi+k));
}
39.對下列二叉樹進(jìn)行中序遍歷的結(jié)果為【】。
40.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
#defineM5
#defineNM+M
main()
{intk;
k;N*N*5;printf("%d\n"k);
}
三、1.選擇題(20題)41.若定義了以下函數(shù):voidf(……){……*p=(double*)malloc(10*sizeof(double));……}p是該函數(shù)的形參,要求通過p把動態(tài)分配存儲單元的地址傳回主調(diào)函數(shù),則形參p的正確定義應(yīng)當(dāng)是()
A.double*pB.float**pC.double**pD.float*p
42.下列敘述中正確的是()。
A.黑箱(盒)測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征
B.黑箱(盒)測試方法主要考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征
C.白箱(盒)測試不考慮程序內(nèi)部的邏輯結(jié)構(gòu)
D.上述三種說法都不對
43.若有語句:char*line[5];,以下敘述中正確的是
A.定義line是一個數(shù)組,每個數(shù)組元素是一個基類型為char的指針變量
B.定義line是一個指針變量,該變量可以指向一個長度為5的字符型數(shù)組
C.定義line是一個指針數(shù)組,語句中的。號稱為間址運算符
D.定義line是一個指向字符型函數(shù)的指針
44.在C語言中,int,char和short三種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)
A.由用戶自己定義B.均為2個字節(jié)C.是任意的D.由所用機(jī)器的機(jī)器字長決定
45.下列寫法正確的是()。
A.main(){inti=3,j;j=5}
B.main(){inti=3;
C.main()
D.main(){;}
46.當(dāng)執(zhí)行下面的程序時,如果輸入ABC,則輸出的結(jié)果是()。#include<Stdlib.h>main(){charss[]="1,2,3,4,5";gets(ss);strcat(ss,"6789");printf("%s\n",ss);}
A.ABC6789B.ABDC67C.123ABC678D.ABC456789
47.若有以下定義:chars[20]="programming",*ps=s;則不能代表字符。的表達(dá)式是()
A.ps+2B.s[2]C.ps[2]D.ps+=2,*ps
48.以下選項中不合法的標(biāo)識符是
A.ptintB.FORC.&aD._00
49.有以下程序main(){chara[]="abcdefg",b[10]="abedefg";pfintf("%d%d\n",sizeof(a),sizeof(b));}執(zhí)行后輸出結(jié)果是
A.77B.88C.810D.1010
50.以下各選項企圖說明一種新的類型名,其中正確的是______。
A.typedefv1int;
B.typedefv2=int;
C.typedefintv3;
D.typedefv4:int
51.在下列敘述中,錯誤的一條是()
A.scanf()函數(shù)可以用來輸入任何類型的多個數(shù)據(jù)
B.數(shù)組名作函數(shù)參數(shù)時,也采用“值傳送”方式
C.如果形參發(fā)生改變,不會改變主調(diào)函數(shù)的實參值
D.函數(shù)的實參與形參的類型應(yīng)一致
52.以下定義語句中正確的是()。
A.chara='A'b='B';
B.floata=b=l0.0;
C.inta=l0,*b=&a;
D.float*a,b=&a;
53.數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是()
A.概念設(shè)計和邏輯設(shè)計B.模式設(shè)計和內(nèi)模式設(shè)計C.內(nèi)模式設(shè)計和物理設(shè)計D.結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計
54.設(shè)有以下定義:inta=0;doubleb=1.25;charc='A';#defined2則下面語句中錯誤的是()。
A.a++;B.b++;C.c++;D.d++;
55.能將高級語言程序轉(zhuǎn)換成目標(biāo)語言程序的是______。
A.調(diào)試程序B.解釋程序C.編譯程序D.編輯程序
56.下列選項中正確的語句是
A.chars[8];s={"Beijing"};
B.char*s;s={"Beijing"};
C.chars[8];s="Beijing";
D.char*s;s="Beijing";
57.程序設(shè)計是以()和數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ)的。
A.算法設(shè)計B.編程語言C.設(shè)計風(fēng)格D.數(shù)據(jù)結(jié)構(gòu)
58.若有以下定義;chara;intb;floatc;doubled;則表達(dá)式“a*b+d-c”值的類型為()
A.floatB.intC.charD.double
59.下面能正確進(jìn)行字符串賦值操作的是
A.chars[5]={"ABCDE"};
B.chars[5]={'A','B','C','D','E'};
C.char*s;s="ABCDE";
D.char*s;chara;scanf("%s",&s);
60.下述關(guān)于C語言文件的操作的結(jié)論中,正確的是______。
A.對文件操作必須先關(guān)閉文件
B.對文件操作必須先打開文件
C.對文件操作順序無要求
D.對文件操作前必須先測文件是否存在,然后再打開文件
四、選擇題(20題)61.
62.以下敘述中錯誤的是()。
A.可以給指針變量賦一個整數(shù)作為地址值
B.函數(shù)可以返回地址值
C.改變函數(shù)形參的值,不會改變對應(yīng)實參的值
D.當(dāng)在程序的開頭包含頭文件stdi0.h時,可以給指針變量賦NULL、、、
63.有以下程序:
程序運行后的輸出結(jié)果是()。
A.116B.8C.40D.4
64.
65.
66.有下列程序:intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i]:returnsum;}main(){inta[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;s=fun(a,5)+fun(b,4);printf(“%d\n”,s);}程序執(zhí)行后的輸出結(jié)果是()。A.45B.50C.60D.55
67.有定義如下:
structsk
{inta;
floatb;
}data,*p;
如果p=&data;則對于結(jié)構(gòu)變量data的成員a的正確引用時()
A)(*).data.aB)(*p).a
C)p->data.aD)p.data.a
68.在單鏈表中,增加頭結(jié)點的目的是()。A.A.方便運算的實現(xiàn)B.使單鏈表至少有一個結(jié)點
C.標(biāo)識表結(jié)點中首結(jié)點的位置
D.說明單鏈表是線性的鏈?zhǔn)酱鎯崿F(xiàn)
69.
70.
71.已定義:inta=25,b=14,c=19;,以下三目運算符(?:)所構(gòu)成語句的執(zhí)行后
a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d,c=%d\n",a,b,c);程序輸出的結(jié)果是
A.***a=25,b=13,c=19B.***a=26,b=14,c=19C.###a=25,b=13,c=19D.###a=26,b=14,c=19
72.
73.下面的函數(shù)調(diào)用語句中func函數(shù)的實參個數(shù)是()。func((f2v1,v2),(v3,v4,v5),(v6,max(v7,v8)))
A.3B.4C.5D.8
74.軟件的()設(shè)計又稱總體結(jié)構(gòu)設(shè)計,其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。
A.概要B.抽象C.邏輯D.規(guī)劃
75.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護(hù)到停止使用退役的過程
B.軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運行維護(hù)過程
76.
77.定義無符號整數(shù)類為UInt,下面可以作為類UInt實例化值的是()。
A.-369B.369C.0.369D.整數(shù)集合11,2,3,4,51
78.下列敘述中正確的是()。A.在switch語句中,不一宗使用break語句
B.在switch語句中,必須使用default
C.break語句必須與swifth語句中的case配對使用
D.break語句只能用于swifth著句
79.下列關(guān)于棧的描述中錯誤的是()。
A.棧是先進(jìn)先出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入刪除操作中,不需要改變棧底指針
80.要求通過while循環(huán)不斷讀入字符,當(dāng)讀人字母N時結(jié)束循環(huán),若變量已正確定義,下列正確的程序段是()。A.B.C.D.A.A.AB.BC.CD.D
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:從字符串str中,刪除所有大寫字母F。
請修改程序中的錯誤,使它能得到正確結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdio.h>
voidproc(char*str)
{
inti,j;
//****found****
for(i=j=0;str[i]一0;i++)
if(str[i]!=F)
//****found****
str[i]=str[i];
str[j]=\0;
}
voidmain
{
charstr[80];
printf("\nEnterastring:");
gets(str);
printf("Theoriginalstring:");
puts(str);
proc(str);
printf("Thestringafterdeleted:");
puts(str);
printf("\n\n");}
六、程序設(shè)計題(1題)82.請編寫一個函數(shù)proc(),它的功能是:將str所指字符串中所有下標(biāo)為奇數(shù)位置的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。例如,若輸入abcdel23,則應(yīng)輸出aBcDe123。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.D數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)存儲空間中的存放形式,一種數(shù)據(jù)結(jié)構(gòu)可以根據(jù)需要采用不同的存儲結(jié)構(gòu),用的存儲結(jié)構(gòu)有順序和鏈?zhǔn)浇Y(jié)構(gòu)。用不同的存儲結(jié)構(gòu),其處理的效率是不同的。
2.D
3.A在語句“for(;++a&&--b;)”中,for循環(huán)的表達(dá)式1和表達(dá)式3為缺省項。首先判斷條件表達(dá)式“b”。當(dāng)“a=-2,b=2”時,第1次執(zhí)行“++a”和“--b”,條件表達(dá)式為真,循環(huán)條件成立。第2次執(zhí)行“++a”為0,由于運算符,當(dāng)?shù)?個條件為假時,不執(zhí)行第2個條件,因此“b=1”,發(fā)生短路,“--b”不再執(zhí)行。因此輸出的最終值為0,1。故本題答案為A選項。
4.C題干中使用typedef定義新類型名INTEGER,它代表int*類型。使用INTEGER定義p,相當(dāng)于int*p。使用INTEGER定義*q,相當(dāng)于int**q。所以p是基類型為int的指針變量,q是基類型為int*的指針變量,選項A、B、D錯誤。故本題答案為C選項。
5.B
6.D解析:C語言中只有字符串常量而沒有字符串變量,故選項A不正確:字符串比較大小是以第1個不相同字符的大小為標(biāo)準(zhǔn)的,跟長度沒有關(guān)系,故選項B不正確:字符串比較大小除了使用庫函數(shù)stremp()以外,就只能靠自己寫代碼來實現(xiàn)了,而不能通過關(guān)系運算符來比較大小,因為字符串在表達(dá)式中相當(dāng)于coostchar*,即常字符指針,代表的是字符串的首地址,關(guān)系運算符會將兩個字符串的首地址值比較大小,這是毫無意義的。所以選項C也不正確??沾拈L度為0,而以空格打頭的字符串的長度至少為1,故選項D正確,本題應(yīng)該選擇D。
7.A
8.D
9.C
10.B在Internet中,把域名翻譯為IP地址的軟件稱為域名系統(tǒng)DNS,運行域名系統(tǒng)的主機(jī)稱為域名服務(wù)器。域名服務(wù)器的主要功能是實現(xiàn)入網(wǎng)主機(jī)名字和IP地址的轉(zhuǎn)換。
11.C函數(shù)fun(int*s,intn1,intn2)的功能是對數(shù)組s中的元素進(jìn)行首尾互相調(diào)換。所以在主函數(shù)中,當(dāng)fun(a,0,3)執(zhí)行完后,數(shù)組a[12]={4,3,2,1,5,6,7,8,9,0};再執(zhí)行fun(a,4,9),數(shù)組a[12]={4,3,2,1,0,9,8,7,6,5};再執(zhí)行fun(a,0,9)后,數(shù)組a[12]={5,6,7,8,9,0,1,2,3,4}。所以正確答案為c)。
12.A解析:本題考查數(shù)據(jù)庫系統(tǒng)的基本概念和知識。數(shù)據(jù)的邏輯結(jié)構(gòu),是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管其在計算機(jī)中的存儲方式。數(shù)據(jù)的存儲結(jié)構(gòu),又叫物理結(jié)構(gòu),是邏輯結(jié)構(gòu)在計算機(jī)存儲器里的實現(xiàn)。這兩者之間沒有必然的聯(lián)系。因此,選項A的說法是錯誤的。
數(shù)據(jù)庫可以看成是長期存儲在計算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫具有為各種用戶所共享的特點。不同的用戶可以使用同一個數(shù)據(jù)庫,可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫的根本目標(biāo)是要解決數(shù)據(jù)的共享問題。因此,選項B的說法是正確的。
數(shù)據(jù)庫設(shè)計是在數(shù)據(jù)庫管理系統(tǒng)的支持下,按照應(yīng)用的要求,設(shè)計一個結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫及其應(yīng)用系統(tǒng)。數(shù)據(jù)庫設(shè)計包含兩方面的內(nèi)容:一是結(jié)構(gòu)設(shè)計,也就是設(shè)計數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu);二是行為設(shè)計,即設(shè)計基于數(shù)據(jù)庫的各類應(yīng)用程序、事務(wù)等。因此,選項C的說法是錯誤的。
數(shù)據(jù)庫系統(tǒng)除了數(shù)據(jù)庫管理軟件之外,還必須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開發(fā)工具等。對于大型的多用戶數(shù)據(jù)庫系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng),還需要多用戶系統(tǒng)軟件和網(wǎng)絡(luò)系統(tǒng)軟件的支持。因此,選項D的說法是正確的。因此,本題的正確答案是選項A。
13.B扇入數(shù)是指調(diào)用一個給定模塊的模塊個數(shù)。扇出數(shù)是指由一個模塊直接調(diào)用的其他模塊數(shù),即一個模塊直接調(diào)用的下層模塊的數(shù)目。本題答案為B選項。
14.A解析:本題考查帶參數(shù)的宏定義,參數(shù)只是簡單的替換而不是求出其值后再替換形式參數(shù)。本題中用a++替換X,用b++替換Y,再求(a++)*(b++)的值,即3*4的值,其結(jié)果為12。
15.B在同一源文件中,函數(shù)名必須唯一,選項A正確。函數(shù)的調(diào)用有兩種形式:①出現(xiàn)在表達(dá)式中,可以出現(xiàn)在賦值號右邊的表達(dá)式中;②作為獨立的語句完成某種操作。因此選項B錯誤,選項D正確。不同函數(shù)中的形參可以同名,它們的作用域都限制在各自的函數(shù)體內(nèi),選項C正確。故本題答案為B選項。
16.C當(dāng)if執(zhí)行到第一個滿足(i*i>=20)(i*i<=100)這個條件的i出現(xiàn)時,通過break語句跳出循環(huán),執(zhí)行下面的prinlf語句。
17.B《軟件可行性分析報告》是軟件可行性研究的依據(jù)。
18.D解析:A選項,將f賦值為0,結(jié)果得到0,因為0乘任何數(shù)都為0;B選項,i<n,計算的是(n-1)!,C選項將陷入死循環(huán)。
19.D解析:C語言覿定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,只由實參傳給形參,而不能由形參傳回來給實參。函數(shù)調(diào)用結(jié)束后,形參單元被釋放,實參單元仍保留并維持原值。本題要求輸出aa[0]的值,結(jié)果應(yīng)為1。
20.C數(shù)據(jù)的邏輯結(jié)構(gòu)是描述數(shù)據(jù)之間的關(guān)系,分兩大類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)。線性結(jié)構(gòu)是n個數(shù)據(jù)元素的有序(次序)集合,指的是數(shù)據(jù)元素之間存在著“一對一”的線性關(guān)系的數(shù)據(jù)結(jié)構(gòu)。常用的線性結(jié)構(gòu)有:線性表,棧,隊列,雙隊列,數(shù)組,串。非線性結(jié)構(gòu)的邏輯特征是一個結(jié)點元素可能對應(yīng)多個直接前驅(qū)和多個后驅(qū)。常見的非線性結(jié)構(gòu)有:樹(二叉樹等),圖(網(wǎng)等),廣義表。
21.t"%f%f"a=b
22.1111解析:此題涉及函數(shù)的調(diào)用和if語句。程序先執(zhí)行第二個if語句,然后再執(zhí)行第一個if語句,最后用return返回數(shù)值。
23.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語言中,程序執(zhí)行完一個case標(biāo)號的內(nèi)容后,如果沒有break語句,控制結(jié)構(gòu)會轉(zhuǎn)移到下一個case繼續(xù)執(zhí)行,因為case常量表達(dá)式只是起語句標(biāo)號作用,并不是在該處進(jìn)行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2分支,最后a和b的值分別為2和1。
24.交換排序交換排序解析:常見的排序方法有插入排序(包括簡單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡單選擇排序和堆排序等)。注意:常見的排序方法及其作用機(jī)制和區(qū)別。
25.繼承繼承解析:在面向?qū)ο蟮某绦蛟O(shè)計方法中,某些屬性和方法是可以共享的,由于類從父類中繼承而來,這樣提高了軟件的可重用性。
26.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的管理機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等。
27.動態(tài)多變量動態(tài)多變量
28.x+8sin(x)x+8,sin(x)解析:考查考生對函數(shù)調(diào)用相關(guān)知識的了解。用x+8代替函數(shù)fun(doublex)中形式參數(shù)x;用sin(x)代替函數(shù)fun(doublex)中形式參數(shù)x。
29.一對多一對多解析:實體之間的對應(yīng)關(guān)系稱為聯(lián)系,它反映現(xiàn)實世界事物之間的相互關(guān)聯(lián)。兩個實體間的聯(lián)系可以歸結(jié)為三種類型:一對一聯(lián)系表現(xiàn)為某一實體與另一實體一一對應(yīng)相關(guān)聯(lián):一對多聯(lián)系表現(xiàn)為某一實體與相關(guān)多個實體相關(guān)聯(lián);多對多聯(lián)系表現(xiàn)為多個實體與相關(guān)多個實體相聯(lián)系。所以實體“項目經(jīng)理”與實體“項目”的聯(lián)系屬于一對多的聯(lián)系。
30.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。
31.n/2性表的任何位置插入一個元素的概率相等,即概率為p=1/(n+1),則插入一個元素時所需移動元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
32.\0'strl[i]-str2[i]
33.0
34.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運算。運算過程為:t=POW(x+y)=(2+3)*(2+3)=25。
35.1616解析:在程序中首先將8賦值給變量a,然后在進(jìn)行復(fù)合賦值運算。即a=a+a=8+8=16,所以該空格處應(yīng)該填16。
36.
37.時間復(fù)雜度時間復(fù)雜度解析:在算法正確的前提下,評價一個算法的兩個標(biāo)準(zhǔn)是空間復(fù)雜度和時間復(fù)雜度。算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計算工作量。算法的空間復(fù)雜度是指執(zhí)行這個算法所需要的內(nèi)存空間。
38.gaegae解析:本題考查字符指針變量與字符數(shù)組。for循環(huán)語句共循環(huán)8次:
①當(dāng)k=0時,*(Pl+0)='L',*(p2+0)='P',L!=P,沒有輸出。
②當(dāng)k=1時,*(p1+1)='a',*(p2+1)='r',a!=r,沒有輸出。
③當(dāng)k=2時,*(p1+2)='n',*(p2+2)='o',n!=o,沒有輸出。
④當(dāng)k=3時,*(P1+3)='g',*(p2+3)='g',g==g,所以輸出g。
⑤當(dāng)k=4時,*(p1+4)='u',*(P2+4)='r',u!=r,沒有輸出。
⑥當(dāng)k=5時,*(p1+5)='a',*(p2+5)='a',a==a,所以輸出a。
⑦當(dāng)k=6時,*(p1+6)='g',*(p2+6)='m',g!=m,沒有輸出。
⑧當(dāng)k=7時,*(p1+7)='e',*(p2+7)='e',e==e,輸出e。
⑨當(dāng)k=8時結(jié)束循環(huán),輸出結(jié)果為:gae。
39.ACBDFEHGPACBDFEHGP解析:中序遍歷方法的遞歸定義;當(dāng)二叉樹的根不為空時,依次執(zhí)行如下3個操作:①按中序遍歷左子樹。②訪問根結(jié)點。③技中序遍歷右子樹。根據(jù)遍歷規(guī)則來遍歷本題中的二叉樹。首先遍歷F的左子樹,同樣按中序遍歷。先遍歷C的左子樹,即結(jié)點A,然后訪問C,接著訪問C的右子樹,同樣按中序遍歷C的右子樹,先訪問結(jié)點B,然后訪問結(jié)點D,因為結(jié)點D沒有右子樹,因此遍歷完C的右子樹,以上就遍歷完根結(jié)點F的左子樹。然后訪問根結(jié)點F,接下來遍歷F的右子樹,同樣按中序遍歷。首先訪問E的左子樹,E的左子樹為空,則訪問結(jié)點E,然后訪問結(jié)點E的右子樹,同樣按中序遍歷。首先訪問G的左子樹,即H,然后訪問結(jié)點G,最后訪問G的右子樹P。以上就把整個二叉樹遍歷一遍,中序遍歷的結(jié)果為ACBDFEHGP。因此,劃線處應(yīng)填入“ACBDFEHGP”。
40.5555解析:宏替換不是函數(shù)調(diào)用,所以不能因為M被定義為5,而N被定義為M+M而武斷地認(rèn)為N的值就是5+5=10。宏替換就是簡單的字符串替換,以本題為例:因為N被定義為M+M,所以k=N*N*5;語句展開后為k=M+M*M+M*5;。又因為M被定義為5,所以再展開后為k=5+5*5+5*5;?,F(xiàn)在不難計算出,這個表達(dá)式的結(jié)果為k=55。故最終輸出結(jié)果是55。
41.C解析:從上面程序中對指針變量p值的定義可見,p所指單元的內(nèi)容又是一個地址,這個地址是申請分配內(nèi)存空間后的返回首地址,而分配的空間中又存放double型的數(shù)據(jù),因此p是指向指針的指針變量,通過兩層間接尋址對double型的數(shù)據(jù)操作,故正確答案應(yīng)該是選項C。
42.A解析:黑箱測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測試用例,選項A是正確的,選項B錯誤。白箱測試是根據(jù)對程序內(nèi)部邏輯結(jié)構(gòu)的分析來選取測試用例,選項C錯誤。正確答案為A。
43.A解析:C語言中[]比*優(yōu)先級高,因此line先與[5]結(jié)合,形成line[5]形式,這是數(shù)組形式,它有5個元素,然后再與line前面的“*”結(jié)合,表示此數(shù)組是一個指針數(shù)組,每個數(shù)組元素都是一個基類型為char的指針變量。
44.D解析:C語言中,常用的數(shù)據(jù)類型有int,char,float,double等,但C標(biāo)準(zhǔn)沒有具體規(guī)定以上各類數(shù)據(jù)所占內(nèi)存字節(jié)數(shù),只要求long型數(shù)據(jù)長度不短于int型,short型不長于int型,具體如何實現(xiàn),由各計算機(jī)系統(tǒng)自行決定。
45.D解析:本題考查語句的基本構(gòu)成。選項A)中j=5后面少了一個分號:選項B)中少了“}”;選項C)不是一個完整的函數(shù)定義格式,一個完整的函數(shù)定義格式還包括一對花括號:選項D)正確,是一個空語句。
46.A解析:本題程序一開始定義了一個字符數(shù)組ss,并用一個字符串常量初始化之。然后使用gets()函數(shù)從鍵盤緩沖區(qū)讀入一個字符串'ABC',此時gets()將改變數(shù)組的前4個元素為{\'A\',\'B\',\'C\',\'\\0\'}。接下來的strcat()函數(shù)將一個字符串連接到字符串ss之后,因為ss[3]被gets()設(shè)置為\'\\0\'(字符串結(jié)束標(biāo)志),故strcat()從ss[3]開始將'6789'依次寫入ss[3]、ss[4]、ss[5]、ss[6],并將一個\'\\0\'寫入ss[7]。所以輸出結(jié)果是ABC6789,故應(yīng)該選擇A。
47.A
48.C
49.C解析:本題小定義兩個字符型數(shù)組,其中a省略了長度,定義了b的長度為10,并賦初值分別為“abcdefg”和“abcdefg”。所以a的長度為賦值給它的字符串的字符個數(shù)7加上一個結(jié)束轉(zhuǎn)義字符,即a的長度為7+1為8。定義時b的長度定義為10,故b的長度為10,因此最后通過函數(shù)sizeof()求得的數(shù)組a和數(shù)組b的長度分別為8和10。
50.C解析:C語言中可以使用typedef來重新定義已有的數(shù)據(jù)類型,相當(dāng)于為數(shù)據(jù)類型取個別名。
51.B
52.C解析:C語言中可以同時定義多個變量,但變量之間必須用“,”隔開,顯然,選項A中少了一個逗號“,”,故選項A不正確;選項B中定義變量時用了連續(xù)的賦值語句,這在定義變量是不正確的,故選項B不正確:選項D定義了一個float型指針a,然后定義了一個float型變量b,并。讓這個變量的初值為指針變量a的地址,顯然這是錯誤的,除非b是指向float型指針變量的指針。故選項D不正確,所以選項C符合題意。
53.A解析:模式設(shè)計和內(nèi)模式設(shè)計是概念設(shè)計的兩種方法。物理設(shè)計是根據(jù)特定的計算機(jī)系統(tǒng),對數(shù)據(jù)的存儲結(jié)構(gòu)和存取方法進(jìn)行設(shè)計,從而實現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開發(fā)的角度來看,結(jié)構(gòu)特性設(shè)計和行為特性-設(shè)計是數(shù)據(jù)庫應(yīng)用系統(tǒng)所具有的兩個特性。結(jié)構(gòu)特性的設(shè)計,設(shè)計各級數(shù)據(jù)庫模式(靜態(tài)特性):行為特性的設(shè)計,改變實體及其特性,決定數(shù)據(jù)庫系統(tǒng)的功能(動態(tài)特性)。
54.D解析:本題考核的知識點是在自加運算符的運算對象。自加運算對象可以是整型變量也可以是實型變量,但不能是表達(dá)式和常量。本題中,#defined2定義了d為常數(shù)2,不能在對d進(jìn)行自加運算.故選項D是個不正確的語句,所以,4個選項中選項D符合題意。
55.C解析:用高級語言編寫的程序稱為“源程序”,而計算機(jī)只能識別和執(zhí)行由O和1組成的二進(jìn)指令,所以高級語言必須先用—種稱為“編譯程序”的軟件,把源程序翻譯成二進(jìn)制形式的“目標(biāo)程序”。
56.D解析:本題考核的知識點是字符欺組初始化及字符型指針的應(yīng)用。字符數(shù)組初始化可以有兩種方式:方式一,按單個字符的方式賦初值。方式二,把一個字符串作為初值賦給字符數(shù)組。比如:charch[5]=rabc”),選項A屬于這種情況,但是選項A定義的字符數(shù)組長度為8,由于最后還要加一個“\\0”做結(jié)束標(biāo)志,所以賦給他的字符串長度應(yīng)小于等于7,所以選項A不正確;在給字符數(shù)組賦初值的時候,應(yīng)該用花括號“{”和“}”將字符串括起來,故選項C不正確。將字符型指針變量指向字符串也有兩種方法,一是在定義指針變量時就給其賦初值,比如:char*p='student';二是給指針變量賦值,比如:p='student';(p已經(jīng)被定義為字符型指針變量;),故選項D正確,而選項C中的花括號是多余的,應(yīng)該去掉,所以,4個選項中選項D符合題意。
57.A
58.D解析:參加運算的數(shù)據(jù)類型不同,要轉(zhuǎn)換為統(tǒng)一的數(shù)據(jù)類型,double在數(shù)據(jù)類型轉(zhuǎn)換中的級別最高,其他數(shù)據(jù)類型都要轉(zhuǎn)化為double,因此表達(dá)式值的類型為double。
59.C解析:如果一個字符數(shù)組用來存儲字符串,那么在定義該字符數(shù)組時,數(shù)組的大小應(yīng)該比它將要實際存放的字符串長度大1,所以選項A)和B)錯。選項D)e本身就是一個字符指針,不需再取地址。
60.B解析:在C中對文件操作必須先打開文件,待文件操作完畢后要關(guān)閉文件。對文件以讀的方式進(jìn)行打開操作時,同時會執(zhí)行文件的檢查文件是否存在,不存在將會返回空的文件指針,如果對文件以寫的方式打開時,文件不存在,將會自動創(chuàng)建文件,因此在C中打開文件前不必對其檢查文件是否存在,故答案為B。
61.C
62.A不能將一個整數(shù)直接賦給指針變量作為地址,因此A)是錯誤的。函數(shù)的返回值可以是地址,即指針。函數(shù)調(diào)用中形參值的變化不會傳遞給實參。故本題答案為A)。
63.B本題考查位運算,題目中將4向左移一位然后重新賦值給a,4左移一位為8,程序運行結(jié)果為8,選項B正確。
64.D
65.A
66.C在函數(shù)intfun(intx[],intn)的定義中,變量sum為一個靜態(tài)局部變量。由于在整個程序運行期間,靜態(tài)局部變量在內(nèi)存中的靜態(tài)存儲中占據(jù)著
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年蘇科版九年級生物下冊階段測試試卷含答案
- 2025年華師大版七年級物理上冊階段測試試卷含答案
- 2025年浙教新版一年級語文上冊階段測試試卷含答案
- 二零二五版農(nóng)業(yè)投入品質(zhì)量安全監(jiān)管服務(wù)合同4篇
- 臨時商鋪租賃合同樣本版B版
- 2025年立柱廣告牌租賃合同(含品牌推廣服務(wù))4篇
- 2024版建筑工程招投標(biāo)咨詢服務(wù)合同
- 2025年度體育器材打蠟保養(yǎng)服務(wù)合同模板4篇
- 二零二五年度出租房屋消防安全責(zé)任委托管理合同3篇
- 2025版農(nóng)戶農(nóng)產(chǎn)品收購貸款合同示范文本4篇
- 副總經(jīng)理招聘面試題與參考回答(某大型國企)2024年
- PDCA循環(huán)提高護(hù)士培訓(xùn)率
- 2024-2030年中國智慧水務(wù)行業(yè)應(yīng)用需求分析發(fā)展規(guī)劃研究報告
- 《獅子王》電影賞析
- 河北省保定市定州市2025屆高二數(shù)學(xué)第一學(xué)期期末監(jiān)測試題含解析
- 中醫(yī)護(hù)理人文
- 2024-2030年中國路亞用品市場銷售模式與競爭前景分析報告
- 貨物運輸安全培訓(xùn)課件
- 前端年終述職報告
- 2024小說推文行業(yè)白皮書
- 市人民醫(yī)院關(guān)于開展“改善就醫(yī)感受提升患者體驗主題活動”2023-2025年實施方案及資料匯編
評論
0/150
提交評論