《C語言程序設(shè)計(jì)基礎(chǔ)》單元總結(jié)與練習(xí)題及答案_第1頁
《C語言程序設(shè)計(jì)基礎(chǔ)》單元總結(jié)與練習(xí)題及答案_第2頁
《C語言程序設(shè)計(jì)基礎(chǔ)》單元總結(jié)與練習(xí)題及答案_第3頁
《C語言程序設(shè)計(jì)基礎(chǔ)》單元總結(jié)與練習(xí)題及答案_第4頁
《C語言程序設(shè)計(jì)基礎(chǔ)》單元總結(jié)與練習(xí)題及答案_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案C語盲程序設(shè)計(jì)單元總結(jié)與練習(xí)題單元程序設(shè)計(jì)宏觀認(rèn)識(shí)單元總結(jié)提升本單元中,核心內(nèi)容有C語言程序框架結(jié)構(gòu)、程序的構(gòu)成和程序開發(fā)過程。通過本單元的學(xué)習(xí),我們應(yīng)該知道:1.C語言程序最基本的程序框架由兩部分構(gòu)成,分別是:(1)編譯預(yù)處理(2)函數(shù)組C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案2.C程序最大的特點(diǎn)就是所有的程序都是用函數(shù)來裝配的,函數(shù)是構(gòu)成C語言程序的基本單位,函數(shù)包括主函數(shù)、庫函數(shù)和自定義函數(shù)。函數(shù)的一般結(jié)構(gòu)形式為:函數(shù)返回值類型函數(shù)名(形式參數(shù))說明語句;函數(shù)首部。函數(shù)體可執(zhí)行語句;3.標(biāo)識(shí)符是用來標(biāo)識(shí)程序中的某個(gè)對(duì)象名字的字符序列。C語言把標(biāo)識(shí)符

2、分為三類,即關(guān)鍵字、預(yù)立義標(biāo)識(shí)符、用戶自泄義標(biāo)識(shí)符。對(duì)于用戸自泄義標(biāo)識(shí)符的命名C語言規(guī)左:(1)所有的用戶標(biāo)識(shí)符必須先定義后使用:(2)用戶標(biāo)識(shí)符由字母(AZ,az)、數(shù)字(09)、下劃線組成,并且首字符不能是數(shù)字:(3)區(qū)分大小寫;(4)不能用關(guān)鍵字作為用戶自宦義標(biāo)識(shí)符,通常不使用預(yù)定義標(biāo)識(shí)符作為用戶自泄義標(biāo)識(shí)符。4.理論上講,程序開發(fā)過程分為四個(gè)步驟,分別為:(1)編輯源程序_編譯源程序,生成目標(biāo)程序_(3)(4)連接目標(biāo)程序及其相關(guān)模塊,生成可執(zhí)行文件_運(yùn)行可執(zhí)行文件_5.簡單描述使用VC+6.0開發(fā)應(yīng)用程序的步驟:如圖所示:圖VC+6.0開發(fā)程序的步驟總之,通過本單元的學(xué)習(xí),應(yīng)該掌握C

3、語言程序框架結(jié)構(gòu)和程序開發(fā)過程,還要對(duì)C語言程序設(shè)計(jì)的知識(shí)脈絡(luò)有一左的了解。單元練習(xí)一.選擇題1.構(gòu)成C語言程序的基本單位是()。A.框架田.預(yù)處理C.函數(shù)4).語句C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案2.在程序開發(fā)過程中,把文本文件格式源程序轉(zhuǎn)化為二進(jìn)制格式的目標(biāo)程序的過程稱之為()。A.編輯B.編譯C.連接D.運(yùn)行3.關(guān)于主函數(shù),下列說法不正確的是()。A.個(gè)完整的C語言應(yīng)用程序有唯一的主函數(shù)B.主函數(shù)的爼稱只能是mainC.主函數(shù)可以被苴他自泄義函數(shù)調(diào)用D.C語言程序的運(yùn)行從主函數(shù)開始,以主函數(shù)為核心展開4.關(guān)于標(biāo)識(shí)符,下列說法不正確的是()和三種字符組成,而且,首字符只能是_或_。

