版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1部分《C語言程序設(shè)計(jì)》習(xí)題解答
1.1第1章習(xí)題解答
1.選擇題
(1)在計(jì)算機(jī)上可以直接運(yùn)行的程序是()。
A.高級(jí)語言程序B.匯編語言程序
C.機(jī)器語言程序D.C語言程序
【答案】C
【解析】機(jī)器語言是直接面向機(jī)器的,可以直接運(yùn)行,其他語言都需要編譯。
(2)一個(gè)C語言程序由()。
A.若干函數(shù)組成B.若干過程組成
C.若干主程序組成D.若干子程序組成
【答案】A
【解析】C語言程序由一個(gè)主函數(shù)和零個(gè)以上(含零個(gè))非主函數(shù)構(gòu)成。
(3)C語言不具有的特點(diǎn)是()。
A.具有結(jié)構(gòu)化的控制語句
B.數(shù)據(jù)類型豐富
C.語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大
D.在可移植性上,C語言比其他語言差
【答案】D
【解析】C程序的可移植性好,這是C語言的一個(gè)主要特點(diǎn)。
(4)以下敘述不正確的是()<,
A.一個(gè)C語言程序可由一個(gè)或多個(gè)函數(shù)組成
B.一個(gè)C語言程序必須包含一個(gè)主函數(shù)
C.C語言程序的基本組成單位是函數(shù)
D.在C語言程序中,注釋說明只能位于一條語句的后面
【答案】D
【解析】在C語言程序中,注釋說明可以位于程序中任意合適的位置。
(5)以下敘述正確的是()。
A.C語言比其他語言高級(jí)
B.C語言可以不用編譯就能被計(jì)算機(jī)識(shí)別和執(zhí)行
C.C語言以接近英語國(guó)家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
D.C語言出現(xiàn)最晚,所以具有其他語言的一切優(yōu)點(diǎn)
【答案】C
【解析】“C語言以接近英語國(guó)家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式”,這
是C語言的定義。
(6)編譯C語言程序時(shí),程序中的注釋部分將()。
A.不參加編譯,也不會(huì)出現(xiàn)在目標(biāo)程序中
B.參加編譯,但不會(huì)出現(xiàn)在目標(biāo)程序中
C.不參加編譯,但會(huì)出現(xiàn)在目標(biāo)程序中
D.參加編譯,并會(huì)出現(xiàn)在目標(biāo)程序中
【答案】A
【解析】C語言程序中的注釋不參加程序的編譯與運(yùn)行。
2.填空題
(1)計(jì)算機(jī)語言的發(fā)展經(jīng)歷了、和階段。
【答案】機(jī)器語言匯編語言高級(jí)語言
(2)C語言既適合編寫,也適合編寫應(yīng)用軟件。
【答案】系統(tǒng)軟件
(3)簡(jiǎn)單地說,設(shè)計(jì)和調(diào)試C語言程序要經(jīng)過、
和4個(gè)階段。
【答案】編輯編譯鏈接執(zhí)行
3.編程題
(1)編寫一個(gè)簡(jiǎn)單的C語言程序,使得在屏幕上顯示下列信息。
***************************************************
Cisveryfun.
****************************************************
【參考源程序】
Winclude<stdio.h>
intmain()
(
printf(*****************************************************
printf("Cisveryfun.\n");
printf("****************************************************
return0;
)
(2)編寫一個(gè)簡(jiǎn)單的C語言程序,使得在屏幕上顯示下列信息。
***
*****
*******
【參考源程序】
#include<stdio.h>
intmain()
(
printff'*\n");
printff'?*KJP3*\n");
printf("*?**KJP3?\n");
printff'******EJP3*\n");
return0;
)
1.2第2章習(xí)題解答
i.選擇題
(1)選出可以作為c語言用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符()o
A.void,define,WORDB.A3_B3Z_123,abc
C.FOR,-abc,CaseD.2a,Do,Sizeof
【答案】B
【解析】C語言中的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線3種字符組成,第一個(gè)字符只
能是字母或下劃線,且不允許是系統(tǒng)關(guān)鍵字。
(2)下列運(yùn)算符優(yōu)先級(jí)最高的是()。
A.關(guān)系運(yùn)算符B.賦值運(yùn)算符
C.算術(shù)運(yùn)算符D.邏輯運(yùn)算符
【答案】C
【解析】上述4種運(yùn)算符中,算術(shù)運(yùn)算符的優(yōu)先級(jí)最高。
(3)sizeof(float)是(
A.一種函數(shù)調(diào)用B.一個(gè)不合法的表示形式
C.一個(gè)整型表達(dá)式D.一個(gè)浮點(diǎn)表達(dá)式
【答案】C
【解析】sizeof()用來獲取一個(gè)數(shù)據(jù)或數(shù)據(jù)類型在內(nèi)存中所占空間的字節(jié)數(shù),它的結(jié)果
返回值為字節(jié)數(shù),即為整型值。
(4)下列字符串常量不正確的是()o
A.'abc'B."12'12"C."0"D.""
【答案】A
【解析】字符串常量指用雙引號(hào)括起來的若干字符。
(5)下列4個(gè)選項(xiàng)均是合法整型常量的是(
A.160,-Oxffff,011
B.-Oxcdf,Ola,Oxe
C.-01,986,012,0668
D.-0x48a,2e5,Ox
【答案】A
【解析】本題主要考查十進(jìn)制、八進(jìn)制、十六進(jìn)制實(shí)型數(shù)據(jù)的表達(dá)方式。
(6)以下選項(xiàng)中不屬于C語言類型的是()<.
A.signedshortintB.unsignedlongint
C.unsignedintD.longshort
【答案】D
【解析】C語言中沒有l(wèi)ongshort類型。
(7)數(shù)值029是一個(gè)()o
A.八進(jìn)制數(shù)B.十六進(jìn)制數(shù)
C.十進(jìn)制數(shù)D.非法數(shù)
【答案】D
【解析】C語言中,以數(shù)字0開頭的數(shù)值表示八進(jìn)制數(shù),八進(jìn)制數(shù)的合法字符是。?
7。
(8)在C語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()。
A./B.++C.!=D.%
【答案】D
【解析】取余運(yùn)算(%)要求兩邊的運(yùn)算數(shù)必須是整型。
(9)當(dāng)c的值不為。時(shí),以下能將c的值賦給變量a、b的是()。
A.c=b=aB.(a=c)||(b=c)
C.(a=c)&&(b=c)D.a=c=b
【答案】C
【解析】本題主要考查邏輯運(yùn)算的短路特性。
若有說明語句rtw則變量()。
(10)charc='\72';,c
A.包含1個(gè)字符B.包含2個(gè)字符
C.包含3個(gè)字符D.說明不合法,c的值不確定
【答案】A
【解析】轉(zhuǎn)義字符代表一個(gè)字符常量。
(11)設(shè)有說明"charw;intx;floaty:doublez;w,則表達(dá)式“w*x+z?y”值的數(shù)據(jù)類
型為()o
A.floatB.charC.intD.double
【答案】D
【解析】混合運(yùn)算表達(dá)式的數(shù)據(jù)類型為其中精度最高的運(yùn)算量的數(shù)據(jù)類型。
(12)長(zhǎng)整型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是()。
A.ASCII碼B.原碼
C.反碼D.補(bǔ)碼
【答案】D
【解析】任何整型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式都是補(bǔ)碼。
(13)字符型常量在內(nèi)存中的存儲(chǔ)形式是()。
A.ASCII碼B.BCD碼
C.內(nèi)部碼D.十進(jìn)制碼
【答案】A
【解析】字符型常量在內(nèi)存中采用ASCII碼形式存儲(chǔ)。
(14)若X、i、j和k都是int型變量,則計(jì)算表達(dá)式“x=(i=4,j=16,k=32)”后x的值為()。
A.4B.16C.32D.52
【答案】C
【解析】考查逗號(hào)表達(dá)式的運(yùn)算規(guī)則。逗號(hào)表達(dá)式的值為最后一個(gè)表達(dá)式的值。
(15)若有代數(shù)式半,則下列C語言表達(dá)式不正確的是()。
be
A.a/b/c*e*3B.3*a*e/b/c
C.3*a*e/b*cD.a*e/c/b*3
【答案】C
【解析】3*a*e/b*c對(duì)應(yīng)的代數(shù)式為《不。
(16)表達(dá)式"1091=99"的道是(
A.1B.非空值C.0D.t’ue
【答案】A
【解析】關(guān)系表達(dá)式的值為。或1,其中0表示假,I表示真。
(17)若變量t為double類型,表達(dá)式“t=l,t*5",則t的值為()o
A.1B.6.0C.2.0D.1.0
【答案】D
【解析】該題是問t的值,而不是表達(dá)式的值,故為1.0。
(18)表示關(guān)系"x<=y<=z”的C語言表達(dá)式為()。
A.(x<=y)&&(y<=z)B.(x<=y)AND(y<+z)
C.(x<=y<=y)D.(x<=y)&(y<=z)
【答案】A
【解析】多于一個(gè)關(guān)系運(yùn)算符的表達(dá)式,在C語言中應(yīng)該用邏輯運(yùn)算符連接。
(19)在C語言中,int、char和short三種類型數(shù)據(jù)所占用的內(nèi)存()。
A.均為2字節(jié)B.由用戶自己定義
C.由所用機(jī)器的字長(zhǎng)決定D.是任意的
【答案】C
【解析】C語言中各種類型數(shù)據(jù)所占內(nèi)存字節(jié)數(shù)是由所用機(jī)器的字長(zhǎng)決定的。
(20)下列程序的執(zhí)行結(jié)果是()。
#include<stdio.h>
voidmain()
(
inti=2;
printf("%d,%d\n",++i,-i);
)
A.1,1B.2,1C.1,2D.2,2
【答案】B
【解析】printf語句是從右向左計(jì)算輸出表達(dá)式的值。
(21)字符串常量”\\\22a,0\n”的長(zhǎng)度是()。
A.8B.7C.6D.5
【答案】C
【解析】該題主要考查轉(zhuǎn)義字符的使用。
(22)下列敘述錯(cuò)誤的是()。
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
【解析】當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對(duì)于實(shí)型變量也可以輸入整型值,只不過接收進(jìn)來之
后自動(dòng)在末尾加“.0”。
(23)下列敘述正確的是()o
A.C語言中既有邏輯類型也有集合類型
B.C語言中沒有邏輯類型但有集合類型
C.C語言中有邏輯類型但沒有集合類型
D.C語言中既沒有邏輯類型也沒有集合類型
【答案】D
【解析】C語言中既沒有邏輯類型也沒有集合類型。
2.填空題
(1)已知“intx=6;",則執(zhí)行語句"x+=x-=x*x;"后x的值是o
【答案】-60
(2)若w=l,x=2,y=3,z=4.則條件表達(dá)式“w>x?w:y<z?y:z”的結(jié)果是。
【答案】3
(3)若"intm=5,y=2;w,則計(jì)算表達(dá)式"y+=y-=m*=y"后y的值是0
【答案】-16
(4)在C語言中,一個(gè)mt型數(shù)據(jù)在內(nèi)存中如果占2字節(jié),則int型數(shù)據(jù)的取值范圍為
【答案】-32768^32767
(5)已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)或‘ch='a'+'8'-'3'"
的值為。
【答案】f
(6)若x和n均為int型變量,且x和n的初值均為5,則計(jì)算表達(dá)式“x+=n++”后x
的值為,n的值為。
【答案】106
(7)若有定義“inta=2,b=3;floatx=3.5,y=2.5;則表達(dá)式“(float)(a+b)/2+(int)x%(int)y”
的值為o
【答案】3.500000
(8)下列程序的輸出結(jié)果是o
#include<stdio.h>
intmain()
(
intk=2,i=2,m;
m<k+=i*=k);
printf("%d,%d\rT,m,i);
return0;
)
【答案】6,4
(9)以下程序的執(zhí)行結(jié)果是o
#include<stdio.h>
intmain()
(
inta,b,c;
a=b=l;
c=a++-l;
printf(”%d,%d,”,a,c);
c+=-a+++(++b11++c);
printf("%d,%d\n",a,c);
return0;
)
【答案】2,0,3,-1
(10)以下程序的執(zhí)行結(jié)果是
include<stdio.h>
intmain()
(
intn=023;
printf("%d\n"/--n);
return0;
)
【答案】18
(ID以下程序的執(zhí)行結(jié)果是
include<stdio.h>
voidmain()
(
inti=10;
printf("%d,%d,%d”,
)
【答案】8,9,10
(12)以下程序的執(zhí)行結(jié)果是
//include<stdio.h>
voidmain()
(
shortinta=-32768,b;
b=a-l;
printf("a=%d,b=%d",a,b);
)
[答案】
a=-32768zb=32767
(13)以下程序的執(zhí)行結(jié)果是
#include<stdio.h>
voidmain()
(
intx=042/y=067,z;
z=(x?2)&(y?3);
printf("%d\n",z);
)
【答案】8
(14)以下程序的執(zhí)行結(jié)果是
include<stdio.h>
voidmain()
(
intx=10,y=9;
inta,b,c;
a=(-x==y++)?-x:++y;
b=x++;
c=y;
printf("%d/%d/%d\n"/a,b,c);
)
【答案】8,8,10
(15)以下程序輸入123456789,其輸出結(jié)果是。
include<stdio.h>
voidmain()
(
inta,b;
floatf;
scanf("%2d%*2d%2d%f",&a,&b,&f);
printf("%d,%d,%f\rT,a,b,f);
)
【答案】12,56,789.000000
1.3第3章習(xí)題解答
i.選擇題
(1)c語言的if語句中,用做判斷的條件表達(dá)式為()。
A.任意表達(dá)式B.邏輯表達(dá)式
C.關(guān)系表達(dá)式D.算術(shù)表達(dá)式
【答案】A
【解析】在C語言中,任意類型的表達(dá)式都可以用做類型判斷,判斷的標(biāo)準(zhǔn)是:零
值為假,非零值為真。
(2)若希望當(dāng)x的值為奇數(shù)時(shí),表達(dá)式的值為真,x的值為偶數(shù)時(shí),表達(dá)式的值為假,
則以下不能滿足要求的表達(dá)式是()。
A.x%2==lB.x%2
C.!(x%2)D.!(x%2==0)
【答案】C
【解析】表達(dá)式”!(x%2)”與題意剛好相反。
(3)已知x=12,y=10,執(zhí)行語句“*x>12?x+l:x-l「后y的值為(.
A.13B.11C.0D.10
【答案】B
【解析】本題主要考查C語言中唯一一個(gè)三目運(yùn)算符,即關(guān)系運(yùn)算符的使用。
(4)已知a=l、b=2、c=3、d=4、m=2、n=2,執(zhí)行語句a(m=a>b)&&(n=c>d);n后n
的值為()o
A.lB.2C.3D.4
【答案】B
【解析】本題主要考查邏輯與運(yùn)算符的短路特性。
(5)下列程序運(yùn)行后輸出()0
#include<stdio.h>
intmain()
intx=10/y=20/z=30;
if(x>y)z=x;x=y;y=z;
printf("%d,%d,%d",x,y,z);
return0;
)
A.x=10,y=20?z=30B.x=20?y=30?z=30
C.x=20,y=30?z=10D.x=20>y=30?z=20
【答案】B
【解析】如果不是復(fù)合語句,if只與其下的第一條語句構(gòu)成條件結(jié)構(gòu)。
(6)下列程序()o
#include<stdio.h>
intmain()
inta=5,b=0,c=0;
if(a=b+c)
printfC'lllXn");
else
printf("222\n");
return0;
)
A.有語法錯(cuò)誤B.輸出111
C.不能輸出D.輸出222
【答案】D
【解析】if語句中的條件表達(dá)式為一個(gè)賦值表達(dá)式,其值為0,故運(yùn)算結(jié)果為222。
(7)下列程序運(yùn)行后輸出()。
#include<stdio.h>
intmain()
(
intm=l;
if(m++>l)
printf(”%d",m);
else
return0;
)
A.OB.1C.2D.3
【答案】C
【解析】該題主要考查自增、自減運(yùn)算符的位置,若“++”在后,則先取其當(dāng)前值參
與運(yùn)算,之后再自增1。
(8)若x=4、y=-2>z=5,則表達(dá)式w++x-y+z++w的值為()。
A.10B.11C.12D.13
【答案】12
【解析】因?yàn)椤?+”在前,所以“++x”得到5,減去y之后得到7,因?yàn)椤?+”在后,
所以“Z++”先取z當(dāng)前的值參與計(jì)算,之后得到結(jié)果為12。
(9)下列程序的輸出結(jié)果為()o
#include<stdio.h>
intmain()
(
intx=12;
while(x-);
printf(”%d”,x);
return0;
)
A.-1B.0C.11D.1
【答案】A
【解析】因?yàn)檠h(huán)的條件表達(dá)式為“x--”,所以當(dāng)循環(huán)條件不成立時(shí),x的值為0,隨
后x的值再自減1,故輸出x的值為-1。
(10)C語言允許if…else語句嵌套使用,規(guī)定else總是和()配對(duì)。
A.之前最近的ifB.第1個(gè)if
C.縮進(jìn)位置相同的ifD.之前最近的且尚未配對(duì)的if
【答案】D
【解析】本題考查在嵌套的if結(jié)構(gòu)中需要重點(diǎn)掌握的規(guī)則。
(11)下列程序執(zhí)行后的輸出結(jié)果是()<.
//include<stdio.h>
intmain()
(
inti=lj=2,k=3;
if(i++==l&&(++j==3||k++==3))
printf("%d%d%d”,i,j,k);
return0;
)
A.123B.234
C.223D.233
【答案】D
【解析】該題主要考查自增運(yùn)算符與邏輯運(yùn)算符的結(jié)合,重點(diǎn)是邏輯運(yùn)算符的短路性
質(zhì)。
(12)下列敘述正確的是()。
A.break語句只能用于switch語句中
B.在switch語句中必須使用default
C.break語句必須與switch語句中的case配對(duì)使用
D.在switch語句中不一定使用break語句
【答案】D
【解析】在switch語句中,break語句不是必須的項(xiàng)。
(13)當(dāng)從鍵盤輸入32時(shí),下列程序的輸出結(jié)果為()。
-include<stdio.h>
intmain()
(
intx,y;
scanf("%d",&x);
y=o;
if(x>=0)
(
if(x>0)y=l;
)
else
y=-i;
printf("%d,y);
return0;
)
A.0B.1C.-1D.不確定值
【答案】B
【解析】本題主要考查嵌套的if語句的作用。
(14)對(duì)于下列程序的判斷正確的是(
#include<stdio.h>
intmain()
(
intx=3/y=0/z=0;
if(x=y+z)
printfC*****");
else
printf("####");
return0;
)
A.有語法錯(cuò)誤不能通過編譯
B.輸出****
C.可以通過編譯,但是不能通過鏈接,因而不能運(yùn)行
D.輸出####
【答案】D
【解析】if語句的條件表達(dá)式為賦值表達(dá)式,其值為0o
(15)對(duì)于下列程序段的描述正確的是(
inta=10;
while(a=0)a=a-l;
A.循環(huán)體語句執(zhí)行10次B.循環(huán)體語句一次也不執(zhí)行
C.循環(huán)是無限循環(huán)D.循環(huán)體語句僅執(zhí)行一次
【答案】B
【解析】循環(huán)條件為假,所以一次也不執(zhí)行。
(16)語句awhile(!A);w中的表達(dá)式“!A”等價(jià)于()。
A.A==0B.A==lC.A!=0D.A!=l
【答案】A
【解析】作為循環(huán)條件時(shí),!A等價(jià)于A==0,A等價(jià)于A!=0。
(17)下列程序的運(yùn)行結(jié)果是()o
#include<stdio.h>
intmain()
inta=l/b=2/c=4,t;
while(a<b<c)
(
t=a;a=b;b=t;c-;
)
printf(',%d,%d,%d,a,b,c);
return0;
)
A.2,1,3B.2,1,4C.1,2,0D.1,2,2
【答案】C
【解析】重點(diǎn)理解循環(huán)中的條件表達(dá)式"a<b<c"與數(shù)學(xué)上的關(guān)系表達(dá)式的區(qū)別。
(18)下列程序的執(zhí)行結(jié)果是()。
include<stdio.h>
voidmain()
(
inta-0,i;
for(i=l;i<5;i++)
(
switch(i)
(
case0:
case3:a+=2;
case1:
case2:a+=3;
default:a+=5;
)
)
printf("%d\n”,a);
)
A.31B.13C.10D.20
【答案】A
【解析】循環(huán)過程中對(duì)變量a的增值情況為:8+8+10+5=31。
(19)對(duì)下列程序的描述正確的是()。
#include<stdio.h>
intmain()
(
inta=3;
do
(
printf("%d\n",a-=2);
}while(!(-a));
return0;
)
A.輸出1B.輸出1和?2
C.輸出3和0D.是死循環(huán)
【答案】B
【解析】該題主要考查自減運(yùn)算符與邏輯非運(yùn)算符的結(jié)合性。
(20)for(表達(dá)式1;;表達(dá)式3)可理解為()。
A.for(表達(dá)式1;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)
【答案】C
【解析】for語句中,省略表達(dá)式2相當(dāng)于條件永為真。
(21)下列描述正確的是()。
A.continue語句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行
B.break語句和continue語句的作用相同
C.只能在循環(huán)體內(nèi)使用continue語句
D.從循環(huán)嵌套中退出時(shí),只能使用got。語句
【答案】C
【解析】continue語句只能用于循環(huán)。
(22)下列程序段不是死循環(huán)的是()o
A.inti=100;
while(l)
{
i=i%100+l;
if(i>100)break;
)
B.for(;;);
C.intk=0;
do{++k;}while(k<=0);
D.ints=36;
while(s);-s;
【答案】C
【解析】C選項(xiàng)中的循環(huán)體只執(zhí)行一次就結(jié)束了,而其他都是死循環(huán)。
(23)下列程序的運(yùn)行結(jié)果是()。
include<stdio.h>
intmain()
(
inti;
for(i=l;i<=5;i++)
(
if(i%2)
printfC'*");
else
continue;
printf("#");
)
printff'$\n");
return0;
)
A.*#*#*#$B.#?#*#*
C.*#*#$D.#*#*
【答案】A
【解析】本題主要考查for循環(huán)中continue語句的用法。
(24)下列程序的運(yùn)行結(jié)果是()o
//include<stdio.h>
intmain()
(
inti,j,x=O;
for(i=0;i<2;i++)
(
x++;
for(j-0;j<-3;j++)
(
if(j%2)
continue;
x++;
)
x++;
)
printf("x=%d\n"/x);
return0;
)
A.x=4B.x=8C.x=6D.x=12
【答案】B
【解析】在雙重循環(huán)結(jié)構(gòu)中,continue語句只結(jié)束其所在循環(huán)的本次循環(huán)操作。
(25)若w、x、Y、z、m均為int型變量,則執(zhí)行以下語句后的m值是()。
w=l;x=2;y=3;z=4;
m=(w<x)?w:x;
m=(m<y)?m:y;
m=(x<z)?m:z;
A.1B.2C.3D.4
【答案】A
【解析】本題主要考查條件運(yùn)算符的使用,在“(表達(dá)式1)?(表達(dá)式2):(表達(dá)式
3)”中,“表達(dá)式1”的值為真時(shí)取“表達(dá)式2”的值為結(jié)果,否則取“表達(dá)式3”的值為結(jié)
果。
(26)下列程序段()。
for(t=l;t<=100;t++)
scanf("%d",&x);
if(x<0)
continue;
primf("%3cT,t);
)
A.當(dāng)x<0時(shí)整個(gè)循環(huán)結(jié)束B.x>=0時(shí)什么也不做
C.printf函數(shù)永遠(yuǎn)也不會(huì)被執(zhí)行D.最多允許輸出100個(gè)非負(fù)整數(shù)
【答案】D
【解析】當(dāng)x的值小于零時(shí),直接進(jìn)入下一次循環(huán),只有當(dāng)x的值大于等于零時(shí)才輸
出。
2,填空題
(1)在C語言中,break語句只能用于語句和語句中。
【答案】switch循環(huán)
(2)當(dāng)a=3,b=2>c=l時(shí),表達(dá)式"f=a>b>c"的值是。
【答案】0
(3)下列程序段的功能是從鍵盤輸入的字符中統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù),用換行符結(jié)束循
環(huán)。請(qǐng)?zhí)羁铡?/p>
intn=0,c;
c=getchar();
while()
(
if()n++;
c=getchar();
)
【答案】c!='\n'c>='0,&&c<='9,
(4)下列程序的功能是計(jì)算2?100的偶數(shù)的累加和。請(qǐng)?zhí)羁铡?/p>
include<stdio.h>
intmain()
(
inti,sum=0;
for()
sum+=i;
printf("sum=%d\n",sum);
return0;
)
【答案】i=2;i<=100;i+=2
(5)下列程序的輸出結(jié)果是o
#include<stdio.h>
intmain()
(
inta=100,x=10,y=20,okl=S/ok2=0;
if(x<y)
if(y!=10)
if(!okl)
a=l;
else
if(ok2)
a=10;
a=-l;
printf("%d\n",a);
return0;
)
【答案】-1
(6)下列程序運(yùn)行后輸出。
#include<stdio.h>
intmainf)
(
intx=l,y=2;
switch(x)
(
case1:
switch(y)
{
case1:printf("%d",x);break;
case2:printf("%d",y);break;
)
case2:printf("3");
)
return0;
)
【答案】23
(7)下列程序的功能是找出整數(shù)的所有因子。請(qǐng)?zhí)羁铡?/p>
include<stdio.h>
intmain()
(
intnJ;
scanf("%d",&n);
for(i=l;;i++)
(
iff)
printf("%3d",i);
)
printf("\n");
return0;
)
【答案】i<=n/2n%i==0
(8)下列程序執(zhí)行后的輸出結(jié)果是
#include<stdio.h>
intmain()
inta=3;
do
(
printf("*");
a-;
}while(!a==0);
return0;
}
【答案】***
(9)下列程序的執(zhí)行結(jié)果是
include<stdio.h>
intmain()
(
inti=l,n=0,s=l;
do
(
n=n+s*i;
s=-s;
i++;
}while(i<=9);
printf("%d",n);
return0;
)
【答案】5
(10)下列程序運(yùn)行后輸出_
#include<stdio.h>
intmain()
(
inta,b=19;
whilc(a=b1)
(
b-=3;
if(b%5==0)
(
a++;
continue;
}
elseif(b<5)
break;
a++;
)
printf("%d,%d\n",a,b);
return0;
)
【答案】6,4
(11)下列程序的運(yùn)行結(jié)果是。
#include<stdio.h>
intmain()
(
inti=l;
while(i<=15)
if(++i%3!=2)
continue;
else
printf("%d\t",i);
printf("\n");
return0;
)
【答案】2581114
(12)下列程序的功能是打臼100以內(nèi)個(gè)位數(shù)為6且能被3整除的所有數(shù)。請(qǐng)?zhí)羁铡?/p>
include<stdio.h>
intmain()
(
intij;
for(i=0;;i++j
(
j=i*10+6;
if()
continue;
printf("%d"J);
)
return0;
)
【答案】i<-9j%31-0
(13)下列程序的運(yùn)行結(jié)果是。
include<stdio.h>
intmain()
(
inti=5;
do
(
switch(i%2)
case4:i-;break;
case6:i-;continue;
)
printf("%d\t”,i);
}while(i>0);
return0;
)
【答案】31-1
2R5A
(14)下列程序的功能是計(jì)算分?jǐn)?shù)數(shù)列前20項(xiàng)的和:,…。請(qǐng)?zhí)羁铡?/p>
12358
#include<stdio.h>
intmain()
(
floats=0.0;
inti,a,b,t;
for(;i<=2O;i4-+)
(
s+=;
t-a+b;
b=a;
a=t;
)
printf("s=%.2f",s);
return0;
)
【答案】a=2,b=l/i=l(float)(a)/b
(15)下列程序的功能是根據(jù)公式e=1+1+工+工+…求e的近似值,要求精
1!2!3!
度為IO4。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
intmain()
(
inti;
doublee,new;
new=1.0;
for(i=l;;i++j
(
new/=(double)i;
e+=new;
)
printf("e=%f\n"/e);
return0;
)
【答案】e=1.0new>=le-6
3.編程題
(1)從鍵盤輸入任意一個(gè)整數(shù),判斷其是否為偶數(shù)。
【參考源程序】
include<stdio.h>
intmain()
(
intn;
printff'pleaseinputanurrber:\n");
scanf("%d",&n);
if(n%2==0)
printf("Yes!");
else
printf("No!");
return0;
)
(2)有如下函數(shù):
x,(x<1)
y=<2x-1,(14xv10)
3x-1,x>10
編寫程序,使輸入x時(shí),輸出相應(yīng)的y值。
【參考源程序】
#include<stdio.h>
intmain()
(
intx,y;
printf("pleaseinputthex:\n");
scanf("%d",&x);
if(x<l)
y=x;
elseit(x>=l&&x<10)
y=2*x-l;
elseif(x>=10)
y=3*x-l;
printff'yis%d",y);
return0;
)
(3)輸入一個(gè)整數(shù),若該數(shù)能夠被3和7整除,則輸出2:若只能被3和7中的?個(gè)
整除,則輸出L若不能被3和7中的任意一個(gè)整除,則輸出0。
【參考源程序】
#include<stdio.h>
intmain()
intn,m;
printf("pleaseinputn:\n");
scanf(”%d”,&n);
if(n%3==0&&n%7==0)
m=2;
elseif(n%3==0||n%7==0)
m=l;
else
m=0;
printf("theresultis%d"/m);
return0;
)
(4)愛因斯坦的階梯問題。愛因斯坦曾提出這樣一道有趣的數(shù)學(xué)題:有一個(gè)長(zhǎng)階梯,
若每步上2階,最后剩1階;若每步上3階,最后剩2階;若每步上5階,最后剩4階;若
每步上6階,最后剩5階;只有每步上7階,最后剛好一階不剩。問該階梯至少有多少階?
編寫程序解決這個(gè)問題。
【參考源程序】
#include<stdio.h>
intmain()
(
inti,n=l,m=l;
while(m)
(
if(n%2==l)
if(n%3==2)
if(n%5==4)
if(n%6==5)
if(n%7==0)
(
printf("%d",n);
m=0;
}
n++;
)
return0;
)
(5)輸出所有的水仙花數(shù)。水仙花數(shù)是一個(gè)3位整數(shù),它的各位數(shù)字的立方和等于該
數(shù)本身。
【參考源程序】
#indude<stdio.h>
intmain()
(
inti,a,b,c;
for(i=100;i<1000;i++)
a=i%10;
b=i/10%10;
c=i/100;
if(a*a*a+b*b*b+c*c*c==i)
printf("%d,i);
)
return0;
)
(6)編寫程序,打印九九乘法表。
【參考源程序】
include<stdio.h>
intmain()
(
intij;
for(i=l;i<10;i++)
(
for(j-l;j<-i;j++)
printf("%3d"/i*j);
printf("\n");
)
return0;
}
(7)編寫程序,打印如下圖形。
?
???
*****
*******
*****
???
?
【參考源程序】
#include<stdio.h>
intmain()
(
intij;
for(i=l;i<=4;i++)
(
for(j=l;j<=4-i;j++)
printf("");
for(j=l;j<=2*i-l;j++)
printfC'*");
printf("\n");
)
for(i=l;i<=3;i++)
for(j=l;j<=i;j++)
printf("");
for(j=l;j<=7-2*i;j++)
printf("*");
printfC'Xn");
)
return0;
)
(8)用公式K=1…求冗的近似值,直到最后一項(xiàng)的絕對(duì)值小于
4357
為止。
【參考源程序】
-include<stdio.h>
intmain()
(
floatsum=0.0/t=1.0/s=-l;
inti=l;
while(t>le-6)
(
s=s*(-l);
t=t*s;
sum+=t;
t=1.0/(2*i+l);
i++;
)
sum=sum*4;
printf("%f",sum);
return0;
)
(9)一個(gè)數(shù)如果恰好等于它的因子之和,就稱其為完數(shù)。例如,6的因子為1、2、3,
而6=1+2+3,因此6是完數(shù)。編寫程序找出1000以內(nèi)的所有完數(shù),并按下面格式輸出其因
子:6itsfactorsare1,2,3。
【參考源程序】
#include<stdio.h>
intmain()
(
inta,i,m;
for(a=l;a<=1000;a++)
(
for(m=Ozi=l;i<=a/2;i+4-)
if(!(a%i))
m+=i;
if(m==a)
(
printf("%4ditsfactorsare",a);
for(i=l;i<=a/2;i++)
if(!(a%i))
printf("%d,i);
printf("\n");
}
)
return0;
)
(10)給出任意一個(gè)不多于5位的正整數(shù),要求如下:
①求出它是幾位數(shù)。
②分別輸出每一位數(shù)字。
③按逆序輸出各位數(shù)字。例如,原數(shù)為321,則輸出123。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度船舶股權(quán)轉(zhuǎn)讓與船舶維修配件供應(yīng)協(xié)議4篇
- 二零二五百貨公司員工培訓(xùn)與福利保障合同3篇
- 2025年度城市綠化工程項(xiàng)目承包合同生態(tài)環(huán)保責(zé)任落實(shí)辦法4篇
- 2025年度智能棋牌室項(xiàng)目合作協(xié)議
- 二零二五年度材料開口產(chǎn)品綠色生產(chǎn)技術(shù)合同3篇
- 2025年度體育用品電商平臺(tái)內(nèi)容合作合同范本
- 2025年度健身房租賃合同77069(含健身課程)4篇
- 二零二五版苗圃土地租賃與農(nóng)業(yè)科技企業(yè)孵化合作合同4篇
- 2025年立柱廣告牌租賃合同(含廣告位廣告效果分析與提升)4篇
- 2025年度水電安裝工程合同變更管理合同樣本4篇
- 2025屆北京巿通州區(qū)英語高三上期末綜合測(cè)試試題含解析
- 公婆贈(zèng)予兒媳婦的房產(chǎn)協(xié)議書(2篇)
- 煤炭行業(yè)智能化煤炭篩分與洗選方案
- 2024年機(jī)修鉗工(初級(jí))考試題庫附答案
- Unit 5 同步練習(xí)人教版2024七年級(jí)英語上冊(cè)
- 矽塵對(duì)神經(jīng)系統(tǒng)的影響研究
- 分潤(rùn)模式合同模板
- 海南省汽車租賃合同
- 2024年長(zhǎng)春醫(yī)學(xué)高等??茖W(xué)校單招職業(yè)適應(yīng)性測(cè)試題庫必考題
- (正式版)SHT 3046-2024 石油化工立式圓筒形鋼制焊接儲(chǔ)罐設(shè)計(jì)規(guī)范
- 2023年山東濟(jì)南市初中學(xué)業(yè)水平考試地理試卷真題(答案詳解)
評(píng)論
0/150
提交評(píng)論