




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
家二級(jí)(C語(yǔ)言)筆試模擬試卷30
(共9套)
(共473題)
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷第1
套
一、公共基礎(chǔ)選擇題(本題共10題,每題7.0分,共
70分。)
1、下列選項(xiàng)中,不是一個(gè)算法的基本特征的是()。
A、完整性
B、可行性
C、有窮性
D、擁有足夠的情報(bào)
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:作為一個(gè)算法,一般應(yīng)該具有4個(gè)特征:①可行性,即考慮到實(shí)際
的條件能夠達(dá)到一個(gè)滿(mǎn)意的結(jié)果:②確定性,算法中的第一個(gè)步驟都必須是有明
確定義的;⑧有窮性,一個(gè)算法必須在有限的時(shí)間內(nèi)做完;④擁有足夠的情報(bào)。
2、結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進(jìn)行需求分析的方法。
A、對(duì)象
B、數(shù)據(jù)結(jié)構(gòu)
C、數(shù)據(jù)流
D、目標(biāo)
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、
逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的
邏輯模型。
3、下列工具中為需求分析常用工具的是()。
A、PAD
B、PFD
C、N-S
D、DFD
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹(shù)和判
定表。PAD(問(wèn)題分析圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細(xì)設(shè)計(jì)的常用工
具,不是需求分析的工具。
4、對(duì)線(xiàn)性表進(jìn)行二分法檢索,其前提條件是()。
A、線(xiàn)性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序
B、線(xiàn)性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序
C、線(xiàn)性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序
D、線(xiàn)性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:對(duì)線(xiàn)性表進(jìn)行二分法檢索,要求線(xiàn)性表是按順序方式存儲(chǔ)的,并按關(guān)
鍵碼值的大小排好序,而不是按關(guān)鍵碼的檢索頻率排序。
5、下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是()。
A、自頂向下
B、逐步求精
C、模塊化
D、可復(fù)用
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:結(jié)構(gòu)化程序設(shè)計(jì)的主要原則概括為自頂向下、逐步求精和限制使用
GOTO語(yǔ)句。
6、關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法描述錯(cuò)誤的是()。
A、選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口
B、復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)
C、不允許使用GOTO語(yǔ)句
D、語(yǔ)言中所沒(méi)有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來(lái)模擬
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:限制使用GOTO語(yǔ)句是結(jié)構(gòu)化程序設(shè)計(jì)的原則和方法之一,但不是
絕對(duì)不允許使用GOTO語(yǔ)句。其他3項(xiàng)為結(jié)構(gòu)化程序設(shè)計(jì)的原則。
7、軟件需求分析階段的工作,可以分為4個(gè)方面:需求獲取、需求分析、編寫(xiě)需
求規(guī)格說(shuō)明書(shū)以及()。
A、階段性報(bào)告
B、需求評(píng)審
C、總結(jié)
D、都不正確
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:需求分析是軟件定義時(shí)期的最后一個(gè)階段??梢愿爬?個(gè)方面:
①需求獲??;②需求分析;⑧編寫(xiě)需求規(guī)格說(shuō)明書(shū);④需求評(píng)審。
8、下列對(duì)于軟件測(cè)試的描述中正確的是()。
A、軟件測(cè)試的目的是證明程序是否正確
B、軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確
C、軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
D、軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:軟件測(cè)試是為了盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤,尤其是發(fā)現(xiàn)至今尚未
發(fā)現(xiàn)的錯(cuò)誤。
9、用鏈表表示線(xiàn)性表的優(yōu)點(diǎn)是()。
A、便于隨機(jī)存取
B、花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少
C、便于插入和刪除操作
D、數(shù)據(jù)元素的物理順序和邏輯順序相同
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:在鏈表中因?yàn)槌舜娣艛?shù)據(jù)元素之外,還要存放指針,所以鏈表花費(fèi)
的存儲(chǔ)空間要比順序表還要多。在插入和刪除數(shù)據(jù)元素時(shí),只需要移動(dòng)相應(yīng)的記錄
指針即可。在鏈表中數(shù)據(jù)的物理結(jié)構(gòu)與邏輯結(jié)構(gòu)不一定相同,因?yàn)槭强恐羔榿?lái)實(shí)現(xiàn)
對(duì)數(shù)據(jù)的指定的,所以不能進(jìn)行隨機(jī)存取。
10、在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換為關(guān)系模式的過(guò)程屬于()。
A、需求分析階段
B、邏輯設(shè)計(jì)階段
C、概念設(shè)計(jì)階段
D、物理設(shè)計(jì)階段
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:數(shù)據(jù)庫(kù)設(shè)計(jì)階段主要包括需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)
計(jì)。其中,邏輯設(shè)計(jì)的主要工作是將E-R圖轉(zhuǎn)換為關(guān)系模式。
二、選擇題(2分)(本題共30題,每題,.0分,共30
分。)
11、c語(yǔ)言的基本單位是()。
A、函數(shù)
B、過(guò)程
C、子程序
D、子函數(shù)
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:C語(yǔ)言是函數(shù)式的語(yǔ)言,它的基本組成單位是函數(shù),在C語(yǔ)言中任何
程序都是由一個(gè)或者多個(gè)函數(shù)組成的。
12、下列不正確的轉(zhuǎn)義字符是()。
A、3
B、t
C、
D、'088'
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:是反斜線(xiàn)轉(zhuǎn)義字符:、'是水平跳格轉(zhuǎn)義字符;’\n,飯是換行轉(zhuǎn)義字
符;C語(yǔ)言中沒(méi)有規(guī)定,088,為轉(zhuǎn)義字符。
13、能正確表示“當(dāng)x的取值在[1,10]和[100,110]范圍內(nèi)為真,否則為假”的表達(dá)式
是()
A、(x>=I)&&(x<=10)&&(x>=100)&&(xV=110)
B、(x>=0II(x<=10)II(x>=100)IIx<=110)
C、(x>)&&(x<=10)II(x>=100)&&(x<=110)
D、(x>=)IIx<=10)&&(x>=100)IIx<=110)
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:本題考查邏輯與(&&)和邏輯或(II)運(yùn)算符的使用。x>=l和xV=10
是邏輯與的關(guān)系,因此C語(yǔ)言表達(dá)式應(yīng)寫(xiě)成”(x>=l)&&(xV=10)”,x>:100和x
<=110也是邏輯-與的關(guān)系,因此C語(yǔ)言表達(dá)式應(yīng)寫(xiě)成“(x>=100)&&(x<=
110)”;[140]和[100,110]是邏輯或的關(guān)系,因此只要將前兩個(gè)表達(dá)式用邏輯或運(yùn)算符
連接起來(lái)即可,所以最后的表達(dá)式:(x>=l)&&(xV=10)II(x>=100)&&(x<=
110)o
14、若定義inta=10,則表達(dá)式a+=a-=a*=a的值是()。
A、0
B、-180
C、-100
D、-90
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:算術(shù)運(yùn)算符的運(yùn)算規(guī)則是:從右到左的原則。所以表達(dá)式中先計(jì)算a
=a-a*(上標(biāo))a的值是-90,再計(jì)算a=a+a的值是-180。
15、下列程序的輸出結(jié)果是()。main{intx=8,y=8;printf("%do%od\n",x-,-y);)
A、88
B、77
C>78
D、87
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查芻減(--)運(yùn)算符的使用?!癤」是先引用X的值然后將X的值
減1,所以輸出的x值為8;“-y”是先將y的值減1然后再引用y的值,所以輸出的
y值為7。
16、若有定義“doublea;",則正確的輸入語(yǔ)句是()。
A、scanf(n%lf,A);
B、scanf("%f,&A);
C、scanf(M%lf,&A)
D、scanf("%le",&A);
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:scanf函數(shù)的調(diào)用形式是:scanf(格式字符串,輸入項(xiàng)地址表)。其
中,“格式字符串”是要輸入的變量的格式符;“輸入項(xiàng)地址表”是要輸入的變量的地
址。題中定義變量a為雙精度型變量,雙精度變量的格式符為“1c”;變量的地址用
取地址符加變量名表示,例如變量a的地址為“&葭。
17、下列選項(xiàng)中合法的賦值語(yǔ)句是()。
A、a-b=34
B、a=34,b=34
C、i-1;
D^m=(int)(x+y);
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:選項(xiàng)A是一個(gè)合法的賦值表達(dá)式,但結(jié)尾沒(méi)加分號(hào),所以它不是一
個(gè)賦值語(yǔ)句:選項(xiàng)B是一個(gè)逗號(hào)表達(dá)式,也因?yàn)榻Y(jié)尾沒(méi)有加分號(hào)而不是合法的賦
值語(yǔ)句;選項(xiàng)C是一個(gè)算術(shù)表達(dá)式,雖然有分號(hào),但這個(gè)表達(dá)式?jīng)]有賦值操作,
因此,也不是一條賦值語(yǔ)句。
18、若整型變量a、b、c、d中的值依次為:1、4、3、2。則條件表達(dá)式a〈b?a:c
Vd?c:d的值是()。
A、1
B、2
C、3
D、4
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:條件表達(dá)式的形式如下:表達(dá)式17表達(dá)式2:表達(dá)式3,所以本題條
件表達(dá)式aVb?a:cVd?c:d應(yīng)該理解為aVb?a:(c<d?c:D),首先求出條件表達(dá)式eV
d?c:d的值等于2,再求條件表達(dá)式aVb?a:2的值,由于a=lVb=4成立,所以上
述條件表達(dá)式的值等于1。
19、假定所有變量均已正確說(shuō)明,下列程序段運(yùn)行后x的值是()。a=b+c=0;x=
12;if(!A)x-;elsex=5;if(C)x=3;elsex=4;
A、11
B、4
C、12
D、3
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題考查ifelse語(yǔ)句。第一個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)a=0,
則!a成立,執(zhí)行下列的語(yǔ)句,X-,得x=ll;第二個(gè)if語(yǔ)句,判斷條件,發(fā)現(xiàn)c=
0,則條件不成立,執(zhí)行下列的else語(yǔ)句,得x=4c
20、設(shè)變量a、b、c、d和y都己正確定義并賦值。若有下列if語(yǔ)句if(a<b)if(c=
=d)y=0;elsey=l;該語(yǔ)句所表示的含義是()。
y=<\a>b
A、
o
?=ja^bQ.c^d
B、
o
adflled
c、
0a<b\\ic^d
y=\ictd
D、,
標(biāo)準(zhǔn)答案:c
知識(shí)點(diǎn)解析:語(yǔ)句if(c==D)y=0;elsey=l;是if(aVB)語(yǔ)句的一個(gè)子句。所以整
個(gè)C語(yǔ)句表達(dá)式的意思是:在、aVb的情況下,如果c=d則y=0,否則y==
io所以,選項(xiàng)C)為正確答案。
21、下列程序的運(yùn)行結(jié)果是()。main(){inta=2,b=3,c=4;if(a<b)ifO<O)c=O;
elsec+=1;printf("%dh^,c);
A、2
B、3
C、5
D、4
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:本題考查ifelse語(yǔ)句。第一個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)aVb條件
成立,執(zhí)行下列的語(yǔ)句;第二個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)bVO條件不成立,則
執(zhí)行與其配對(duì)的else語(yǔ)句,c+=l,得c=5。
22、在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。
A^(!E==0)
B、(E>0IIE<0)
C、(E==0)
D、(E!=0)
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:在while(E)中,表達(dá)式E可以是C語(yǔ)言中任意合法的條件表達(dá)式,但
不能為空,由它來(lái)控制循環(huán)體是否執(zhí)行。在選項(xiàng)B)中表達(dá)式E>0IIE<0是一個(gè)
邏輯表達(dá)式。
23、有下列程序:main(){intx=0;inty=O;while(x<7&&+4-y){y-;
printf(:%d,%d",y,x);}程序的輸出結(jié)果是()°
A、0,7
B、7,7
C、0,6
D、1,6
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題考查while循環(huán)。y的值在while循環(huán)的控制表達(dá)式中加1,在循
環(huán)體內(nèi)減1,所以總的y值不變,且控制條件++y永遠(yuǎn)非零。當(dāng)x加到7時(shí)不滿(mǎn)足
循環(huán)條件,結(jié)束循環(huán)。
24、有下列程序:main。{chars口="abcde”;s+=2;printf("%d\n”,s[0];)執(zhí)行后的結(jié)
果是()。
A、輸出字符a的ASCII碼
B、輸出字符c的ASCII碼
C、輸出字符c
D、程序出錯(cuò)
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:因?yàn)樽址麛?shù)組si)中的數(shù)組名s表示的是一個(gè)地址常量。所以語(yǔ)句“s+
=2;”不能將指針在當(dāng)前位置的基礎(chǔ)上再向后移動(dòng)兩位,因而程序編譯時(shí)出錯(cuò)。
25、下列選項(xiàng)中非法的字符常量是()。
A、
B、,\039,
C>V
D、,\n,
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:選項(xiàng)A)中,表示的是橫向跳若干格;選項(xiàng)B)中,,03夕錯(cuò)
誤,,03夕是八進(jìn)制形式表示的字符,但其中出現(xiàn)了,歹,所以錯(cuò)誤:選項(xiàng)C)
中,‘,’是字符逗號(hào);選項(xiàng)D)中,,表示的是回車(chē)換行。
26、下列敘述中正確的是()。
A、break語(yǔ)句只能用于switch語(yǔ)句
B、在switch語(yǔ)句中必須使用default
C、break語(yǔ)句必須與switch語(yǔ)句中的case配對(duì)使用
D、在switch語(yǔ)句中,不一定使用break語(yǔ)句
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:break為C語(yǔ)言關(guān)鍵字,又稱(chēng)間斷語(yǔ)句。break語(yǔ)句的功能是跳出正在
執(zhí)行的條件語(yǔ)句或循環(huán)語(yǔ)句。它可以出現(xiàn)在switch語(yǔ)句中,也可以出現(xiàn)在循環(huán)語(yǔ)
句中。default是關(guān)鍵字,起標(biāo)號(hào)的作用,代表所有case標(biāo)號(hào)之外的那些標(biāo)號(hào)。
default標(biāo)號(hào)可以出現(xiàn)在語(yǔ)句體中任何標(biāo)號(hào)位置上。在switch語(yǔ)句體中也可以沒(méi)有
default標(biāo)號(hào)。
27、下列敘述中,錯(cuò)誤的是()。
A、在同一C程序文件中,不同函數(shù)中可以使用名字相同的變量
B、在main。函數(shù)體內(nèi)定義的變量是全局變量
C、形參是局部變量,函數(shù)調(diào)用完成即失去意義
D、若同一文件中全局和局部變量同名,則全局變量在局部變量作用范圍內(nèi)不起作
用
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題考查函數(shù)調(diào)用時(shí)變量的作用域。形參是局部變量,函數(shù)調(diào)用完就
失去意義了,所以在同一個(gè)C程序文件中,不同的函數(shù)體中可以使用名字相同的
局部變量。
28、C語(yǔ)言規(guī)定,調(diào)用一個(gè)函數(shù)時(shí),實(shí)參變量和形參變量之間的數(shù)據(jù)傳遞是()。
A、地址傳遞
B、值傳遞
C、由實(shí)參傳給形參,并由形參傳回給實(shí)參
D、由用戶(hù)指定傳遞方式
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在函數(shù)調(diào)用時(shí),實(shí)參和其所對(duì)應(yīng)的
形參分別占用不同的存儲(chǔ)單元,彼此之間只是實(shí)參將值傳遞給形參。
29、設(shè)ql和q2是指向一個(gè)float型一維數(shù)組的指針變量,k為float型變量,則不
能正確行的語(yǔ)句是()。
A、k=*ql+*q2;
B、ql=k;
C、ql=q2;
D^k=*ql*(*q2);
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:選項(xiàng)A)中是將指針ql和q2所指向的變量值相加,然后賦給k;選項(xiàng)
B)中,float型數(shù)據(jù)和指針型數(shù)據(jù)之間不能進(jìn)行賦值運(yùn)算;選項(xiàng)。中,是兩個(gè)指針
變量之間的賦值;選項(xiàng)D)中,是兩個(gè)指針型變量所指向的兩個(gè)float型數(shù)據(jù)相乘。
30、若有說(shuō)明:inbpljp2m=8,m;下列均是正確賦值語(yǔ)句的選項(xiàng)是()。
A^pl=&n;p2=&pl;
B、pl=n;
C、pl=&n;*p2=pl;
D^pl=&n;p2=pl;
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查指針變量的賦值。選項(xiàng)A)中,pl、p2本身都是地址變量,
不能再將pl取地址賦給p2;選項(xiàng)B)中,不能將整型數(shù)據(jù)直接賦值給指針型數(shù)據(jù);
選項(xiàng)C)中,*p2代表了一個(gè)整型變量,而*p2=pl這個(gè)語(yǔ)句試圖把一個(gè)地址值放入
一個(gè)整型變量中是錯(cuò)誤的;選項(xiàng)D)中指針間的賦值是正確的。
31、若希望下列的程序運(yùn)行后輸出25,程序空白處的正確選項(xiàng)是()。main()(inti,j
=50,a[]={7,4,10,5,8};for()j+=a[i];primf(H%d,j-40);)
A、i=l;i<4;++i
B、i=l;i<3;++i
C、i=4;i>2;i-
D、i=2;i<4;++i
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:要想使程序輸出是25,則j-40=25,j=65,而j初值是50,所以填入
for循環(huán)中的語(yǔ)句,使引用的數(shù)組元素累加為65-50=15即可。
32、若有說(shuō)明inta口[3]={123,4,5,6,7,8,9},則a數(shù)組第一維的大小是()。
A、2
B、3
C、4
D、無(wú)確定值
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題考查二維數(shù)組第一維的大小如何確定。二維數(shù)組第一維的大小由
如下規(guī)則確定:①當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)
就是第一維的大??;②當(dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),第
一維的大小等于所得商數(shù)加1。
33、若二維數(shù)組a有m列,則在剛前的元素個(gè)數(shù)為()。
A^i*m+j-l
B、i*m+j
C、j*m+I
D、i*m+j+l
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:二維數(shù)組的元素可以看成是按矩陣形式存放的,總是先存放第一行的
元素,再存放第二行的元素。數(shù)組第一維的下標(biāo)是i,說(shuō)明它前面還有i行,有
i*m個(gè)元差,數(shù)組第二維的下標(biāo)是j,說(shuō)明它前面還有j歹U,有j個(gè)元素,所以共有
i*m+j個(gè)元素。
34、函數(shù)調(diào)用strcat(strcpy(strl,str2),str3)的功能是()。
A、將字符申strl復(fù)制到字符串str2中后再連接到字符串str3之后
B、將字符串strl連接到字符串str2之后再?gòu)?fù)制到字符串slr3之后
C、將字符串str2復(fù)制到字符串strl后再將字符串str3連接到字符串strl之后
D、將字符串Slr2連接到字符串strl之后再將字符串strl復(fù)制到字符串str3中
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:strcat(sl,s2)是把s2字符串連接到si字符串末尾,strcpy(sl,s2)是把s2
字符串復(fù)制給si字符串,要保證si能容納下連接或復(fù)制后的字符串。
35、下列程序的輸出結(jié)果是()。#include<stdio.h>f(intA){intb=0;staticintc=4;
a=c++;b++;retum(A);]main(){inta==2,i,c;fbr(i=0;i<2;i++)C=f(a++);
printf("%dhnH,C);)
A、4
B、7
C、6
D、5
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查靜態(tài)變量的使用方法和for循環(huán)。在函數(shù)調(diào)用時(shí),static變量
在函數(shù)調(diào)用結(jié)束后所作的所有變化均不保持,所以當(dāng)i-1時(shí),第2次進(jìn)入f函數(shù)時(shí)c
=5,所以最終main函數(shù)中c的值為5。
36、#define能作簡(jiǎn)單的替代,用宏來(lái)替代計(jì)算多項(xiàng)式5*x*x+5*+5的值的函數(shù)f,
正確的宏定義語(yǔ)句為(),
A、#definef(x)5*x*x+5*+5
B>#definef5*x*x+5*x+5
C、#definef(a)(5*a*a+5*a+5)
D、#define5*x*x+5*+5f(x)
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:帶參數(shù)宏的格式:#deflne標(biāo)識(shí)符(形參表)形參表達(dá)式。其功能:在預(yù)
處理程序中將程序中出現(xiàn)的所有帶實(shí)參的宏名,展開(kāi)成由實(shí)參組成的表達(dá)式。
37、定義結(jié)構(gòu)體數(shù)組:structstu{intnum;charname[20];}x[5]=
{1,"LI",2,"ZHAO",3;'WANG",4,,'ZHANG';5;,LIUH};for(i=l;i<5;i++)
printf(',%d%C';x[i].num,x[i]name[2]);以上程序段的輸出結(jié)果為()°
A、2A3N4A5U
B、112A3H41
C>1A2N3A4U
D、2H3A4H51
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題主要考查結(jié)構(gòu)體數(shù)組的使用。x[i].num為結(jié)構(gòu)體x[i]中的num成
員,x[i].name[2]是結(jié)構(gòu)體x[i]中name成員的第3個(gè)元素。程序執(zhí)行循環(huán)過(guò)程時(shí):
第1次循環(huán),i=l,輸出x[l].num,x[l].name[2]的值,即2A:第2次循環(huán),i=
2,輸出x[2].num,x[2].namc[2]的值,即3N;第3次循環(huán),i=3,輸出x[3].num,
x[3].name[2]的值,即4A:第4次循環(huán),i=4,輸出x[4].num,x[4].name⑵的值,
即5Uo
38、若有下列說(shuō)明和語(yǔ)句,已知int型數(shù)據(jù)占2個(gè)字節(jié),則下列語(yǔ)句的輸出結(jié)果是
()ostmctst{chara[15]:intb;doublec;};printf("%d",sizeof(structSt));
A、15
B、8
C、25
D、2
標(biāo)準(zhǔn)答案:c
知識(shí)點(diǎn)0析:本題主要考查結(jié)構(gòu)體的內(nèi)存使用:對(duì)結(jié)構(gòu)體而言,結(jié)構(gòu)中不同的成員
分別使用不同的內(nèi)存空間,一個(gè)結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個(gè)成員所占內(nèi)
存空間大小的總和,結(jié)溝中每個(gè)成員相互獨(dú)立。題中inlb占2個(gè)字節(jié),chara[l5]
占15個(gè)字節(jié),doublec占8個(gè)字節(jié),所以共25個(gè)字節(jié)。
39、設(shè)intx=7,則-x的值是()。
A、-8
B、-7
C、-1
D、1
標(biāo)準(zhǔn)答案:A
知火點(diǎn)解析:本題主要考查按位求反運(yùn)算和C語(yǔ)言中正負(fù)數(shù)的表示,“(T代表正
數(shù),代表負(fù)數(shù);x=7的二進(jìn)制為00111,第一個(gè)0代表正數(shù),?x為11000,第
一個(gè)1代表負(fù)數(shù),值為8。
40、函數(shù)Rcll(fp)的作用是()。
A、得到fp所指向文件的當(dāng)前讀寫(xiě)位置
B、初始化流式文件的位置指針
C、移動(dòng)流式文件的位置指針
D、以上3種答案均正確
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:位置指針當(dāng)前值函數(shù)ftcll。的基本調(diào)用格式為:ftell(fp)o函數(shù)
的參數(shù)說(shuō)明:“fp”是指向文件的文件型指針。ffell函數(shù)的功能:得到fp所指向文
件的當(dāng)前讀寫(xiě)位置,即位置指針的當(dāng)前值,如果函數(shù)的返回值為-1L,表示出錯(cuò)。
三、公共基礎(chǔ)填空題(本題共5題,每題1.0分,共5
分。)
41、數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu),循環(huán)隊(duì)列屬于結(jié)構(gòu)。
標(biāo)準(zhǔn)答案:邏輯
知識(shí)點(diǎn)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)主要是反映數(shù)據(jù)之間的邏輯關(guān)系,而存儲(chǔ)結(jié)構(gòu)是用來(lái)
反映數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式。循環(huán)隊(duì)列主要是強(qiáng)調(diào)數(shù)據(jù)之
間的關(guān)系,因此屬于邏輯結(jié)構(gòu)。
42、隊(duì)列是限定在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線(xiàn)性表。允許插入
的一端稱(chēng)作o
標(biāo)準(zhǔn)答案:隊(duì)尾
知識(shí)點(diǎn)解析:在隊(duì)列中,允許插入的一端叫做“隊(duì)尾”,允許刪除的一端叫做“隊(duì)
頭”。
43、在_____個(gè)容量為32的循環(huán)隊(duì)列中,若頭指針front=3,尾指針rear=2,則
該循環(huán)隊(duì)列中共有個(gè)元素。
標(biāo)準(zhǔn)答案:31
知識(shí)點(diǎn)解析:設(shè)隊(duì)列容量為m,如果:rearAfront,則隊(duì)列中元素個(gè)數(shù)為rear-
front;如果rear<from,則隊(duì)列中元素個(gè)數(shù)為m+(rear-from)。本題rearVfrom,則
m=32+(2-3)=31o
44、一棵二叉樹(shù)第6層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)最多為個(gè)。
標(biāo)準(zhǔn)答案:32
知識(shí)點(diǎn)解析:二叉樹(shù)第k層上,最多有2k-l(kNl)個(gè)結(jié)點(diǎn)。第6層的結(jié)點(diǎn)數(shù)最多是
26-1=32。
45、度為10的線(xiàn)性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為。
標(biāo)準(zhǔn)答案:45
知識(shí)點(diǎn)解析:對(duì)于長(zhǎng)度為N的線(xiàn)性表,在最壞情況下(即線(xiàn)性表中元素現(xiàn)在的順序
與目標(biāo)順序正好相反),冒泡排序需要經(jīng)過(guò)N/2遍的從前往后的掃描和N/2遍的從
后往前的掃描,需要的比較次數(shù)為N(N-l)/2。
四、填空題(本題共70題,每題1.0分,共10分。)
46、若a是血型變量,則表達(dá)式(a=2*3,a*2),a+6的值為。
標(biāo)準(zhǔn)答案;12
知識(shí)點(diǎn)解析:本題考查逗號(hào)表達(dá)式的運(yùn)算規(guī)則。逗號(hào)表達(dá)式的基本格式為:”表達(dá)
式1,表達(dá)式2,…”,其整個(gè)表達(dá)式的結(jié)果取最后一個(gè)子表達(dá)式的值。本題中首先
計(jì)算逗號(hào)表達(dá)式中的第1個(gè)表達(dá)式a=2*3=6,然后計(jì)算第2個(gè)表達(dá)式a*2,這時(shí)整
個(gè)表達(dá)式的值為12,但要注意,因?yàn)榈?個(gè)表達(dá)式并沒(méi)有給a賦值,因此a的值不
變:接下來(lái)執(zhí)行最后一個(gè)表達(dá)式a+6=12,所以整個(gè)表達(dá)式最后的值為12。
47、表達(dá)式l/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類(lèi)型為。
標(biāo)準(zhǔn)答案:整型
知識(shí)點(diǎn)解析:上面的表達(dá)式中,通過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)換把最后參與運(yùn)算的數(shù)據(jù)都轉(zhuǎn)換成
了血型,所以坡后得到的結(jié)果也是int類(lèi)型。
48、下列程序段的輸出結(jié)果是ointn=,C,;switch(n++)
{dehull:printR"error");break;case'a':printfV'good");break;case,C':printR"moming");
cased:printff'class");}
標(biāo)準(zhǔn)答案:morningclass
知識(shí)點(diǎn)解析:本題考查了兩個(gè)知識(shí)點(diǎn):①運(yùn)算后綴形式是先使用變量原來(lái)
的值,使用完后再使其增1或減1;②在switch語(yǔ)句中,當(dāng)n=Q時(shí),執(zhí)行
“case'c':",輸出morning;因?yàn)榇司渲袥](méi)有break語(yǔ)句,因此接著執(zhí)行“case'd':",
輸出class,最終輸出結(jié)果為morningclasso
49>寫(xiě)出下列程序的輸出結(jié)果omain(){intn=0;while(n++<=l);
printf("%d,",n);printf("%dH,n++);)
標(biāo)準(zhǔn)答案:3,3
知識(shí)點(diǎn)解析:本題在while(n++<=l”語(yǔ)句后,直接加了分號(hào),說(shuō)明如果while。的
條件為真時(shí),該循環(huán)什么都不做;n++是先取n的當(dāng)前值和1做比較,然后再將n
加1。第一次循環(huán),n=0時(shí),循環(huán)條件n++=0V=l成立,執(zhí)行循環(huán),然后得到
n=lo第二次循環(huán),n=l時(shí),循環(huán)條件a++=lV=l成立,執(zhí)行循環(huán),然后得到
n二2。第三次循環(huán),n=2時(shí),循環(huán)條件n++=2V=l不成立,不執(zhí)行循環(huán),但在判斷
循環(huán)條件時(shí)仍將n加1,得到n=3。退出循環(huán)后執(zhí)行prinif語(yǔ)句,第二個(gè)prinlf語(yǔ)句
輸出n++,是先輸出n的當(dāng)前值3,然后再將n加1,即程序結(jié)束后得到n=4,但
輸出的是3。
50、下列程序的功能是對(duì)輸入的一行字符中的數(shù)字字符的字面值累加,輸出此累加
和,請(qǐng)?zhí)羁铡?include<stdio.h>#include<ctype.h>main(){charc;inta,s=0;
while()if(isdigit(C)){a=c-,0,;s+=a;}printf("s=%d",s);}
標(biāo)準(zhǔn)答案:(c=getchar())!=、n'
知識(shí)點(diǎn)解析:分析題目可知,程序中運(yùn)用函數(shù)c=getchar()從標(biāo)準(zhǔn)輸入設(shè)備讀取下一
個(gè)字符,而且是一行的字符(即沒(méi)有換行),所以條件為(c=getchar())!=W
51、下列程序輸出的結(jié)果是?intm=17;intfun(intx,inly){intm=3;
retum(X*y-m);}main(){inta=5,b=7;printf(H%d\n",fun(a,B)Zm);}
標(biāo)準(zhǔn)答案:1
知識(shí)點(diǎn)解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作用域在函數(shù)級(jí)
和塊級(jí)的變量,全局變量是指作用域在程序級(jí)和文件級(jí)的變量。本程序首先定義
了一個(gè)全局變量m=17,m=17的作用域在整個(gè)程序內(nèi)。在fun函數(shù)內(nèi)部定義了一個(gè)
局部變量m=3,m=3的作用域僅在Rin函數(shù)內(nèi)部,通過(guò)fun函數(shù)返回兩個(gè)形參的積
再減m。在主函數(shù)中,輸出fun(a,b)/m2(5*7-3)/17=1o
52>設(shè)有下列的程序段:charstr[]="Hello";char*ptr;ptr=-str;執(zhí)行上面的程序段
后,*(ptr+5)的值為o
標(biāo)準(zhǔn)答案:
知識(shí)點(diǎn)解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在c語(yǔ)言中,字符型數(shù)
組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上字符串結(jié)束標(biāo)識(shí)符、(T,所以題中數(shù)組str有6
個(gè)元素。②ptr指向數(shù)組s仕的首地址,ptr元是指向str[5],*(ptr+5)是引用str[5]的
值,即‘\0'.
53、若有定義定1社4][4]={{1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a|l|(l|
得到的初值是o
標(biāo)準(zhǔn)答案:0
知識(shí)點(diǎn)解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是
按行分段賦值的,a[4][4]可以分解為4個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[l].
a⑵、a[3],這4個(gè)一維數(shù)組都有4個(gè)元素,a[0]的元素為a[0][0]、a[O][l],
a[0||2ha|0][3]o
54、設(shè)有下列程序:#include<stdio.h>#include<string.h>main(){inti;char
sL!OJ,t[IOJ;gets(t);for(i=D;i<2;i++){gcts(s);if(strcmp(t,s)<0)strcpy(t,s);}
printf("%s\n”,l);}程序運(yùn)行后,從鍵盤(pán)上輸入(<CR>代表回車(chē)符):CDEF<CR>
BADEF<CR>QTHRG<CR>,則程序的輸出結(jié)果是______。
標(biāo)準(zhǔn)答案:QTHRG
知識(shí)點(diǎn)解析:strcmp(t,s)函數(shù)用來(lái)比較t和s所指字符串的大小,若t>s,則函數(shù)
值大于O若1=§,則函數(shù)值等于0:若tVs,則函數(shù)值小于0。strcpy(t,s)函數(shù)的功
能是把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指的存儲(chǔ)空間中。本題
中,t[10]="CDEF”。第一次循環(huán),s[10]="BADEF”,if語(yǔ)句的控制條件strcmp(t,s)
V0不成立,接著執(zhí)行第二次循環(huán),s="QTHRG”,if語(yǔ)句的控制條件strcmp(t,s)VO
成立,執(zhí)行下列的語(yǔ)句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組I所指的存
儲(chǔ)空間中,然后輸出字符數(shù)組t。
55、下列程序的輸出結(jié)果是o#defineP(A)Printf("%d;,,(int)(A))
#dcfincPRINT(A)P(A);printf("theend")main(){inti,a=O;fdr(i=l;i<5;++)
PRINT(a+i);printf("\nn);)
標(biāo)準(zhǔn)答案:1,2,3,4,theend
知識(shí)點(diǎn)解析:本題考查帶參數(shù)的宏的定義。第1次循環(huán),i=l時(shí),調(diào)用PRINT(l),
P(l)輸出1;第2次循環(huán),i=2時(shí),調(diào)用PRINTQ),P(2)輸出2;第3次循環(huán),i=3
時(shí),調(diào)用PRINT(3),P⑶輸出3;第4次循環(huán),i=4時(shí),調(diào)用PRINT(4),P⑷輸出
4,thecndo
國(guó)家二級(jí)(C語(yǔ)言)筆試模擬試卷第2
套
一、公共基礎(chǔ)選擇題(本題共10題,每題1.0分,共
10分。)
1、以下4組用戶(hù)定義標(biāo)識(shí)符中,全部合法的一組是o
A、mainencludesin
B>If-maxturbo
C、txtREAL3COM
D、intk_2_001
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:選項(xiàng)C中有非法標(biāo)示符.max,錯(cuò)誤;選項(xiàng)B中有非法標(biāo)示符
3COM;選項(xiàng)D中有非法標(biāo)示符int。選項(xiàng)A正確。
2、以下選項(xiàng)中可以作為C語(yǔ)言中合法整數(shù)的是o
A、10110B
B、3X6
C、OXffa
D、x2a2
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:C語(yǔ)言中整型常量有3種表示形式:十進(jìn)制、八進(jìn)制和十六進(jìn)制。選
項(xiàng)A是二進(jìn)制表示,錯(cuò)誤;八進(jìn)制的數(shù)字是0、1、2、3、4、5、6、7,選項(xiàng)B錯(cuò)
誤;十六進(jìn)制整數(shù)常量用0X開(kāi)頭,選項(xiàng)D錯(cuò)誤。
3、已經(jīng)定義ch為字符型變量,以下賦值語(yǔ)句中錯(cuò)誤的是。
A、ch=V;
B、ch=62+3;
C、ch=NULL;
D^ch='\xaa’;
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:對(duì)字符變量賦值時(shí),即可以賦一字符常量,也可以賦0?255的整
數(shù),該整數(shù)表示字符常量的ASCII值。本題中選項(xiàng)B是將65賦值給ch,表示字符
A;選項(xiàng)C中NULL是C語(yǔ)言中的符號(hào)常量,其值為0;選項(xiàng)D是將一個(gè)轉(zhuǎn)義字符
賦值給ch,該字符的ASCH值為aa,其中aa是十六進(jìn)制;選項(xiàng)A錯(cuò)誤。
4、己定義c為字符型變量,則下列語(yǔ)句中正確是o
A、c=,97\
B、c二"97”;
C、c=97;
D、c="a";
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:’97,不是字符變量,選項(xiàng)A錯(cuò)誤;“97”是字符串,選項(xiàng)B錯(cuò)誤;
是字符串,選項(xiàng)D錯(cuò)誤;正確答案是選項(xiàng)C。
5、有以下程序:main(){inta=l,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);
printf("%d,%d\n",k,m);}程序運(yùn)行后的輸出結(jié)果是。
A、0,0
B、0,1
C、1,0
D、1,1
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:本題考查“邏輯或”運(yùn)算的特例。本題中執(zhí)行語(yǔ)句k=(n=b>a)||(m=aV
b)時(shí),首先計(jì)算表達(dá)式(n=b>a)||(m=aVb)的值,因b=2,a=l,所以b>a成立,即
得n=l,故表達(dá)式(n=b>a)||(m=a〈b)的值為真,不再執(zhí)行表達(dá)式m=a〈b,故執(zhí)行
完表達(dá)式k=(n=b2>a)||(m=aVb)后,n=l>m=0>k=lo
6、有以下程序:main(){intm=12,n=34;
printf("%d%d',,m++,++n);printf(,'%d%d\n,',n++,++m);}程序運(yùn)行后的輸出結(jié)果是
A、12353514
B、12353513
C、12343514
D、12343513
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:m++表示先輸出m,再m+1,++n表示先n+1,再輸出n,因此第一
條輸出語(yǔ)句出1235,第二條語(yǔ)句輸出3514。
7、設(shè)有以下定義:inta=0;doubleb=l.25;charc='A'#defined2則下面語(yǔ)句中錯(cuò)誤
的是。
A、a++;
B、b++;
C、c++
D、d++
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:選項(xiàng)D中d是符號(hào)常量,不能進(jìn)行++的運(yùn)算。
8、以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積s。程序在編譯時(shí)出
錯(cuò)。main()/*Beginning*/{intr;floats;scanf("%d",&r);
s=*K*r*r*r;printf(ns=)出錯(cuò)的原因是。
A、注釋語(yǔ)句書(shū)寫(xiě)位置錯(cuò)誤
B、存放圓半徑的變量不應(yīng)該定義為整型
C、輸出語(yǔ)句中格式描達(dá)符非法
D、計(jì)算圓面積的賦值語(yǔ)句中使用了非法變量
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:兀必須用一個(gè)符號(hào)名來(lái)代表,而旦這個(gè)符號(hào)名必須在程序中進(jìn)行指
定,否則計(jì)算機(jī)將不能設(shè)別。
9、若整型變量a、b、c、d中的值依次為:1、4、3、2,則條件表達(dá)式aVb?a:cV
d?c:d的值是o
A、1
B、2
C、3
D、4
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:因?yàn)閍Vb成立,此表達(dá)式的值就為1。
10、有以下程序:main(){unsignedchara,b;a=4|3;b=4&3;printf("%d%d\n",a,b);}
執(zhí)行后輸出結(jié)果是O
A、70
B、07
C、11
D、430
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:a=4I3=00000100100000011=00000111=7,
b=4&3=00000100&00000011=00000000=0。
二、選擇題(1分)(本題共70題,每題1.0分,共70
分。)
11、以下敘述中正確的是
A、用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作
B、用C程序?qū)崿F(xiàn)的算法可以沒(méi)有輸出但必須要有輸入
C、用C程序?qū)崿F(xiàn)的算法可以沒(méi)有輸入但必須要有輸出
D、用C程序?qū)崿F(xiàn)的算法可以既沒(méi)有輸入也沒(méi)有輸出
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)》析:算法具有的5個(gè)特性是:有窮性;確定性;可行性;有0個(gè)或多個(gè)輸
入;有一個(gè)或多個(gè)輸出。所以說(shuō),用C程序?qū)崿F(xiàn)的算法可以沒(méi)有輸入但必須要有
輸出。
12、請(qǐng)選出可用作C語(yǔ)言用戶(hù)標(biāo)識(shí)符的是
A^void,define,WORD
B、a3_b3,_I23,IF
C、FOR,—abc,Case
D、2a?Do,Sizeof
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:C語(yǔ)言規(guī)定用戶(hù)標(biāo)識(shí)符由字母、數(shù)字和下畫(huà)線(xiàn)組成,且第一個(gè)字符必
須是字母或下畫(huà)線(xiàn),可見(jiàn)選項(xiàng)C),D)是錯(cuò)誤的;此外,C語(yǔ)言不允許用戶(hù)將關(guān)鍵
字作為標(biāo)識(shí)符,而選項(xiàng)A)中的void正是C語(yǔ)言的關(guān)鍵字。
13、以下選項(xiàng)中可作為C語(yǔ)言合法常量的是
A、-80
B、-80
C、-8el.O
D、-80.0e
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:選項(xiàng)B)中,以0開(kāi)頭表示是一個(gè)八進(jìn)制數(shù),而八進(jìn)制數(shù)的取值范圍
是0?7,所以-080是不合法的;選項(xiàng)C)和D)中,e后面的指數(shù)必須是整數(shù),所以
也不合法。
14、在C語(yǔ)言中,運(yùn)算對(duì)象必須是整型數(shù)的運(yùn)算符是
A、%
B、\
C、%和\
D、**
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:在C語(yǔ)言中,“%”運(yùn)算符兩側(cè)的運(yùn)算數(shù)必須是整型。
15、以下定義語(yǔ)句中正確的是
A、inta=b=0;
B、charA=65+l,b='b';
C、noata=1,*b=&a,*c=&b:
D、doublea=0.0;b=1.1;
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:本題考查變量的定義方法。如果要一次進(jìn)行多個(gè)變量的定義,則在它
們之間要用逗號(hào)隔開(kāi),因此選項(xiàng)A)和D)錯(cuò)誤。在選項(xiàng)C)中,變量c是一個(gè)浮點(diǎn)
型指針,它只能指向一個(gè)浮點(diǎn)型數(shù)據(jù),不能指向指針變量b,故選項(xiàng)C)錯(cuò)誤。
16、有以下程序段chareh;intk;ch='a':k=12;printf("%c,%d,”,ch,ch,
k);printf("k=%d\nn,k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸
出結(jié)果是
A7因變量類(lèi)型與格式描述符的類(lèi)型不匹配輸出無(wú)定值
B、輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值
C、a,97,12k=12
D、a,97,k=12
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:輸出格式控制符%<:表示將變量以字符的形式輸出;輸出格式控制
符%€1表示將變量以帶符號(hào)的十進(jìn)制整型數(shù)輸出,所以第一個(gè)輸出語(yǔ)句輸出的結(jié)果
為a,97;第二個(gè)輸出語(yǔ)句輸出的結(jié)果為k=12。
17、有以下程序main。}inti,s=l;for(i=l;i<50;i++)if(!(i%5)&&!(i%3))s+=i;
printf(”%d/n”,s);}程序的輸出結(jié)果是
A、409
B、277
C、1
D、91
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題是計(jì)算50之內(nèi)的自然數(shù)相加之和,題中if語(yǔ)句括號(hào)中的條件表
達(dá)式!(i%5)&&!(i%3)表明只有能同時(shí)被5和3整除妁數(shù)才符合相加的條件,1?49
之間滿(mǎn)足這個(gè)條件的只有15、30和45,因?yàn)閟的初始值為1,所以s=
l+15+30+45=91o
18、當(dāng)變量c的值不為2、4、6時(shí),值也為“真''的表達(dá)式是
A、(c==2)||(c==4)||(c==6)
13、(c>=2&&c<=6)||(c:=3)||(c!=5)
C、(c>=2&&c<=6)&&!(c%2)
D、(c>=2&&c<=6)&&(c%2!=1)
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:滿(mǎn)足表達(dá)13式(c>=2&&cV=6)的整型變量c的值是2,3,4,5,
6o當(dāng)變量c的值不為2,4,6時(shí),其值只能為3或5,所以表達(dá)式c!=3和c!=5
中至少有一個(gè)為真,即不論c為何值,表達(dá)式B)者,為“真工
19、若變量已正確定義,有以下程序段inia=3,b=5,c=7;if(a>b)a=b;c=a;
if(c!=a)c=b;printf("%d,%d,%d\n”,a,b,c);其輸出結(jié)果是
A、程序段有語(yǔ)法錯(cuò)
B、3,5,3
C、3,5,5
D、3,5,7
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:兩個(gè)if語(yǔ)句的判斷條件都不滿(mǎn)足,程序只執(zhí)行了c=a這條語(yǔ)句,所
以變量c的值等于3,變量b的值沒(méi)能變化,程序輸出的結(jié)果為3,5,3。所以正
確答案為B)o
20、以下不正確的定義語(yǔ)句是
A、doublex[5]={2.0,4,0,6.0,8.0,10.0);
B>inty[5]={0,1,3,5,7,9);
C、charcl[]={,l,,2,3,4,5}:
D、charc2[]={,\x10,,'\x8'};
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:在一維數(shù)組中要注意的是作為下標(biāo)表達(dá)式的常量表達(dá)式的值必須是大
于等于0,選項(xiàng)B)中定義有5個(gè)元素,但賦值時(shí)有6個(gè)元素,所以是錯(cuò)誤的。
三、選擇題(2分)(本題共20題,每題7.0分,共20
分。)
21、有以下程序:#include<stdio.h>main(){charcl=,l,,c2=,2,;
c1=getchar();c2=getchar();putchar(c1);putchar(c2);]當(dāng)運(yùn)行時(shí)輸入:aV回車(chē)〉后,
以下敘述正確的是0
A、變量cl被賦予字符a,c2被賦予回車(chē)符
B、程序?qū)⒌却脩?hù)輸入2個(gè)字符
C、變量cl被賦予字符a,c2中仍是原有字符2
D、變量cl被賦予字符a,c2中將無(wú)確定值
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:getchar函數(shù)讀入字符時(shí),空格、回車(chē)符都作為字符讀入,因此A正
確。
22>x、y、z被定義為int型變量,若從鍵盤(pán)給x、y、z輸入數(shù)據(jù),正確的輸入語(yǔ)
句是0
A、INPUTx>y、z;
B、scanf("%d%d%dH,&x,&y,&z):
C、scanf("%d%d%d",x,y,z);
D、read("%d%d%d",&x,&y,&z);
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:選項(xiàng)A和選項(xiàng)D都不是C語(yǔ)言中的輸入方法,選項(xiàng)C中的變量名前
面缺少取地址符
23、以下程序的輸出結(jié)果是o#defineSQR(X)X*Xm疝1(){inta=10,
k=2,m=l;a/=SQR(k+m)/SQR(k+m);printf(,,d\n';a);)
A、16
B、2
C、9
D、1
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析:本題考查帶參數(shù)的宏調(diào)用。a/=SQR(k+m)/SQR(k+m)進(jìn)行宏替換后
得:
a=a/(SQR(k+m)/SQR(k+m))=a/(k+m*k+m/k+m*k+m)=l0/(2+1*2+1/2+1*2+1)=10/(2+2
+0+2+l)=10/7/lo
24、有以下程序:main())inta=3,b=4,c=5,d=2;if(a>b)if(b>c)
printf("%d'\d+++1);elseprintf(,,%d",++d+l);printf("%d\n",d);}程序運(yùn)行后的
輸出結(jié)果是o
A、2
B、3
C、43
D、44
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題考查嵌套if語(yǔ)句中else的配對(duì)。本題中eke和第二個(gè)if即if(b>
c)配對(duì)。由于a>b不成立,因此整個(gè)程序只輸出printf("%d\n",d),即輸出2。
25>有以下程序:main(){chark:inti;for(i=l:i<3;i++){scanf(u%c",&k);
switch(k){case'0':printf("another'n");case*1*:printf(unuinber\n");})}程序運(yùn)行
時(shí),從鍵盤(pán)輸入:01〈回車(chē)〉,程序執(zhí)行后的輸出結(jié)果是o
A、anothernumber
B、anothernumberanother
C^anothernumbernumber
D、numbernumber
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:第一次執(zhí)行for循環(huán)語(yǔ)句時(shí),k=XT,故執(zhí)行caseO語(yǔ)句輸出
another,同時(shí)因沒(méi)有break語(yǔ)句,繼續(xù)執(zhí)行case」',語(yǔ)句,輸出number;第二次
執(zhí)行for循環(huán)語(yǔ)句時(shí),k="l故輸出number。所以正確答案為C。
26、有以下程序:main。{intx=O,y=5,z=31while(z-->0&&++xV5)y=y-l:
printf("%d,%d,%d\n';x,y,z);)程序執(zhí)行后的輸出結(jié)果是。
A、3,2,0
B、3,2,-1
C、4,3,-1
D、5,2-5
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:第一次執(zhí)行while語(yǔ)句時(shí),z=3>0,然后執(zhí)行z-得z=2,執(zhí)行++x
得x=l<5,條件成立,執(zhí)行y=y-l=5-1=4;第二次執(zhí)行while語(yǔ)句時(shí),z=2>0,然
后執(zhí)行z-得z=l,執(zhí)行++x得x=2V5,條件成立,執(zhí)行y=y-1=4-1=3;第三次執(zhí)行
while語(yǔ)句時(shí),z=l>0,然后執(zhí)行z-得x=0,執(zhí)行++x得x=3V5,條件成立,執(zhí)
行尸y」=3-l=2;第四次執(zhí)行while語(yǔ)句時(shí)因z=0,z〈0條件不成立,同時(shí)執(zhí)行
得即執(zhí)行完while循環(huán)后x=3、y=2、z=-l?
27、有以下程序:main(){inta[]={2,4,6,8,10),y=0,x,*p;p=&a[l];for(x=l;x<
3;x+4-)y+=p[x];prinlf("%d\n”,y);}程序運(yùn)行后的輸出,結(jié)果是。
A、10
B、11
C、14
D、15
標(biāo)準(zhǔn)答案:C
知識(shí)點(diǎn)解析:因?yàn)閜=&a[l],p[0]=a[l],p[l]=a⑵,p[2]=a[3]°for循環(huán)是求p[l]+p[2],
因此y的值應(yīng)為:6+8=14o
28、有以卜程序中若有如下說(shuō)明和定義語(yǔ)句;charfun(char*);main(){char*
s=,,one",a[5]={0},(*fl)()=fun,ch;...}以下選項(xiàng)中對(duì)函數(shù)fun的正確調(diào)用語(yǔ)句是
A、(*fl)(a);
B、*fl(*s);
C、fun(&a);
D、ch=*fl(s);
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:(*fl)()=fun可以理解為將fun函數(shù)的函數(shù)名稱(chēng)用(*fl)()來(lái)代替了,因
此高調(diào)用fun時(shí)就可以用(*門(mén))()來(lái)代替,因此只有A是正確的。
29>有以下程序:intf(inta){returna%2;)main(){ints[8]={1,3,5,2,4,6},i,d=O;
for(i=0;f(slij);i++)d+=slij;pnntf("%d\n'\d);}程序運(yùn)行后的輸出結(jié)果是。
A、9
B、11
C、19
D、21
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:本題中d=s[O]+s[1]+s[2]=1+3+5=9<>
30、若有定義:intx=0,*p=&x;,則語(yǔ)句printf("%d\n",*p);的輸出結(jié)果是
A、隨機(jī)值
B、0
C、x的地址
D、p的地址
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:由定義*p=&x,p指向x的地址,*p=x,因此輸出的是x的值。
31、設(shè)有定義:intA,*pA=&A;,以下scanf語(yǔ)句中能正確為變量A讀入數(shù)據(jù)的是
A、scanf("%d",pA);
B、scanf("%dn,A);
C、scanf("%d",apA);
D、scanf(',%d,,,*pA);
標(biāo)準(zhǔn)答案:A
知識(shí)點(diǎn)解析:選項(xiàng)B中不是變量A的地址,錯(cuò)誤;選項(xiàng)C是指針pA的地址,錯(cuò)
誤:選項(xiàng)D中*pA表示變量A的值,錯(cuò)誤。
32、有以下程序:main(){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;
for(i=0;i<3;i++)printf(M%d,,,a[l][i]);}程序運(yùn)行后的輸出結(jié)果是。
A、012
B、123
C、234
D、345
標(biāo)準(zhǔn)答案:D
知識(shí)點(diǎn)解析?:p指向的a的首地址,由于C語(yǔ)言是行優(yōu)先存儲(chǔ)的,一維數(shù)組p就依
次存放了a中從第0行到第2行的所有元素,因此就對(duì)應(yīng)了p[3]?p[5]。
33、以下能正確定義二維數(shù)組的是o
A、inta[][3];
inta[][3]={2*3);
C>inta[][3]={};
D.inta[2][3]={{l},{2),{3,4));
標(biāo)準(zhǔn)答案:B
知識(shí)點(diǎn)解析:(1)二維數(shù)組的定義二維數(shù)組的定義方式為:類(lèi)型說(shuō)明符數(shù)組名[常量
表達(dá)式][常量表達(dá)式]。二維數(shù)組在內(nèi)存中是按行優(yōu)先的順序存放的,即先存放第
一行的元素,再存放第二行的元素,依次類(lèi)推。(2)二維數(shù)組元素的引用二維數(shù)組
元素的表示形式為:數(shù)組名[下標(biāo)][下標(biāo)],下標(biāo)可以是整型常量或整型表達(dá)式其范
圍為:0?(常量表達(dá)式-1)。(3)二維數(shù)組的初始化可以用以下方法對(duì)二維數(shù)組元素
初始化:①分行給二維數(shù)組賦初值例如:inta⑵⑵={{1,2},{3,4}};這種賦值方
式比較直觀,把第1個(gè)大括號(hào)內(nèi)的數(shù)據(jù)賦給第1
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何快速掌握軟件評(píng)測(cè)師考試試題及答案
- 多媒體應(yīng)用設(shè)計(jì)師職業(yè)考核標(biāo)準(zhǔn)試題及答案
- 系統(tǒng)集成項(xiàng)目管理注重細(xì)節(jié)試題及答案
- 計(jì)算機(jī)三級(jí)信息管理案例分析的最佳磨刀石試題及答案
- 電子協(xié)議書(shū)怎么簽合同
- 教育場(chǎng)景中的多媒體設(shè)計(jì)應(yīng)用效果研究試題及答案
- 建筑行業(yè)普法試題及答案
- 鐵定成功的2025年網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師考試試題及答案
- 教科院教科研管理制度
- 鄉(xiāng)鎮(zhèn)監(jiān)控管理制度
- 田畝轉(zhuǎn)戶(hù)協(xié)議書(shū)
- 資產(chǎn)委托購(gòu)買(mǎi)協(xié)議書(shū)
- 2025-2030中國(guó)半導(dǎo)體行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 庭院綠化養(yǎng)護(hù)合同協(xié)議書(shū)
- 退休返聘合同和協(xié)議書(shū)
- 2025年MySQL開(kāi)發(fā)趨勢(shì)試題及答案研究
- 山東省濟(jì)寧市2025年高考模擬考試化學(xué)試題及答案(濟(jì)寧三模)
- 胃癌護(hù)理個(gè)案護(hù)理
- 2025年汽車(chē)經(jīng)銷(xiāo)行業(yè)深度研究報(bào)告
- 河南2025年生態(tài)環(huán)境部黃河流域生態(tài)環(huán)境監(jiān)督管理局生態(tài)環(huán)境監(jiān)測(cè)與科學(xué)研究中心招聘筆試歷年參考題庫(kù)附帶答案詳解
- (高清版)DG∕TJ 08-2165-2015 建設(shè)項(xiàng)目交通影響評(píng)價(jià)技術(shù)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論