4、*夫*次*n*“n*C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案習(xí)題答案:一.選擇題1.G2.B3.C4C5.C二.填空題1主函數(shù)main2.分號(hào):3./*4.程序).obj*/源程序.cpp或.3目標(biāo)文件(或目標(biāo)可執(zhí)行文件(或可執(zhí)行程序)exe5.字母(AZaz)、數(shù)字(09)、下劃線字母或下劃線*/*專*扌*卓*次*次C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案單元二程序設(shè)計(jì)基礎(chǔ)知識(shí)單元總結(jié)提升本單元中,核心內(nèi)容有C語言中基本的數(shù)據(jù)類型、常雖和變量、運(yùn)算符和表達(dá)式以及算法的槪念。通過本單元的學(xué)習(xí),我們應(yīng)該知道:1.c語言中最基本的數(shù)據(jù)類型有:整型、字符型、浮點(diǎn)型。2.C程序中使用的常量按照表現(xiàn)形式

5、可分為直接常雖和符號(hào)常量。(1)直接常量1)整型常量,有十進(jìn)制、八進(jìn)制和十六進(jìn)制三種描述方式,英中,八進(jìn)制的前置符號(hào)標(biāo)志為0,十六進(jìn)制的前置符號(hào)標(biāo)志為Ox或0X。2)浮點(diǎn)型常量,有十進(jìn)制小數(shù)和指數(shù)兩種描述方式,指數(shù)形式的符號(hào)標(biāo)志是_或Eo3)字符型常量,是用單撇引號(hào)括起來的單一字符,對(duì)一些特殊字符和控制字符用的形式表示。4)字符串常量,是用雙撇引號(hào)括起來的一串字符序列。字符串的結(jié)朿標(biāo)志為二0_(2)符號(hào)常量符號(hào)常量是使用某個(gè)符號(hào)代表的常量,符號(hào)常量使用編譯預(yù)處理中的宏立義命令定義。3.C程序中使用變量,必須先左義,后使用變呈:定義后,系統(tǒng)會(huì)根據(jù)變量的類型分配相應(yīng)的存儲(chǔ)空間。4.C語言有豐富的運(yùn)

6、算符,其中算術(shù)運(yùn)算符包括+、-、*、/、,運(yùn)算符中的僅用于整數(shù)間的運(yùn)算;賦值運(yùn)算符包括和相應(yīng)的復(fù)合賦值運(yùn)算符+=、-=、/=,賦值運(yùn)算的含義是將右側(cè)的表達(dá)式的計(jì)算結(jié)果賦值給左側(cè)的變量,這與數(shù)學(xué)中的含義不同,需要注意。5.由運(yùn)算符和數(shù)據(jù)構(gòu)成表達(dá)式,若表達(dá)式中各數(shù)據(jù)的類型不同,則存在類型自動(dòng)轉(zhuǎn)換問題,必要時(shí)也可以使用強(qiáng)制類型轉(zhuǎn)換。6.7.對(duì)于面向過程的程序設(shè)計(jì)來說,程序二數(shù)據(jù)結(jié)構(gòu)+算法。在C語言中,對(duì)于每一個(gè)程序設(shè)計(jì)單元可采用結(jié)構(gòu)化程序設(shè)計(jì)方法,有三種基本的程C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案序結(jié)構(gòu),分別為:順序、選擇和循環(huán)。通過本單元的學(xué)習(xí),應(yīng)該掌握C語言程序設(shè)訃所需要的基本知識(shí),為后續(xù)內(nèi)

7、容的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。單元練習(xí)一選擇題1.在C語言中,int、short,char三種類型數(shù)據(jù)所占用的存儲(chǔ)空間是()。A.均為2個(gè)字節(jié)B.int和short占2個(gè)字節(jié),char占1個(gè)字節(jié)C.與編譯環(huán)境有關(guān)。D.由用戶自己定義2.下而泄義字符型變量ch的語句不正確的是()。A.charch=X2A;C.charch=65;。oB.charch=”c”;D.charch=NULL;3.已知大寫字母A的ASCII是65,小寫字母a的ASCII是97,以下不能將字符型變量c中的大寫字母轉(zhuǎn)換成對(duì)應(yīng)的小寫字母的語句是()。A.c=(cAr)%26+*a;C.c=c-A+T;。B.c2=tolower(c

8、);。oDc=(W+c)%26打;4.設(shè)有泄義:doubled,h;,英中d為三角形的底邊長,h為三角形的高,則以下C語言表達(dá)式與其面積公式丄dh汁算結(jié)果不相符的是()o2A.d*h/2。B1/2*d幺hoC.d*h*l/2D.d/2*h5.以下選項(xiàng)中,與k=n卄浣全等價(jià)的語句是()。A.k=n:n=n+l;Bn=n+l:k=n:oCk=+n;Dk+=n+l;二填空題1寫出整型變Ma.無符號(hào)長整型變量b.雙精度浮點(diǎn)型變量c和字符型變量d的泄義語句:2.常量S和即分別占用_個(gè)字節(jié)和_個(gè)字節(jié)的存儲(chǔ)空間。C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案3有定義inta=1234;,獲取其百位數(shù)碼的表達(dá)式為_

9、4.若有注義:chara=97,c則表達(dá)式c=S+8-3的值為_。5.已知intx=6;,則執(zhí)行x+=x=x-3;語句后,x的值是_。6.將一個(gè)浮點(diǎn)型變量n四舍五入精確到小數(shù)點(diǎn)后兩位,其表達(dá)式為:_7.C語言中基本的數(shù)據(jù)類型有_、_、_o8.結(jié)構(gòu)化程序設(shè)計(jì)中基本的程序結(jié)構(gòu)*車*未夫*扌*夫*車*)(*習(xí)題答案:一.選擇題1.02.B3oI)。4.B5A二填空題a;unsignedlongb;doub1ec;chard;2.123.a/l0O%104.f5.66(int)(n*100+05)/100.0;7.整型、浮點(diǎn)型、字符型&順序、選擇、循環(huán)*4t*4t*m*m*iC語言程序設(shè)計(jì)基

10、礎(chǔ)單元總結(jié)與練習(xí)題及答案單元三順序結(jié)構(gòu)程序設(shè)計(jì)單元總結(jié)提升本單元中,核心內(nèi)容是順序程序結(jié)構(gòu)程序設(shè)計(jì)中標(biāo)準(zhǔn)輸入輸岀庫函數(shù)的使用。通過本單元的學(xué)習(xí),我們應(yīng)該知道:1.C語言提供了標(biāo)準(zhǔn)輸入輸出庫函數(shù)用于實(shí)現(xiàn)數(shù)據(jù)輸入輸出操作,其對(duì)應(yīng)的頭文件為stdio.h_o2.單字符輸入和輸出函數(shù)分別為getchar()和putchar()3.格式化輸入和輸岀函數(shù)分別為scanf()和printf()。4.格式化輸出函數(shù)有兩種調(diào)用格式:printf(”字符串常晝);(2)printf(格式控制字符串,輸出項(xiàng)列表);5.格式化輸入/輸出中,格式控制符由開頭。常用的格式控制符有:整型int格式符d、float浮點(diǎn)型格式

11、符f、double浮點(diǎn)型格式符lf、字符型格式符c:對(duì)于浮點(diǎn)型格式可以用形式的附加格式說明小數(shù)的寬度和小數(shù)位數(shù)。6.格式化輸入中的輸入項(xiàng)為地址列表,對(duì)變量取地址的運(yùn)算符為通過本單元的學(xué)習(xí),應(yīng)對(duì)順序結(jié)構(gòu)程序設(shè)汁的特點(diǎn)和設(shè)計(jì)思路有所了解,同時(shí)重點(diǎn)學(xué)會(huì)單字符輸入函數(shù)getchar()單字符輸出函數(shù)putchar()、格式化輸出函數(shù)printf()和格式化輸入函數(shù)scanf()的正確使用。單元練習(xí)一.選擇題1.已泄義x為float型變疑,英值為213.4567&則printf(H%-4.2An,x);的輸岀結(jié)果為()。A.213.46C-213.45ooB.213.45?!癉.輸岀格式控制說明的域?qū)挷?/p>

12、夠,不能輸出C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案2.有以下程序,程序運(yùn)行時(shí)輸入:1,2,3V回車,則輸出的結(jié)果為()include、voidmain()、。、inta,b,c:。scanf(%dd%d,/&a,&b,&c);“printf(Ha+b+c=%dn,a+b+c);A.6B.a+b+c=6C.123。D.不確定的值3下面輸入語句中,正確的是()。A.scanf(a=b=%d,&a,&b);B.seanf(%d,%d,&a,&b);C.scanf(%c,c);。D.scanf(%d%dn,&f1,f2);4.在VC+6.0環(huán)境中,下列說法正確的是()。A.輸入函數(shù)scanf()輸入

13、多個(gè)數(shù)據(jù)時(shí),有時(shí)數(shù)據(jù)間不必加間隔符。B.輸入函數(shù)scanf()中單精度或雙精度浮點(diǎn)型數(shù)據(jù)都要用彳作為格式控制符。C.使用輸出函數(shù)printf()輸出字符或字符串都用格式控制符s。D.輸出函數(shù)printf()中單精度或雙精度浮點(diǎn)型數(shù)據(jù)都要用彳作為格式控制符。5.下而程序的功能是實(shí)現(xiàn)兩個(gè)字符變量互換值,若為ch1輸入a.ch2輸入b,則程序運(yùn)行時(shí)正確的輸入是()0#inc1udecharchl/ch2/ch;。scanf(%c%c,&chl,&ch2);亠ch=chl;ch1=ch2;ch2=ch;printf(ch1=%c,ch2=%cnchlzch2);)Aa,bB.av空格bC.aHD.av

14、回車b二.填空題1.有語句Putchar(getchar(),程序運(yùn)行時(shí)輸入:A,則輸出結(jié)果是_。2.printf(”%6.2f%l,1.0/3);的輸出結(jié)果是_。C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案3補(bǔ)充程序:intn1=10,n2=20;printf(”_”小1小2);要求按以下格式輸出nl和n2的值,每個(gè)輸岀行從第一列開始。n1=0010n2=00204有以下程序,程序運(yùn)行時(shí)輸入:1234=0)if(x0)y=1;elsey=1:printf(y=%d,y);A.1B.-1C.0D.不確定4.下列語句將小寫字母轉(zhuǎn)化為大寫字母,正確的語句為(A.if(/z/=ch=/a/)ch二ch3

15、2:B.if(ch=a/&ch=ch=,a)?ch-32:ch;Dch=(ch=/a,&ch=/z/)?ch:ch32;5.關(guān)于與switch語句配套的case語句中所使用的表達(dá)式,說法正確的是().A.可以是變量B.可以是常量或變量C.只能是常量或常量表達(dá)式D.無論是何種表達(dá)式,只要在執(zhí)行時(shí)有確定的值就行二.填空題1.在算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符和賦值運(yùn)算符中,運(yùn)算優(yōu)先級(jí)最髙的運(yùn)算符是_最低的是_。2.正確表示數(shù)學(xué)關(guān)系“l(fā)a=A&_)elseif(_)putchar(ch):5.以下程序段功能是根據(jù)學(xué)生考試成績,確左其成績等級(jí).成績與等級(jí)對(duì)應(yīng)情況與【例4-7】中表格相同,請(qǐng)將程序段補(bǔ)

16、充完整。charlevel;/成績等級(jí)floatscore;考試成績scanf(“f&score);switch(_)J_:1e、,cl=A:_:C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案acase8:levcl=B;break;case7:1evel=,C,;break;case6:1evel=,Dbreak;default:_:C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案printf(“考試成績等級(jí)為:_/leve1);*n*京未*習(xí)題答案:一選擇題1.O2.D3CB.5.C二.填空題1.!(非)=2.a1&a=/A/&chch二ch+6;)elseif(ch=P&chV二,Z)ch=ch20;

17、putchar(ch);5.charlevel;成績等級(jí)floatscore;考試成績scanfC%f&score):switch(int(score/10)case10:case9:lcvc1Albreak;xcasc8:Ievel=B;break:ocase7:Ieve1=Cbreak;case6:level=D*:break;defau1t:leve1=E1:*l*l“*H*夫)K*C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案單元五循環(huán)結(jié)構(gòu)程序設(shè)計(jì)單元總結(jié)提升在本單元中,如何理解循環(huán)的本質(zhì)、如何分析循環(huán)的三個(gè)要素以及如何描述循環(huán)結(jié)構(gòu)語句是核心內(nèi)容。通過本單元的學(xué)習(xí),我們應(yīng)該知道:1.循環(huán)的本

18、質(zhì)是將程序員從大量重復(fù)編寫相同代碼的工作中解放出來,減少程序源代碼的存儲(chǔ)空間,提髙程序的質(zhì)量,提高程序編寫的工作效率,但計(jì)算機(jī)執(zhí)行程序的工作量并沒有減少。2.循環(huán)結(jié)構(gòu)的三要素包括:(1)循環(huán)變量初值(2)循環(huán)控制條件表達(dá)式(3)循環(huán)體3.循環(huán)結(jié)構(gòu)描述語句有三種:_while、do-while和for_。其中whi1e和do-while的區(qū)別在于不管循環(huán)條件是否成立,dowhi1e循環(huán)都先執(zhí)行一次循環(huán)體,所以do-vhile循環(huán)的循環(huán)體至少執(zhí)行一次,而while循環(huán)的循環(huán)體可能一次都不執(zhí)行。4.循環(huán)結(jié)構(gòu)控制語句break的作用是:_;循環(huán)結(jié)構(gòu)控制語句continue的作用是:提前結(jié)束本次循環(huán)_。

19、5.在一個(gè)循環(huán)結(jié)構(gòu)語句中又包含了一個(gè)循環(huán)結(jié)構(gòu)語句稱之為循環(huán)的嵌套程序執(zhí)行時(shí),外層循環(huán)每執(zhí)行一次,內(nèi)層循環(huán)就要完整的執(zhí)行完,直至內(nèi)層循環(huán)執(zhí)行結(jié)束,再開始執(zhí)行下一次外層循環(huán)。學(xué)習(xí)完本單元,應(yīng)該掌握C語言循環(huán)結(jié)構(gòu)程序設(shè)訃的思路和基本語句的用法。至此,我們就學(xué)完了結(jié)構(gòu)化程序設(shè)計(jì)中的三種基本結(jié)構(gòu):順序、選擇和循環(huán)。單元練習(xí)一.選擇題1.下而說法正確的是()。A.while語句不管條件表達(dá)式是否為真,都將執(zhí)行一次循環(huán)體。C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案B.do-while語句構(gòu)成的循環(huán),一定要有能使while后而表達(dá)式的值為0的操作,或在循環(huán)體中使用break語句。C.for循環(huán)只能用于循環(huán)次數(shù)確

20、左的情況,且先執(zhí)行循環(huán)體語句,后判斷條件表達(dá)式。D.break語句的作用是從最近的循環(huán)體內(nèi)跳出來,而continue語句的作用是繼續(xù)執(zhí)行循環(huán)體中尚未執(zhí)行的語句。2.對(duì)for(表達(dá)式1;:表達(dá)式3),可理解為()。A.for俵達(dá)式1:0:表達(dá)式3)B.for(表達(dá)式1;1;表達(dá)式3)C.語法錯(cuò)誤D.僅執(zhí)行循環(huán)一次3.以下程序的功能為()。#ineludevoidmain()intbk=O;for(i=1;i10;i+=2)k+=i+1;printf(H%dnnzk);A.計(jì)算自然數(shù)19的累加和C.計(jì)算自然數(shù)19的奇數(shù)之和B.計(jì)算自然數(shù)110的偶數(shù)之和D.計(jì)算自然數(shù)110的累加和4.以下能正確計(jì)算

21、1*2*3*4*5*6*7*8*9*10的程序段是()。Adoi=l:s=l;3。Bdoi=l:s=0;s=s*i;i+;go“a亦+;s=s*i;while(i=10);aowhi1e(i=l0);C.i=l;s=l:oD.i=l;s=0;d002dos=s*i;i+;gwhi1e(i=10);s=s*i;i+;awhile(i=10);5有以下程序段intk=0;C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案while(k=1)k+;while循環(huán)執(zhí)行的次數(shù)是()。A無限次。B1次小C語法錯(cuò)誤,不能執(zhí)行D.次也不執(zhí)行C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案二.填空題1若輸入字符串:abcdev回

22、車屯則以下while循環(huán)體將執(zhí)行.次。while(ch=getchar()=,e/)printf2.以下程序執(zhí)行后的輸岀結(jié)果是ftincludevoidmain()inti;for(i=0;i3;i+)switch(i)case1case2:defauIt:Printf(n%d:i);printfprintf(”duJ):3下而程序的功能是:輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請(qǐng)?zhí)羁铡tincludevoidmain()intij;for(i=0:_i+)j=iTO+6;if(_)continue:printf(%dn”j);4.有以下程序#ineludevoidmain()in

23、tx=23;doprintfL%cT;x):)while(!x);該程序執(zhí)行的結(jié)果為5以下程序的功能是訃算13+5-7+.-99+101的值,請(qǐng)將程序補(bǔ)充完整。#includevoidmain()for(i=1;iB.chara23=ca7b1;C.inta3=h2,3,4,5,6;。D.inta=1,2,3,4,5,6:3.已定義inta3=(1,2,3,4,5,6,7,8,9;,則a12啲初值為()。A2oB.4C6aD84.判斷字符串str1是否大于字符串str2,應(yīng)當(dāng)使用()。A.if(shistr2Bif(strcmp(str1,str2)0)。scanf&ai|):for(i=0;

24、i3;i+)for(j=O;jV4;j+)scanf(”d:_):for(i=0;i3;i+)for(j=0:j4;j+)C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案、printf(”dcij);putchar(W):5閱讀下列程序,程序運(yùn)行后的輸出結(jié)果是_#inc1ude#includevoidmain()chars20=12347234567羅6789w:inti,k;for(k=Ozi=l;i3:i+)if(strcmp(skzsi)0)k=i:puts(sk);次*車*習(xí)題答案:一.選擇題1.C2C3C4D5.A二填空題1.floata4=00至3162.03.x+=fi;或x=x+fi:

25、4&bijcij=aij+bij5.6789*京*車*夫*C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案單元七函數(shù)的使用單元總結(jié)提升在本單元中,如何使用自立義函數(shù)是核心內(nèi)容。通過本單元的學(xué)習(xí),我們應(yīng)該知道:1.函數(shù)是構(gòu)成c程序的基本單位,函數(shù)的使用為模塊化程序設(shè)汁奠左了基礎(chǔ)。從用戶使用的角度,函數(shù)分為庫函數(shù)、自泄義函數(shù)兩種。2.庫函數(shù)的使用包括頭文件包含和庫函數(shù)調(diào)用兩個(gè)環(huán)節(jié);用戶自左義函數(shù)的使用包括函數(shù)聲明、函數(shù)立義和函數(shù)調(diào)用三個(gè)環(huán)節(jié)。3.從函數(shù)的外觀形式看,函數(shù)分為有參函數(shù)、無參函數(shù)兩種。當(dāng)主調(diào)函數(shù)調(diào)用無參函數(shù)時(shí),不需要向這些函數(shù)傳遞參數(shù);當(dāng)主調(diào)函數(shù)調(diào)用有參

26、函數(shù)時(shí),需要傳遞參數(shù)。4.用戶自定義函數(shù)的一般形式為:函數(shù)返回值類型函數(shù)名(形式參數(shù)列表)/函數(shù)首部(函數(shù)體;其中第一行稱為函數(shù)首部,大括號(hào)“”括起來的部分稱為函數(shù)體,對(duì)于有返回值的函數(shù),函數(shù)體中要包括return語句。5.函數(shù)首部也稱為函數(shù)原型,用函數(shù)原型聲明函數(shù)時(shí),形參名可以省略不寫,而只寫形參的類型,但形參的類型和數(shù)量必須與函數(shù)首部保持一致。6.函數(shù)要先聲明,然后才能使用,函數(shù)聲明在程序中的位宜有以下幾種情況:(1)函數(shù)聲明寫在主調(diào)函數(shù)的外部,這時(shí)的函數(shù)聲明為全局聲明。(2)函數(shù)聲明寫在主調(diào)函數(shù)的說明語句中,這時(shí)的函數(shù)聲明為局部聲明。(3)函數(shù)的立義出現(xiàn)在主調(diào)函數(shù)之前,則函數(shù)聲明可以省略

27、。7.函數(shù)的調(diào)用形式為:函數(shù)名(實(shí)際參數(shù)列表)。若調(diào)用無參函數(shù),則實(shí)參為空;若調(diào)用有參函數(shù),則在()內(nèi)寫出與形參類型、數(shù)量一致的實(shí)參。對(duì)于有參函數(shù),函數(shù)調(diào)用過程中存在著參數(shù)傳遞的問題,參數(shù)傳遞有兩種情況,貝一為值傳遞,其二為地址傳遞。8.函數(shù)在函數(shù)體中出現(xiàn)了對(duì)自身調(diào)用的語句,就稱為函數(shù)遞歸調(diào)用。使用遞歸方法解決問題的關(guān)鍵是如何找出遞歸關(guān)系,以及找岀遞歸調(diào)用的終止條件C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案9.帶參宏肚義的一般形式為:#define宏名(形參列表)字符串。通常用帶參數(shù)的宏定義代替簡單公式型函數(shù)。C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案10.函數(shù)的存儲(chǔ)類型有static和exter

28、n兩種。extern型函數(shù)稱為“外部函數(shù)”,可以被其他編譯單位中的函數(shù)調(diào)用;stac型函數(shù)稱為“內(nèi)部函數(shù)”,只能被本編譯單位的函數(shù)調(diào)用。11.程序中變量的使用范用稱為變疑的作用域,每個(gè)變量都有自己的作用域。按照作用域的范囤可分為兩種:局部變量和全局變量。12.變量的存儲(chǔ)方式可分為“動(dòng)態(tài)存儲(chǔ)”和“靜態(tài)存儲(chǔ)”兩種。動(dòng)態(tài)存儲(chǔ)變量包括aut()*11regiest兩種類型;靜態(tài)存儲(chǔ)變量包括static和extern兩種類型。靜態(tài)存儲(chǔ)變量若沒有初始化,則默認(rèn)初始值為_ostatic類型變量的值具有繼承性,即本次調(diào)用的初值是上次調(diào)用結(jié)束時(shí)變量的值。單元練習(xí)一選擇題1.關(guān)于使用函數(shù)的目的,以下不正確的說法是

29、(A.提髙程序的執(zhí)行效率C.減少程序文件所占內(nèi)存。2以下正確的函數(shù)首部是(B.提高程序的開發(fā)效率D.提髙程序可讀性A.voidfun(intC.voidfun(intx,y)inty)B.voidfun(intx;inty)D.voidfun(x,y)C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案3設(shè)函數(shù)fun的左義形式為:voidfun(charch,f1oatx).則以下對(duì)函數(shù)fun的調(diào)用正確的是(A.funCabLQ.O):C.funC65:37);。B.t=fun(,D,/12.3);Dfun(65,65);4關(guān)于函數(shù)的實(shí)參和形參,以下正確的說法是()。A.B.C.D.實(shí)參和對(duì)應(yīng)的形參各占用

30、獨(dú)立的存儲(chǔ)單元實(shí)參和對(duì)應(yīng)的形參共同占用同一存儲(chǔ)單元只有當(dāng)實(shí)參與形參重名時(shí)才共同占用存儲(chǔ)單元形參是虛擬的,不占用存儲(chǔ)單元5當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳遞的是(A.數(shù)組的長度B數(shù)組的首地址C數(shù)組的每一個(gè)元素的地址。D數(shù)組的每一個(gè)元素的值6.將一個(gè)函數(shù)指泄為static存儲(chǔ)類別后,該函數(shù)將()。A.既可以被同一源文件中的函數(shù)調(diào)用,也可以被其他源文件中的函數(shù)調(diào)用B.只能被同一源文件中的函數(shù)調(diào)用,不能被其他源文件中的函數(shù)調(diào)用C.只能被英他源文件中的函數(shù)調(diào)用,不能被同一源文件中的函數(shù)調(diào)用D既不能被同一源文件中的函數(shù)調(diào)用,也不能被英他源文件中的函數(shù)調(diào)用7.以下敘述正確的是()。A.全局變量的作

31、用域一泄比局部變量的作用域作用范圍大B.靜態(tài)static類型變屋的生存期貫穿于整個(gè)程序的運(yùn)行期間C.函數(shù)的形參都屬于全局變量D.未在泄義語句中賦初值的auto變量和static變量的初值都是隨機(jī)值二.填空題1.假設(shè)已有#defineM(r)r*r,則語句printf(%d,M(2+3);的執(zhí)彳亍結(jié)果為_。2.以下程序輸岀結(jié)果為_o#includevoidfun(intx,inty)(x=x+y;y=xy;x=xy;printf(%d,%dn,x.y);voidmain()C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案(intx=2,y=3;fun(x,y);printf(%d,%dn,x,y):3.

32、以下程序輸出結(jié)果為_。#includeintazb:voidfun()ba=10;b=20;voidmain()int8=3,6=9;fun();printf(”ct%dnn,a,b):4以下程序輸出結(jié)果為_oC語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案#includeintf()intb=0:staticintc=3;b=b+l:c=c+l:returnb+c:)voidmain()intal,a2;al=f():a2=f();定義f函數(shù),a為形參定義b為自動(dòng)變雖al.a2):5以下程序輸岀結(jié)果為_#inc1udc1ntfun(intn)2if(n=1)return1:eIsereturnfun

33、(n-l)+1:voidmain()intij=O:4or(i=1;i3:i+)j+=fun(i);prinif(”dn:j);6._以下程序輸出結(jié)果為#ineludevoidfun(iniaintn)(4or(inti=0;i0)a(i*=2;voidmain()intb|5=1,2,3,4,5):、fun(b.5);for(inti=0;i5;i+)printfC%itbi):C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案*次*夫琢*京*車*#夫*京*習(xí)題答案:一.選擇題1A2.A3D。4.A5B6.B-7B二.填空題1.112.3,22,33394.5,65.36246810*球*夫*璟*京*

34、車*夫*車車*琢頭單元八指針的使用*單元總結(jié)提升在本單元中,對(duì)指針的理解,以及利用指針訪問不同形式的數(shù)據(jù)是核心內(nèi)容。通過本單元的學(xué)習(xí),我們應(yīng)該知道:6.內(nèi)存地址就稱為指針。C語言允許用一個(gè)變量來存放指針,這種變量稱為指針變疑,而指針變量的值就是某個(gè)內(nèi)存單元的地址。7.運(yùn)義指針變量的一般格式為:類型標(biāo)識(shí)符*指針變量名_”其中:。(1)“指針變量名”前而的“*”,表示該變量是指針變量,不能省略。(2)“類型標(biāo)識(shí)符”表示該指針變疑所指向的變量的數(shù)據(jù)類型。(3)為一個(gè)指針變量已確立指向某類型的變量時(shí),不能再指向另一種類型的變量。C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案3.指針變量被賦值后即可引用,引用

35、指針變量的一般方法為:*指針變量名。4.指針和數(shù)組有著密切的關(guān)系,任何通過控制數(shù)組下標(biāo)實(shí)現(xiàn)的對(duì)數(shù)組的操作,都可用指針來實(shí)現(xiàn)。要通過指針操作數(shù)組,首先要建立指針變量與數(shù)組之間的關(guān)系,然后才能通過指針變量訪問數(shù)組元素。若有語句段:inta10;int*p;p=a;,則對(duì)于數(shù)組元素的訪問方式有ai、*(p+i)、pi,對(duì)數(shù)組元素地址的表示方式有a+i、p+i、&aiQ5數(shù)組名代表數(shù)組的首地址,利用函數(shù)處理一維數(shù)組數(shù)據(jù)時(shí),函數(shù)之間的參數(shù)傳遞為魚組首地址。將數(shù)組的首地址作為實(shí)參傳遞給函數(shù)的形參以后,實(shí)參數(shù)組和形參數(shù)組其實(shí)是同一段內(nèi)存中的數(shù)據(jù)。6.字符串是存放在某存儲(chǔ)區(qū)域的一串字符序列,可通過字符數(shù)組和字

36、符指針兩種方式操作字符串。7.函數(shù)返回值可以是地址(指針類型),返回值為地址的函數(shù)立義形式為:類型標(biāo)識(shí)符*(形參列表):通過本單元的學(xué)習(xí),應(yīng)明確地址和指針的關(guān)系,掌握使用指針訪問內(nèi)存數(shù)據(jù)的基本方法。單元練習(xí)一選擇題1假設(shè)整型變量a的值是12,a的地址是2200,若想使整型指針變量p指向a,以下賦值正確的是()。A.&a=2200;八B.*p=12:o“C*p=2200;。Dp二&a;2.若有定義int*p,m=5.n;,以下正確的程序段是()。A.p二&n;scanf”cT,&p);B.p二&n;scanf(%dM,*p);C.scanf(%d”,&n);*p=n;D.p=&n;*p=m;3.

37、以下合法的定義是()。A.str=*China;6“Bchar*p=China;C.char*p;strcpy(p,*China1);。I)charstr13);str二China;4.若*有定義inta=l,3,5,7,9,11,p=a;z則能夠正確引用該數(shù)組元素的是()。C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案A.aBa6ooC*(p)D*(-p)5.以下程序運(yùn)行結(jié)果為()。#includevoidmain()ochara=nLanguageH,b=Mprograme11;ochar*p/q;。intk;。p=a;q=b;for(k=0;k8;k卄)“f(*(p+k)=*(q+k)。pri

38、ntf(%c”嚴(yán)(p十k);6A.gaeBgaC.LanguageD.programe二填空題1._給出以下程序的執(zhí)行結(jié)果.#includevoidmain()ointp1,*p2,*p;inta=10,6=12;pl二&a;p2=&b;if(ab)p=p1:pl=p2;p2=p;)printf(”d,%djjp52);printf(H%d,%d,/a/b);2.以下程序的功能是把數(shù)組元素的最大值放入a0中,則條件表達(dá)式應(yīng)為_。ointa10=6/7.2,9,5.10,4,3,3,1#includevoidmain();C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案oint*p=a,i;for(i=

39、0;i10:i+,p+)-if(_*ap;。printf(“d丁a);3.以下程序的輸出結(jié)果是_#includevoidmain()。-inta23=1,2,3),4r5,6);intMptr;ptr=&a00;0m=(*ptr)*(*(ptr+2)*(ptr+4);printf(”dJm);)4下列函數(shù)功能是計(jì)算str所指字符串的長度,并作為函數(shù)值返回。請(qǐng)?zhí)羁?。intmystrlen(char*str)char*p;for(p=str;_!=、0lp+);oreturn(_);5.以下程序中,函數(shù)scmp的功能是返回形參指針si和s2所指字符串中較小字符串的首地址。試問當(dāng)程序運(yùn)行時(shí)依次輸入:

40、abed、abba和abc三個(gè)字符串,則輸出結(jié)果為。#include#includechar*scmp(char*s1,char*s2)ifstremp(slzs2)0)return(s1):elseoreturn(s2);)voidmain()inti:C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案charstring20zstr3)(20):for(i=0:i3:i+)ogets*a3.154*ppstr5.abba*車*案*扌*夫*夫C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案單元九結(jié)構(gòu)鬢型的使用單元總結(jié)提升在本單元中,結(jié)構(gòu)類型數(shù)據(jù)的含義、結(jié)構(gòu)類型的描述方法、結(jié)構(gòu)類型數(shù)拯的基本操作是核心內(nèi)容。通過

41、本單元的學(xué)習(xí),我們應(yīng)該知道:1.結(jié)構(gòu)類型數(shù)據(jù)使用的基本步驟為結(jié)構(gòu)類型說明、結(jié)構(gòu)類型變雖:左義和結(jié)構(gòu)變量使用。2.結(jié)構(gòu)類型說明的關(guān)鍵字為struct.結(jié)構(gòu)類型變量所占用內(nèi)存字節(jié)數(shù)為結(jié)構(gòu)變量所包含的各個(gè)成員變量所占字節(jié)數(shù)之和。3.若左義了一個(gè)結(jié)構(gòu)變雖和一個(gè)指向結(jié)構(gòu)變量的指針,則可以用以F三種形式訪問結(jié)構(gòu)成員:0(1)利用結(jié)構(gòu)變量與成員運(yùn)算符相結(jié)合.基本格式為:結(jié)構(gòu)變雖:成員名0。(2)利用結(jié)構(gòu)指針與成員運(yùn)算符相結(jié)合,基本格式為:(*結(jié)構(gòu)指針).成員名。(3)利用結(jié)構(gòu)指針與指向運(yùn)算符相結(jié)合,基本格式為:結(jié)構(gòu)指針一成員4.結(jié)構(gòu)變量不能作為一個(gè)整體進(jìn)行輸入和輸出,但結(jié)構(gòu)變量作為一個(gè)整體可以被復(fù)制、賦值、

42、傳遞參數(shù),以及作為函數(shù)返回值。肖用結(jié)構(gòu)變量作函數(shù)參數(shù)進(jìn)行整體傳送時(shí),要將全部成員逐個(gè)傳送,特別是成員為數(shù)組時(shí),將會(huì)使傳送的時(shí)間和空間開銷很大,所以一般不將結(jié)構(gòu)變量作為函數(shù)參數(shù),而用結(jié)構(gòu)指針變量作函數(shù)參數(shù)。這時(shí)由實(shí)參向形參傳遞的只是地址,從而減少了時(shí)間和空間的開銷。通過本單元的學(xué)習(xí),應(yīng)明確結(jié)構(gòu)類型的數(shù)據(jù)特點(diǎn),掌握結(jié)構(gòu)類型數(shù)據(jù)描述和操作的基本步驟和方法。單元練習(xí)一.選擇題1.以下描述正確的是()。A.結(jié)構(gòu)類型中的成員可以是結(jié)構(gòu)類型C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案B.結(jié)構(gòu)類型的成員不能是指針類型C.結(jié)構(gòu)類型中各成員共享同一個(gè)內(nèi)存單元D.在結(jié)構(gòu)類型說明后就立即分配內(nèi)存空間2已知如下沱義的結(jié)構(gòu)類

43、型變量,若有p=&data,則對(duì)data中的成員a的正確引用是()ostructsk“*inta;f1oatb;data,*p;A.(*p).data.aoB.(*p)C.pdata。D.p.data.a3若有如下宦義,則下列輸入語句正確的是()o、structstuinta;intb:student;A.scanf(%d:&a):八Bscanf(%cT:&student);oC.scanf(%d:&stu.a);。Dscanf(%d:&student.a);4.變量定義,則操作語句正確的是(structworkerintnum;charname10;charsex:intage:s1,s2,

44、t;A.if(si.ages2.age)t=sl;sl=s2;s2=t;B.sl=1101,zhangsan7fS28;。有如下結(jié)構(gòu)類型說明和)C.gets(&);八D.printfr%d,s,%c,%d,1-sexsl-age);5.以下敘述正確的是()A.結(jié)構(gòu)類型說明與結(jié)構(gòu)變量的含義一樣,都可以用來存放數(shù)據(jù)。B.對(duì)于不同類型的數(shù)據(jù),若想形成一個(gè)有機(jī)的整體,可以使用結(jié)構(gòu)類型。C.可以使用或“!=”對(duì)同一個(gè)結(jié)構(gòu)類型的兩個(gè)變量進(jìn)行整體比較?!癈語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案D.同一結(jié)構(gòu)類型中的成員變量名稱可以相同。二.填空題1.若有如下泄義:4str

45、uctstudentintnum;charnamc12;doublescore;C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案stu:則結(jié)構(gòu)類型的關(guān)鍵字是_,用戶泄義的結(jié)構(gòu)類型名是_,用戶左義的結(jié)構(gòu)變量是_2若有如下立義:structworkerintnum:“charname12;charsex;ints/p;age;則sizeof(structworker)的值是變疑s所占內(nèi)存字節(jié)數(shù)是.內(nèi)存字節(jié)數(shù)是3若有如下定義:structnum、inta:xintb;f1oatf;n=l,3,50);stractnum*pn=&n;則表達(dá)式pn-b/n.a*pn-b的值是_.表達(dá)式(*pn).a+pn-f的

46、值是_。4結(jié)構(gòu)數(shù)組中存有三個(gè)人的姓名和年齡,要輸岀年齡最大的人的姓爼和年齡。將程序補(bǔ)充完整。ffincludestructmancharname20;、intage;person(=ZhanghuaJ20廠Liuyang”.25,MSunpengnf19;voidmain()Pstructman*p*q:、intold=0;or(p=person;p_:p+)。if(oldage)q=p;_;、printf(n%s%dJqnamczqage);C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案5.下面程序的功能是從鍵盤上輸入5個(gè)人的年齡、姓名和性別,然后輸岀。將程序補(bǔ)充完整。ffincludestruc

47、tmanC語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練習(xí)題及答案4charname(20);intagc;charsex4;voiddata_in(structmanintn)structman*q=_:for(;pq;p卄)。printf(Mname;age;sexnn);oscanf(”s%d%口_,_Jvoiddata_out(structman*p,intn)(structman*q=_:、for(;pname,p-agc.pscx):voidmain()P、structmanperson5:datan(person,5);data_out(person,5);4c*車*#*夫夫*習(xí)題答案:一.選擇題l.Ao2B364.A5oB二填空題l.struet2.213.92116.000000studentstu(上機(jī)測(cè)試)4.page:5p+npname,&(page),psexp+n*夫車*木*車*夫車*夫*C語言程序設(shè)計(jì)基礎(chǔ)單元總結(jié)與練

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論