版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章C語言概述
第2章程序的靈魂一一算法
一、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在
答題卡相應(yīng)位置上。)
2.1以下敘述中正確的是
A)C語言比其他語言高級(jí)
B)C語言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行
C)C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
D)C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點(diǎn)
正確答案:C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
2.2以下敘述中正確的是
A)構(gòu)成C程序的基本單位是函數(shù)
B)可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)
C)main()函數(shù)必須放在其他函數(shù)之前
D)所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義
正確答案:
2.3以下說法正確的是
A)C語言程序總是從第一個(gè)的函數(shù)開始執(zhí)行
B)在C語言程序中,要調(diào)用函數(shù)必須在main()函數(shù)中定義
C)C語言程序總是從wain()函數(shù)開始執(zhí)行
D)C語言程序中的main()函數(shù)必須放在程序的開始部分
正確答案:C語言程序總是從main。函數(shù)開始執(zhí)行
2.4C語言規(guī)定,在一個(gè)源程序中,main函數(shù)的位置
A)必須在最開始B)必須在系統(tǒng)調(diào)用的庫函數(shù)的后面
C)可以任意D)必須在最后
正確答案:可以任意
2.5以下敘述不正確的是
A)一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成
B)一個(gè)C源程序必須包含一個(gè)main函數(shù)
C)C程序的基本組成單位是函數(shù)
D)在C程序中,注釋說明只能位于一條語句的后面
正確答案:D
2.6下列敘述中正確的是
A)C語言編譯時(shí)不檢查語法B)C語言的子程序有過程和函數(shù)兩種
C)C語言的函數(shù)可以嵌套定義D)C語言的函數(shù)可以嵌套調(diào)用
正確答案:D
2.7以下敘述正確的是
A)在C程序中,每行中只能寫一條語句
B)若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)
C)在C程序中,無論是整數(shù)還是實(shí)數(shù),都能被準(zhǔn)確無誤地表示
D)在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符
正確答案:在C程序中,%是只能于整數(shù)運(yùn)算的運(yùn)算符
2.8以下說法錯(cuò)誤的是
A)一個(gè)算法應(yīng)包含有限個(gè)步驟
B)在計(jì)算機(jī)上實(shí)現(xiàn)的算法是用來處理數(shù)據(jù)對(duì)象的
C)算法中指定的操作,不能通過已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次后實(shí)現(xiàn)
D)算法的目的是為了求解
正確答案:C
2.9算法是指為解決某個(gè)特定問題而采取的確定且有限的步驟,下面不屬于算法的五個(gè)特性的是
A)有零個(gè)輸入或多個(gè)輸入B)高效性
C)有窮性D)確定性
正確答案:高效性
2.10下列關(guān)于C語言的說法不正確的是
A)C語言既具有高級(jí)語言的一切功能,也具有低級(jí)語言的一些功能
B)C語言中的每一條執(zhí)行語句都必須用分號(hào)結(jié)束,分號(hào)不是C語言的一部分,是語句之間的分隔符號(hào)
C)注釋可以出現(xiàn)在程序中任意合適的地方
D)命令行后面不能加分號(hào),命令行不是C語言的語句
正確答案:B
2.11以下說法錯(cuò)誤的是
A)高級(jí)語言都是用接近人們習(xí)慣的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
B)計(jì)算機(jī)只能處理由0和1的代碼構(gòu)成的二進(jìn)制指令或數(shù)據(jù)
C)C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個(gè)后綴為.EXE的二進(jìn)制文件
D)每一種高級(jí)語言都有它對(duì)應(yīng)的編譯程序
正確答案:C
2.12C語言中用于結(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-whileD)if,for,continue
正確答案:A
二、填空題(請(qǐng)將每一個(gè)空的正確答案寫在答題卡相應(yīng)序號(hào)后。)
2.13用高級(jí)語言編寫的程序稱為【1】程序,它可以通過解釋程序翻譯一句執(zhí)行一句的方式執(zhí)行,也可以
通過編譯程序一次翻譯產(chǎn)生目標(biāo)程序,然后執(zhí)行。
正確答案:
2.14C語言程序的注釋可以出現(xiàn)在程序中的任何地方,一個(gè)注釋以【2】作為開始和結(jié)束。
正確答案:
第3章數(shù)據(jù)類型運(yùn)算符與表達(dá)式
一、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在
答題卡相應(yīng)位置上。)
3.1C語言中最簡(jiǎn)單的數(shù)據(jù)類型包括
A)整型、實(shí)型、邏輯型B)整型、實(shí)型、字符型
C)整型、字符型、邏輯型D)字符型、實(shí)型、邏輯型
正確答案:B
3.2C語言中的標(biāo)識(shí)符只能由字母,數(shù)字和下劃線三種字符組成,且第一個(gè)字符
A)必須為字母B)必須為下劃線
C)必須為字母或下劃線D)可以是字母,數(shù)字和下劃線中任一字符
正確答案:C
3.3下列可用于C語言用戶標(biāo)識(shí)符的一組是
A)void,define,WORDB)a3_b3,_123,Car
C)For,-abc,IFCaseD)2a,DO,sizeof
正確答案:B
3.4下面四個(gè)選項(xiàng)中,均是不正確的8進(jìn)制數(shù)或16進(jìn)制數(shù)的選項(xiàng)是
A)0160x8f018B)Oabc017Oxa
C)010-0x110x16D)0al27ff-123
正確答案:D
3.5下列數(shù)據(jù)中,不合法的C語言實(shí)型數(shù)據(jù)的是
A)0.123B)123e3C)2.Ie3.5D)789.0
正確答案:C
3.6在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦40000的正確語句是
A)a=20000+20000;B)a=4000*10;
C)a=30000+10000;D)a=4000L*10L;
正確答案:D
3.7若有說明語句:charc='\72';則變量c
A)包含1個(gè)字符B)包含2個(gè)字符
C)包含3個(gè)字符D)說明不合法,c的值不確定
正確答案:A
3.8有字符串如下,"\n\\\407asi\"\xabc",則字符串的長度為
A)6B)7C)8D)9
正確答案:D
3.9C語言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是
A)%=B)/C)=D)<=
正確答案:A
3.10若變量已正確定義并賦值,以下符合C語言語法的表達(dá)式是
A)a:=b+lB)a=b=c+2
C)int18.5%3D)a=a+7=c+b
正確答案:B
3.11若變量a,i已正確定義,且i已正確賦值,合法的語句是
A)a==1B)++i;
C)a=a++=5;D)a=int(i);
正確答案:B
3.12若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是
A)2.500000B)2.750000
C)3.500000D)0.000000
正確答案:A
3.13若有運(yùn)算符<<,sizeof,二&二,則它們按優(yōu)先級(jí)由高至低的正確排列次序是
A)sizeof,&=,<<,"B)sizeof,<<,",&=
C)?,sizeof,&=D)<<,",&=,sizeof
正確答案:B
3.14以下不正確的敘述是
A)在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低
B)在C程序中,APH和aph是兩個(gè)不同的變量
C)若a和b類型相同,在計(jì)算了賦值表達(dá)式a=b后b中的值將放入a中,而b中的值不變
D)當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值
正確答案:D
3.15已知int1,@;執(zhí)行語句1=(a=3,a++,—a,a+4,a+5,++a);后,變量i的值為
A)2B)3C)4D)5
正確答案:C
3.16設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+'a,+i*f值的數(shù)據(jù)類型為
A)intB)floatC)doubleD)不確定
正確答案:C
3.17在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是
A)補(bǔ)碼B)反碼C)原碼D)ASCII碼
正確答案:D
3.18字符型數(shù)據(jù)在機(jī)器中是用ASCH碼表示的,字符5和7在機(jī)器中表示為
A)10100011和01110111B)0100010UH01100011
C)00110101和00110111D)01100101和01100111
正確答案:c
3.19不能進(jìn)行++和--運(yùn)算的數(shù)據(jù)類型為
A)指針B)整型C)長整型D)常量
正確答案:D
3.20設(shè)有intx=ll;則表達(dá)式(x++*l/3)的值是
A)3B)4C)11D)12
正確答案:A
3.21以下程序的輸出結(jié)果是
main()
{inta=21,b=ll;
printf---a+b,---b+a);
}
A)30B)31C)32D)33
正確答案:A
3.22假設(shè)整型變量aL,b,c的值均為5,則表達(dá)式a+++b+++c++的值為
A)17B)16C)15D)14
正確答案:c
3.23已知inta=6;則執(zhí)行a+=a-=a*a;語句后,a的值為
A)36B)0C)-24D)-60
正確答案:D
3.24設(shè)變量n為float類型,m為int類型,則以下能實(shí)現(xiàn)將n中的數(shù)值保留小數(shù)點(diǎn)后兩位,第三位進(jìn)行
四舍五入運(yùn)算的表達(dá)式是
A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0
C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0
正確答案:B
3.25sizeof(float)是
A)一個(gè)雙精度型表達(dá)式B)一個(gè)整型表達(dá)式
C)一種函數(shù)調(diào)用D)一個(gè)不合法的表達(dá)式
正確答案:B
3.26在C語言中,int,char和short三種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)
A)由用戶自己定義B)均為2個(gè)字節(jié)
C)是任意的D)由所用機(jī)器的機(jī)器字長決定
正確答案:D
3.27以下變量x,y,z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子x+y+z的C語言表達(dá)式是
A)x/y*zB)x*(1/(y*z))
C)x/y*l/zD)x/y/z
正確答案:A
3.28下列關(guān)于復(fù)合語句和空語句的說法錯(cuò)誤的是
A)復(fù)合語句是由“{”開頭,由“}”結(jié)尾的
B)復(fù)合語句在語法上視為一條語句
C)復(fù)合語句內(nèi),可以有執(zhí)行語句,不可以有定義語句部分
D)C程序中的所有語句都必須由一個(gè)分號(hào)作為結(jié)束
正確答案:C
3.29下列關(guān)于字符串的說法中錯(cuò)誤的是
A)在C語言中,字符串是借助于字符型一維數(shù)組來存放的,并規(guī)定以字符作為字符串結(jié)束標(biāo)志
B)作為標(biāo)志占用存儲(chǔ)空間,計(jì)入串的實(shí)際長度
C)在表示字符串常量的時(shí)候不需要人為在其末尾加入、0,
D)在C語言中,字符串常量隱含處理成以結(jié)尾
正確答案:B
二、填空題(請(qǐng)將每一個(gè)空的正確答案寫在答題卡相應(yīng)序號(hào)后。)
3.30以下程序的輸出結(jié)果是11】。
inta=1234;
printf("%2d\n”,a);
正確答案:1234
3.31在計(jì)算機(jī)中,字符的比較是對(duì)它們的12】進(jìn)行比較。
正確答案:ASCII碼
3.32在內(nèi)存中,存儲(chǔ)字符,x要占用1個(gè)字節(jié),存儲(chǔ)字符串"X"要占用【3】個(gè)字節(jié)。
正確答案:2
3.33在C語言中(以16位PC機(jī)為例),一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為4;一個(gè)double型數(shù)
據(jù)在內(nèi)存中所占的字節(jié)數(shù)為[41
正確答案:8
3.34以下程序段的輸出結(jié)果是[5】。
main()
{inta=2,b=3,c=4;
a*=16+(b++)-(++c);
printf("/d〃,a);
)
正確答案:28
3.35以下程序段的輸出結(jié)果是[6】。
intx=17,y=26;
printf(〃%d",y/=(x%=6));
正確答案:5
3.36下列y的值是[7】。
inty;y=sizeof(2.25*4);
正確答案:8
3.37以下程序的輸出結(jié)果是[8]o
main()
{inti=010,j=10;
pirntf("%d,%d\n”,i,j);
)
正確答案:8,10
3.38已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch=H+&-3的值為【9】。
正確答案:f
3.39如下語句printf("%c\n”,B+40);在執(zhí)行后的輸出結(jié)果是[10]。
正確答案:j
3.40定義inta=5,b=20;若執(zhí)行語句printf("%d\n",++a*--b/5%13);后,輸出的結(jié)果為[11]。
正確答案:9
16.已知各變量的類型說明如下:inti=8,k,a,b;unsignedlongw=5;doublex=l.42,y=5.2;則以下符合C語言語
法的表達(dá)式是()
A.a+=a-=(b=4)*(a=3)
B.a=a*3=2
C.x%(-3)
D.y=float(i)
17.以下不正確的敘述是()
A.在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低
B.在C程序中,APH和aph是兩個(gè)不同的變量
C.若a和b類型相同,在計(jì)算了賦值表達(dá)式a=b后b中的值將放入a中,而b中的值不變
D.當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值
18.以下正確的敘述是()
A.在C程序中,每行中只能寫一條語句
B.若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)
C.在C語程序中,無論是整數(shù)還是實(shí)數(shù),都能被準(zhǔn)確無誤地表示
D.在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符
19.以下符合C語言語法的賦值表達(dá)式是()
A.d=9+e+f=d+9
B.d=9+e,f=d+9
C.d=9+e,e++,d+9
D.d=9+e++=d+7
20.己知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語句c2=A+6-3;后,c2中的值為()
A.DB.68c.不確定的值D.C
21.在C語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()
A./B.++C.!=D.%
22.若以下變量均是整型,且num=sum=7;則計(jì)算表達(dá)式SUM=num++,SUM++,++num后sum值為()
A.7B.8C.9D.10
23.若有說明語句:charc=172,;則變量c()
A.包含1個(gè)字符
B.包含2個(gè)字符
C.包含3個(gè)字符
D.說明不合法,c的值不確定
24.若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是()
A.2.500000B.2.750000C.3.500000D.0.000000
25.設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a4i*f值的數(shù)據(jù)類型為()
A.intB.floatC.doubleD.不確定
26.在C語言中,char型數(shù)據(jù)在內(nèi)存中存儲(chǔ)形式是()
A.補(bǔ)碼B.反碼C.原碼D.ASCII碼
27.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為()
A.floatBcharC.doubleD.不確定
28.設(shè)有說明:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為()
A.floatBcharC.intD.double
29.若有以下定義,則能使值為3的表達(dá)式為3的表達(dá)式是()intk=7,x=12;
A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)
30.設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是()
A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y)D.(y=6,y+l,x=y,x+l)
31.在c語言中(以16位pc機(jī)為例),一個(gè)char型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為(),一個(gè)int型數(shù)據(jù)在內(nèi)存中所
占的字節(jié)數(shù)為(),一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為(),一個(gè)double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)
為().
32.有以下定義,則計(jì)算表達(dá)式y(tǒng)+=y-=m*=y后的y值是()1,intm=5,y=2;
33.若s是int型變量,s=6;則下面表達(dá)式的值為()s%2+(s+1)%2
34.若a是int型變量,則下面表達(dá)式的值為()(a=4*5,a*2),a+6
35。若x和a均是int型變量,則計(jì)算式(1)后的x的值為(),計(jì)算表達(dá)式(2)后的x的值為()。
(1)x=(a=4,6*2)(2)x=a=4,6*2
36.若&b和c均是int型變量,則計(jì)算表達(dá)式后,a值為(),b值為(),c值為().a=(b=4)+(c=2)
37.若a是int型變量,且a的初值為6,則計(jì)算表達(dá)式后a的值為()。a+=a-=a*a
38.若a是int型變量,則計(jì)算表達(dá)式后a的值為()。a=25/3%3
39.若x利n均是int型變量,且x和n的初值均為5,則精神表達(dá)式后x的值為(),難得值為()。x+=n++
40.若有定義:intb=7;floata=2.5,c=4.7;則下面表達(dá)式的值為()。a+(int)(b/3*(int)(a+c)/2)%4
41.若定義:inta=2,b=3;floatx=3.5,y=2.5;則下面表達(dá)式的值(4(float)(a+b)/2+(int)x%(int)y
42.若有定義:charc=、010';則變量c中包含的字符個(gè)數(shù)為().
43.若有定義:intx=3,y=2;floata=2.5,b=3.5;則下面表達(dá)式的值()(x+y)%2+(int)a/(int)b
第4章順序程序設(shè)計(jì)
一、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在
答題卡相應(yīng)位置上。)
4.1若變量已正確說明為float型,要通過語句scanf(",&a,&b,&c);給2賦予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〈回車)
正確答案:B
4.2現(xiàn)有以下程序段
ftinclude<stdio.h>
main()
{inta,b,c;
scanf("a=%*d%d,b=%d%*d,c=%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d\n”,a,b,c);}
若輸出的結(jié)果為a=20,b=30,c=40,則以下能夠正確輸入數(shù)據(jù)的是
A)a=10]20,b=20]30,c=40<CR>B)20,30,40<CR>
C)a=20,b=30,c=40<CR>D)a=10120,b=30]20,c=40<CR>
[注]:"]”表示空格,<CR>表示回車
正確答案:D
4.3x,y,z被定義為int型變量,若從鍵盤給x,y,z輸入數(shù)據(jù),正確的輸入語句是
A)INPUTx、y、z;B)scanf("%d%d%d”,&x,&y,&z);
C)scanf(",%d%d%d/,,x,y,z);D)read("%d%d%d",&x,&y,&z);
正確答案:B
4.4已有定義inta=-2;和輸出語句printfa);以下正確的敘述是
A)整型變量的輸出形式只有%d一種
B)姒是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)
C)%x是格式符的?種,其變量的值按十六進(jìn)制輸出,但%81x是錯(cuò)誤的
D)%81x不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度
正確答案:B
4.5下列程序段的輸出結(jié)果是:
inta=1234;
floatb=123.456;
doublec=12345.54321;
printfC%2d,%2.If,%2.lfz,,a,b,c);
A)無輸出B)12,123.5,12345.5
C)1234,123.5,12345.5D)1234,123.4,1234.5
正確答案:C
4.6執(zhí)行下列程序時(shí)輸入:123〈空格>456〈空格>789<回車)輸出結(jié)果是
main()
{chars[100];intc,i;
scanf;scanf(〃%d〃,&i);scanf(〃版〃,s);
printf(,z%c,%d,%s\n,z,c,i,s);}
A)123,456,789B)1,456,789
C)1,23,456,789D)1,23,456
正確答案:D
4.7若已定義:inta=254=14"=19;以下三目運(yùn)算符(?:)所構(gòu)成語句的執(zhí)行后
a<=25&&b--<=2&&c?printf(,z***a=%d,b=%d,c=%d\nz/,a,b,c):printf二%d,b=%d,c=%d\n〃,a,b,c);
程序輸出的結(jié)果是
A)***a=25,b=13,c=19B)***a=26,b=14,c=19
C)###a=25,b=13,c=19D)###a=26,b=14,c=19
正確答案:C
4.8請(qǐng)選出以下語句的輸出結(jié)果
printf(,z%d\nz/,strlen("\t\"\065\xff\n〃));
A)5B)14
C)8D)輸出項(xiàng)不合法,無正常輸出
正確答案:
4.9下列程序的輸出結(jié)果是
main()
{doubled=3.2;intx,y;
x=l.2;y=(x+3.8)/5.0;
printf(〃%d\n〃,d*y);
)
A)3B)3.2C)0D)3.07
正確答案:C
4.10調(diào)用gets和puts函數(shù)時(shí),必須包含的頭文件是
A)stdio.hB)stdlib.hC)defineD)以上都不對(duì)
正確答案:A
4.11閱讀下面程序段
#include"stdio.h〃
main()
{charc;
c=LzF)/2+M
putchar(c);)
輸出結(jié)果為A
A)MB)NC)0D)Q
正確答案:
二、填空題(請(qǐng)將每一個(gè)空的正確答案寫在答題卡相應(yīng)序號(hào)后。)
4.12下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁铡?/p>
main()
{inta=9,b=2;
floatx=[1],y=l.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n〃,z);
)
正確答案:6.6
4.13在使用putchar和getchar函數(shù)處理字符時(shí),必須在程序的開頭出現(xiàn)包含頭文件的命令行是【2】。
正確答案:#include<stdio.h>
4.14下列程序的輸出結(jié)果是[3】,[4]o
#include<math.h>
main()
{floata=-l.3;b=l.3;
printf(z,%f,%fz,,fabs(a),fabs(b);}
1.300000
1.300000
4.15執(zhí)行程序時(shí)的輸入為123456789,則程序的運(yùn)行結(jié)果為【5】。
#include“stdio.h〃
main()
{inta,b;
scanf(〃%2d%*2d%ld〃,&a,&b);
printf("%d\n”,a-b);}7
第5章選擇結(jié)構(gòu)程序設(shè)計(jì)
一、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在
答題卡相應(yīng)位置上。)
5.1在C程序中,判邏輯值時(shí),用',非0”表示邏輯值“真”,又用“0”表示邏輯值“假”。在求邏輯值時(shí),用
O表示邏輯表達(dá)式值為“真",又用()表示邏輯表達(dá)式值為“假
A)10B)01C)非0非0D)11
正確答案:A
5.2已知intx=6,y=2,z;則執(zhí)行表達(dá)式z=x=x>y后,變量z的值為
A)0B)1C)4D)5
正確答案:B
5.3能正確表示邏輯關(guān)系:“應(yīng)10或它0”的C語言表達(dá)式是
A)a>=10ora<=0B)a>=0a<=10
C)a>=10&&a<=0D)a>=10||a<=0
正確答案:D
5.4若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是
A)ra,<=c<=,z,B)(c>=raz)||(c<=rz9
C)CaX=c)and(rzr>=c)D)(c>='a')&&(c<=rzO
正確答案:D
5.5設(shè)intx=l,y=l;表達(dá)式(!x||y-)的值是
A)0B)1C)2D)-1
正確答案:B
5.6有如下程序段
inta=14,b=15,x;
charc='A';
x=(a&&b)&&(c<'B');
執(zhí)行該程序段后,x的值為
A)tureB)falseC)0D)1
正確答案:D
5.7以下程序的輸出結(jié)果是
main()
{inta=4,b=5,c=0,d;
d=!a&&!b||!c;
printf("%d\n",d);}
A)1B)0C)非0的數(shù)D)-1
正確答案:A
5.8設(shè)有:
inta=l,b=2,c=3,d=4,m=2,n=2;
執(zhí)行(m二a>b)&&(n=c>d)后n的值是
A)1B)2C)3D)4
正確答案:Bm=a>b值為零,不再判斷n=a>d,所以n的值不變.
5.9已知x,y,z均為整型變量,且值均為1,則執(zhí)行語句++x||++y&&++z;后,表達(dá)式x+y的值為
A)1B)2C)3D)4
正確答案:C++x為真,不執(zhí)行后面的語句,y值不變?yōu)?
5.10表達(dá)式a〈b||(c&d)中運(yùn)算符優(yōu)先級(jí)最高的是
A)||B)&C)<D)0
正確答案:D
5.11若運(yùn)行時(shí)給變量x輸入12,則以下程序的運(yùn)行結(jié)果是
main()
{intx,y;
scanf(〃%d〃,&x);
y=x>12?x+10:x-12;
printf(〃刎\n〃,y);
)
A)0B)22C)12D)10
正確答案:A
5.12已知charch=C;則以下表達(dá)式的值是
ch=(ch>='A'&&ch<=7r)?(ch+32):ch;
A)AB)aC)ZD)c
正確答案:D
5.13若有條件表達(dá)式(exp)?a++:b—,則以下表達(dá)式中能完全等價(jià)于表達(dá)式(exp)的是
A)(exp==0)B)(exp!=0)C)(exp==l)D)(exp!=l)
正確答案:Bexp!二0為真時(shí)執(zhí)行a++,為假時(shí)執(zhí)行b一.
5.14有以下程序
main()
{inti=l,j=l,k=2;
if((j++||k++)&&i++)
printf(,z%d,%d,%d\n/z,i,j,k);
}
執(zhí)行后輸出結(jié)果是
A)1,1,2B)2,2,1C)2,2,2D)2,2,3
正確答案:C
5.15請(qǐng)閱讀以下程序:
main()
{inta=5,b=0,c=0;
if(a=b+c)printf(〃***\n〃);
elseprintf(,z$$$\n〃);
以上程序
A)有語法錯(cuò)不能通過編譯B)可以通過編譯但不能通過連接
C)輸出***D)輸出$$$
正確答案:D
5.16若執(zhí)行下述程序時(shí),若從鍵盤輸入6和8時(shí),結(jié)果為
main()
(inta,b,s;
scanf(&a,&b);
s=a;
if(a<b)
s=b;
s*二s;
printf(〃%d〃,s);
)
A)36B)64C)48以上都不對(duì)
正確答案:B
5.17有如下程序
main()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x<10.0)y=l.0/x;
elsey=l.0;
printf(〃%f\n〃,y);}
該程序的輸出結(jié)果是
A)0.000000B)0.250000C)0.5000001.000000
正確答案:C
5.18以下4個(gè)選項(xiàng)中,不能看做一條語句的是
A);B)a=5,b=2.5,c=3.6;
C)if(a<5);D)if(b!=5)x=2;y=6;
正確答案:D
5.19若intk=8;則執(zhí)行下列程序后,變量k的正確結(jié)果是
main()
{intk=8;
switch(k)
{case9:k+=l
case10:k+=l
case11:k+=lbreak;
default:k+=l;}
printf(〃%d\n〃,k);}
A)12B)11C)10
正確答案:D
5.20閱讀如下程序段
ttinclude〃stdio.h〃
main()
{inta=45,b=40,c=50,d;
d=a>30?b:c;
switch(d)
{case30:printf(〃%d,",a);
case40:printf("%d,〃,b);
case50:printf;
default:printf(〃#〃);}}
則輸出的結(jié)果是
A)40,50,B)50,#C)40,#D)40,50,#
正確答案:D
5.21現(xiàn)有如下程序段,此程序段編譯有錯(cuò)誤,則程序段的錯(cuò)誤出在
#include<stdio.h>
main()
{inta=30,b=40,c=50,d;
d=a>30?b:c;
switch(d)
{casea:printf(〃%d,〃,a);
caseb:printf(〃%d,”,b);
casec:printf(〃%d,〃,c);
default:printf(〃#〃);}}
A)default:printf("#〃);這個(gè)語句
B)d=a>30?b:c;這個(gè)語句
C)casea:printf("%d,〃,a);caseb:printf("%d,〃,b);casec:printf(〃%d,",c);這三個(gè)語句
D)switch(d)這個(gè)語句
正確答案:Ccase表達(dá)式中沒有常量,應(yīng)用分號(hào)括起來!
二、填空題(請(qǐng)將每一個(gè)空的正確答案寫在答題卡相應(yīng)序號(hào)后。)
5.22設(shè)y是int型,請(qǐng)寫出y為奇數(shù)的關(guān)系表達(dá)式【1】。
正確答案:y%2!=0
5.23設(shè)inta=5,b=6,表達(dá)式(++a==b--)?++a:—b的值是[2]。
正確答案:7
5.24將以下程序?qū)懗扇窟\(yùn)算表達(dá)式是【3】。
if(a>b)max=a;
elsemax=b;
正確答案:max=(a>b)?a:b;
5.25以下程序輸出的結(jié)果是[4】。
main()
{inta=5,b=4,c=3,d;
d=(a>b>c);
printfd);
)
正確答案:0
5.26若從鍵盤輸入58,則以下程序輸出的結(jié)果是[5】o
main()
{inta;
scanf;
if(a>50)printfa);
if(a>40)printfa);
if(a>30)printf(,,%d,\a);
}
正確答案:585858
5.27閱讀下面語句,則程序的執(zhí)行結(jié)果是[6]。
#include〃stdio.h〃
main()
{inta="l,b=l,k;
if((++a<0)&&!(b--<=0))
printf("%d,%d\n”,a,b);
elseprintf("%d,%d\n”,b,a);}
正確答案:1,0
5.28閱讀下面程序,則在執(zhí)行時(shí)候的輸出為【7】o
#include"stdio.h〃
main()
{intx=l,y=2,z=0;
if(x=2)z=x,x=y,y=z;
printf%d\n”,x,y);}
正確答案:2,2
5.29以下程序的輸出結(jié)果是[81
main()
{intx=100,a=10,b=20,okl=5,ok2=0;
if(a<b)if(b!=15)if(!okl)x=l;
elseif(ok2)x=10;
elsex="l;
printf(〃%d\n〃,x);}
正確答案:-1
5.30閱讀下面的程序,當(dāng)程序在執(zhí)行時(shí),如果輸入的是火,則輸出結(jié)果為[9]。
#include"stdio.h〃
main()
{chara;
a=getchar();
switch(a)
{case65:printf'A');
case66:printf(〃猊;
default:printf(〃/s\n〃,“other");}}
正確答案:ABother
第6章循環(huán)控制
一、選擇題(在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)填涂在
答題卡相應(yīng)位置上。)
6.1對(duì)表達(dá)式for(表達(dá)式1;;表達(dá)式3)可理解為
A)for(表達(dá)式l;0;表達(dá)式3)B)for(表達(dá)式1;1;表達(dá)式3)
C)for(表達(dá)式1;表達(dá)式1;表達(dá)式3)D)for(表達(dá)式1;表達(dá)式3;表達(dá)式3)
正確答案:B
6.2在下列選項(xiàng)中,沒有構(gòu)成死循環(huán)的是
A)inti=100;
while(1)
{i=i%100+l;
if(i>100)break;
)
B)for(;;);
C)intk=10000;
do{k++;}while(k>10000);
D)ints=36;
while(s)-s;
正確答案:D
6.3下面有關(guān)for循環(huán)的正確描述是
A)for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況
B)for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達(dá)式
C)在for循環(huán)中,不能用break語句跳出循環(huán)體
D)for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號(hào)括起來
正確答案:D
6.4若inti,j;,則for(i=j=0;i<10&&j<8;i++,j+=3)控制的循環(huán)體執(zhí)行的次數(shù)是
A)9B)8C)3D)2
正確答案:C
6.5閱讀下列程序段,則程序的輸出結(jié)果是
#include"stdio.h〃
main()
{inta=10,b=10,k;
for(k=0;a>8;b=++k)
printf(〃%d,---,---b);
printf(〃\n〃);}
A)10,10,10,0,B)10,9,9,0,C)10,10,9,1,D)9,9,9,1,
考生答案:正確答案:B
6.6有一堆零件(100到200之間),如果分成4個(gè)零件一組的若干組,則多2個(gè)零件;若分成7個(gè)零件一組,
則多3個(gè)零件;若分成9個(gè)零件一組,則多5個(gè)零件。下面程序是求這堆零件總數(shù),請(qǐng)選擇填空。
#include<stdio.h>
main()
{inti;
for(i=100;i<200;i++)
if((i-2)%4=0)
if(!((i-3)%7))
if(—)
printf(〃%d〃,i);
)
A)i%9=5B)i%9!=5C)(i-5)%9!=0D)(i-5)%9=0
正確答案:D
6.7下列程序的輸出結(jié)果是
#include〃stdio.h〃
main()
{inti,a=0,b=0;
for(i=l;i<10;i++)
{if(i%2==0)
{a++;
continue;}
b++;}
printf("a=%d,b=%d”,a,b);}
A)a=4,b=4B)a=4,b=5C)a=5,b=4D)a=5,b=5
正確答案:B
6.8閱讀下列程序,則執(zhí)行結(jié)果是
#include〃stdio.h〃
main()
{inta=0,b=0,c=0,i;
for(i=0;i<4;i++)
switch(i)
{case0:a=i++;
case1:b=i++;
case2:c=i++;
case3:i++;}
printf(z/%d,%d,%d,%d\n?,,a,b,c,i);}
A)0,1,3,4B)1,2,3,4C)0,1,2,5D)0,2,3,4
正確答案:C
6.9閱讀下列程序,程序的輸出結(jié)果是
#include"stdio.h〃
main()
(
intm,n;
floatk;
for(m=6;m>2;m---)
{k=0;
for(n=m;n>l;n—)
k=k+m*n;
)
printfk);
A)5.000000B)15.000000C)25.000000D)35.000000
正確答案:B
6.10下面程序的運(yùn)行結(jié)果是
#include"stdio.h"
main()
{intj,i,k=0;
for(j=50;j<=60;j++)
{if(!(k%10))printf;
for(i=2;i<j;i++)
if(!(j%i))break;
if(i>=j-l)
{printf(V,j);
k++;}
)
}
A)5359B)5953C)3595D)9535
正確答案:A
6.11已知
intt=0;
while(t=l)
{...}
則以下敘述正確的是
A)循環(huán)控制表達(dá)式的值為0B)循環(huán)控制表達(dá)式的值為1
C)循環(huán)控制表達(dá)式不合法D)以上說法都不對(duì)
正確答案:B
6.12設(shè)有以下程序段
intx=0,s=0;
while(!x!=0)s+=++x;
printf;
則
A)運(yùn)行程序段后輸出0B)運(yùn)行程序段后輸出1
C)程序段中的控制表達(dá)式是非法的D)程序段執(zhí)行無限次
正確答案:B
6.13下列程序的輸出結(jié)果是
#include"stdio.h"
main()
{inti=6;
while(i--)
printf---i);
printf;}
A)531B)420C)654321D)死循環(huán)
正確答案:B
6.14對(duì)下I,II兩個(gè)語句描述正確的是
I.while(1)II.for(;;)
A)都是無限循環(huán)B)I是無限循環(huán),II錯(cuò)誤
C)I循環(huán)一次,II錯(cuò)誤D)以上答案都錯(cuò)
正確答案:A
6.15以下程序段的描述,正確的是
x=-l;
do
{x=x*x;}
while(!x);
A)是死循環(huán)B)循環(huán)執(zhí)行兩次
C)循環(huán)執(zhí)行一次D)有語法錯(cuò)誤
正確答案:C
6.16若有如下語句
intx=3;
do{printf(z,%d\nz,,x-=2);}while(!(---x));
則上面程序段
A)輸出的是1B)輸出的是1和-2
C)輸出的是3和0D)是死循環(huán)
正確答案:B
6.17下面程序的運(yùn)行結(jié)果是
#include<stdio.h>
main()
{inta=l,b=10;
do
{b-=a;a++;}while(b--<0);
printf("a=%d,b=%d\n〃,a,b);
)
A)a=3,b=llB)a=2,b=8C)a=l,b=-lD)a=4,b=9
正確答案:B
6.18若運(yùn)行以下程序時(shí),從鍵盤輸入ADescriptor<CR>(<CR>表示回車),則下面程序的運(yùn)行結(jié)果是
#include<stdio.h>
main()
{charc;
intv0=l,vl=0,v2=0;
do{switch(c=getchar0)
{caseH:case'A':
case'e':case'E':
case'i':caseT:
case'。':case'。':
case'u':caseU:vl+=l;
default:vO+=l;v2+=l;}
}whi1e(c!=,\n,);
printf("vO=%d,vl=%d,v2=%d\n”,vO,vl,v2);)
A)vO=7,vl=4,v2=7B)v0=8,vl=4,v2=8
C)v0=ll,vl=4,v2=llD)vO=13,vl=4,v2=12
正確答案:D想不通??!
6.19下面程序的功能是把316表示為兩個(gè)加數(shù)的和,使兩個(gè)加數(shù)分別能被13和11整除,請(qǐng)選擇填空。
^include<stdio.h>
main()
{inti=0,j,k;
do{i++;k=316-13*i;}while(__);
j=k/U;
printf("316=13*%d+ll*%d”,i,j);
)
A)k/11B)k%llC)k/ll==0D)k%ll==0
正確答案:B
6.20C語言中while和do-while循環(huán)的主要區(qū)別是
A)do-while的循環(huán)體至少無條件執(zhí)行,?次
B)while的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴(yán)格
C)do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)
D)do-while的循環(huán)體不能是復(fù)合語句
正確答案:A
6.21下列說法中錯(cuò)誤的是
A)只能在循環(huán)體內(nèi)使用break語句
B)在循環(huán)體內(nèi)使用break語句可以使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)
C)在while和do...while循環(huán)中,continue語句并沒有使整個(gè)循環(huán)終止
D)continue的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)判
斷
正確答案:A
二、填空題(請(qǐng)將每一個(gè)空的正確答案寫在答題卡相應(yīng)序號(hào)后。)
6.22設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for語句后,k的值為【1】。
for(i=0,j=10;i<=j;i++,j--)k=i+j;
正確答案:10
6.23下列程序的功能是輸入一個(gè)整數(shù),判斷是否是素?cái)?shù),若為素?cái)?shù)輸出1,否則輸出0,請(qǐng)?zhí)羁铡?/p>
main()
{inti,x,y=l;
scanf("猊",&x);
for(i=2;i<=x/2;i++)
if[2]{y=0;break;}
printf(〃%d\n〃,y);
)
正確答案:(x%i==O)
6.24以下程序的輸出結(jié)果是[31
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)五年級(jí)混合運(yùn)算練習(xí)題
- 小學(xué)四年級(jí)數(shù)學(xué)乘除法豎式計(jì)算題
- 小學(xué)數(shù)學(xué)二年級(jí)100以內(nèi)連加連減口算題
- 高考語文模擬試題(二十)
- 2025年中考語文文言文總復(fù)習(xí)-學(xué)生版-專題01:文言文閱讀之理解實(shí)詞含義(講義)
- 北京市豐臺(tái)區(qū)2022-2023學(xué)年高三上學(xué)期期末練習(xí)英語學(xué)科試卷
- 房屋裝修行業(yè)顧問工作總結(jié)
- 制藥業(yè)行政后勤工作總結(jié)
- 《公司團(tuán)隊(duì)培訓(xùn)游戲》課件
- 演出票務(wù)公司營業(yè)員服務(wù)總結(jié)
- Siemens WinCC:WinCC趨勢(shì)圖與歷史數(shù)據(jù)技術(shù)教程.Tex.header
- 【長安的荔枝中李善德的人物形象分析7800字(論文)】
- CJT 288-2017 預(yù)制雙層不銹鋼煙道及煙囪
- 生物安全風(fēng)險(xiǎn)評(píng)估報(bào)告
- 戈19商務(wù)方案第十九屆玄奘之路戈壁挑戰(zhàn)賽商務(wù)合作方案
- 廣西河池市宜州區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含解析)
- 2024高考政治真題-哲學(xué)-匯集(解析版)
- 對(duì)承租方有利的商鋪?zhàn)赓U合同
- 2024云南大學(xué)滇池學(xué)院教師招聘考試筆試試題
- 國外幼兒園自主游戲研究現(xiàn)狀
- 浙江大學(xué)2011–2012學(xué)年冬季學(xué)期《高級(jí)數(shù)據(jù)結(jié)構(gòu)與算法分析》課程期末考試試卷
評(píng)論
0/150
提交評(píng)論