版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
二級(jí)C語(yǔ)言程序設(shè)計(jì)練習(xí)題gj.txt45想洗澡嗎?不要到外面等待下雨;想成功嗎?不要空
等機(jī)遇的到來(lái)。摘下的一瓣花能美麗多久?一時(shí)的放縱又能快樂(lè)多久?有志者要為一生的
目的孜孜以求。少年自有少年狂,藐昆侖,笑呂梁;磨劍數(shù)年,今將試鋒芒。自命不凡不可
取,妄自菲薄更不宜。重要說(shuō)明:本習(xí)題所有題目均假設(shè)上機(jī)環(huán)境為T(mén)C2.0,而2023年版最
新大綱規(guī)定等級(jí)考試上機(jī)用VC6.0,這重要對(duì)筆試的影響在于int類型所占用的字節(jié),本來(lái)
TC2.0中int類型為2個(gè)字節(jié),而最新VC6.0中int類型占用4個(gè)字節(jié),所以以下所有題目
涉及int數(shù)據(jù)類型占用字節(jié)數(shù)的地方請(qǐng)大家把題目和參考答案按新大綱做相應(yīng)調(diào)整即可,川
到int類型數(shù)據(jù)但不涉及int占字節(jié)數(shù)的所有地方不必調(diào)整。(其實(shí)需要調(diào)整的地方很少的,
請(qǐng)大家自己辨認(rèn))
C語(yǔ)言程序設(shè)計(jì)習(xí)題
(全國(guó)計(jì)算機(jī)等級(jí)考試)
第一章程序設(shè)計(jì)基本概念
[1.1]在TURBOC環(huán)境中用RUN命令運(yùn)營(yíng)一個(gè)C程序時(shí),所運(yùn)營(yíng)的程序的后綴是______。
[1.2]C語(yǔ)言源程序文獻(xiàn)的后綴是,通過(guò)編譯后,生成文獻(xiàn)的后綴是,通過(guò)
連接后,生成文獻(xiàn)的后綴是。
[1.3]結(jié)構(gòu)化程序由—、—、—三種基本結(jié)構(gòu)組成。
第二章C程序設(shè)計(jì)的初步知識(shí)
一、選擇題
[2.1]以下選項(xiàng)中對(duì)的的整型常量是
A)12B)-2001,0001))456
[2.2]以下選項(xiàng)中對(duì)的的實(shí)型常量是
A)0B)3.1415C)0.329*102D).871
[2.3]以下選項(xiàng)中不對(duì)的的實(shí)型常量是
A)2.607E-1B)0.8103e2C)-77.77D)456e-2
[2.4]以下選項(xiàng)中不合法的用戶標(biāo)記符是
A)abc.cB)fileOMainD)PRINTF
[2.5]以下選項(xiàng)中不合法的用戶標(biāo)記符是
A)_123B)printfC)A$D)Dim
[2.6]C語(yǔ)言中運(yùn)算對(duì)象必需是整型的運(yùn)算符是
A)%B)/C)!D)**
[2.7]可在C程序中用作用戶標(biāo)記符的一組標(biāo)記符是
A)voidB)as_b3C)ForD)2c
define_123_abcDO
WORDIfcaseSIG
[2,8]若變量已對(duì)的定義并賦值,符合C語(yǔ)言語(yǔ)法的表達(dá)式是
A)a=a+7;B)a=7+b+c,a++C)int(12.3%4)D)a=a+7=c+b
[2.9]以下敘述中對(duì)的的是
A)a是實(shí)型變量,C允許進(jìn)行以下賦值a=10,因此可以這樣說(shuō):實(shí)型變量允許賦值整型
值。
B)在賦值表達(dá)式中,賦值號(hào)左邊既可以是變量也可以是任意表達(dá)式。
0執(zhí)行表達(dá)式a=b后,在內(nèi)存中a和b存儲(chǔ)單元中的原有值都將被改變,a的值已由原
值改變?yōu)閎的值,b的值由原值變?yōu)?。
D)已有a=3,b=5。當(dāng)執(zhí)行了表達(dá)式a二b,b二a之后,已使a中的值為5,b中的值為3。
[2.10]以下敘述中對(duì)的的是
在C程序中無(wú)論整數(shù)還是實(shí)數(shù),只要在允許的范圍內(nèi)都能準(zhǔn)確無(wú)誤的表達(dá)。
C程序由主函數(shù)組成。
C程序由函數(shù)組成。
C程序由函數(shù)和過(guò)程組成。
[2.11]TURBOC中int類型變量所占字節(jié)數(shù)是
A)1B)203D)4
[2.12]不合法的八進(jìn)制數(shù)是
A)0B)0280077D)01
[2.13]不合法的十六進(jìn)制數(shù)是
A)oxffB)OXabcC)0xllD)0xl9
二、填空題
[2.14]若k為int整型變量且賦值11。請(qǐng)寫(xiě)出運(yùn)算k++后表達(dá)式的值A(chǔ))—和變最的值
B)
[2.15]若x為double型變量,請(qǐng)寫(xiě)出運(yùn)算x=3.2,++x后表達(dá)式的值A(chǔ))____和變量的值
B)°
[2.16]函數(shù)體由符號(hào)—開(kāi)始,用符號(hào)結(jié)束。函數(shù)體的前面是部分,其后是
_______部分。
[2.17]C語(yǔ)言中的標(biāo)記符可分為、、和預(yù)定義標(biāo)記符三類。
[2.18]在C語(yǔ)言程序中,用關(guān)鍵字定義基本整型變量,用關(guān)鍵字定義單
精度實(shí)型變量,用關(guān)鍵字______定義雙精度實(shí)型變量。
[2.19]把a(bǔ)l.a2定義成單精度實(shí)型變量,并賦初值1的定義語(yǔ)句是。
[2.20]C程序中定義的變量,代表內(nèi)存中的一個(gè)o
[2.21]表達(dá)式3.5+1/2的計(jì)算結(jié)果是________。
[2.22]對(duì)以下數(shù)學(xué)式,寫(xiě)出三個(gè)等價(jià)的C語(yǔ)言表達(dá)式、、o
aib
[2.23]表達(dá)式s=10應(yīng)當(dāng)讀做“
[2.24]計(jì)算機(jī)中內(nèi)存儲(chǔ)器的最小存儲(chǔ)單位稱_,其中能容納的數(shù)是_________,
[2.25]通常一個(gè)字節(jié)包含______個(gè)二進(jìn)制位。在一個(gè)字節(jié)中能存放的最大(十進(jìn)制)整數(shù)是
它的二進(jìn)制數(shù)的形式是;最?。ㄊM(jìn)制)整數(shù)是,它的二進(jìn)制數(shù)的
形式是o
[2.26]當(dāng)計(jì)算機(jī)用兩個(gè)字節(jié)存放一個(gè)整數(shù)時(shí),其中能存放的最大(十進(jìn)制)整數(shù)是、
最?。ㄊM(jìn)制)整數(shù)是_____它的二進(jìn)制數(shù)的形式是O
[2.27]在C語(yǔ)言中整數(shù)可用_____進(jìn)制數(shù)、_____進(jìn)制數(shù)和進(jìn)制數(shù)三種數(shù)制表達(dá),
三、上機(jī)改錯(cuò)題(讀者最佳在TURBOC環(huán)境下上機(jī)試一試,以便熟悉犯錯(cuò)信息)。
[2.28]請(qǐng)指出以下C程序的錯(cuò)誤所在
#includestdio.h;
main();/*mainfunction*/
floatr,s;/*/*risradius*/,/*sisareaofcircular*/*/
r=5.0;
s=3.14159*r*r;
printf("%f\nw,s)
[2.29]請(qǐng)指出以下C程序的錯(cuò)誤所在
#includestdio.h
main/*mainfunction*/
{floata,b,c,v;/*a,b,caresides,visvolumeofcube*/
a=2.0;b=3.0;c=4.0
v=a*b*c;
printf(M%f\nw,v)
)
第三章順序結(jié)構(gòu)
選擇題
[3.1]若a、b、c、d、都是int類型變量且初值為0,以下選項(xiàng)中不對(duì)的的賦值語(yǔ)句是
A)a=b=c=d=100:B)d++;C)c+b;D)d=(c=22)-(b++);
[3.2]以下選項(xiàng)中不是C語(yǔ)句的是
A){inti;i++;printf(<<%d\n>>,i);}B);
0a=5,c=10D){;}
[3.3]以下合法的C語(yǔ)言賦值語(yǔ)句是
A)a=b=58B)k=int(a+b);C)a=58,b=58
[3.4]以下程序的輸出結(jié)果是
A)0B)1C)3D)不擬定的值
main()
{intx=10,y=3;
printf(a%d\nw,y=x/y);}
[3.5]若變量已對(duì)的說(shuō)明為ini類型,要給a、b、c輸入數(shù)據(jù),以下對(duì)的的輸入語(yǔ)句是
A)read(a,b,c);B)scanf("%d%d%d”,a,b,c);
C)scanf(“%D%D%D”,&a,%b,%c);D)scanf(“%d%d%d",&a,&b,&c);
[3.6]若變量已對(duì)的說(shuō)明為float類型,要通過(guò)以下賦值語(yǔ)句給a賦予10、b賦予22.c賦予
33,以下不對(duì)的的輸入形式是
A)10B)10.0,22.0,33.0C)10.01))1022
2222.033.033
33
scanf(a%f%f%fw,&a,&b,&c);
[3.7]若變量己對(duì)的定義,要將a和b中的數(shù)進(jìn)行互換,下而不對(duì)的的語(yǔ)句組是
A)a=a+b,b=a-b,a=a-b;B)t=a,a=b,b=t;
C)a=t;t=b;b=a;D)t=b;b=a;a=t;
[3.8]若變量已對(duì)的定義,以下程序段的輸出結(jié)果是
A)輸出格式說(shuō)明與輸出項(xiàng)不區(qū)配,輸出無(wú)定值B)5.17
05.168D)5.169
X=5.16894;
Printf("%f\n,T,(int)(:x*1000+0.5)/(float)1000);
[3.9]若有以下程序段,c3中的值是
A)0B)l/2C)0.51))1
intcl=l,c2=2,c3;
c3=cl/c2;
[3.10]若有以下程序段,其輸出結(jié)果是
A)3,0,-10B)0,0,50-10,3,-10D)3,0,3
inta=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(u%d,%d,%d\nw,a,b,c);
[3.11]當(dāng)運(yùn)營(yíng)以下程序時(shí),在鍵盤(pán)上從第一列開(kāi)始輸入<CR>(此處<CR>代表Enter),則程
序的輸出結(jié)果是
A)a=98,b=765,c=4321B)a=10,b=432,c=8765
0a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,c=4321.0
main()
{inta;floatb,c;
scanf(w%2d%3f%4fw,&a,&b,&c);
printf("\na=%d,b=%f,c=%f\n,>,a,b,c);
)
[3,12]以下程序的輸出結(jié)果是
A)a$2,b=%5B)a=2,b=5
C)a=%%d,b=%%dD)a^d,b二%d
main()
{inta=2,b=5;
printf(ua=%%d,b=%%d\n”,a,b);}
[3.13]若int類型占兩個(gè)字節(jié),則以下程序段的輸出是
A)-l,-lB)-1,32767C)-1,32768D)-1,65535
inta=-l;
printf("%d,%u\r.w,a,a);
[3,14]以下程序段的輸出是
A)*496*B)*496*0*000496*D)輸出格式符不合法
intx=496;
Printf(M*%06d*\nw,x);
[3.15]以下程序段的輸出是
A)|3.1415|B)|3.0|C)|3|D)|3.|
floata=3.1415;
Printf("|%6.0f|\n",a);
[3,16]以下程序段的輸出是
A)|2345.678001B)112345.67801
C)112345.678001D)112345.6781
printf(a|%10.5f|\n",12345.678);
[3.17]以下程序段的輸出是
A)*0000057.66*B)*57.66*
0*0000057.67*D)*57.67*
floata=57.666;
pirntf(a%010.2f\nw,£);
3.18若從終端輸入以下數(shù)據(jù),要給變量c賦以283.19,則對(duì)的的輸入語(yǔ)句是
A)scanf(a%f",c);B)scanf(u%8.4f”,&c);
B)scafn(M%6.2f”,&c);D)scanf(u%8W,&c);
283.1900<CR>
[3.19]若變量已對(duì)的說(shuō)明,規(guī)定用以下語(yǔ)句給a賦予3.12.給b賦予9.0,則對(duì)的的輸入形
式是(口代表空格)
A)3.12UU9.0<CR>B)a=UU3.12b=UUU9<CR>
C)a=3.12,b=9<CR>D)a=3.12HH,b=9HHHH<CR>
scanf(aa=%f,b=%f",&w,&b);
[3.20]以下程序的輸出結(jié)果是
A)98B)89C)66D)以上三個(gè)都不對(duì)
#include"math.hw
mainO
{doublea=-3.0,b=2;
printf(u%3.Of%3.Of\nM,pow(b,fabs(a)),pow(fabs(a),b));
}
填空題
[3.21]若有以下定義,請(qǐng)寫(xiě)出以下程序段中輸出語(yǔ)句執(zhí)行后的輸出結(jié)果。
(1)(2)(3)
inti=-200,j=2500;
printf(u(1)%d刎”,i,j);
printf(a(2)i=%d,j=%d\nM,i,j);
printf(u(3)i=%d\nj=%d\nw,i,j);
[3.22]變量i、j、k已定義為int類型并有初值0,用以下語(yǔ)句進(jìn)行輸入時(shí)
scanf(a%d",&D;scc.nf(u%dw,&j);scanf(a%d”,&k);
當(dāng)執(zhí)行第一個(gè)輸入語(yǔ)句,從鍵盤(pán)輸入:
12.3<CR><CR>表達(dá)Enter鍵
則變量i、j、k的值分別是、、o
[3,23]復(fù)合語(yǔ)句在語(yǔ)法上被認(rèn)為是??照Z(yǔ)句的形式是o
[3.24]C語(yǔ)句的最后用結(jié)束。
[3,25]以下程序段,規(guī)定通過(guò)scanf語(yǔ)句給變量賦值,然后輸出變量的值。寫(xiě)出運(yùn)營(yíng)時(shí)給k
輸入100,給a輸入25.81,給x輸入1.89234時(shí)的三種也許的輸入形式、、。
intk;floata;doublex;
scanf(%d%f%lfw,&k,&a,&x);
pirntf(ak=%d,a=%f,x=^f\nn,k,a,x);
[3,26]以下程序段的輸出結(jié)果是°
intx=0177;
printf(ux=%3d,x=%6d,x=%6o,x=%6x,x二%6u\n",x,x,x,x,x);
[3.27]以下程序段的輸出結(jié)果是o
intx=0177;
printf("x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%%06d\n>,,x,x,x,x,x);
[3,28]以下程序段的輸出結(jié)果是_____。
doublea=5.13.789215;
printf(aa=%8.6f,a=%8.2f,a=%14.8f,a=%14.81f\nw,a,a,a,a);
編程題和改錯(cuò)題
[3,29]以下程序多處有錯(cuò)。要按下面指定的形式輸入數(shù)據(jù)和輸出數(shù)據(jù)時(shí),請(qǐng)對(duì)該程序做相應(yīng)
的修改。
main
{doublea,b,c,s,v;
printf(inputa,b,c:\n);
scanf("%d%d%d”,a,b,c);
s=a*b;/*計(jì)算長(zhǎng)方形面積*/
v=a*b*c;/*計(jì)算長(zhǎng)方體體積*/
printf(<4%d%d%dM,a,b,c);
printf("s=%f\n",s,"v=%d\nM,v);
)
當(dāng)程序執(zhí)行時(shí),屏幕的顯示和規(guī)定輸入形式如下:
inputa,b,c:2.02.03.0此處的2.02.03.0是用戶輸入的數(shù)據(jù)
a=2.000000,b=2.000000,c=3.000000此處是規(guī)定的輸出形式
s=4.000000,v=12.000000
[3.30]編寫(xiě)程序,把560分鐘換算成用小時(shí)和分鐘表達(dá),然后進(jìn)行輸出。
[3.31]編寫(xiě)程序,輸入兩個(gè)整數(shù):1500和350,求出它們的商數(shù)和余數(shù)并進(jìn)行輸出。
[3.32]編寫(xiě)程序,讀入三個(gè)雙精度數(shù),求它們的平均值并保存此平均值小數(shù)后一位數(shù),對(duì)
小數(shù)點(diǎn)后笫二位數(shù)進(jìn)行四舍五入,最后輸出結(jié)果。
[3.33]編寫(xiě)程序,讀入三個(gè)整數(shù)給a、b、c,然后互換它們中的數(shù),把a(bǔ)中本來(lái)的值給b,把
b中本來(lái)的值給c,把c中本來(lái)的值給a。
第四章選擇結(jié)構(gòu)
一、選擇題
[4.1]下列運(yùn)算符中優(yōu)先級(jí)最高的運(yùn)算符是
A)!B)%C)-=D)&&
[4.2]下列運(yùn)算符中優(yōu)先級(jí)最低的運(yùn)算符是
A)||B)!=C)<=D)+
[4.3]為表達(dá)關(guān)系x>=y>《,應(yīng)使用的C語(yǔ)言表達(dá)式是
A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)
C)(x>=y>=z)D)(x>=y)&(y>=z)
[4.4]設(shè)a、b和c都是int型變量,且a=3,b=4,c=5;則以下的表達(dá)式中,值為0的
表達(dá)式是
A)a&&bB)a<=bC)a||b+c&&b-cD)!((a<b)&&!c||1)
[4.5]以下程序的輸出結(jié)果是:
A)0B)1C)2D)3
main()
{inta=2,b=-l,c=2:
if(a<b)
if(b<0)c=0;
elsec+=l;
printf(w%d\nM,c);
)
[4.6]以下程序的輸出結(jié)果是:
A)1B)2C)3D)4
main()
{intw=4,x=3,y=2,z=l;
printf(w%d\nw,(w<x?w:z<y?z:x));
)
[4,7]若執(zhí)行以下程序時(shí)從鍵盤(pán)上輸入3和4,則輸出結(jié)果是
A)14B)16018D)20
main()
{inta,b,s;
scanf(“%d%d”,&a,&b);
s=a;
if(a<b)s=b;
s*二s;
printf("%d\n",s);
[4.8]下面的程序片段所表達(dá)的數(shù)學(xué)函數(shù)關(guān)系是
A)-l(x<0)
A)y=0(x=0)
1(x>0)
B)1(x<0)
B)y=-1(x=0)
0(x>0)
C)C(x<0)
C)y=-l(x=O)
1(x>0)
D)-l(x<0)
D)y=1(x=0)
0(x>0)
y=-l;
if(x!=0)
{if(x>0)y=l;}
elsey=0;
[4,9]運(yùn)營(yíng)以下程序后,輸出
A)####
C)####&&&&D)有語(yǔ)法錯(cuò)誤不能通過(guò)編譯
main()
{intk=-3;
if(k<=0)printf("****\n”);
elseprintf(;
)
[4.10]若a和b均是正整數(shù)型變量,以下對(duì)的的switch語(yǔ)句是
A)switch(pow(a,2)+pow(b,2))(注:調(diào)用求基的數(shù)學(xué)函數(shù))
{case1:case3:y=a+b;break;
case0:case5:y=a-b:
)
B)switch(a*a+b*b);
case3:
case1:y=a+b;break;
case0:y=b-a;break;
)
C)switcha
{default:x=a+b;
case10:y=a-b;break;
case11:y=a*d;break;
)
D)switch(a+b)
{easel0:x=a+b;break;
easel1:y=a-b;break;
)
二、填空題
[4.11]C語(yǔ)言中用_____表達(dá)邏輯值“真”,用表達(dá)邏輯值“假工
[4.12]C語(yǔ)言中的關(guān)系運(yùn)算符按優(yōu)先級(jí)別是
[4.13]C語(yǔ)言中的邏輯運(yùn)算符按優(yōu)先級(jí)別是、、.
[4.14]C語(yǔ)言中的關(guān)系運(yùn)算符和邏輯運(yùn)算符的優(yōu)先級(jí)別是—、、、_、。
[4.15]C語(yǔ)言中邏輯運(yùn)算符______的優(yōu)先級(jí)高于算術(shù)運(yùn)算符。
[4,16]將下列數(shù)學(xué)式改寫(xiě)成C語(yǔ)言的關(guān)系表達(dá)式或邏輯表達(dá)式A)和
B)__________
A)a=b或a<cB)|x|>4
[4.17]請(qǐng)寫(xiě)出以下程序的輸出結(jié)果
mainO
{inta=100;
if(a>100)printff<<%d\n>>,a>100);
elseprintf(<<%d\nw,a<=100);
)
[4.18]請(qǐng)寫(xiě)出與以下表達(dá)式等價(jià)的表達(dá)式A)B).
A)[(x>0)B)!O
[4.19]當(dāng)a=l,b=2,c=3時(shí),以下if語(yǔ)句執(zhí)行后,a、匕、c中的值分別為_(kāi)__、、—.
if(a>c)
b=a;a=c;c=b;
[4.20]若變量巳對(duì)的定義,以下語(yǔ)句段的輸出結(jié)果是
x=0,y=2,z=3;
switch(x)
{case0:switch(y=2)
{case1:printf("*");break;
case2:printf(;break;
}
case1:switch(2)
case1:printf("$");
case2:printf(a*f,);break;
default:printf("#");
}
)
三、編程題
[4.21]請(qǐng)將以下語(yǔ)句改寫(xiě)成switch語(yǔ)句。
if(a<30)m=l;
elseif(a<40)m=2;
elseif(a<50)m=3;
elseif(a<60)m=4;
elsem=5;
[4.22]編寫(xiě)程序,輸入一位學(xué)生的生日(年:yO、月:mO、日:dO);并輸入當(dāng)前的日期(年:
yl.月:ml.日:dl);輸出該生的實(shí)足年齡。
[4.23]編寫(xiě)程序,輸入一個(gè)整數(shù),打印出它是奇數(shù)還是偶數(shù)。
[4.24]編寫(xiě)程序,輸入£、b、c三個(gè)數(shù),打印出最大者.
[4.25]有一函數(shù):
x(-5<x<0)
y=x-1(x=0)
x+1(0<x<10)
編寫(xiě)一程序,規(guī)定輸入x的值,輸出y的值。
分別用(1)不嵌套的if語(yǔ)句(2)嵌套的if語(yǔ)句(3)if-else語(yǔ)句(4)switch語(yǔ)句
第五章循環(huán)結(jié)構(gòu)
一.選擇題
[5.1]以下程序段的輸出結(jié)果是
A)9B)1C)11D)10
intk,j,s;
for(k=2;k<6;k++,k++)
{s=l;
for(j=k;j<6;j++)s+=j;
}
printf(,s);
[5.2]以下程序段的輸出結(jié)果是
A)12B)15020D)25
inti,j,m=0;
for(I=l;K=5;I+=4)
for(j=3;j<=19;j+=4)m++;
printf(,m);
[5.3]以下程序段的輸出結(jié)果是
A)10B)9C)10D)9
9898
8787
76
intn=10;
while(n>7)
{n—;
printf(“與d\n",n);
)
[5.4]以下程序段的輸出結(jié)果是
A)1B)30C)1-2D)死循環(huán)
intx=3;
do
{printf(4<%3dn,x-=2);}
while(!(-x));
[5.5]以下程序的輸出結(jié)果是
A)15B)14C)不擬定D)0
main()
{inti,sum;
for(i=l;i<6;i++)stm+=sum;
printfCM%d\nv,sum);
)
[5.6]以下程序的輸出結(jié)果是
A)741B)852C)9631))875421
main()
{inty=10;
for(;y>O;y-)
if(y%3==0)
{printf("%d",一y);continue)
)
[5.7]若x是int型變量,以下程序段的輸出結(jié)果是
A)**3B)##3C)##3D)**3##4
##4**4**4##5**5
**5
for(x=3;x<6;x++)
printf((x%2)?():(“##%d\n"),x);
[5.8]以下程序的輸出結(jié)果是
A)*#*#*#$B)#*#*#*$
C)*#*#$
mainO
{inti;
for(i=l;i<=5;i++)
{if(i%2)printf("*");
elsecontinue;
printf("#");
}
printf("$\n");
)
[5.9]以下敘述對(duì)的的是
A)do-while語(yǔ)句構(gòu)成的循環(huán)不能用其他語(yǔ)句構(gòu)成的循環(huán)弋替.
B)do-while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句退出
C)用do-while語(yǔ)句構(gòu)成循環(huán)時(shí),只有在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)
D)用dorhile語(yǔ)句構(gòu)成循環(huán)時(shí),只有在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)
[5,10]以下程序的輸出結(jié)果是
A)3981B)4284C)2668D)2870
main()
{intx,i;
for(i=l;i<=100;i++)
{x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf(“%d”,x):
)
printf("\n”);
)
二.填空題
[5.11]當(dāng)執(zhí)行以下程序段后,i的值是_、j的值是_、k的值是
inta,b,c,d,i,j,k;
a=10;b=c=d=5;i=j=k=0;
for(;a>b;++b)i++;
while(a>++c)j++;
dok++;while(a>d++);
[5,12]以下程序段的輸出結(jié)果是—.
intk,n,m;
n=10;m=l;k=l;
while(k<=n)m*=2;
printf("%d\n",m);
[5,13]以下程序段的輸出結(jié)果是一.
mainO
{intx=2;
while(x-);
printf(“%d\n",x);
)
[5.14]以下程序段的輸出結(jié)果是—.
inti=0,sum=l;
do{sum+=i++;}while(i<5);
printf(a%d\nw,sum);
[5.15]有以下程序段:
s=l.0;
for(k=l;k<=n;k++)s=s+l.0/(k*(k+D):
printfCM%f\nv,s);
請(qǐng)?zhí)羁眨瓜旅娴某绦蚨蔚墓δ芡耆c之等同。
s=0.0;
k=0;
do
{s=s+d;
d=1.0/(k*(k+l)):
)
while();
printf("/f\n",s);
[5,16]以下程序的功能是:從鍵盤(pán)上輸入若干學(xué)生的成績(jī),記錄并輸出最高成績(jī)和最低成
績(jī),當(dāng)輸入負(fù)數(shù)時(shí)結(jié)束輸入。
main()
{floatx,amax,amin;
scanf(“%f”,&x);
amax=x;amin=x;
while()
{if(x>amc.x)amax=x;
if()amin=x;
scanf(“舟f”,&x);
)
printf(u\namax=%f\namin=%f\nv,amax,amin);
)
三.編程題
[5.17]編寫(xiě)程序,求1-34-5-7+--99+101的值。
[5.18]編寫(xiě)程序,求e的值。e?l+l/l1+1/2!+1/3!+..-l/n!
用循環(huán),計(jì)算前50項(xiàng)。
(2)用循環(huán),規(guī)定直至最后一項(xiàng)的值小于10-4
[5.19]編寫(xiě)程序,輸入從公元102023至2023年所有閏年的年號(hào)。每輸出3個(gè)年號(hào)換一行。
判斷公元年是否為閏年的條件是:
(1)公元年數(shù)如能被4整除,而不能被100整除,則是閏年;
(2)公元年數(shù)能被400整除也是閏年。
[5.20]編寫(xiě)程序,打印以下圖:
*
***
*****
*******
*******
***
*
第六章字符型數(shù)據(jù)
一、選擇題
[6.1]C語(yǔ)言中的簡(jiǎn)樸類型有
A)整型,實(shí)型,邏輯型B)整型,實(shí)型,字符型
C)整型,字符型,邏輯型I))整型,實(shí)型,邏輯型,字符型
[6.2]C語(yǔ)言中,字符型(char)數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)形式是
A)反碼B)補(bǔ)碼C)EBCDIC碼D)ASCII碼
[6.3]設(shè)有語(yǔ)句chara='\72'則變量A
A)包含1個(gè)字符B)包含2個(gè)字符C)包含3個(gè)字符D)說(shuō)明不合法
[6.4]C語(yǔ)言中不合法的字符常量是
A)'\OXFF'B)'65'C)'&'D)'\28'
[6.5]C語(yǔ)言中不合法的字符串常量是
A)"121"B)‘Y二'C)"\n\n〃D)"ABCD\X6d〃
[6.6]判斷char型變量C是否為大寫(xiě)字母的最簡(jiǎn)樸且對(duì)的的表達(dá)式是
A)'A'<=C=2B)(C>='A')&(C<='Z')
C)('A'<=C)AND('Z'>=C)D)?='A')&&(C〈='Z')
[6.7]以下程序的輸出結(jié)果是
A)因輸出格式不合法,無(wú)對(duì)的輸出B)65,90
C)A,YD)65,89
main()
{charcl=,a*,c2=,y1;
printf("%d,%d\n*,cl,c2);
)
[6.8]以下程序的輸出結(jié)果是
A)AB)aC)ZD)z
main()
{charx='a'
x=(x>='A'Mx<=Z,)?(x+32):x;
printf(*%c\n*,x);
}
[6.9]以下程序的輸出結(jié)果是
A)67,CB)B,CC)C,DD)不擬定的值
mainO
charchi,ch2;
chl='A'+'5'-'3';
ch2=a'+'5'3';
printf(飛d,%c\n*,ch2);
}
[6.10]對(duì)以卜.程序,從第一列開(kāi)始輸入數(shù)據(jù):2473?R>,<CR>代表ENTER,程序的輸出結(jié)果是
A)668977B)668966066778777D)6688766
#include“stdio.h"
main()
{intc;
while((c=getchar())!='\n')
{switch(c-'2')
{case0:
case1:putchar(c+4);
case2:putchar(c+4);break;
case3:putchar(c+3);
defaultputchar(c+2);break;
}
}prinf("\n");
)
[6.11]若變量已對(duì)的說(shuō)明,規(guī)定用以下語(yǔ)句給C1賦予字符即給C2賦予字符#,給a賦予2.0,
給b賦予4.0,則對(duì)的的輸入形式是
A)2.0%4.0#<CR>B)2.0%4.0#<CR>
C)2%4#<CR〉D)2%4<CR>
,,,,
scanf(%f%c%f%c,&a,&cl,&b,&c2);
二、填空題
[6.12]EOF的十進(jìn)制值是.
[6.13]C語(yǔ)言中,字符占內(nèi)存一個(gè)字節(jié).
[6,14]調(diào)用C語(yǔ)言對(duì)字符解決的庫(kù)函數(shù)時(shí),在#include命令行中應(yīng)包含的文獻(xiàn)是
[6,15]若輸入字符A,在以下WHILE語(yǔ)句執(zhí)行后ch的值是
while(ch=getchar()=,A*);
[6.16]若要通過(guò)以下語(yǔ)句給a,b,c,d分別輸入字符A,B,C,I),給w,x,y,z
分別輸入1(),20,30,4(),對(duì)的的輸入形式是請(qǐng)用<CR>代表ENTER鍵.
scanf(w%d%c%d%c^d%c%d%c,&w,&a,&x,&b,&y,&c,&z,&d);
[6.17]若有以下說(shuō)明和輸入語(yǔ)句,規(guī)定給cl,定輸入字符A,B,給al,a2輸入7.29和10L298,
從鍵盤(pán)對(duì)的輸入數(shù)據(jù)的形式是
charcl,c2;floatal,a2;
scanf&al,&a2);scanf&cl,&c2);
[6.18]若有以下說(shuō)明和輸入語(yǔ)句,規(guī)定給cl,c2輸入字符A,B,給al,a2輸入7.29和
101.298,
從鍵盤(pán)對(duì)的輸入數(shù)據(jù)的形式是
charcl,c2;floatal,a2;
scanf&cl,&al,&c2,&a2);
[6.19]若有以下說(shuō)明和輸入語(yǔ)句,規(guī)定給cl,c2,c3輸入字符A,B,C,從鍵盤(pán)對(duì)的輸入數(shù)據(jù)的
形式.
charcl,c2,c3;
scanf("%4c”,&cl);scanf(*%4c*?&c2);scanf(*%4c*,&c3);
三、填空題
[6.20]請(qǐng)編寫(xiě)程序,輸入一行字符(用回車(chē)結(jié)束),輸出每個(gè)字符以及與之相應(yīng)的ASCII
代碼值,每行輸出三對(duì).
[6.21]清編寫(xiě)程序,輸入一行數(shù)字字符(用EOF結(jié)束),每個(gè)數(shù)字字符的前后都有空格.
請(qǐng)編程,把這一行中的數(shù)字轉(zhuǎn)換成一個(gè)整數(shù).例如:若輸入:
2483<CR>
則輸出整數(shù):2483.
[6.22]請(qǐng)編寫(xiě)程序記錄輸入的行數(shù),輸入用EOF結(jié)束.
[6.23]請(qǐng)編寫(xiě)程序記錄輸入的一行中小寫(xiě)字母的個(gè)數(shù).
[6.24]請(qǐng)編寫(xiě)輸入以下圖案的程序,圖案的行數(shù)由輸入的值擬定.
A
BBB
CCCCC
DDDDDDI)
EEEEEEEEE
第七章函數(shù)
一、選擇題
[7.1]以下說(shuō)法中對(duì)的的是
A)C語(yǔ)言程序總是從第?個(gè)定義的函數(shù)開(kāi)始執(zhí)行
B)在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main函數(shù)中定義
C)C語(yǔ)言程序總是從main函數(shù)開(kāi)始執(zhí)行
D)C語(yǔ)言程序中的main函數(shù)必須放在程序的開(kāi)始部分
[7.2]以下函數(shù)的類型是
A)與參數(shù)x的類型相同B)void類型C)int類型D)無(wú)法擬定
fff(floatx)
{printf("刎\n",x*x);)
[7,3]以下函數(shù)調(diào)用語(yǔ)句中,具有的實(shí)參個(gè)數(shù)是
A)1B)204D)5
func((expl,exp2),(cxp3,exp4,exp5));
[7.4]以下程序的輸出結(jié)果是
A)11B)20021D)31
func(inta,intb)
{intc
c=a+b;
returnc;
)
main()
{intx=6,y=7,z=8,r;
r=func((x-,y++,x+y),z-);
printf("%d\n",r);
)
[7.5]以下程序的輸出結(jié)果是
A)-lB)0C)I1))2
main()
inti=2,p;
p=f(i,i+1);
printfT%dw,p);
)
intf(inta,intb)
{intc;
c=a;
if(a>b)c=l;
elseif(a==b)c=0;
elsec=-l;
return(c);
)
[7.6]以下程序的輸出結(jié)果是
A)0B)1C)6D)無(wú)定值
fun(inta,intb,intc)
{c=a*b;}
mainO
intc;
fun(2,3,c);
printf("%d\n",c);
)
[7.7]以下程序的輸出結(jié)果是
A)5.500000B)3.000000C)4.000000D)8.25
doublef(intn)
{inti;doubles;
s=l.0;
for(i=l;i<=r.;i++)s+=1.0/i;
returns;
)
mainO
{inti,m=3;floata=0.0;
for(i=0;i<m;i++)a+=f(i);
printf(,,%f\n,/,a)L;
二、填空題
[7.8]以下程序的輸出結(jié)果是.
unsignedfun6(unsignednum)
{unsignedk=l;
do
{k=*=num%10;num/=10;}
while(num);
returnk;
)
main()
{unsignedn=26;
printf("%d\n”,fun6(n);
)
[7.9]以下程序的輸出結(jié)果是________.
doublesub(doublex,doubley,doublez)
{y-=1.0;
z=z+x;
returnz;
)
mainO
doublea=2.5,b=9.0;
printfsub(b-a,a,a));
)
[7.10]以下程序的輸出結(jié)果是.
funl(inta,intb)
{intc;
a+=a;b+=b;
c=fun2(a,b);
returnc*c;
)
fun2(inta,intb)
int
c=a*b%3;
returnc;
)
main()
{intx=ll,y=19;
printf("%d\n”,funl(x,y));
)
[7,11]下面pi函數(shù)的功能是,根據(jù)以下公式返回滿足精度規(guī)定的的值.請(qǐng)?zhí)羁?
...pi/2=l+l/3+l/3*2/51l/3*2/5*3/7+l/3*2/5*3/7*4/9+...
doublepi(doubleeps)
{doubles=0.0,t=l.0;
intn;
for(;t>eps;n++)
{s+=t;
t=n*t/(2*n+l);
)
return(2.0*);
}
[7,12]以下函數(shù)用以求x的y次方.請(qǐng)?zhí)羁?
doublefun(doublex,inty)
{inti;doublez=l;
for(i=l;i_____;i++)
z=;
returnz;
)n
[7.13]以下程序的功能是計(jì)算5=SK!.請(qǐng)?zhí)羁?
longf(intn)K=1
{inti;longs;
s=;
for(i=l;i<=n;i++)s=;
returns;
)
niain()
{longs;ir.tk,n;
scanf&r.);
s=;
for(k=0;k<=r.;k++)s=s+;
printf(飛ld\「",s);
)
三、程序調(diào)試和編程題
[7.14]以下fun函數(shù)用以判斷n是否是素?cái)?shù),fun函數(shù)中有邏輯錯(cuò),請(qǐng)調(diào)試改正.
fun(intn)
{intk,yes;
for(k=2;k<=r./2;k++)
if(n%k==0)yes=0;
elseyes=l;
returnyes;
)
[7.15]編寫(xiě)函數(shù)intmymod(inta,intb)用以求a被b除之后的余數(shù).
[7.16]編寫(xiě)程序求:1-1/2+1/3-1/4+1/5-1/6+1/7-...+l/n
[7.17]編寫(xiě)函數(shù),根據(jù)整型形參m的值,計(jì)算如下公式的值.
t=l-l/2*2-l/3*3-...
例如,若m=5,則應(yīng)輸出0.536389.
[7.18]編寫(xiě)函數(shù)用以求表達(dá)式x*x-5*x+4,x作為參數(shù)傳送給函數(shù),調(diào)用此函數(shù)求:
y1=2*2-5*2+4
y2=(x+15)*(x+15)-5*(x+15)+4
y3=sinx*sinx-5*sir.x+4
第八章指針
一、選擇題
[8.1]若有定義:intx,*pb;則在以下對(duì)的的賦值表達(dá)式是
A)pb=&xB)pb=xC)*pb=&xD)*pb=*x
[8.2]以下程序的輸出結(jié)果是
A)因變量無(wú)定義輸出不定值B)0C)-1D)1
^include"stdio.h"
main()
{printf("%d\n",NULL);)
[8.3]以下程序的輸出結(jié)果是
A)5,2,3B)-5,-12,-7C)-5,-12,-7D)5,-2,-7
voidsub(intx,inty,int*z)
{*z=y-x;}
mainO
{inta,b,c;
sub(1(),5,&a);sub(7,a,&b);sub(a,b,&c);
printf(“為d,%c,%d\n,z,a,b,c);
)
[8.4]以下程序的輸出結(jié)果是
A)4B)6C)8[))1()
main()
{intk=2,m=4,r.=6;
int*pk=&k,*p;
*(p=&n)=*pk*(*pm);
printf("%d\n",n);
)
[8.5]已知指針P的指向如圖8.5所示,則表達(dá)式*P++的值是
A)20B)30C)21D)31
a[0]a[l]a[2]a[3]a[4]
I
20
30
4()
50
p
圖&5
[8.6]已知指針P的指向如圖8.5所示,則表達(dá)式*++P的值是
A)20B)30C)21D)31
[8.7]已知指針P的指向如圖8.5所示,則表達(dá)式++*P的值
A)20B)30C)21D)31
[8.8]以下程序的輸出結(jié)果是
A)23B)24C)25D)26
voidprtv(int*x)
{printf(飛d\n",++*x);}
mainO
{inta=25;
prtv(&a);
}
[8.9]以下程序的輸出結(jié)果是
A)運(yùn)營(yíng)犯錯(cuò)B)100C)a的地址D)b的地址
main()
{int**k,*a,b=10C;
j=&b;k=&a;
printf("%d\n〃,**k);
)
[8.10]以下程序的輸出結(jié)果是
A)4,3B)2,3C)3,4I))3,2
voidfun(float*a,float*b)
{floatw;
*a=*a+*a;
w=*a;
*a=*b;
*b=w;
}
main()
{floatx=2.0,7=3.0;
foaat*px=&x,*p7=&y;
fun(px,py);
printfC%2.Of,%2.Of\nw,x,y);
)
[8.11]以下程序的輸出結(jié)果是
A)9.000000B)1.500000
C)8.000000D)10.500000
voidsub(floatx,float*y,float*z)
{*y=*y-l.0;
*z=*z+x;
)
main()
{floata=2.5,b=9.0,*pa,*pb;
pa=&a;pb=&b;
sub(b-a,pa,pa);
,,
printf(:%f\n>a);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年浙江工商職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)及完整答案詳解1套
- 2026年河北女子職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)及參考答案詳解
- 2026年廣州衛(wèi)生職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)附答案詳解
- 2026年安徽醫(yī)學(xué)高等專科學(xué)校單招職業(yè)傾向性測(cè)試題庫(kù)參考答案詳解
- 2026年呼和浩特職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)帶答案詳解
- 稅務(wù)科長(zhǎng)面試題目及答案
- 乙肝疫苗接種情況
- 2025年公開(kāi)招聘專業(yè)人才備考題庫(kù)及參考答案詳解1套
- 中國(guó)科協(xié)所屬單位2026年度面向社會(huì)公開(kāi)招聘工作人員備考題庫(kù)參考答案詳解
- 2025年南京大學(xué)招聘南京赫爾辛基大氣與地球系統(tǒng)科學(xué)學(xué)院助理備考題庫(kù)及1套參考答案詳解
- 項(xiàng)目4任務(wù)1-斷路器開(kāi)關(guān)特性試驗(yàn)
- 編輯打印新課標(biāo)高考英語(yǔ)詞匯表3500詞
- (高清版)DZT 0215-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 煤
- 高層建筑消防安全培訓(xùn)課件
- 無(wú)染覺(jué)性直觀自行解脫之道
- 國(guó)家開(kāi)放大學(xué)《土木工程力學(xué)(本)》形考作業(yè)1-5參考答案
- 實(shí)驗(yàn)診斷學(xué)病例分析【范本模板】
- 西安交大少年班真題
- JJF(石化)006-2018漆膜彈性測(cè)定器校準(zhǔn)規(guī)范
- GB/T 5563-2013橡膠和塑料軟管及軟管組合件靜液壓試驗(yàn)方法
- GB/T 24218.1-2009紡織品非織造布試驗(yàn)方法第1部分:?jiǎn)挝幻娣e質(zhì)量的測(cè)定
評(píng)論
0/150
提交評(píng)論