版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——青海大學(xué)程序設(shè)計(jì)基礎(chǔ)習(xí)題指導(dǎo)書2023版《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
第一章數(shù)據(jù)類型與表達(dá)式
一.知識點(diǎn)
1.C語言的特點(diǎn):①語言簡單、緊湊,使用便利、靈活;②運(yùn)算符豐富;
③數(shù)據(jù)結(jié)構(gòu)豐富;④具有結(jié)構(gòu)化控制語句;⑤語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大;
⑥可以進(jìn)行位操作,能實(shí)現(xiàn)匯編語言的大部分功能,能直接對硬件進(jìn)行操作;⑦生成的目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高;⑧程序的移植性好。2.C程序的組成:
⑴C程序是由函數(shù)構(gòu)成的;
⑵一個(gè)函數(shù)包括函數(shù)的首部(即函數(shù)的第一行)和函數(shù)體(即花括號部分);⑶函數(shù)體一般包括聲明部分和執(zhí)行部分;
⑷一個(gè)C程序總是從main函數(shù)開始執(zhí)行,從main函數(shù)終止;
⑸C程序書寫格式自由,一行內(nèi)可以寫幾個(gè)語句,一個(gè)語句可以分寫在多行上;⑹每個(gè)語句和數(shù)據(jù)定義的最終必需有一個(gè)分號;
⑺C語言本身沒有輸入輸出語句,是通過函數(shù)實(shí)現(xiàn)輸入輸出的;⑻可以用/*??*/對C程序的任何部分作解釋。
3.C語言程序的運(yùn)行:源程序文件的擴(kuò)展名為.c,目標(biāo)程序文件的擴(kuò)展名為.obj,可執(zhí)行程序文件的擴(kuò)展名為.exe。
4.C的數(shù)據(jù)類型:基本、構(gòu)造、指針和空類型,char、int、short、long、unsigned、float、double、enum、struct、union、typedef。
5.常量與變量的概念,注意符號常量的定義與使用。
6.整型、實(shí)型、字符型常量的表示,注意整型常量的十進(jìn)制、八進(jìn)制、十六進(jìn)制的書寫。
7.變量的定義,C的標(biāo)識符包括關(guān)鍵字、預(yù)定義標(biāo)識符、用戶定義標(biāo)識符;用戶定義標(biāo)識符的可用字符為字母、數(shù)字、下劃線,第一個(gè)字符為字母或下劃線。
8.轉(zhuǎn)義字符:\\n、\\t、\\b、\\r、\\f、\\\\、\\’、\\〞、\\ddd、\\xhh。9.不同數(shù)值型數(shù)據(jù)的混合運(yùn)算,低級類型轉(zhuǎn)換為高級類型運(yùn)算。10.C的運(yùn)算符:注意結(jié)合方向和運(yùn)算的優(yōu)先級。
11.算術(shù)運(yùn)算符:+、-、*、/、%、++、--,注意自加、減運(yùn)算符分前綴和后綴兩種方式。其中前綴方式為先自加、減,后引用;后綴方式為先引用,后自加、減;運(yùn)算符%要求運(yùn)算量為整數(shù),運(yùn)算結(jié)果也為整數(shù)。注意除運(yùn)算時(shí),若運(yùn)算量為整型時(shí),其運(yùn)算結(jié)果也是整型的規(guī)則。
12.賦值類運(yùn)算符:=、+=、-=、*=、/=、%=,注意含義和數(shù)據(jù)類型的轉(zhuǎn)換。13.逗號運(yùn)算符的使用,注意逗號運(yùn)算符的運(yùn)算規(guī)則。
二.習(xí)題?基礎(chǔ)篇
㈠.填空題
1.C語言源程序文件的后綴是.c或.cpp,經(jīng)過編譯后,生成文件的后綴是.obj,經(jīng)過連接后,生
成文件的后綴是.exe。
2.設(shè)C源程序文件名為text.c,為得出該程序的運(yùn)行結(jié)果,應(yīng)執(zhí)行的文件名是.obj,此文件是通過編譯產(chǎn)生的。
3.結(jié)構(gòu)化程序由順序、選擇、循環(huán)三種基本結(jié)構(gòu)組成。
4.若k為整型變量且賦值11。請寫出運(yùn)算k++后表達(dá)式的值11和變量的值12。5.若x為double型變量,運(yùn)算x=3.2,++x后表達(dá)式的值4.2和變量的值4.2。
第1頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
6.函數(shù)體由符號{開始,用符號}終止。函數(shù)體的前面是聲明部分,其后是執(zhí)行部分。
7.C語言中的標(biāo)識符可分為關(guān)鍵字、自定義標(biāo)識符和預(yù)定義標(biāo)識符三類。
8.在C語言程序中,用關(guān)鍵字int定義基本整型變量,用關(guān)鍵字float定義單精度實(shí)型變量,用關(guān)鍵字double定義雙精度實(shí)型變量。
9.把a(bǔ)1、a2定義成單精度實(shí)型變量,并賦初值1的定義語句是floata1,a2;a1=a2=1;。10.C程序中定義的變量,代表內(nèi)存中的一個(gè)存儲單元。11.表達(dá)式3.5+1/2的計(jì)算結(jié)果是3.5。12.寫出數(shù)學(xué)表達(dá)式
a?b三個(gè)等價(jià)的C語言表達(dá)式a*b/(c*d)、a/(c*d)*b、b/(c*d)*a。c?d13.尋常一個(gè)字節(jié)包含8個(gè)二進(jìn)制位。
15
14.當(dāng)計(jì)算機(jī)用兩個(gè)字節(jié)存放一個(gè)整數(shù)時(shí),能存放的最大(十進(jìn)制)整數(shù)是2-1、最?。ㄊM(jìn)制)整
16
數(shù)是-2。
15.在C語言中整數(shù)可用8進(jìn)制數(shù)、十進(jìn)制數(shù)和十六進(jìn)制數(shù)三種數(shù)制表示。
16.C語言中,int型數(shù)據(jù)占2個(gè)字節(jié),long型數(shù)據(jù)占4個(gè)字節(jié),unsignedint型數(shù)據(jù)占2個(gè)字節(jié),short型數(shù)據(jù)占8個(gè)字節(jié),float型數(shù)據(jù)占4個(gè)字節(jié),double型數(shù)據(jù)占8個(gè)字節(jié),char型數(shù)據(jù)占8個(gè)字節(jié)。
17.C語言規(guī)定,標(biāo)志符只能由_數(shù)字_____、_字母______、_下劃線_______3種字符組成,而且,第一個(gè)字符必需是__字母_____或___下劃線____。
18.C語言中,基本數(shù)據(jù)類型有_int_______、___float____和字符型。19.‘x’在內(nèi)存中占_1_____字節(jié),“x〞在內(nèi)存中占_2_______字節(jié),“\\101〞在內(nèi)存中占__1____字節(jié)。㈡.選擇題
1.組成C語言程序的是()。
A.子程序B.過程C.函數(shù)D.主程序和子程序2.以下表達(dá)中正確的是()。
A.在C程序中無論是整數(shù)還是實(shí)數(shù),只要在允許的范圍內(nèi)都能確鑿無誤的表示。B.C程序由主函數(shù)組成。C.C程序由函數(shù)組成。
D.C程序由函數(shù)和過程組成。
3.以下選項(xiàng)中正確的整型常量是()。
A.12.B.-20C.1,000D.4564.以下選項(xiàng)中正確的實(shí)型常量是()。
2
A.0B.3.1415C.0.329╳10D..8715.以下選項(xiàng)中不合法的用戶標(biāo)識符是()。
A._123B.printfC.A$D.Dim6.C語言中運(yùn)算對象必需是整型的運(yùn)算符是()。A.%B./C.!D.*
7.C語言中,#definePRICE2.56將PRICE定義為()。
A.符號常量B.字符常量C.實(shí)型常量D.變量8.若變量已正確定義并賦值,符合C語言語法的表達(dá)式是()。
A.a(chǎn)=a+7;B.a(chǎn)=7+b+c,a++C.int(12.3%4)D.a(chǎn)=a+7=c+b9.不合法的八進(jìn)制數(shù)是()。
A.0B.028C.077D.0110.C語言中合法的字符常量是()。
A.nB.’\\n’C.110D.“n〞11.表達(dá)式1/5+3%4+4.5/5的值是()。
A.3.9B.3.900000C.1.100000D.1.85
第2頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
12.下面4個(gè)選項(xiàng)中,均是合法轉(zhuǎn)義字符的選項(xiàng)是()。
A.'\\\’'\\\\''\\n'B.'\\''\\017''\\\C.'\\011''\\f''\\}'D.'\\abc''\\101''xlf'13.設(shè)有語句:charc=’\\72’;則變量c()。
A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符'D.不合法14.在C語言中,int、char和short三種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)()。A.由用戶自己定義B.均為2個(gè)字節(jié)
C.是任意的D.由所用機(jī)器的機(jī)器字長決定㈢.判斷題
1.一個(gè)C程序的執(zhí)行是從本程序的第一個(gè)函數(shù)開始,到本程序文件的最終一個(gè)函數(shù)終止。()?2.在C程序中,逗號運(yùn)算符的優(yōu)先級最低。()?
3.定義的變量都具有默認(rèn)值,因此變量定義后便可以使用。()??4.在C語言中,即使兩個(gè)整型數(shù)據(jù)未超出該數(shù)據(jù)的取值范圍,它們的和也可能會超出該數(shù)據(jù)的取值范圍()。?
㈣.程序設(shè)計(jì)題
1.編程輸出以下圖案
********?MENU?$$$$$$$$
2.編寫一個(gè)程序,將兩個(gè)數(shù)作為輸入數(shù)據(jù),并顯示它們的和、差、積、商。
?應(yīng)用篇
㈠.填空題
1.若采用十進(jìn)制數(shù)的表示形式,則077為______,0111為______,0xab為_______。
2.設(shè)C語言中的一個(gè)基本整型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),若欲將整數(shù)135791正確無誤地存放在變量a中,應(yīng)采用的類型說明語句是_longa=135791_______。
3.若有定義語句:intm=5,y=2;則執(zhí)行表達(dá)式y(tǒng)+=y-=m*=y后的y值是-16。4.C程序是由函數(shù)構(gòu)成的,一個(gè)C程序必需有一個(gè)main函數(shù)。㈡.選擇題
1.已知各變量的類型說明如下:inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;則以下正確的表達(dá)式是()。
A.a+=a-=(b=4)*(a=3)B.a=a*3=2C.x%(-3)D.y=float(i)2.以下正確的表達(dá)是()。
A.在C程序中,每行中只能寫一條語句
B.若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)C.在C程序中,無論是整數(shù)還是實(shí)數(shù),都能被確鑿無誤的表示D.在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符3.sizeof(float)是()。
A.一個(gè)雙精度型表達(dá)式B.一個(gè)整型表達(dá)式C.一種函數(shù)調(diào)用D.一個(gè)不合法的表達(dá)式㈢.判斷題
1.若a和b類型一致,在執(zhí)行了賦值表達(dá)式a=b后b中的值將放入a中,而b中的值不變。()?2.當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對于整型變量只能輸入整型數(shù)值,對于實(shí)型變量只能輸入實(shí)型數(shù)值。()?
第3頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
3.一個(gè)C程序可以有多個(gè)函數(shù),其中主函數(shù)必需在程序的最開頭()。?
4.若有命令行:#defineN1000,則N++是不合法的表達(dá)式()。?
?提高篇
㈠.填空題
1.若有定義語句:inta=2,b=7;floatx=3.5,y=2.5;則表達(dá)式(float)(a+b)/2+(int)x%(int)y的值為__5.5____。2.假設(shè)變量a、b均為整型,則表達(dá)式(a=2,b=5,a++,b++,a+b)的值為__9____。㈡.選擇題
1.已知字母A的ASCII碼為十進(jìn)制數(shù)65,且定義c2為字符型變量,則執(zhí)行語句c2='A'+'6'-'3'后;c2中的值為()。
A.DB.68C.不確定的值D.C
2.若有定義語句:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是()。A.2.500000B.2.750000C.3.5000000D.0.000000
3.設(shè)有說明語句:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為()。A.floatB.charC.intD.double
4.設(shè)有語句:inta=3;執(zhí)行語句printf(“%d〞,-a++);后,輸出的結(jié)果是()。A.3B.4C.-3D.-12
其次章算法與順序結(jié)構(gòu)
一.知識點(diǎn)
1.算法:為解決一個(gè)問題而采取的方法和步驟。2.算法的分類:數(shù)值算法、非數(shù)值算法。
3.算法的特點(diǎn):有窮性、確定性、有零個(gè)或多個(gè)輸入、有一個(gè)或多個(gè)輸出、有效性。
4.算法描述方法:自然語言、流程圖、改進(jìn)流程圖、N—S流程圖、偽代碼、計(jì)算機(jī)語言。5.C語句的類型:控制語句、函數(shù)調(diào)用語句、表達(dá)式語句、空語句、復(fù)合語句。6.輸入輸出的概念:輸入輸出是相對主機(jī)而言,C語言是由函數(shù)來實(shí)現(xiàn)輸入輸出的。7.字符數(shù)據(jù)的輸入/輸出:getchar()、putchar()。8.格式輸入/輸出:scanf()、printf()。
9.printf的格式符:d、i,o,x、X,u,c,s,f,e、E,g、G;l,m,n,-。
10.scanf的格式符:d、i,o,x、X,u,c,s,f,e、E,g、G;l,m,*;printf(“a=%d,b=%d,c=%d\\n〞,a,b,c);}
8.以下程序不借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請?zhí)羁眨?/p>
#includemain(){inta,b;printf(“Inputa,b:〞);scanf(“%d,%d〞,printf(\則輸出結(jié)果是97。
10.已知floata=3,b=2;printf(\則輸出結(jié)果是1.500000。
11.結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是順序結(jié)構(gòu)、分支/選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。12.若x為int型變量,則執(zhí)行語句x=7;x+=x-=x+x;后x的值是__-14______。13.C語句的最終用___;___終止。
14.設(shè)有一輸入函數(shù)scanf(“%d〞,k);它不能使float類型變量k得到正確數(shù)值得原因是_輸入的格式不正確__和__應(yīng)當(dāng)是k的地址_。
15.若已定義:inta;unsignedb;longc;語句:a=-2;b=a;c=b;則b中值為216-2,c中值為-2。16.若k為整型變量且賦值10。請寫出運(yùn)算k++后表達(dá)式的值__10___和變量的值____11___。17.復(fù)合語句在語法上被認(rèn)為是__一條語句_____,空語句的形式是__;_____。
18.有如下程序段:設(shè)a為兩個(gè)字節(jié),inta=-1;printf(\輸出結(jié)果為:_a1=-1,a2=216-1________。㈡.選擇題
1.若a、b、c、d都是int型變量且初始值為0,以下不正確的賦值語句是()。A.a(chǎn)=b=c=100;B.d++;C.c+b;D.d=(c=22)-(b++);
第5頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
2.以下選項(xiàng)中不是C語句的是()。
A.{inti;i++;printf(“%d\\n〞,i);}B.;C.a(chǎn)=5,c=10D.{;}3.以下合法的C語言賦值語句是()。A.a(chǎn)=b=58B.k=int(a+b);C.a(chǎn)=58,b=58D.--i;4.以下程序的輸出結(jié)果是()。
A.0B.1C.3D.不確定的值
main()
{intx=10,y=3;printf(“%d\\n〞,y=x/y);}
5.若變量已正確說明為int類型,要給a、b、c輸入數(shù)據(jù),正確的輸入語句是()。A.read(a,b,c);B.scanf(“%d%d%d〞,a,b,c);C.scanf(“%D%D%D〞,a++;printf(\.;C.{;}D.b=5
30.若變量已正確定義,要將a和b的數(shù)進(jìn)行交換,下面不正確的語句是()。A.a(chǎn)=a+b,b=a-b,a=a-b;B.t=a,a=b,b=t;C.a(chǎn)=t;t=b;b=a;D.t=b;b=a;a=t;
第7頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
31.若變量已說明為int類型,要給a、b、c輸入數(shù)據(jù),正確的輸入語句是()。
A.scanf(\B.read(a,b,c);
C.scanf(\D.scanf(\㈢.程序設(shè)計(jì)題
1.編寫程序,從終端鍵盤輸入圓的半徑r,圓柱體的高h(yuǎn),分別計(jì)算出圓周長c1、圓面積cs和圓柱的體
積cvs。輸出計(jì)算結(jié)果時(shí)要求有文字說明,并取小數(shù)點(diǎn)后2位數(shù)字。2.輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公式為:c=5(f-32)/9。
3.編寫程序,讀入一個(gè)字母,輸出與之對應(yīng)的ASCII碼,輸入輸出都要有相應(yīng)的文字提醒。
?應(yīng)用篇
㈠.填空題
1.以下程序的輸出結(jié)果是_3.140000,3.142________。main()
{printf(\}
2.以下程序的輸出結(jié)果是__c:dec=120,oct=15,hex=78,ASCII=x_______。main()
{charc='x';
printf(\}
3.已有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是________。printf(\
d(1)=-2d(2)=-2d(3)=12
4.已有定義intd=-2;執(zhí)行以下語句后的輸出結(jié)果是________。printf(\printf(\
5.已有定義floatd1=3.5,d2=-3.5;執(zhí)行以下語句后的輸出結(jié)果是________。printf(\printf(\6.若x為單精度型變量,y為字符型變量,z為整型變量,執(zhí)行如下的輸入語句:scanf(\
后,從鍵盤輸入12.77A79A86。此時(shí),變量x、y、z的值分別是__12.77_____、____A____、____79______。7.以下程序的運(yùn)行結(jié)果是。#includevoidmain(){chars[50];
printf(\gets(s);puts(s);}
Enterastring:string
string
8.以下程序的運(yùn)行結(jié)果是________。#includevoidmain()
第8頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
{charc='p';
printf(\printf(\}
112,p97,a
9.以下程序的運(yùn)行結(jié)果是________。#includevoidmain()
{floata=3.12345;
printf(\}
3.12,3.12e0
10.以下程序的運(yùn)行結(jié)果是___221_____。#includemain()
{intm=177;
printf(\}
㈡.選擇題
1.執(zhí)行以下程序段inta=1,b=2,c;c=a/b后,c的值是()。A.0B.1/2C.0.5D.12.以下不符合C語法的賦值語句是()。
A.m=(2+1,m+1);B.m=n=0;C.m=1,n=2D.a=b=c=5;3.以下能正確地定義整型變量a,b和c并為其賦初值5的語句是()。A.inta=b=c=5;B.inta,b,c=5;C.a=5,b=5,c=5;D.a=b=c=5;
4.已知ch是字符型變量,下面不正確的賦值語句是()。A.ch=’a+b’;B.ch=’\\0’;C.ch=’7’+’9’;D.ch=5+9;
5.已知ch是字符型變量,下面正確的賦值語句是()。A.ch=’123’;B.ch=’\\xff’;C.ch=’\\08’;D.ch=〞\\〞;6.以下程序的運(yùn)行結(jié)果是()。#includemain()
{intm=5,n=10;
printf(\}
A.5,9B.6,9C.5,10D.6,107.設(shè)有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。#includemain(){
第9頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
inta=201,b=012;
printf(\}
A.01,12B.201,10C.01,10D.20,01
8.有定義語句inta,b;若要通過語句scanf(\使變量a得到數(shù)值6,變量b得到數(shù)值5,下面輸入形式中錯(cuò)誤的是(C)。(注:*代表空格)
A.6,5B.6,**5C.65D.6,5,9.設(shè)有如下程序:#includemain()
{charch1='A',ch2='a';printf(\}
則以下表達(dá)中正確的是()。
A.程序的輸出結(jié)果為大寫字母AB.程序的輸出結(jié)果為小寫字母a
C.運(yùn)行時(shí)產(chǎn)生錯(cuò)誤信息D.格式說明符的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),編譯出錯(cuò)10.以下程序的運(yùn)行結(jié)果是()。includemain(){
intx1=0xabc,x2=0xdef;x2-=x1;
printf(\}
A.ABCB.0XabcC.0X333D.333㈢.判斷題
1.C語言標(biāo)準(zhǔn)輸入操作中,getchar()函數(shù)一次只可讀取一個(gè)字符。()?2.C語言標(biāo)準(zhǔn)輸入操作中,putchar()函數(shù)可以輸出顯示一個(gè)字符串。()?3.C語言標(biāo)準(zhǔn)格式輸入函數(shù)scanf()的參數(shù)表中要使用變量的地址值。()?4.C語言標(biāo)準(zhǔn)格式輸出函數(shù)printf()的參數(shù)表是由若干個(gè)表達(dá)式組成。()?5.標(biāo)準(zhǔn)格式輸入函數(shù)scanf()可以從鍵盤接收不同數(shù)據(jù)類型的數(shù)據(jù)項(xiàng)。()?6.任何表達(dá)式語句都是表達(dá)式加分號組成的。()?7.表達(dá)式語句和表達(dá)式?jīng)]什么區(qū)別。()?
8.分號是C語言中語句的終止符,不可用作分隔符。()?9.空格符可用作分隔符,水平制表符不能用?作分隔符。()
10.C語言本身不提供輸入輸出語句,輸入輸出操作是由函數(shù)來實(shí)現(xiàn)的。()?㈣.程序設(shè)計(jì)題
1.編寫程序,輸入兩個(gè)整數(shù)1500和350,求出它們的商和余數(shù)并進(jìn)行輸出。
2.編寫程序,讀入三個(gè)雙精度數(shù),求它們的平均值并保存此平均值小數(shù)點(diǎn)后一位數(shù),對小數(shù)點(diǎn)后其次位數(shù)進(jìn)行四舍五入,最終輸出結(jié)果。
3.編程實(shí)現(xiàn)用getchar函數(shù)從鍵盤輸入一個(gè)小寫字母,并用putchar函數(shù)輸出對應(yīng)的大寫字母。
?提高篇
㈠.填空題
第10頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
1.已有定義intx,floaty;且執(zhí)行scanf(\語句,若從第一列開始輸入數(shù)據(jù)12345*678,則x的值為__123___,y的值為___45_____。2.執(zhí)行以下程序時(shí),若從第一列開始輸入數(shù)據(jù),為使變量a=3、b=7、x=8.5、y=71.82、c1=’A’、c2=’a’,
正確的輸入數(shù)據(jù)形式為_a=3b=7回車_x=8.5y=71.82回車c1=Ac2=a回車__________。main()
{inta,b;floatx,y;charc1,c2;scanf(\scanf(\scanf(\
printf(\}
3.若有以下定義和語句,為使變量c1得到字符’A’,變量c2得到字符’B’,正確的輸入形式是
____AB回車_________。charc1,c2;
scanf(\
4.假設(shè)變量a、b和c均是整數(shù),以下語句借助中間變量把a(bǔ)、b和c中的值進(jìn)行交換,即:把b中的值給
a,把c中的值給b,把a(bǔ)中的值給c。例如:交換前,a=10、b=20、c=30,交換后,a=20、b=30、c=10。請?zhí)羁铡m=a_____;a=b;b=c;_c=m____;
5.假設(shè)變量a和b均為整型,以下語句可以不借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請?zhí)羁铡+=__b___;
b=a-____b__;a-=____b__;
6.已知字母A的ASCII碼值為65。以下程序的輸出結(jié)果是__a=66,b=E______。#includemain(){chara,b;
a='A'+'4'-'3';b='A'+'6'-'2';
printf(\}
7.若要求以下程序的輸出結(jié)果為8.0,請?zhí)羁铡?includemain()
{intk=2,m=5;
floats,x=1.2,y=___3.6_;s=2/3+k*y/x+m/2;printf(\}
8.以下程序的運(yùn)行結(jié)果是_____20___。#includemain(){intn=0;n+=(n=10);
printf(\}
9.有以下程序:
#includemain()
第11頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
{intk=0;charc1='a',c2='b';
scanf(\printf(%d,%c,%c\\n\}
若運(yùn)行時(shí)從鍵盤輸入:55AB,則輸出的結(jié)果是__55,A,B______。10.以下程序輸出的結(jié)果是_________。main()
{intx=1,y=2;
printf(\printf(\}
x=1y=2sum=3
10Squaredis:100㈡.選擇題
1.以下程序的輸出結(jié)果是()。(注:*代表空格)main()
{printf(\printf(\}
A.-s1=chinabeijing***-B.-s1=chinabeijing***--s2=--chi--s2=chi**-
C.-s1=-**chinabeijing-D.-s1=***chinabeijing--s2=**chi--s2=chi**-
2.已有定義inta=-2;和輸出語句:printf(\以下正確的表達(dá)是()。A.整型變量的輸出格式符只有%d一種
B.%x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)
C.%x是格式符的一種,其變量的值按十六進(jìn)制輸出,但%8lx是錯(cuò)誤的D.%8lx不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度3.以下程序的運(yùn)行結(jié)果是()。main()
{longy=-43456;
printf(\printf(\printf(\printf(\}
A.y=***-43456B.y=-43456y=-**43456y=-43456y=-0043456y=-0043456y=-43456y=+*-43456C.y=-43456D.y=**-43456y=-43456y=-0043456y=-0043456y=00043456y=**-43456y=+43456
4.若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是(第12頁共64頁
。
)《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
A.scanf(\
B.scanf(\C.scanf(\D.scanf(\
5.根據(jù)以下定義語句和數(shù)據(jù)的輸入方式,scanf語句的正確形式應(yīng)為()。已有定義:floatf1,f2;數(shù)據(jù)的輸入方式:4.52
3.5
A.scanf(\B.scanf(\
C.scanf(\
6.閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為25,13,10,程序的輸出結(jié)果為()。main()
{intx,y,z;
scanf(\printf(\}
A.x=y=z=48B.x=y=z=35C.x=z=35D.不確定的值7.設(shè)有以下程序#includemain()
{charc1,c2,c3,c4,c5,c6;
scanf(\c5=getchar();c6=getchar();putchar(c1);putchar(c2);
printf(\}
若運(yùn)行時(shí)從鍵盤輸入數(shù)據(jù):abc,defg,則輸出結(jié)果是()。A.abcdB.abdeC.abefD.abfg
8.有輸入語句:scanf(\為使a的值為1,b的值為3,c的值為2;從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)當(dāng)是()。
A.132B.1,3,2C.a=1*b=3*c=2D.a=1,b=3,c=29.若有以下定義,則正確的賦值語句是()。inta,b;floatx;
A.a=1,b=2,B.b++;C.a=b=5D.b=int(x);
10.設(shè)x、y均是float型變量,則以下不合法的賦值語句是()。A.++xB.y=(x%2)/10;C.x*=y+8;D.x=y=0;㈢.程序設(shè)計(jì)題
1.編寫程序:輸入一個(gè)字符,輸出該字符的前驅(qū)字符和后繼字符,并按ASCII碼值從大到小順序輸出這3個(gè)字符及其對應(yīng)的ASCII碼值。
2.輸入三角形的三邊長,求三角形的面積。
3.下面程序的功能是讀入直角三角形兩直角邊的長度,輸出斜邊長度。請將程序補(bǔ)充完整。#include
main(){intx,y;doublez=sqrt(a*a+b*b);printf(“斜邊長度為:%lf\\n〞,z);}
第13頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
第三章選擇結(jié)構(gòu)程序設(shè)計(jì)
一.知識點(diǎn)
1.關(guān)系運(yùn)算符、規(guī)律運(yùn)算符、規(guī)律值的表示與含義;注意elseprintf(“%d\\n〞,a2n++;}else{scanf(“%d〞,m++;}。語句1:if(a>b)scanf(“%d〞,elsescanf(“%d〞,語句2:if(a=y)if(a《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
main()
{intw=4,x=3,y=2,z=1;printf(“%d\\n〞,(w=10ora=0|a=10表達(dá)式(!x||y--)的值是()。
A.0B.1C.2D.-1
18.表示關(guān)系X0)
3.輸入三個(gè)數(shù),找出并打印最小數(shù)。
4.編寫程序,輸入三角型的三條邊長,求其面積。注意:對于不合理的邊長輸入要輸出數(shù)據(jù)錯(cuò)誤的提醒信息。5.編程:判斷輸入數(shù)據(jù)的正負(fù)性和奇偶性。
6.編寫程序?qū)崿F(xiàn)功能:輸入一個(gè)復(fù)數(shù),輸出共軛復(fù)數(shù)。例如,輸入2+3i(回車)后,自動輸入其共軛復(fù)數(shù)2-3i;輸入2-3i(回車)后,自動輸入其共軛復(fù)數(shù)2+3i;
7.編程實(shí)現(xiàn),界面提醒輸入選擇項(xiàng):“Y〞(代表圓形)、“J〞(代表矩形)、“S〞(三角形),當(dāng)用戶依照提醒輸入‘Y’、‘J’、‘S’中的任意一個(gè)時(shí),根據(jù)其代表意義,輸出該圖形的面積計(jì)算公式。8.已知銀行整存整取存款不同期限的月息利率分別為:
0.315%期限一年0.330%期限二年0.345%期限三年0.375%期限五年0.420%期限八年
要求輸入存錢的本金和期限,求到期時(shí)能從銀行得到的利息與本金的合計(jì)。
9.編寫一個(gè)程序,根據(jù)用戶輸入的字母判定它代表星期幾。例如:假使輸入M(m)則代表Monday;假使輸入T(t)則可能代表Tuesday或thursday,需要進(jìn)一步確認(rèn)是哪一天,因此需要輸入u和h。(提醒:對于星期幾,需要對第一個(gè)字符的大小寫都進(jìn)行判斷,而不需要對其次字符判斷大小。)10.從鍵盤輸入任意的字符,按以下規(guī)則進(jìn)行分類計(jì)數(shù)。
第一類'0','1','2','3','4','5','6','7','8','9'其次類'+','-','*','/','%','='第三類其它字符
當(dāng)輸入字符'\\'時(shí)先計(jì)數(shù),然后中止接收輸入,打印計(jì)數(shù)的結(jié)果。11.從鍵盤輸入一個(gè)字母,若是大寫字母,要求改用小寫字母輸出。
22
12.求ax+bx+c=0的根。a、b、c由鍵盤輸入,設(shè)b-4ac>=0.
?應(yīng)用篇
㈠.填空題
1.設(shè)a=3,b=6,c=5表達(dá)式!(a>b)則表達(dá)式(x
scanf(“%d,%d〞,if(_x0)s=s+1;
第18頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
if(a>b)t=s+t;
elset=2*s;
prinf(“s=%d,t=%d〞,s,t);}
為了使輸出結(jié)果t=4,輸入量a和b應(yīng)滿足的條件是_________。
5.若下面程序運(yùn)行時(shí)輸入:16,則以下程序的運(yùn)行結(jié)果是youareayongman!。#includevoidmain(){intyear;
printf(“inputyouryear:〞);scanf(“%d〞,if(year>=18)
printf(“youareanadult!〞);
elseprintf(“youareayongman!〞);}6.若下面程序運(yùn)行時(shí)輸入:2,則運(yùn)行結(jié)果是2ndclasspostageis14p!。#includevoidmain(){charclass;
printf(“Enter1forlstclasspostor2for2ndpost〞);scanf(“%c〞,if(class==’1’)
printf(“1stclasspostageis19p!〞);elseprintf(“2ndclasspostageis14p!〞);}7.以下程序的運(yùn)行結(jié)果是T。main()
{if(2*2==5b)c=1;
elseif(a==b)c=0;elsec=-1;
printf(“%d\\n〞,c);}
9.若有以下程序段,當(dāng)city的值為‘X’,則輸出結(jié)果為____Xi’an_______。switch(city)
{case‘B’:printf(“Beijing〞);break;case‘S’:printf(“Shanghai〞);break;case‘G’:printf(“Guang〞);break;case‘X’:printf(“Xi\\’an〞);break;default:printf(“error〞);break;}
㈡.選擇題
1.能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的規(guī)律表達(dá)式是()。
第19頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
A.(a>=0‖b>=0),則以下選項(xiàng)中值為0的表達(dá)式是()。
A.(!a==1)
if((j++‖k++)
if(a>bswitch(a%3)
{case0:m++;break;case1:m++;switch(b%2)
{default:m++;
case0:m++;break;}}
printf(“%d\\n〞,m);}
程序運(yùn)行后的輸出結(jié)果是()。
A.1B.2C.3D.48.有如下程序main()
{intx=1,a=0,b=0;switch(x)
{case0:b++;case1:a++;case2:a++;b++}
第20頁共64頁
2,2,3
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
C.本程序范圍內(nèi)D.非法變量
14.若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是()。A.?dāng)?shù)組的首地址B.?dāng)?shù)組第一個(gè)元素的值C.?dāng)?shù)組中全部元素的值D.?dāng)?shù)組元素的個(gè)數(shù)㈢.程序設(shè)計(jì)題1.用遞歸法求n!。
2.遞歸法求1!+2!+??n!。3.用遞歸法求1+2+??+n。
4.寫一個(gè)判斷素?cái)?shù)的函數(shù)。要求:
⑴在主函數(shù)中輸入一個(gè)整數(shù)并輸出是否素?cái)?shù)的信息;⑵用自定義函數(shù)判斷此數(shù)是否素?cái)?shù);
⑶測試數(shù)據(jù):17、34、2、1、0、49、39。
?應(yīng)用篇
㈠.填空題
1.下面pi函數(shù)的功能是,根據(jù)以下公式返回滿足精度ε要求的π的值。請?zhí)羁铡?/p>
π/2=1+1/3+(1/3)*(2/5)+(1/3)*(2/5)*(3/7)+(1/3)*(2/5)*(3/7)*(4/9)+...
doublepi(doubleeps)
{doubles=0.0,t=1.0;intn;for(n=1;t>eps;n++){s+=t;t=n*t/(2*n+1);return(2.0*s);}2.以下函數(shù)是求x的y次方。請?zhí)羁铡?/p>
doublefun(doublex,inty){inti;doublez=1;
for(i=1;i;B.#definem(intx)x+3C.#include,D.#defineM38.以下表達(dá)中正確的是()。
A.預(yù)處理命令行必需位于源文件的開頭B.在源文件的一行上可以有多條預(yù)處理命令C.宏名必需用大寫字母表示D.宏替換不占用程序的運(yùn)行時(shí)間9.以下關(guān)于宏定義命令的描述中,錯(cuò)誤的是()。
A.宏定義命令有兩種:不帶參數(shù)的宏定義命令和帶參數(shù)的宏定義命令B.宏定義命令在程序中出現(xiàn)的宏名在編譯前被替換
C.帶參數(shù)的宏定義命令中,參數(shù)表中必需指出參數(shù)的類型D.宏替換在正常編譯前進(jìn)行的,實(shí)際上是占用編譯時(shí)間㈢.判斷題
1.計(jì)算某數(shù)平方值的宏可定義為:#defineSQ(y)(y)*(y)。()?
2.在程序開始處進(jìn)行了宏定義#definePI3.14,那么在后面的程序中仍可以用賦值語句“PI=3.1415926;〞
來修改PI的值。()?
3.include和include“stdio.h〞完全沒有區(qū)別。()?4.宏調(diào)用中提供的實(shí)參個(gè)數(shù)必需與宏定義中的形參個(gè)數(shù)一致。()?5.一條#include可以包含多個(gè)頭文件。()?㈣.程序設(shè)計(jì)題
1.用帶參數(shù)的宏實(shí)現(xiàn)兩個(gè)整數(shù)相除的余數(shù),兩個(gè)整數(shù)的值在主函數(shù)中從鍵盤輸入。2.編寫帶參數(shù)的宏,實(shí)現(xiàn)y=x2+3x-2,主函數(shù)中輸入x,輸出對應(yīng)的y值。
?應(yīng)用篇
㈠.填空題
第49頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
1.已知:#defineB(a,b)a+1/b,則表達(dá)式B(5,1+3)的值是__________。
2.有以下程序:
#defineP3intF(intx){
return(P*x*x);}
main(){
printf(“%d\\n〞,F(3+5));}
程序運(yùn)行后的輸出結(jié)果是________________。3.以下程序的輸出結(jié)果是________________。
#defineSQR(x)x*xmain(){
inta=16,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf(“%d\\n\}
4.下面程序的輸出結(jié)果是__________________。
#defineSUB(x)(x)-(x)main(){
inta=4,b=6,c=7,d;d=SUB(a+b)*c;
printf(“d=%d\\n〞,d);}
㈡.選擇題
1.有以下程序:
#include#defineF(X,Y)(X)*(Y)main()
{inta=3,b=4;
printf(“%d\\n〞,F(a++,b++));}
程序運(yùn)行后的輸出結(jié)果是()。
A.12B.15C.16D.202.已知:#defineA4#defineBA+2#defineCB/2main()
{printf(“%d\\n〞,C+1);}上述程序段的輸出結(jié)果是()。
第50頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
printf(“a=%d,b=%d\\n〞,a,b);
}
該程序的輸出結(jié)果是()。
A.a(chǎn)=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=29.以下程序的輸出結(jié)果是()。
A.-11B.01C.10D.00main()
{inta=-1,b=1,k;
if((++amain()
{intx=1,y=0,a=0,b=0;switch(x){case1:switch(y)
{case0:a++;break;case1:b++;break;}case2:
a++;b++;break;}
prinf(“a=%d,b=%d〞,a,b);}
上面程序的運(yùn)行結(jié)果是_a=2,b=1________。
10.以下程序輸出x,y,z三個(gè)數(shù)中的最小值,請?zhí)羁帐钩绦蛲暾ain()
{intx=4,y=5,z=8;intu,v;
u=x=57B.if((a>B)||(b>C))k=1;elsek=0;
C.if(aB)k=1;elseif(bC)k=1;elsek=0;6.有以下程序:main()
{inti=1,j=2,k=3;
if(i++==1if(a>b)
if(b>c)printf(\+1);else
printf(\+1);printf(\程序運(yùn)行后的輸出結(jié)果是()。
A.2B.3C.43D.44
8.當(dāng)a=1,b=3,c=5,d=5時(shí),執(zhí)行下面一段程序后,x的值為()。if(amain()
{intx=1,y=0,a=0,b=0;switch(x){case1:switch(y)
第24頁共64頁
D.6《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
{case0:a++;break;
case1:b++;break;}case2:
a++;b++;break;}
printf(\b=%d\\n\}
上面程序的輸出結(jié)果是()。
A.a(chǎn)=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
10.輸入A,以下程序的運(yùn)行結(jié)果是()。#includevoidmain(){charch;
ch=getchar();switch(ch)
{case65:printf(“%c〞,’A’);case66:printf(“%c〞66);
default:printf(“%s\\n〞,“other〞);
}}
A.AB.ABotherC.AotherD.編譯錯(cuò)誤,無法運(yùn)行㈢.判斷題
1.if語句,switch語句可以嵌套,而且嵌套的層數(shù)沒有限制()。?3.多個(gè)case可以執(zhí)行一致的程序段()。?
4.內(nèi)層break語句可以終止嵌套的switch,使最外層的switch終止()。?5.switch語句的case分支可以使用{}復(fù)合語句,多個(gè)語句序列()。?㈣.程序設(shè)計(jì)題
1.編程實(shí)現(xiàn):輸入一個(gè)整數(shù),判斷輸入的整數(shù)是是否分別被3、5、7整除,并輸出一下信息:⑴能同時(shí)被3、5、7整除;
⑵能被其中兩個(gè)整除,并指出是哪兩個(gè);⑶能被其中一個(gè)整除,并指出是哪個(gè);⑷不能被任何一個(gè)整除。
2.設(shè)計(jì)程序?qū)崿F(xiàn):從鍵盤輸入年月信息后,程序自動計(jì)算所輸入年月中當(dāng)月的天數(shù)并輸出。3.編寫程序?qū)崿F(xiàn)功能:根據(jù)下表中的函數(shù)關(guān)系,對輸入的每個(gè)x值,計(jì)算出相應(yīng)的y值并輸出。
xx
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
main(){inty=10;
for(;y>0;y--)if(y%3==0){printf(“%d〞,--y);continue;}}2.以下表達(dá)正確的是()。
A.do_while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替。B.do_while語句構(gòu)成的循環(huán)只能用break語句退出。
C.用do_while語句構(gòu)成循環(huán)時(shí),只有在while后的表達(dá)式為非零時(shí)終止循環(huán)。D.用do_while語句構(gòu)成循環(huán)時(shí),只有在while后的表達(dá)式為零時(shí)終止循環(huán)。3.以下程序的輸出結(jié)果是()。
A.3981B.4284C.2668D.2870main(){intx,i;
for(i=1;i后,變量ch的值是()。
A.ch='e'B.ch='\\n'C.ch='0'D.ch=NULL9.下面程序的運(yùn)行結(jié)果是()。
#includemain()
{inty=10;
do{y--;}while(--y);printf(\\n\;}
A.-lB.lC.8D.0㈢.程序設(shè)計(jì)題
1.求Fibonacci數(shù)列前40個(gè)數(shù)。
第31頁共64頁
《程序設(shè)計(jì)基礎(chǔ)(C)》習(xí)題指導(dǎo)書
2.打印1000以內(nèi)的所有素?cái)?shù)。
3.利用輾轉(zhuǎn)相除法計(jì)算輸入的兩個(gè)數(shù)m,n的最大公約數(shù)。4.輸入一個(gè)數(shù)n,輸出這個(gè)數(shù)的所有因子。5.編程打印如下圖形(行數(shù)n由鍵盤輸入):*****
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度商業(yè)廚房設(shè)備升級改造與智能化管理合同范本4篇
- 2025年防盜門行業(yè)綠色生產(chǎn)與環(huán)保標(biāo)準(zhǔn)合同3篇
- 二零二五版鋁窗設(shè)計(jì)與施工一體化工程合同4篇
- 2024石材櫥柜安裝工程與石材加工、配送、售后合同3篇
- 二零二五年度船舶打蠟與防污處理合同4篇
- 2025年度面包磚施工技術(shù)咨詢服務(wù)合同4篇
- 2025年度大棚蔬菜種植權(quán)轉(zhuǎn)讓合同4篇
- 2025年度畜牧養(yǎng)殖廢棄物資源化利用技術(shù)合同4篇
- 二零二五年度城市交通信號控制系統(tǒng)合同3篇
- 2025年環(huán)保型地下水打井服務(wù)合同樣本4篇
- 2023年版《安寧療護(hù)實(shí)踐指南(試行)》解讀課件
- AQ6111-2023個(gè)體防護(hù)裝備安全管理規(guī)范
- 2024年高考語文備考之??甲骷易髌罚ㄏ拢褐袊F(xiàn)當(dāng)代、外國
- T-CSTM 01124-2024 油氣管道工程用工廠預(yù)制袖管三通
- 2019版新人教版高中英語必修+選擇性必修共7冊詞匯表匯總(帶音標(biāo))
- 新譯林版高中英語必修二全冊短語匯總
- 基于自適應(yīng)神經(jīng)網(wǎng)絡(luò)模糊推理系統(tǒng)的游客規(guī)模預(yù)測研究
- 河道保潔服務(wù)投標(biāo)方案(完整技術(shù)標(biāo))
- 品管圈(QCC)案例-縮短接臺手術(shù)送手術(shù)時(shí)間
- 精神科病程記錄
- 閱讀理解特訓(xùn)卷-英語四年級上冊譯林版三起含答案
評論
0/150
提交評論