




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言習(xí)題集
習(xí)題一
一.填空題
1.C程序是由()構(gòu)成的,一個(gè)C程序中至少包含()。
因此,()是C程序的基本單位。
2.C程序注釋是由()和()所界定的文字信息組成的。
3.函數(shù)體一般包括()和()。
二.判斷題
1.一個(gè)C程序的執(zhí)行總是從該程序的main函數(shù)開(kāi)始,在main函數(shù)最后結(jié)
束?!尽?/p>
2.main函數(shù)必須寫(xiě)在一個(gè)C程序的最前面。【】
3.一個(gè)C程序可以包含若干的函數(shù)。【】
4.C程序的注釋部分可以出現(xiàn)在程序的任何位置,它對(duì)程序的編譯和運(yùn)行
不起任何作用。但是可以增加程序的可讀性。【】
5.C程序的注釋只能是一行。[]
6.C程序的注釋不能是中文文字信息?!尽?/p>
8.可以使用TurboC來(lái)編譯和連接一個(gè)C程序?!尽?/p>
9.可以使用TurboC來(lái)運(yùn)行一個(gè)C程序?!尽?/p>
10.可以使用TurboC來(lái)實(shí)時(shí)調(diào)試(即動(dòng)態(tài)調(diào)試)一個(gè)C程序?!尽?/p>
三.簡(jiǎn)答題
1.寫(xiě)出一個(gè)C程序的基本結(jié)構(gòu)。
2.簡(jiǎn)要敘述使用TurboC2.0編譯和運(yùn)行一個(gè)程序的步驟。
四.編程題
1.提高題:參照課本例1.1,試編寫(xiě)一個(gè)C程序,輸出如下信息。(提示:
使用鍵盤(pán)上的一些符號(hào))。
2.提高題:試編寫(xiě)一個(gè)C程序,輸出如下信息。
試試看,可以輸出其他組合圖案嗎?
習(xí)題二
選擇題
1、合法的字符常量是。
A)''t'B)''A"C)‘a(chǎn)'D)"32'
2、合法的字符常量是。
A)''084'B)''84'C)'ab'D)'\x43'
3、是C語(yǔ)言提供的合法的數(shù)據(jù)類型關(guān)鍵字。
A)FloatB)signedC)integerD)Char
4、在以下各組標(biāo)識(shí)符中,合法的標(biāo)識(shí)符是。
(1)A)B01B)table_lC)0_tD)k%
(2)A)Fast_B)voidC)pblD)<book>
(3)A)xy_B)longdoubleC)*pD)CHAR
(4)A)sjB)IntC)_xyD)w_y23
5、屬于合法的C語(yǔ)言長(zhǎng)整型常量的是。
A)5876273B)OLC)2E10D)(long)5876273
6、下面選項(xiàng)中,不是合法整型常量的是。
A)160B)-OxcdgC)-01D)-0x48a
7、判斷intx=Oxaffbc;x的結(jié)果是。
A)賦值非法B)溢出C)為affbD)為ffbc
8、下面選項(xiàng)中,均是合法浮點(diǎn)數(shù)的是。
A)+le+lB)-.60C)123eD)-e3
A)5e-9.4B)12e-4C)1.2e-.4D).8e-4
A)03e2B)-8e5C)+2e-lD)5.e-0
9、在C語(yǔ)言中,要求參加運(yùn)算的數(shù)必須時(shí)整數(shù)的運(yùn)算符是。
A)/B)*C)%D)=
10、在C語(yǔ)言中,字符型數(shù)據(jù)在內(nèi)存中以形式存放。
A)原碼B)BCD碼C)反碼D)ASCII碼
11、下列語(yǔ)句中,符合語(yǔ)法的賦值語(yǔ)句是。
A)a=7+b+c=a+7;B)a=7+b++=a+7;
C)a=(7+b,b++,a+7);D)a=7+b,c=a+7:
12、是非法的C語(yǔ)言轉(zhuǎn)義字符。
A)''b'B)l\0xfC)''037'D)'\"
13、對(duì)于語(yǔ)句:4(3.0,4.0,5.0),(2.0,1.0,0.0);的判斷中,是正確的。
A)語(yǔ)法錯(cuò)誤B)f為5.0C)f為0.0D)f為2.0
14、與代數(shù)式(x*y)/(u*v)不等價(jià)的C語(yǔ)言表達(dá)式是。
A)x*y/u*vB)x*y/u/vC)x*y/(u*v)D)x/(u*v)*y
15、在C語(yǔ)言中,數(shù)字029是一個(gè)。
A)八進(jìn)制數(shù)B)十六進(jìn)制數(shù)C)十進(jìn)制數(shù)D)非法數(shù)
16、C語(yǔ)言中整數(shù)一8在內(nèi)存中的存儲(chǔ)形式為。
A)1111111111111000B)100000000001000
C)000000000001000D)1111111111110111
17、對(duì)于charcx='\039’;語(yǔ)句,正確的是。
A)不合法B)ex的ASCII值是33
C)cx的值為四個(gè)字符D)cx的值為三個(gè)字符
18、若intk=7,x=12;則能使值為3的表達(dá)式是。
A)x%=(k%=5)B)x%=(k-k%5)
C)x%=k-k%5D)(x%=k)-(k%=5)
19、為了計(jì)算s=10!(即10的階乘),則s變量應(yīng)定義為。
A)intB)unsignedC)longD)以上三種類型均可
20、以下所列的C語(yǔ)言常量中,錯(cuò)誤的是。
A)OxFFB)1.2e0.5C)2LD)''72'
21、假定x和y為double型,則表達(dá)式x=2,y=x+3/2的值是。
A)3.500000B)3C)2.000000D)3.000000
22、設(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*l00+0.5,n=m/l00.0
C)n=n*100+0.5/100.0D)n=(n/l00+0.5)*100.0
23、以下合法的賦值語(yǔ)句是。
A)x=y=100B)d------C)x+yD)c=int(a+b)
24、下選項(xiàng)中不屬于C語(yǔ)言的類型是。
A)signedshortintB)unsignedlongint
B)unsignedintD)longshort
25、設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是。
A)(x=y=6,x+y,x+l)B)(x=y=6,x+y,y+l)
C)(x=6,x+1,y=6,x+y)D)(y=6,y+1,x=y,x+1)
26、在16位C編譯系統(tǒng)匕若定義longa;,則能給a賦40000的正確語(yǔ)句
是。
A)a=20000+20000:B)a=4000*10:
C)30000+10000;D)a=4000L*10L;
二.填空題
1.在C語(yǔ)言中(以16位PC機(jī)為例),一個(gè)char數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)
為,其數(shù)值范圍為;?個(gè)int數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)
為—,其數(shù)值范圍為—;一個(gè)long數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)為一,
其數(shù)值范圍為;一個(gè)float數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)
為,其數(shù)值范圍為。
2.C語(yǔ)言的標(biāo)識(shí)符只能由大小寫(xiě)字母,數(shù)字和下劃線三種字符組成,而且第
一個(gè)字符必須為O
3.字符常量使用一對(duì)界定單個(gè)字符,而字符串常量使用一對(duì)來(lái)
界定若干個(gè)字符的序列。
4.在C語(yǔ)言中,不同運(yùn)算符之間運(yùn)算次序存在的區(qū)別,同一運(yùn)算符之
間運(yùn)算次序存在_______的規(guī)則。
5.設(shè)x,i,j,k都是int型變量,表達(dá)式x=(i=4,j=16,k=32)計(jì)算后,x的值為一。
6.設(shè)x=2.5,a=7,y=4.7,則x+a%3*(int)(x+y)%2/4為。
7.設(shè)a=2,b=3,x=3.5,y=2.5〃lJ(float)(a+b)/2+(int)x%(int)y為。
8.數(shù)學(xué)式子的C語(yǔ)言表達(dá)式為o
9.數(shù)學(xué)式子的C語(yǔ)言表達(dá)式為。
10.已知:chara='a',b='b',c='c',i;則表達(dá)式i=a+b+c的值為。
11.已知血a=12,n=5;則:表達(dá)式運(yùn)算后a的值各為。
a+=a
a-=2
a*=2+3
a/=a+a
n%=(n%=2)
a+=a-=a*=a
12.設(shè)inta;floatf;doublei;則表達(dá)式10+'a,+i*f值的數(shù)據(jù)類型是。
13.若a為int型變量,則表達(dá)式(a=4*5,a*2),a+6的值為。
14.假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,a++,b++,a+b)的值為。
15.已知a,b,c是?個(gè)十進(jìn)制數(shù)的百位,十位,個(gè)位,則該數(shù)的表達(dá)式是。
16.定義:doublex=3.5,y=3.2;則表達(dá)式(int)x*0.5的值是,表達(dá)式
y+=x++的值是o
17.定義:intm=5,n=3;則表達(dá)式m/=n+4的值是,表達(dá)式
m=(m=l,n=2,n-m)的值是,表達(dá)式m+=m=(m=l)*(n=2)的值是■>
18.表達(dá)式5%(-3)的值是,表達(dá)式-5%(-3)的值是。
19.若a是int變量,則執(zhí)行表達(dá)式a=25/3%3后,a的值是。
20.數(shù)學(xué)式子的C語(yǔ)言表達(dá)式為:。
三.判斷題
1.在C程序中對(duì)用到的所有數(shù)據(jù)都必須指定其數(shù)據(jù)類型?!尽?/p>
2.一個(gè)變量在內(nèi)存中占據(jù)一定的存儲(chǔ)單元?!尽?/p>
3.一個(gè)實(shí)型變量的值肯定是精確的?!尽?/p>
4.對(duì)幾個(gè)變量在定義時(shí)賦初值可以寫(xiě)成:inta=b=c=3;1]
5.自增運(yùn)算符(++)或自減運(yùn)算符(-)只能用于變量,不能用于常量或表達(dá)式。
(]
6.在C程序的表達(dá)式中,為了明確表達(dá)式的運(yùn)算次序,常使用括號(hào)“()
[1
7.%運(yùn)算符要求運(yùn)算數(shù)必須是整數(shù)?!尽?/p>
8.若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型
數(shù)?!尽?/p>
9.在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低?!尽?/p>
10.C語(yǔ)言不允許混合類型數(shù)據(jù)間進(jìn)行運(yùn)算。【】
四.簡(jiǎn)答題
1.為什么C語(yǔ)言的字符型可以進(jìn)行數(shù)值運(yùn)算?
2.簡(jiǎn)述、和“a”的區(qū)別。
3.程序:intm=12;m=15;為什么整型變量m的值在運(yùn)算后不是當(dāng)初的12,
而是15?
4.將下面各數(shù)用八進(jìn)制和十六進(jìn)制數(shù)表示:
十進(jìn)制32—1—327682002-1280
八進(jìn)制
十六進(jìn)制
6.華氏溫度F與攝氏溫度c的轉(zhuǎn)換公式為:c=(F-32)*5/9,則floatc,F;
c=5/9*(F-32)是其對(duì)應(yīng)的C語(yǔ)言表達(dá)式嗎?如果不是,為什么?
五.程序閱讀題
1.寫(xiě)出以下程序運(yùn)行的結(jié)果。
main()
{
charcl=,a\c2=,b\c3=,c\c4=,\101',c5='116’;
printf("a%cb%c\tc%c\tabc\n,,,cI,c2,c3);
printf(t€\t\b%c%c”,c4,c5);
}
2.寫(xiě)出以下程序運(yùn)行的結(jié)果。
main()
{
inti,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printffl%d,%d,%d,%d,,,i,j,m,n);
)
六.編程題
1.假設(shè)m是一個(gè)三位數(shù),則寫(xiě)出將m的個(gè)位,十位,百位反序而成的三位
數(shù)(例如:123反序?yàn)?21)的C語(yǔ)言表達(dá)式。
2.已知intx=10,y=12;寫(xiě)出將x和y的值互相交換的表達(dá)式。
習(xí)題三
一.選擇題
LC語(yǔ)言的程序一行寫(xiě)不下時(shí),可以。
A)用逗號(hào)換行B)用分號(hào)換行
C)在任意一空格處換行D)用回車符換行
2.putchar()函數(shù)可以向終端輸出一個(gè)。
A)整型變量表達(dá)式值B)實(shí)型變量值
C)字符串D)字符或字符型變量值
3.執(zhí)行下列程序片段時(shí)輸出結(jié)果是。
unsignedinta=65535;
printf("%d”,a);
A)65535B)-1C)-32767D)1
4.執(zhí)行下列程序片段時(shí)輸出結(jié)果是。
floatx=-1023.012
printfC\n%8.3f,,,,x);
printf(“%10.3f',x);
A)1023.012,-1023.012B)-1023.012,-1023.012
C)1023.012,-1023.012D)-1023.012,-1023.012
5.已有如下定義和輸入語(yǔ)句,若要求al,a2,cl,c2的值分別為10,20,A和B,
當(dāng)從第一列開(kāi)始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是。
intal,a2;charcl,c2;
scanf(tt%d%c%c,,,&al,&a2,&c1,&c2);
A)10A20BZB)10A20B/
C)10A20BZC)10A20B/
6.對(duì)于下述語(yǔ)句,若將10賦給變量kl和k3,將20賦給變量k2和k4,則
應(yīng)按方式輸入數(shù)據(jù)。
intkl,k2,k3,k4;
scanf("%d%d”,&kl,&k2);
scanfC4%d,%d,,,&k3,&k4);
A)1020/B)1020/C)10,20/
D)1020/1020/1020Z10,20/10,20/
7.執(zhí)行下列程序片段時(shí)輸出結(jié)果是。
intx=13,y=5;
printf("%d”,x%=(y/=2));
A)3B)2C)1D)0
8.下列程序的輸出結(jié)果是。
main()
{intx=023;
}
A)17B)18C)23D)24
9.已有如下定義和輸入語(yǔ)句,若要求al,a2,cl,c2的值分別為10,20,A和B,當(dāng)
從第一列開(kāi)始輸入數(shù)據(jù)時(shí),正確的輸入方式是。
intal,a2;charcl,c2;
scanfft%d%d,,,&al,&a2);
scanfC%c%c,,,&cl,&c2);
A)1020ABZB)1020/
AB/
C)1020ABZD)1020AB/
10.執(zhí)行下列程序片段時(shí)輸出結(jié)果是。
intx=5,y;
y=2+(x+=x-H-,x+8,-H-x);
printfT%d”,y);
A)13B)14C)15D)16
1L若定義x為double型變量,則能正確輸入x值的語(yǔ)句是。
A)scanf("%f',x);B)scanf("%F',&x);
C)scanff'%l「,&x);D)scanf("%5.1F',&x);
12.若運(yùn)行時(shí)輸入:12345678/,則下列程序運(yùn)行結(jié)果為。
main()
{inta,b;
scanfC4%2d%2d%3dM,&a,&b);
printf("%d\n”,a+b);
)
A)46B)579C)5690D)出錯(cuò)
13.已知i,j,k為int型變量,若從鍵盤(pán)輸入:1,2,3〈回車,,使I的值為1,j
的值為2,k的值為3,以下選項(xiàng)中正確的輸入語(yǔ)句是。
A)scanfC'%2d%2d%2d”,&i,&j,&k);
B)scanf(4t%d_%d_%d,,,&i,&j,&k);
C)scanfT%d,%d,%d”,&i,&j,&k);
D)scanf(tti=%d,j=%d,k=%d,,,&i,&j,&k);
14.若intx,y;doublez;以下不合法的scanf函數(shù)調(diào)用語(yǔ)句是。
A)scanf(4U%d%lx,%le,,,&x,&y,&z);
B)scanf(tt%2d*%d%lf,,&x,&y,&z);
C)scanf(tt%x%*d%o,,,&x,&y);
D)scanf{tt%x%o%6.2f\&x,&y,&z);
15.有輸入語(yǔ)句:scanfiTa=%d,b=%d,c=%d”,&a,&b,&c);為使變量a的值為1,
b的值為3,c的值為2,則正確的數(shù)據(jù)輸入方式是。
A)132/B)1,3,2/
C)a=lb=3c=2/D)a=l,b=3,c=2/
二.填空題
I.一個(gè)c程序由若干個(gè)文件組成,而一個(gè)這樣的文件可以由若干個(gè)
和以及組成。
2.C語(yǔ)句可以分為,一,—,和—等5種類型。
3.C控制語(yǔ)句有種。
4.一個(gè)表達(dá)式要構(gòu)成一個(gè)C語(yǔ)句,必須。
5.復(fù)合語(yǔ)句是用一對(duì)界定的語(yǔ)句塊。
6.printf函數(shù)和scanf函數(shù)的格式說(shuō)明都使用字符開(kāi)始。
7.scanf處理輸入數(shù)據(jù)時(shí),遇到下列情況時(shí)該數(shù)據(jù)認(rèn)為結(jié)束:(1),
(2),(3)=
8.已有inti,j;floatx;為將-10賦給i,12賦給j,410.34賦給x;則對(duì)應(yīng)以下
scanf函數(shù)調(diào)用語(yǔ)句的數(shù)據(jù)輸入形式是。
9.C語(yǔ)言本身不提供輸入輸出語(yǔ)句,其輸入輸出操作是由來(lái)實(shí)現(xiàn)的。
10.一般地,調(diào)用標(biāo)準(zhǔn)字符或格式輸入輸出庫(kù)函數(shù)時(shí),文件開(kāi)頭應(yīng)有以下預(yù)
編譯命令:?
三.程序閱讀題
1.用下面的scanf函數(shù)輸入數(shù)據(jù),使a=3,b=7,x=8.5,y=71.82,cl='A,,c2=,a\問(wèn)
在鍵盤(pán)上如何輸入?
main()
{inta,b;
floatx,y;
charcl,c2;
scanf(t€a=%db=%d,,,&a,&b);
scanf("%f%e”,&x,&y);
scanff%c%c,,,&cl,&c2);
}
2.寫(xiě)出以下程序的輸出結(jié)果。
main()
{inty=3,x=3,z=l;
printf(u%d%d\n”,(++x,y++),z+2);
}
3.寫(xiě)出以下程序的輸出結(jié)果。
main()
{inta=12345;
floatb=-198.345,c=6.5;
printf(ua=%4d,b=%-10.2e,c=%6.2f\n,,,a,b,c);
}
4.寫(xiě)出以下程序的輸出結(jié)果。
main()
{intx=-2345;
floaty=-12.3;
printfT%6D,%06.2F”,x,y);
}
5.寫(xiě)出以下程序的輸出結(jié)果。
main()
{inta=252;
printf(“a=%oa=%#o\n,\a,a);
printf(<<a=%xa=%#x\n,,,a,a);
}
6.寫(xiě)出以下程序的輸出結(jié)果。
main()
{intx=12;doublea=3.1415926;
printfCt%6d##,%-6d##\n,\x,x);
printf(“%14.101f##\n",a);
)
四.程序填空題
1.下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)?1)空使程序完整。
main()
{inta=9,b=2;
floatx=[1],y=l.l,z;
z=a/2+b*x/y+1/2;
printfC<%5.2f\n,,,z);
}
五.編程題
1.已知a,b均是整型變量,寫(xiě)出將a,b兩個(gè)變量中的值互換的程序來(lái)。
2.若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'。想得到
以下的輸出格式和結(jié)果,請(qǐng)寫(xiě)出程序(包括定義變量類型和設(shè)計(jì)輸出)。
a=3b=4c=5
x=l.200000,y=2.400000,z=-3.600000
x+y=3.60y+z=-1.20z+x=?2.40
u=51274n=128765
cl='a'or97(ASCII)
c2Tb'or98(ASCII)
3.設(shè)圓半徑r=1.5,圓柱高h(yuǎn)=3,求圓周長(zhǎng),圓面積,圓球表面積,圓球體積,
圓柱體積。用scanf輸入數(shù)據(jù),輸出計(jì)算結(jié)果;輸出時(shí)要求有文字說(shuō)明,取
小數(shù)點(diǎn)后2位數(shù)字,請(qǐng)編寫(xiě)程序。
4.編程序:用getchar函數(shù)讀入兩個(gè)字符給cl,c2,然后分別用putchar和printf
函數(shù)輸出這兩個(gè)字符。并思考以下問(wèn)題:(1)變量cl,c2應(yīng)定義為字符型或整
型?或兩者皆可?(2)要求輸出C1和C2值的ASCII碼,應(yīng)如何處理?用
putchar函數(shù)還是printf函數(shù)?(3)整型變量與字符型變量是否在任何情況
下都可以互相替代?如:
charcl,c2與intcl,c2
是否無(wú)條件地等價(jià)?
習(xí)題四
一.選擇題
1.邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型。
A)只能是0或1B)只能是0或非0正數(shù)
C)只能是整型或字符型數(shù)據(jù)D)可以是任何類型的數(shù)據(jù)
2.下列表達(dá)式中,不滿足“當(dāng)x的值為偶數(shù)時(shí)值為真,為奇數(shù)時(shí)值為假”的
要求。
A)x%2==0B)!x%2!=0C)(x/2*2-x)=0D)!(x%2)
3.以下程序片段。
intx=2,y=3;
prints);
A)什么都不輸出B)輸出為:***x=2
C)輸出為:###y=2D)輸出為:###y=3
4.能正確表示“當(dāng)x的取值在[1,10]和[200,210]范圍內(nèi)為真,否則為假”的表達(dá)
式是。
A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B)(x>=l)||(x<=10)11(x>=200)||(x<=210)
C)(x>=l)&&(x<=10)||(x>=200)&&(x<=210)
D)(x>=l)||(x<=10)&&(x>=200)||(x<=210)
5.C語(yǔ)言對(duì)嵌套if語(yǔ)句的規(guī)定是:else總是與。
A)其之前最近的if配對(duì)B)第一個(gè)if配對(duì)
C)縮進(jìn)位置相同的if配對(duì)D)其之前最近的且尚未配對(duì)的if配對(duì)
6.設(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
7.下面是錯(cuò)誤的if語(yǔ)句(設(shè)intx,a,b;)
A)if(a=b)x++;B)if(a=<b)x++;
C)if(a-b)x++;D)if(x)x++;
8.以下程序片段。
main()
{intx=0,y=0,z=0;
if(x=y+z)
else
printf("###");
}
A)有語(yǔ)法錯(cuò)誤,不能通過(guò)編譯B)輸出:***
C)可以編譯,但不能通過(guò)連接,所以不能運(yùn)行D)輸出:###
9.對(duì)下述程序,是正確的判斷。
main()
{intx,y;
scanf("%d,%d",&x,&y);
if(x>y)
x=y;y=x;
else
x-H-;y++;
printfT%d,%d”,x,y);
}
A)有語(yǔ)法錯(cuò)誤,不能通過(guò)編譯B)若輸入3和4,則輸出4和5
C)若輸入4和3,則輸出3和4D)若輸入4和3,則輸出4和5
10.若w=l,x=2,y=3,z=4,則條件表達(dá)式w<x?w:y<z?y:z的值是。
A)4B)3C)2D)1
11.下述表達(dá)式中,一可以正確表示xSO或xNl的關(guān)系。
A)(x>=l)11(x<=0)B)x>=l|x<=0
C)x>=l&&x<=0D)(x>=1)&&(x<=0)
12.下述程序的輸出結(jié)果是。
main()
{inta=0,b=0,c=0;
if(++a>011++b>0)
++c;
printf("%d,%d,%d”,a,b,c);
)
A)0,0,0B)1,1,1C)1,0,1D)0,1,1
13.下述程序的輸出結(jié)果是。
main()
{intx=-l,y=4,k;
k=x-H-<=0&&!(y—<=0);
printf(“%d,%d,%d'',k,x,y);
A)0,0,3B)0,1,2C)1,0,3D)1,1,2
14.以下程序輸出結(jié)果是。
main()
{intx=l,y=O,a=O,b=O;
switch(x){
case1:switch(y){
case0:a-H-;break;
case1:b-H-;break;
)
case2:a++;b-H-;break;
case3:a-H-;b-H-;
}
printfC'a=%d,b=%d,\a,b);
}
A)a=l,b=OB)a=2,b=lC)a=l,b=lD)a=2,b=2
15.下述程序的輸出結(jié)果是。
main()
{inta,b,c;
intx=5,y=10;
a=(-y=x++)?-y:++x;
b=y++;c=x;
printf(4t%d,%d,%d,,,a,b,c);
)
A)6,9,7B)6,9,6C)7,9,6D)7,9,7
16.當(dāng)a=l,b=3,c=5,d=4時(shí),執(zhí)行完下面一段程序后x的值是。
if(a<b)
if(c<d)x=l;
else
if(a<c)
if(b<d)x=2;
elsex=3;
elsex=6;
elsex=7;
A)1B)2C)3D)4
17.在下面的條件語(yǔ)句中(其中S1和S2表示C語(yǔ)言語(yǔ)句),只有一個(gè)在功
能上與其他三個(gè)語(yǔ)句不等價(jià)。
A)if(a)SI;elseS2;B)if(a==0)S2;elseSI;
C)if(a!=O)SI;elseS2;D)if(a==O)SI;elseS2;
18.若inti=0;執(zhí)行下列程序后,變量i的正確結(jié)果是。
switch(i){
case9:i+=l;
case10:i+=l;
case11:i+=l;
default:i+=l;
?
A)10B)11C)12D)13
19.若有說(shuō)明語(yǔ)句inti=5,j=4,k=6;floatf;則執(zhí)行f=(ivj&&i〈k)?i:(jvk)?j:k;語(yǔ)句
后,f的值為o
A)4.0B)5.0C)6.0D)7.0
20.若有定義:inta=3,b=2,c=l;并有表達(dá)式:①a%b,②a>b>c,③b&&c+l,④
c+=l,則表達(dá)式值相等的是O
A)①和②B)②和③C)①和③D)③和④
二.填空題
1.C語(yǔ)言提供6種關(guān)系運(yùn)算符,按優(yōu)先級(jí)高低它們分別
是,,,,,等。
2.C語(yǔ)言提供三種邏輯運(yùn)算符,按優(yōu)先級(jí)高低它們分別
是f,O
3.設(shè)a=3,b=4,c=5,寫(xiě)出下面各邏輯表達(dá)式的值。
表達(dá)式表達(dá)式運(yùn)算后的值
a+b>c&&b=c
!(a>b)&&!c||1
!(a+b)+c-1&&b+c/2
4.寫(xiě)出數(shù)學(xué)式子的C語(yǔ)言表達(dá)式。
5.將條件“y能被4整除但不能被100整除,或y能被400整除”寫(xiě)成邏輯表
達(dá)式。
6.設(shè)x,y,z均為int型變量;寫(xiě)出描述“x,y和z中有兩個(gè)為負(fù)數(shù)”的C語(yǔ)言表
達(dá)式:O
7.已知IA=7.5,B=2,C=3.6,表達(dá)式A>B&&C>A||A<B&&!C>B的值
是o
8.有intx=3,y=4z=5;則表達(dá)式(x&&y)=(xUz)的值為。
9.若有x=l,y=2,z=3,則表達(dá)式(x〈y?x:y)=zH的值是。
10.執(zhí)行以下程序段后,a=—,b=—,c=—o
intx=10,y=9;
inta,b,c;
a=(x--=y++)?x—:y++;
b=x++;
c=y;
三.判斷題
Lif語(yǔ)句中的表達(dá)式不限于邏輯表達(dá)式,可以是任意的數(shù)值類型?!尽?/p>
2.switch語(yǔ)句可以用if語(yǔ)句完全代替°【)
3.switch語(yǔ)句的case表達(dá)式必須是常量表達(dá)式。【】
4.if語(yǔ)句,switch語(yǔ)句可以嵌套,而且嵌套的層數(shù)沒(méi)有限制。【】
5.條件表達(dá)式可以取代if語(yǔ)句,或者用if語(yǔ)句取代條件表達(dá)式?!尽?/p>
6.switch語(yǔ)句的各個(gè)case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果。[)
7.多個(gè)case可以執(zhí)行相同的程序段。【】
8.內(nèi)層break語(yǔ)句可以終止嵌套的switch,使最外層的switch結(jié)束。[]
9.switch語(yǔ)句的case分支可以使用{}復(fù)合語(yǔ)句,多個(gè)語(yǔ)句序列?!尽?/p>
lO.switch語(yǔ)句的表達(dá)式與case表達(dá)式的類型必須一致。【】
四.簡(jiǎn)答題
1.C語(yǔ)言中如何表示“真”和“假”?系統(tǒng)如何判斷一個(gè)量的“真”和“假”?
2.請(qǐng)將以下語(yǔ)句改成switch語(yǔ)句。
if((s>0)&&(s<=10))
if((s>=3)&&(s<=6))x=2;
elseif((s>l)&&(s>8))x=3;
elsex=l;
elsex=0;
五.程序閱讀題
1.若運(yùn)行時(shí)輸入100/,寫(xiě)出以下程序的運(yùn)行結(jié)果。
main()
{inta;
scanf("%d”,&a);
printf("%s”,(a%2!=0)?“No":“Yes”);
}
2.寫(xiě)出以下程序的運(yùn)行結(jié)果。
main()
{inta=2,b=7,c=5;
switch(a>0){
case1:switch(b<0){
case1:printR"@”);break;
case2:printfC!");break;
)
case0:switch(c=5){
case1:pritnfp*");break;
case2:printfT#");break;
default:printf("#");break;
default:printf("&'');
}
printff'W");
?
六.程序判斷題
1.下面程序?qū)⑤斎氲拇髮?xiě)字母改寫(xiě)成小寫(xiě)字母輸出,其他字符不變;請(qǐng)判斷
下面程序的正誤,如果錯(cuò)誤請(qǐng)改正過(guò)來(lái)。
main()
{charc;
c=getchar();
c=(c>='A'||c〈=Z)?c-32:c+32;
printf(u%c,,,c);
)
2.下面程序輸入兩個(gè)運(yùn)算數(shù)x,y和一個(gè)運(yùn)算符號(hào)op,然后輸出該運(yùn)算結(jié)果的
值,例如輸入3+5/得到結(jié)果8;請(qǐng)判斷F面程序的正誤,如果錯(cuò)誤請(qǐng)改正
過(guò)來(lái)。
main()
{
floatx,y,r;
charop;
switch(op){
case:r=x+y;
case'?':r=x+y;
case:r=x+y;
case:r=x+y;
}
printf("%f',r);
}
七.程序填空題
1.根據(jù)以下函數(shù)關(guān)系,對(duì)輸入的每個(gè)x值,計(jì)算出相應(yīng)的y值,請(qǐng)?zhí)?3)空使
程序完整。
main()
intx,c,m;
floaty;
scaufT%d”,&x);
if([I])c=-l;
elsec=[2];
switch(c){
case-1:y=0;break;
case0:y=x;break;
case1:y=10;break;
case2:
case3:y=-0.5*x+20;break;
default:y=-2;
)
if([3])
printf(uy=%f;y);
else
printff'error!”);
}
2.以下程序輸出x,y,z三個(gè)數(shù)中的最小值,請(qǐng)?zhí)?2)空使程序完整。
main()
{intx=4,y=5,z=8;
intu,v;
u=x<y?[1];
v=u<z?[2];
printfCt%d,\v);
)
八.編程題
1.有三個(gè)整數(shù)a,b,c,由鍵盤(pán)輸入,輸出其中最大的數(shù)。
2.編程輸入整數(shù)a和b,若大于100,則輸出百位以上的數(shù)字,否則輸出
兩數(shù)之和。
4.給出一百分制成績(jī),要求輸出成績(jī)等級(jí),ATBTC〈D:E,090分以上為,A"
80—89分為'B170—79分為,C',60—69分為'D',60分以下為,
5.提高題:給一個(gè)不多于5位的正整數(shù),要求:①求出它是幾位數(shù);②分別
打印出每一位數(shù)字;③按逆序打印出各位數(shù)字,例如原數(shù)是321,應(yīng)輸出123。
習(xí)題五
一.選擇題
1.下面程序段
intk=2;
while(k=0){printf(“%d”,k);k??;}
則下面描述中正確的是o
A)while循環(huán)執(zhí)行10次B)循環(huán)是無(wú)限循環(huán)
C)循環(huán)題語(yǔ)句一次也不執(zhí)行D)循環(huán)體語(yǔ)句執(zhí)行一次
2.下述程序段中,與其他程序段的作用不同。
A)k=l;B)k=l;
while(1){Repeat:
s+=k;s+=k;
k=k+l;if(++k<=100)
if(k>100)break;gotoRepeat
}printfT\n%d”,s);
printf("\n%d”,s);
C)intk,s=O;D)k=l;
for(k=l;k<=100;s+=-H-k);do
printf(44\n%d,,,s);s+=k;
while(++k<=100);
printfC4\n%d,,,s);
3.以下程序段的循環(huán)次數(shù)是
fbr(i=2;i==0;)printf("%d'',i??);
A)無(wú)限次B)0次C)1次D)2次
4.下面程序的輸出結(jié)果是
main()
{charc='A';
intk=0;
do{
switch(c++){
case'A':k++;break;
case'B':k-;
case'C':k+=2;break;
case'D':k%=2;continue;
case'E':k*=10;break;
default:k/=3;
}
k-H-;
}while(cv'G');
printf("k=%d”,k);
A)k=3B)k=4C)k=2D)k=0
5.下面程序的輸出結(jié)果是。
main()
{intx=9;
for(;x>0;x-){
if(x%3==0){
printf("%d”,??x);
continue;
}
A)741B)852C)963D)875421
6.以下不是死循環(huán)的程序段是。
A)inti=100;B)for(;;);
while(1){
i=i%1004-1;
if(i>100)break;
}
C)intk=0;D)ints=36;
do{++k;}while(k>=0);while(s);—s;
7.下述程序段的運(yùn)行結(jié)果是
inta=l,b=2,c=3,t;
while(a<b<c){t=a;a=b;b=t;c—;}
printf("%d,%d,%d”,a,b,c);
A)1,2,0B)2,1,0C)1,2,1D)2,1,1
8.下面程序的功能是從鍵盤(pán)輸入一組字符,從中統(tǒng)計(jì)大寫(xiě)字母和小寫(xiě)字母的
個(gè)數(shù),選擇填空。
main()
{intm=0,n=0;
charc;
while(([])!
(
if(c>='A'&&cv='Z')m++;
if(c>=,a,&&cv='z')n++;
}
}
A)c=getchar()B)getchar()C)c=getchar()D)scanf("%c”,&c)
9.下述語(yǔ)句執(zhí)行后,變量k的值是。
intk=l;
while(k-H-<10);
A)10B)11C)9D)無(wú)限循環(huán),值不定
10.下面程序的輸出結(jié)果是。
main()
{intk=0,m=0,i,j;
for(i=0;i<2;i-H-){
for(j=0;j<3;j++)
k++;
k-=j;
}
m=i+j;
printf("k=%d,m=%d”,k,m);
}
A)k=0,m=3B)k=0,m=5C)k=l,m=3D)k=1,m=5
11.下面for循環(huán)語(yǔ)句。
inti,k;
for(i=0,k=-l;k=l;i++,k++)
printfT***");
A)判斷循環(huán)結(jié)束的條件非法B)是無(wú)限循環(huán)
C)只循環(huán)一次D)一次也不循環(huán)
12.語(yǔ)句while(!E);括號(hào)中的表達(dá)式!E等價(jià)于。
A)E==0B)E!=lC)E!=0D)E=1
13.以下是死循環(huán)的程序段是o
A)for(i=l;;){
if(i-H-%2=0)continue;
if(i-H-%3=0)break;
}
B)i=32767;
do{if(i<0)break;}while(++i);
C)fbr(i=l;;)if(++I<10)continue;
D)i=l;while(i—);
14.執(zhí)行語(yǔ)句fbr(i=l;i++<4;);后變量i的值是o
A)3B)4C)5D)不定
15.以下程序段。
x=-l;
do
{x=x*x;}
while(!x);
A)是死循環(huán)B)循環(huán)執(zhí)行2次C)循環(huán)執(zhí)行1次D)有語(yǔ)法錯(cuò)誤
16.下面程序的功能是在輸入的一批正數(shù)中求最大者,輸入0結(jié)束循環(huán),選
擇填空。
main()
{inta,max=O;
scanR“%d",&a);
while([)){
if(max<a)max=a;
scanf("%d”,&a);
}
printf("%d”,max);
}
A)a=0B)aC)!a==lD)!a
17.以下不是死循環(huán)的語(yǔ)句是。
A)for(y=9,x=1;x>-H-y;x=i++)i=x;
B)for(;;x++=i);
C)while(1){x++;}
D)fbr(i=10;;i-)sum+=i;
18.下面程序段的運(yùn)行結(jié)果是。
x=y=O;
while(x<15)y++,x+=++y;
printf("%d,%d",y,x);
A)20,7B)6,12C)20,8D)8,20
19.以下for循環(huán)的執(zhí)行次數(shù)是o
for(x=0,y=0;(y=123)&&(x<4);x++);
A)無(wú)限循環(huán)B)循環(huán)次數(shù)不定C)4次D)3次
20.若運(yùn)行以下程序時(shí),輸入2473/,則程序的運(yùn)行結(jié)果是。
main()
{intc;
while((c=getchar())!='\n')
switch(c-'2'){
case0:
case1:putchar(c+4);
case2:putchar(c+4);break;
case3:putchar(c+3);
default:putchar(c+2);break;
)
printf("\n”);
A)668977B)668966C)66778777D)6688766
二.填空題
l.C語(yǔ)言三個(gè)循環(huán)語(yǔ)句分別是一語(yǔ)句,—語(yǔ)句和—語(yǔ)句。
2.至少執(zhí)行一次循環(huán)體的循環(huán)語(yǔ)句是。
3.循環(huán)功能最強(qiáng)的循環(huán)語(yǔ)句是。
5.程序段
for(a=l,i=-l;-l<i<l;i++)
{a++;printf(tt%2d,,,a);};
printfT%2d”,i);
的運(yùn)行結(jié)果是O
三.判斷題
1.在while循環(huán)中允許使用嵌套循環(huán),但只能是嵌套while循環(huán)?!尽?/p>
2.在實(shí)際編程中,do-while循環(huán)完全可以用fbr循環(huán)替換?!尽?/p>
3.continue語(yǔ)句只能用于三個(gè)循環(huán)語(yǔ)句中?!尽?/p>
4.在不得已的情況下(例如提高程序運(yùn)行效率),才使用goto語(yǔ)句?!尽?/p>
5.語(yǔ)句標(biāo)號(hào)與C語(yǔ)言標(biāo)識(shí)符的語(yǔ)法規(guī)定是完全一樣的?!尽?/p>
6.for循環(huán)的三個(gè)表達(dá)式可以任意省略,while,do-while也是如此?!尽?/p>
7.do?while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)?!尽?/p>
8.while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格?!尽?/p>
9.do-while循環(huán)中,根據(jù)情況可以省略while。1]
lO.do-while循環(huán)的while后的分號(hào)可以省略。[]
四.程序閱讀題
1.寫(xiě)出下面程序運(yùn)行的結(jié)果。
main()
{intx,i;
for(i=l;i<=100;i-H-){
x=i;
if(-H-x%2=0)
if(++x%3==0)
if(++x%7==0)
printfC4%d”,x);
}
}
2.寫(xiě)出下面程序運(yùn)行的結(jié)果。
main()
{inti,b,k=O;
fbr(i=l;i<=5;i++){
b=i%2;
while(b—=0)k++;
}
printf(64%d,%d,,,k,b);
)
3.寫(xiě)出下面程序運(yùn)行的結(jié)果。
main()
{inta,b;
for(a=l,b=l;a<=100;a++){
if(b>=20)break;
if(b%3==l){b+=3;continue;}
b-=5;
}
printf(44%d\n,,,a);
)
4.寫(xiě)出下面程序運(yùn)行的結(jié)果。
main()
{intk=l,n=263;
do{k*=n%10;n/=10;}while(n);
printf(<<%d\n,,,k);
)
5.寫(xiě)出下面程序運(yùn)行的結(jié)果。
main()
{inti=5;
do{
switch(i%2){
case4:i—;break;
case6:i—;continue;
}
i-;i-;
printf("%d”,i);
}while(i>0);
)
6.寫(xiě)出下面程序運(yùn)行的結(jié)果。
main()
{intij;
for(i=0;i<3;i++,i++){
for0=4;j>=O;j-){
if((j+i)%2){
j";
printf("%d,"j);
continue;
}
--i;
j-;
printfC%d,”,j);
7.寫(xiě)出下面程序運(yùn)行的結(jié)果。
main()
{inta=10,y=0;
do{
a+=2;y+=a;
if(y>50)break;
}while(a=14);
printfC4a=%dy=%d\n,,,a,y);
}
8.寫(xiě)出下面程序運(yùn)行的結(jié)果。
main()
{intij,k=19;
while(i=k-l){
k-=3;
if(k%5==0){i++;continue;}
elseif(k<5)break;
i++;
)
printf(ui=%d,k=%d\n,\i,k);
)
9.寫(xiě)出下面程序運(yùn)行的結(jié)果。
main()
{inty=2,a=l;
while(y—!=-l)
do{
a*=y;
a-H-;
}while(y—);
printf("%d,%d\n”,a,y);
}
10.寫(xiě)出下面程序運(yùn)行的結(jié)果。
main()
{inti,k=0;
for(i=l;;i++){
k++;
while(k<i*i){
k++;
if(k%3==0)gotoloop;
}
}
loop:
printf(t4%d,%d\n,,,i,k);
}
六.程序填空題
1.下述程序用“碾轉(zhuǎn)相除法”計(jì)算兩個(gè)整數(shù)m和n的最大公約數(shù)。該方法的基
本思想是計(jì)算m和n相除的余數(shù),如果余數(shù)為0則結(jié)束,此時(shí)的被除數(shù)就
是最大公約數(shù)。否則,將除數(shù)作為新的被除數(shù),余數(shù)作為新的除數(shù),繼續(xù)計(jì)
算m和n相除的余數(shù),判斷是否為0,等等,請(qǐng)?zhí)?3)空使程序完整。
main()
{intm,n,w;
scanf("%d,%d",&m,&n);
while(n){
w=【1】;
m=[2];
n=[3];
}
printf("%d”,m);
)
2.下面程序的功能是輸出1至100之間每位數(shù)的乘積大于每位數(shù)的和的數(shù),
請(qǐng)?zhí)?3)空使程序完整。
main()
{intn,k=l,s=0,m;
for(n=l;n<=100;n++){
k=l;s=0;
while([2]){
k*=m%10;
s+=m%10;
if(k>s)printf("%dd”,n);
)
)
3.下面程序段的功能是計(jì)算1000!的末尾有多少個(gè)零,請(qǐng)?zhí)?1)空使程序完
整。
main()
{
inti,k;
for(k=0,i=5;i<=1000;i+=5)
{m=i;
while([1]){k++;m=m/5;}
)
4.下面程序接受鍵盤(pán)上的輸入,直到按/鍵
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 主播續(xù)約合同范本
- 公路單車出租合同范本
- 與政府物業(yè)合同范本
- 分公司人員合同范本
- 第1單元第5課 《歌聲嘹亮-子程序設(shè)計(jì)和機(jī)器人發(fā)音》教學(xué)設(shè)計(jì) 2023-2024學(xué)年清華大學(xué)版(2012)初中信息技術(shù)九年級(jí)下冊(cè)
- 個(gè)人運(yùn)輸公司合同范本
- 加盟針織合同范本
- 制作平臺(tái)合同范本
- 出租婚紗租賃合同范本
- 出售移動(dòng)混凝土合同范本
- 職業(yè)病診斷鑒定申請(qǐng)書(shū)
- 培訓(xùn)課件熱身舞蹈
- 小兒隱睪術(shù)后護(hù)理查房
- 《論語(yǔ)》中的家庭教育
- PS教案課程設(shè)計(jì)
- 腦梗死臨床路徑
- 部編人教版二年級(jí)下冊(cè)道德與法治教學(xué)反思
- 第二單元整體研習(xí)+教學(xué)設(shè)計(jì) 統(tǒng)編版高中語(yǔ)文選擇性必修上冊(cè)
- 企業(yè)外部環(huán)境與內(nèi)部能力分析報(bào)告
- 病理科科科內(nèi)會(huì)診記錄
- 研發(fā)費(fèi)用加計(jì)扣除費(fèi)用PPT
評(píng)論
0/150
提交評(píng)論