




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
華信電腦培訓(xùn)中心整理完成
計(jì)算機(jī)等級(jí)考試二級(jí)C語言考前密卷
計(jì)算機(jī)等級(jí)考試二級(jí)C語言考前密卷(1)
(1)棧和隊(duì)列的共同特點(diǎn)是
A)都是先進(jìn)先出
B)都是先進(jìn)后出
C)只允許在端點(diǎn)處插入和刪除元素
D)沒有共同點(diǎn)
(2)已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是
A)acbed
B)decab
C)deabc
D)cedba
(3)鏈表不具有的特點(diǎn)是
A)不必事先估計(jì)存儲(chǔ)空間
B)可隨機(jī)訪問任一元素
C)插入刪除不需要移動(dòng)元素
D)所需空間與線性表長(zhǎng)度成正比
(4)結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是
A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)
B)分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C)多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)
D)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
(5)為了提高測(cè)試的效率,應(yīng)該
A)隨機(jī)選取測(cè)試數(shù)據(jù)
B)取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)
C)在完成編碼以后制定軟件的測(cè)試計(jì)劃
D)集中對(duì)付那些錯(cuò)誤群集的程序
(6)算法的時(shí)間復(fù)雜度是指
A)執(zhí)行算法程序所需要的時(shí)間
B)算法程序的長(zhǎng)度
C)算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)
D)算法程序中的指令條數(shù)
(7)軟件生命周期中所花費(fèi)用最多的階段是
A)詳細(xì)設(shè)計(jì)
B)軟件編碼
C)軟件測(cè)試
D)軟件維護(hù)
第1頁(共133頁)1
華信電腦培訓(xùn)中心整理完成
(8)數(shù)據(jù)庫管理系統(tǒng)DBMS中用來定義模式、內(nèi)模式和外模式的語言為
A)C
B)Basic
C)DDL
D)DML
(9)下列有關(guān)數(shù)據(jù)庫的描述,正確的是
A)數(shù)據(jù)庫是一個(gè)DBF文件
B)數(shù)據(jù)庫是一個(gè)關(guān)系
C)數(shù)據(jù)庫是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合
D)數(shù)據(jù)庫是一組文件
(10)下列有關(guān)數(shù)據(jù)庫的描述,正確的是
A)數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過程
B)數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不變
C)關(guān)系中的每一列稱為元組,一個(gè)元組就是一個(gè)字段
D)如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個(gè)關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外
關(guān)鍵字
(11)以下敘述中正確的是
A)C語言比其他語言高級(jí)
B)C語言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行
C)C語言以接近英語國(guó)家的自然語言和數(shù)學(xué)語言作為語言的發(fā)達(dá)形式
D)C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點(diǎn)
(12)C語言中用于結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是
A)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
B)if^switch,break
C)for,while,do-while
D)if,for,continue
(13)C語言中最簡(jiǎn)單的數(shù)據(jù)類型包括
A)整型、實(shí)型、邏輯型
B)整型、實(shí)型、字符型
C)整型、字符型、邏輯型
D)字符型、實(shí)型、邏輯型
(14)若變量已正確定義并賦值,以下符合C語言語法的表達(dá)式是
A)a:=b+l
B)a=b=c+2
C)int18.5%3
D)a=a+7=c+b
(15)下列可用于C語言用戶標(biāo)識(shí)符的一組是
A)void,define,WORD
B)a3_b3,_123,Car
C)For,-abc,IFCase
D)2a,DO,sizeof
(16)C語言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是
第2頁(共133頁)2
華信電腦培訓(xùn)中心整理完成
A)%=
B)/
C)=
D)<=
(17)若變量a,i已正確定義,且i已正確賦值,合法的語句是
A)a==1
B)++i;
C)a=a++=5;
D)a=int(i);
(18)已知
intt=0;
while(t=l)
{???)
則以下敘述正確的是
A)循環(huán)控制表達(dá)式的值為0
B)循環(huán)控制表達(dá)式的值為1
C)循環(huán)控制表達(dá)式不合法
D)以上說法都不對(duì)
(19)若變量已正確說明為float型,要通過語句scanf(",&a,&b,&c)/a賦予10.0,b賦予22.0,c
賦予33.0,下列不正確的輸入形式是
A)10<回車>22〈回車>33〈回車〉
B)10.0,22.0,33.0〈回車>
C)10.0〈回車>22.033.0〈回車)
D)1022〈回車>33〈回車〉
(20)有如下程序:
main()
(
intx=l,a=0,b=0;
switch(x)
(
case0:b++;
case1:a++;
case2:a++;b++;
)
printf("a=%d,b=%d\n",a,b);}
該程序的輸出結(jié)果是
A)a=2,b=l
B)a=l,b=l
C)a=l,b=0
D)a=2,b=2
(21)有以下程序
main()
第3頁(共133頁)3
華信電腦培訓(xùn)中心整理完成
{inti=l,j=l,k=2;
if((j++||k")&&i++)
printf("%d,%d,%d\n",i,j,k);
)
執(zhí)行后輸出結(jié)果是
A)1,1,2
B)2,2,1
C)2,2,2
D)2,2,3
(22)有如下程序
main()
{floatx=2.0,y;
if(x<0.0)產(chǎn)0.0;
elseif(x<10.0)y=1.0/x;
elsey=1.0;
printf("%f\n",y);}
該程序的輸出結(jié)果是
A)0.000000
B)0.250000
C)0.500000
D)1.000000
(23)有如下程序:
main()
{intn=9;
while(n>6){n-;printf(n%dn,n);}
}
該程序的輸出結(jié)果是
A)987
B)876
C)8765
D)9876
(24)在下列選項(xiàng)中,沒有構(gòu)成死循環(huán)的是
A)inti=100;
while(1)
{i=i0+1;
if(i>100)break;
B)for(;;);
C)intk=10000;
do{k++;}while(k>10000);
D)ints=36;
第4頁(共133頁)4
華信電腦培訓(xùn)中心整理完成
while(s)—s;
(25)設(shè)intx=l,y=l;表達(dá)式(!x||y-)的值是
A)0
B)1
C)2
D)-1
(26)若已定義的函數(shù)有返回值,則以卜關(guān)于該函數(shù)調(diào)用的敘述中錯(cuò)誤的是
A)函數(shù)調(diào)用可以作為獨(dú)立的語句存在
B)函數(shù)調(diào)用可以作為一個(gè)函數(shù)的實(shí)參
C)函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式中
D)函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參
(27)有以下程序
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.0f\nn,fun((int)fun(a+c,b),a-c));
}
程序運(yùn)行后的輸出結(jié)果是
A)編譯出錯(cuò)
B)9
C)21
D)9.0
(28)若有以下調(diào)用語句,則不正確的ftm函數(shù)的首部是
main()
{…
inta[50],n;
fun(n,&a[9]);
A)voidfun(intm,intx[])
B)voidfun(ints,inth[41])
C)voidfun(intp,int*s)
D)voidfun(intn,inta)
(29)fseek函數(shù)的正確調(diào)用形式是
A)fseek(文件指針,起始點(diǎn),位移量)
B)fseek(文件指針,位移量,起始點(diǎn))
C)fseek(位移量,起始點(diǎn),文件指針)
D)fseek(起始點(diǎn),位移量,文件指針)
(30)若坨是指向某文件的指針,且已讀到文件末尾,則函數(shù)fbof(fp)的返回值是
A)EOF
B)-1
第5頁(共133頁)5
華信電腦培訓(xùn)中心整理完成
C)1
D)NULL
(31)若有說明語句:charc=>72,;則變量c
A)包含1個(gè)字符
B)包含2個(gè)字符
C)包含3個(gè)字符
D)說明不合法,c的值不確定
(32)若有說明inta[3][4];則a數(shù)組元素的非法引用是
A)a[0][2*1]
B)a[1][3]
C)a[4-2][0
D)a[0][4]
(33)設(shè)有以F說明語句
structstu
{inta;
floatb;
}stutype;
則下面的敘述不正確的是
A)struct是結(jié)構(gòu)體類型的關(guān)鍵字
B)structstu是用戶定義的結(jié)構(gòu)體類型
C)stutype是用戶定義的結(jié)構(gòu)體類型名
D)a和b都是結(jié)構(gòu)體成員名
(34)在C語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是
A)整型常量
B)整型表達(dá)式
C)整型常量或整型表達(dá)式
D)任何類型的表達(dá)式
(35)若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是
main()
{intx,y;
scanf("%d",&x);
y=x>12?x+10:x-12;
printf("%d\n",y);
)
A)0
B)22
C)12
D)10(
(36)以下說法正確的是
A)C語言程序總是從第一個(gè)的函數(shù)開始執(zhí)行
B)在C語言程序中,要調(diào)用函數(shù)必須在main()函數(shù)中定義
C)C語言程序總是從main()函數(shù)開始執(zhí)行
D)C語言程序中的main()函數(shù)必須放在程序的開始部分
第6頁(共133頁)6
華信電腦培訓(xùn)中心整理完成
(37)表達(dá)式0x13八0x17的值是
A)0x04
B)0x13
C)0xE8
D)0x17
(38)有以下程序
#defineF(X,Y)(X)*(Y)
main()
{inta=3,b=4;
printf("%d\n”,F(xiàn)(a++,b++));
)
程序運(yùn)行后的輸出結(jié)果是
A)12
B)15
C)16
D)20
(39)下列程序執(zhí)行后的輸出結(jié)果是
voidfunc(int*a,intb[])
{b[0]=*a+6;}
main()
{inta,b[5];
a=0;b[0]=3;
func(&a,b);printf("%d\n",b[0]);
}
A)6
B)7
C)8
D)9
(40)若有下面的程序段:
chars[]="china";char*p;p=s;
則下列敘述正確的是
A)s和p完全相同
B)數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等
C)s數(shù)組長(zhǎng)度和p所指向的字符串長(zhǎng)度相等
D)*p與s[0]相等
(41)以下程序中函數(shù)sort的功能是對(duì)a數(shù)組中的數(shù)據(jù)進(jìn)行由大到小的排序
voidsort(inta[],intn)
{inti,j,t;
for(i=0;i<N-l;I++)
for(j=i+l;j<N;J++)
if(a[i]
)
main()
{intaa[10]={l,2,3,4,5,6,7,8,9,10},i;
第7頁(共133頁)7
華信電腦培訓(xùn)中心整理完成
sort(&aa[31,5);
for(i=0;i<10;i++)printf(H%d,",aa[i]);
printf("\nn);
}
程序運(yù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)123,8,7,6,5,4,9/0,
D)1,2,10,9,8,7,6,5,4,3,
(42)以F程序的運(yùn)行結(jié)果是
#include"stdio.h"
main()
{structdate
{intyear,month,day;}today;
printf("%d\nn,sizeof(structdate));
}
A)6
B)8
C)10
D)12
(43)若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是
A)a,point,*&a
B)&*a,&a,*point
C)*&point,*point,&a
D)&a,&*point,point
(44)在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單的變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是
A)地址傳遞
B)單向值傳遞
C)由實(shí)參傳形參,再由形參傳實(shí)參
D)傳遞方式由用戶指定
(45)已定義以下函數(shù)
fun(char*p2,char*pl)
(
while((*p2=*pl)!='\0'){pl++;p2++;}
)
函數(shù)的功能是
A)將pl所指字符串復(fù)制到p2所指內(nèi)存空間
B)將pl所指字符串的地址賦給指針p2
C)對(duì)pl和p2兩個(gè)指針?biāo)缸址M(jìn)行比較
D)檢查pl和p2兩個(gè)指針?biāo)缸址惺欠裼?(T
(46)若執(zhí)行下述程序時(shí),若從鍵盤輸入6和8時(shí),結(jié)果為
main()
{inta,b,s;
scanf(H%d%dn,&a,&b);
第8頁(共133頁)8
華信電腦培訓(xùn)中心整理完成
s=a
if(a<B)
s=b;
s*=s;
printf(H%d",s);
)
A)36
B)64
C)48
D)以上都不對(duì)
(47)fscanf函數(shù)的正確調(diào)用形式是
A)fbcanf(fp,格式字符串,輸出表列);
B)fscanf(格式字符串,輸出表列,巾);
C)fkcanf(格式字符串,文件指針,輸出表列);
D)fscanf(文件指針,格式字符串,輸入表列);
(48)下列關(guān)于C語言數(shù)據(jù)文件的敘述中正確的是
A)文件由ASCII碼字符序列組成,C語言只能讀寫文本文件
B)文件由二進(jìn)制數(shù)據(jù)序列組成,C語言只能讀寫二進(jìn)制文件
C)文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
D)文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件
(49)有以下程序
voidss(char*s,chart)
{while(*s)
{if(*s==t)*s=t-'a'+'A';
s++;
}
)
main()
{charstrl[100]=nabcddfefdbd",c='d,;
ss(strl,c);printf("%s\n”,strl);
}
程序運(yùn)行后的輸出結(jié)果是
A)ABCDDEFEDBD
B)abcDDfefDbD
C)abcAAfefAbA
D)Abcddfefdbd
(50)若以下定義:
structlink
{intdata;
structlink*next;
}a,b,c,*p,*q;
且變量a和b之間已有如下圖所示的鏈表結(jié)構(gòu):
第9頁(共133頁)9
華信電腦培訓(xùn)中心整理完成
指針p指向變量a,q指向變量Co則能夠把c插入到a和b之間并形成新的鏈表的語句組是:
A)a.next=c;c.next=b;
B)p.next=q;q.next=p.next;
C)p->next=&c;q->next=p->next;
D)(*p).next=q;(*q).next=&b;
二、填空題
(1)算法的基本特征是可行性、確定性、【1】和擁有足夠的情報(bào)。
解析:算法是指解題方案的準(zhǔn)確而完整的描述。它有4個(gè)基本特征,分別是可行性、確定性、有窮性和擁有足
夠的情報(bào)。
(2)在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找。最壞的情況下,需要的比較次數(shù)為【2】o
解析:對(duì)于長(zhǎng)度為n的有序線性表,在最壞情況下,二分查找只需要比較log2n次,而順序查找需要比較n次。
(3)在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組【3】。
解析:將屬性、操作相似的對(duì)象歸為類,也就是說,類是具有共同屬性、共同方法的對(duì)象的集合。
(4)通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為【4】。
解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。一般包括可
行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用以及維護(hù)等活動(dòng)。
(5)數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【5】3種。
解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之
間的一個(gè)標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。
(6)設(shè)y是int型,請(qǐng)寫出y為奇數(shù)的關(guān)系表達(dá)式【6】。
答案(y%2)=l
(7)設(shè)inta=5,b=6,表達(dá)式(++a==b—)?++a:--b的值是[7]。
解析:此表達(dá)式為三目運(yùn)算符,++a的值為6,b——的值為6,則整個(gè)表達(dá)式的值為++a的值,++a的值為7。
請(qǐng)注意前綴++,-和后綴++,-的區(qū)別。
(8)下列程序的輸出結(jié)果是[81
maim()
{charb口="Helloyou";
第10頁(共133頁)10
華信電腦培訓(xùn)中心整理完成
b[5]=0;
printf("%s\n",b);}
解析:語句b[5]=0;相當(dāng)于語句b[5]='0,,且、0,為字符串結(jié)束標(biāo)志,輸出時(shí)遇到'(T就停止輸出。
(9)當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳遞的是[9]o
解析:在函數(shù)中,可以通過指針變量來引用調(diào)用函數(shù)中對(duì)應(yīng)的數(shù)組元素,此操作是通過傳遞數(shù)組的首地址來實(shí)
現(xiàn)。
(10)以下程序的輸出結(jié)果是【10】。
inta=1234;
printf(n-\nn,a);
解析:在%與格式符之間插入一個(gè)整形數(shù)來指這輸出寬度,并不影響數(shù)據(jù)的完整性,當(dāng)插入的寬度小于實(shí)際的寬
度時(shí),則實(shí)際的寬度輸出。
(11)用高級(jí)語言編寫的程序稱為【11】程序,它可以通過解釋程序翻譯一句執(zhí)行一句的方式執(zhí)行,也可以通
過編譯程序一次翻譯產(chǎn)生目標(biāo)程序,然后執(zhí)行。
解析:用高級(jí)語言編寫的程序稱為源程序,源程序不能在計(jì)算機(jī)上直接運(yùn)行,運(yùn)行源程序有兩種方式:一種是
通過解釋程序,對(duì)源程序逐句解釋執(zhí)行;另一種是先讓編譯程序?qū)⒃闯绦蛞淮畏g產(chǎn)生H標(biāo)程序(目標(biāo)程序是計(jì)
算機(jī)可直接執(zhí)行的機(jī)器語言程序,它是一種二進(jìn)制代碼程序),然后執(zhí)行目標(biāo)程序。
(12)以下程序的輸出結(jié)果是【12】。
main()
{inta=0;
a+=(a=8);
printf("%d\n",a);}
解析:賦值表達(dá)式的值就是所賦值變量的值,本題中a+=8相當(dāng)于a=a+8,對(duì)表達(dá)式逐步進(jìn)行求解:
a+=(a=8)此時(shí),a的值由于賦值為8,而不是0
a+=8
a=a+8
a=16
(13)函數(shù)'="2X17voidfun(float*sn,intn)的功能是:根據(jù)以下公式計(jì)算S,計(jì)算結(jié)果通過形參
指針sn傳回;n通過形參傳入,n的值大于等于0。請(qǐng)?zhí)羁铡?/p>
voidfun(float*sn,intn)
{floats=0.0,w,f=-1.0;
inti=0;
for(i=0;i<=n;i++)
{[13]*f;
w=f7(2*i+l);
s+=w;}
第11頁(共133頁)11
華信電腦培訓(xùn)中心整理完成
[14]=s;}
解析:C語言中實(shí)參變量和形參變量的數(shù)據(jù)傳遞是單向的“值傳遞”方式。指針變量作函數(shù)也要遵循這一規(guī)則。調(diào)
用函數(shù)不可能改變實(shí)參指針變量的值,但可以改變實(shí)參指針變量所指變量的值。
(14)函數(shù)fun的功能是:根據(jù)以下公式求p的值,結(jié)果山函數(shù)值返回。m與n為兩個(gè)iE數(shù)且要求m>n。
例如:m=12,n=8時(shí)、運(yùn)行結(jié)果應(yīng)該是495.000000。請(qǐng)?jiān)陬}目的空白處填寫適當(dāng)?shù)某绦蛘Z句,將該程序補(bǔ)充完整。
#include
#include
floatfun(intm,intn)
{inti;
doublep=1.0;
for(i=l;iv=m;i++)[15];
for(i=l;iv=n;i++)[16];
for(i=l;iv=m-n;i++)p=p/i;
returnp;}
main()
{clrscr();
printf(Hp=%f\n",fun(12,8));}
解析:本題中,欲求p的值,需要先求m,n,m?n的階乘值,可用循環(huán)語句實(shí)現(xiàn)。
(15)該程序運(yùn)行的結(jié)果是【17】。
#include
#include
#defineM100
voidfiin(intm,int*a,int*n)
{inti,j=0;
for(i=l;iv=m;i++)
if(i%7=0||i=0)
a[j++]=i;
*n=j;}
main()
{intaa[M],n,k;
clrscr();
fun(10,aa,&n);
for(k=0;k<N;K++)
if((k+1)==0)printf("\n");
elseprintf("M",aa[k]);
printf("\n");}
解析:解答本題的關(guān)鍵是要讀懂程序,試題要找出能被7或11整除的所有整數(shù),注意數(shù)學(xué)中的“或”和C語言中
的“或''的區(qū)別,但在此處,if條件語句中用了'T運(yùn)算符,若要找能同時(shí)被7和11整除的所有整數(shù)則在if()中應(yīng)
用“&&”運(yùn)算符。
第12頁(共133頁)12
華信電腦培訓(xùn)中心整理完成
當(dāng)然,如果m的值輸入50,即表達(dá)式fun(10,aa,&n);為fun(50,aa,&n);時(shí)輸入結(jié)果為:
711142122283335424449。
(16)下列程序的功能是:求出ss所指字符串中指定字符的個(gè)數(shù),并返回此值。
例如,若輸入字符串123412132,輸入字符1,則輸出3,請(qǐng)?zhí)羁铡?/p>
#include
#include
#defineM81
intfun(char*ss,charc)
{inti=0;
for(;[18];ss++)
if(*ss=c)i++;
returni;}
main()
{chara[M],ch;
clrscr();
printf(**\nPleaseenterastring:H;gets(a);
printf("\nPleaseenterachar:”);ch=getchar();
printf(H\nThenumberofthecharis:%d\nH,fun(a,ch));}
解析:從字符串ss中找出子字符串的方法是:從第1個(gè)字符開始,對(duì)字符串進(jìn)行遍歷;若SS串的當(dāng)前字符等于
t申的第1個(gè)字符,兩字符串的指針自動(dòng)加1,繼續(xù)比較下一個(gè)字符;若比較至字符串的結(jié)尾,則跳出循環(huán);若
SS串的字符和C串的字符對(duì)應(yīng)不同,繼續(xù)對(duì)SS串的下?個(gè)字符進(jìn)行處理。本程序是采用逐?比較的方式找出出現(xiàn)
的次數(shù)。循環(huán)的作用是在串中從左到右逐一走動(dòng),if()的作用是進(jìn)行判斷是否相同,若與C相同則表示又出現(xiàn)
一次。
(17)下面程序把從終端讀入的文本(用@作為文本結(jié)束標(biāo)志)輸出到一個(gè)名為bi.dat的新文件中,請(qǐng)?zhí)羁铡?/p>
#include"stdio.h**
FILE*fp;
{charch;
if((fp=fopen([19]))==NULL)exit(0);
while((ch=getchar())!=@)fputc(ch,fp);
fclose(fp);}
解析:fopen函數(shù)的調(diào)用方式通常為:
FILE*fp
fp=fopen(文件名,使用文件方式);
(18)設(shè)有如下宏定義
#defineMYSWAP(z,x,y)
{z=x;x=y;y=z;}
以下程序段通過宏調(diào)用實(shí)現(xiàn)變量a,b內(nèi)容交換,請(qǐng)?zhí)羁铡?/p>
floata=5,b=16,c;
MYSWAP([20],a,b);
解析:該題考查兩個(gè)知識(shí)點(diǎn):
(1)用一個(gè)指定的標(biāo)識(shí)符(即名字)來代表一個(gè)字符串,它的一般形式為#(1?行其標(biāo)識(shí)符字符串
第13頁(共133頁)13
華信電腦培訓(xùn)中心整理完成
(2)在MYSWAP宏定義中,利用中間變量z來交換x和y的值,所以要實(shí)現(xiàn)a和b的交換,只需通過中間變量
即可,所以,此處應(yīng)填c。
計(jì)算機(jī)等級(jí)考試二級(jí)C語言考前密卷(2)
一、選擇題
(1)已知一棵二叉樹前序遍歷和中序遍歷分別為ABDEGCFH和DBGEACHF,則該二叉樹的后序遍歷為
A)GEDHFBCA
B)DGEBHFCA
C)ABCDEFGH
D)ACBFEDHG
(2)樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是
A)有且只有1
B)1或多于1
C)0或1
D)至少2
(3)如果進(jìn)棧序列為el,e2,e3,e4,則可能的出棧序列是
A)e3,el,e4,e2
B)e2,e4,e3,el
C)e3,e4,el,e2
D)任意順序
(4)在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是
A)不限制goto語句的使用
B)減少或取消注解行
C)程序越短越好
D)程序結(jié)構(gòu)應(yīng)有助于讀者理解
(5)程序設(shè)計(jì)語言的基本成分是數(shù)據(jù)成分、運(yùn)算成分、控制成分和
A)對(duì)象成分
B)變量成分
C)語句成分
D)傳輸成分
(6)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是
A)便于用戶、開發(fā)人員進(jìn)行理解和交流
B)反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
C)作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)
D)便于開發(fā)人員進(jìn)行需求分析
(7)下列不屬于軟件工程的3個(gè)要素的是
A)工具
B)過程
C)方法
D)環(huán)境
第14頁(共133頁)14
華信電腦培訓(xùn)中心整理完成
(8)單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為
A)外模式
B)概念模式
C)內(nèi)模式
D)存儲(chǔ)模式
(9)將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成
A)屬性
B)關(guān)系
C)鍵
D)域
(10)SQL語言又稱為
A)結(jié)構(gòu)化定義語言
B)結(jié)構(gòu)化控制語言
C)結(jié)構(gòu)化查詢語言
D)結(jié)構(gòu)化操縱語言
(11)下列敘述中正確的是
A)C語言編譯時(shí)不檢查語法
B)C語言的子程序有過程和函數(shù)兩種
C)C語言的函數(shù)可以嵌套定義
D)C語言的函數(shù)可以嵌套調(diào)用
(12)在C語言中,退格符是
A)\n
B)\t
C)\f
D)\b
(13)以下敘述中正確的是
A)構(gòu)成C程序的基本單位是函數(shù)
B)可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)
C)main()函數(shù)必須放在其他函數(shù)之前
D)所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義
(14)在C程序中,判邏輯值時(shí),用“非0”表示邏輯值“真”,又用"0”表示邏輯值“假在求邏輯值時(shí),用()
表示邏輯表達(dá)式值為“真",又用()表示邏輯表達(dá)式值為“假
A)10
B)01
C)非0非0
D)11
(15)在C語言中,運(yùn)算對(duì)象必須是整型數(shù)的運(yùn)算符是
A)%
B)\
C)%和\
D)**
(16)字符型數(shù)據(jù)在機(jī)器中是用ASCII碼表示的,字符“5”和“7”在機(jī)器中表示為
第15頁(共133頁)15
華信電腦培訓(xùn)中心整理完成
A)10100011和01110111
B)01000101和01100011
C)00110101和00110111
D)01100101和01100111
(17)若已定義:inta=25,b=14,c=19;以下三目運(yùn)算符(?:)所構(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=19
B)***a=26,b=14,c=19
C)###a=25,b=13,c=19
D)###a=26,b=14,c=19
(18)若有定義:inta=7;floatx=2.5,y=4.7;貝U表達(dá)式x+a%3*(int)(x+y)%2/4的值是
A)2.500000
B)2.750000
C)3.500000
D)0.000000
(19)下列程序段的輸出結(jié)果是:
inta=1234;
floatb=123.456;
doublec=12345.54321;
printf("?,%2.1£%2.lf',a,b,c);
A)無輸出
B)12,123.5,12345.5
C)1234,123.5,12345.5
D)1234,123.4,1234.5
(20)若運(yùn)行以下程序時(shí),從鍵盤輸入ADescriptor(表示回車),則下面程序的運(yùn)行結(jié)果是#include
main()
{charc;
intv0=l,vl=0,v2=0;
do{switch(c=getchar())
{case'a':case'A':
case'encase'E':
case'i':caseT:
case'o':case'O':
caseruz:case'U':vl+=1;
default:v0+=l;v2+=l;}
}while(c!='\n');
printf(nv0=%d,vl=%d,v2=%d\nn,v0,vl,v2);}
A)v0=7,vl=4,v2=7
B)v0=8,vl=4,v2=8
C)v0=ll,vl=4,v2=ll
D)v0=13,vl=4,v2=12
第16頁(共133頁)16
華信電腦培訓(xùn)中心整理完成
(21)設(shè)有以下程序段
intx=O,s=O;
while(!x!=0)s+=++x;
printf(”%d”,s);
則
A)運(yùn)行程序段后輸出0
B)運(yùn)行程序段后輸出1
C)程序段中的控制表達(dá)式是非法的
D)程序段執(zhí)行無限次
(22)有如下程序
main()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x>10.0)y=1.0/x;
elsey=1.0;
printf("%f\n”,y);}
該程序的輸出結(jié)果是
A)0.000000
B)0.250000
C)0.500000
D)1.000000
(23)執(zhí)行下面的程序段后,變量k中的值為
intk=3,s[2];
s[0]=k;k=s[1]*10;
A)不定值
B)33
C)30
D)10
(24)以下程序段的描述,正確的是
x=-l;
do
{x=x*x;}
while(!x);
A)是死循環(huán)
B)循環(huán)執(zhí)行兩次
C)循環(huán)執(zhí)行一次
D)有語法錯(cuò)誤
(25)以下選項(xiàng)錯(cuò)誤的是
A)main()
{intx,y,z;
x=0;y=x-1;
z=x+y;}
第17頁(共133頁)17
華信電腦培訓(xùn)中心整理完成
B)main()
{intx,y,z;
x=O,y=x+l;
z=x+y;}
C)main()
{intx;int
inty;
x=O,y=x+l;
z=x+y;}
D)main()
{intx,y,z;
x=O;y=x+l;
z=x+y,}
(26)有如下程序段
inta=14,b=15,x;
charc='A';
x=(a&&b)&&(c〈B);
執(zhí)行該程序段后,x的值為
A)ture
B)false
C)0
D)1
(27)下列程序執(zhí)行后的輸出結(jié)果是
voidfund(inti);
voidfiinc2(inti);
charst[]=nhello,friend!";
voidfund(inti)
{printf(”%c”,stLi]);
if(i<3){i+=2;func2(i);}}
voidfunc2(inti)
{printf(n%c\st[i]);
if(i<3){i+=2;funcl(i);}}
main()
{inti=0;funcl(i);printf(H\nn);}
A)hello
B)hel
C)hlo
D)him
(28)以下函數(shù)返回a所指數(shù)組中最大值所在的下標(biāo)值
fun(int*a,intn)
{inti,j=O,p;
P=j;
for(i=j;i〈N;I++)
第18頁(共133頁)18
華信電腦培訓(xùn)中心整理完成
if(a[i]>a[p]);
return(p);)
在下劃線處應(yīng)填入的內(nèi)容是
A)i=p
B)a[p]=a[i]
C)p=j
D)p=I
(29)下面說明不正確的是
A)chara[10]="china";
B)chara[10],*p=a;p=nchina"
C)char*a;a="china,*;
D)chara[10],*p;p=a="china"
(30)以下程序的輸出結(jié)果是
#include
voidprt(int*x,int*y,int*z)
{printf("%d,%d,%d\n",++*x,++*y,*(z++));}
main()
{inta=10,b=40,c=20;
prt(&a,&b,&c);
prt(&a,&b,&c);}
A)11,42,31
12,22,41
B)11,41,20
12,42,20
C)11,21,40
11,21,21
D)11,41,21
12,42,22
(31)若有函數(shù)內(nèi)部說明:inta[3][4];則數(shù)組a中各元素
A)可在程序的運(yùn)行階段得到初值0
B)可在程序的編譯階段得到初值0
C)不能得到確定的初值
D)可在程序的編譯或運(yùn)行階段得到初值0
(34)定義如下變量和數(shù)組:
intk;
inta[3][3]={9,8,7,6,5,4,3,2,1};
則下面語句的輸出結(jié)果是
for(k=0;k<3;k++)printf("%d",a[k][k]);
A)753
B)951
C)963
D)741
(35)下列程序執(zhí)行后的輸出結(jié)果是
main()
第19頁(共133頁)19
華信電腦培訓(xùn)中心整理完成
{chararr[2][4];
strcpy(arr,"you");strcpy(arr[1]Jme");
arr[0][3]
printf(M%s\n",arr);}
A)you&me
B)you
C)me
D)err
(36)有以下函數(shù)
charfun(char*p)
{returnp;}
該函數(shù)的返回值是
A)無確切的值
B)形參p中存放的地址值
C)一個(gè)臨時(shí)存儲(chǔ)單元的地址
D)形參p自身的地址值
(37)以下正確的說法是
A)定義函數(shù)時(shí),形參的類型說明可以放在函數(shù)體內(nèi)
B)return后邊的值不能為表達(dá)式
C)如果函數(shù)值的類型與返回值類型不?致,以函數(shù)值類型為準(zhǔn)
D)如果形參與實(shí)參類型不一致,以實(shí)參類型為準(zhǔn)
(38)有以下程序
intf(intn)
{if(n=l)return1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=l;i<3;i++)j+=f(i);
printf("%d\n”,j);}
程序運(yùn)行后的輸出結(jié)果是
A)4
B)3
C)2
D)1
(39)設(shè)有如下定義:
strucksk
{inta;
floatb;
}data;
int*p;
若要使P指向data中的a域,正確的賦值語句是
A)p=&a;
B)p=data.a;
C)p=&data.a;
第20頁(共133頁)20
華信電腦培訓(xùn)中心整理完成
D)*p=data.a;'
(40)以下對(duì)結(jié)構(gòu)體類型變量的定義中,不正確的是
A)typedefstructaa
{intn;
floatm;
}AA;
AAtdl;
B)#defineAAstructaa
AA{intn;
floatm;
}tdl;
C)struct
{intn;
floatm;
}aa;
structaatdl;
D)struct
{intn;
floatm;
}tdl;
(41)若說明int*p,n;則通過語句scanf能夠正確讀入數(shù)據(jù)的程序段是
A)p=&n;scanf("%d",&p);
B)p=&n;scanf(”%d”,*p);
C)scanf(”%d”,n);
D)p=&n;scanf("%d",p);
(42)在下述程序中,判斷i>j共執(zhí)行的次數(shù)是
main()
{inti=0,j=10,k=2,s=0;
for(;;)
{i+=k;
if(i>j)
{printf("%d",s);
break;
}s+=i;
}
}
A)4
B)7
C)5
D)6
(43)以下4個(gè)選項(xiàng)中,不能看做一條語句的是
A);
B)a=5,b=2.5,c=3.6;
C)if(a<5);
第21頁(共133頁)21
華信電腦培訓(xùn)中心整理完成
D)if(b!=5)x=2;y=6;
(44)在C語言中,變量的隱含存儲(chǔ)類別是
A)auto
B)static
C)extern
D)無存儲(chǔ)類別
(45)若有以下程序
#include
voidf(intn);
main()
{voidf(intn);
f(5);
}
voidf(intn)
{printf(M%d\n",n);}
則以下敘述中不正確的是
A)若只在主函數(shù)中對(duì)函數(shù)f進(jìn)行說明,則只能在主函數(shù)中正確調(diào)用函數(shù)f
B)若在主函數(shù)前對(duì)函數(shù)f進(jìn)行說明,則在主函數(shù)和其后的其他函數(shù)中都可以正確調(diào)用函數(shù)f
C)對(duì)于以上程序,編譯時(shí)系統(tǒng)會(huì)提示出錯(cuò)信息:提示對(duì)f函數(shù)重復(fù)說明
D)函數(shù)f無返回值,所以可用void將其類型定義為無返回值型
(46)若有下面的說明和定義
structtest
{intml;charm2;floatm3;
unionuu{charul[5];intu2[2];}ua;
}myaa;
則sizeof(structtest)的值是
A)12
B)16
C)14
D)9
(47)以下程序的輸出是
structst
{intx;int*y;}*p;
intdt[4]={10,20,30,40};
structstaa[4]={50,&dt[01,60,&dt[01,60,&dt[0],60,&dt[0]};
main()
{P=aa;
printf("%d\n",++(p->x));
}
A)10
B)11
C)51
D)60
(48)若有運(yùn)算符vv,sizeof,八,&=,則它們按優(yōu)先級(jí)由高至低的正確排列次序是
第22頁(共133頁)22
華信電腦培訓(xùn)中心整理完成
A)sizeof,&=,?,A
B)sizeofi?,A,&=
C)A,?,sizeof,&=
D)?,A,&=,sizeof
(49)函數(shù)也eek(pf,OL,SEEK_END)中的SEEK_END代表的起始點(diǎn)是
A)文件開始
B)文件末尾
C)文件當(dāng)前位置
D)以上都不對(duì)
(50)有以下程序
#include
main()
{FILE*fp;inti=20j=30,k,n;
fp=fopen("dl.dat","w");
fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);
fclose(fp);
m=fopen("dl.dat","r");
fscanf(fjp,"%d%d",&k,&n);printf("%d%d\n",k,n);
fclose(fp);
}
程序運(yùn)行后的輸出結(jié)果是
A)2030
B)2050
C)3050
D)3020
二、填空題
(1)數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【1】。
解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)
算機(jī)存儲(chǔ)空間中的存放形式。在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅要存放各數(shù)據(jù)元素的信息,還需要存放各數(shù)據(jù)元素之間
的前后件關(guān)系的信息。
(2)在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為【2】。
解析:類是面向?qū)ο笳Z言中必備的程序語言結(jié)構(gòu),用來實(shí)現(xiàn)抽象數(shù)據(jù)類型。類與類之間的繼承關(guān)系實(shí)現(xiàn)了類之
間的共享屬性和操作,一個(gè)類可以在另一個(gè)已定義的類的基礎(chǔ)上定義,這樣使該類型繼承了其超類的屬性和方法,
當(dāng)然,也可以定義自己的屬性和方法。
(3)耦合和內(nèi)聚是評(píng)價(jià)模塊獨(dú)立性的兩個(gè)主要標(biāo)準(zhǔn),其中【3】反映了模塊內(nèi)各成分之間的聯(lián)系。
解析:內(nèi)聚性是一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度的度量,內(nèi)聚是從功能角度來度量模塊內(nèi)的聯(lián)系;
耦合性是模塊間互相連接的緊密程度的度量。
(4)一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體"項(xiàng)目主管"與實(shí)體"項(xiàng)目"的聯(lián)系屬于【4】
的聯(lián)系。
解析:兩個(gè)實(shí)體集間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有3種,即-對(duì)一(1:1)的聯(lián)
第23頁(共133頁)23
華信電腦培訓(xùn)中心整理完成
系、一對(duì)多(1:N)或多對(duì)一(N:1)的聯(lián)系和多對(duì)多(N:N)的聯(lián)系。
(5)數(shù)據(jù)庫設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、【5】、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、
運(yùn)行利維護(hù)階段。
解析:數(shù)據(jù)庫設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)
施階段及數(shù)據(jù)庫運(yùn)行和維護(hù)階段。
(6)以下程序的運(yùn)行結(jié)果是[6]0
#defineMAX(a,b)(a>b?a:b)+1
main()
{inti=6,j=8,k;
printf(n%d\n",MAX(i,j));
}
解析:本題考查宏定義與三目運(yùn)算符的綜合用法,宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為
整個(gè)表達(dá)式的值,否則為b+1的值為整個(gè)表達(dá)式的值,(應(yīng)注意后面的加1)。
(7)以下程序的功能是從健盤輸入若干學(xué)生的成績(jī),并輸出最高成績(jī)和最低成績(jī),當(dāng)輸入負(fù)數(shù)時(shí)結(jié)束。請(qǐng)?zhí)羁铡?/p>
main()
{floatx,amax,amin;
scanf("%r,&x);
amax=x;
amin=x;
while([7])
{if(x>amax)
amax=x;
else
if[8]
amin=x;
elsescanf("%f',&x);
}
printf(”\namax=%f\namin=%f\n”,amax,amin);
}
解析:本題先從鍵盤接受數(shù)值,并分別賦給amax(用于保存最高成績(jī))和amin(用干保存最低成績(jī)),然后通
過while循環(huán)控制是否結(jié)束輸入,并且通過if語句來給amax和amin賦值和進(jìn)行下一次的輸入。
(8)在對(duì)文件操作的過程中,若要求文件的位置指針回到文件的開始處,應(yīng)當(dāng)調(diào)用的函
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人為企業(yè)租房合同樣本
- 代理購(gòu)電合同樣本
- 代理采購(gòu)框架合同樣本
- 中山美白加盟合同標(biāo)準(zhǔn)文本
- 兄弟單位變更合同樣本
- 借貸入股合同標(biāo)準(zhǔn)文本
- pe管道合同標(biāo)準(zhǔn)文本
- 休閑鞋合同樣本
- 交通工程施工合同標(biāo)準(zhǔn)文本
- 代理禮品加盟合同樣本
- 05價(jià)值觀探索-職業(yè)生涯規(guī)劃
- HY/T 075-2005海洋信息分類與代碼
- 勞務(wù)派遣用工管理辦法
- 全封閉聲屏障施工專項(xiàng)方案正文范本
- 初中數(shù)學(xué)人教七年級(jí)下冊(cè)第七章 平面直角坐標(biāo)系 平面直角坐標(biāo)系中圖形面積的求法PPT
- 頰癌病人的護(hù)理查房
- 智能化成品保護(hù)方案
- 特種設(shè)備使用登記表(范本)
- 漢譯巴利三藏相應(yīng)部5-大篇
- YSJ 007-1990 有色金屬選礦廠 試驗(yàn)室、化驗(yàn)室及技術(shù)檢查站工藝設(shè)計(jì)標(biāo)準(zhǔn)(試行)(附條文說明)
- 水利水電工程專業(yè)英語——水工結(jié)構(gòu)篇
評(píng)論
0/150
提交評(píng)論