




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案C語盲程序設(shè)計單元總結(jié)與練習(xí)題單元程序設(shè)計宏觀認(rèn)識單元總結(jié)提升本單元中,核心內(nèi)容有C語言程序框架結(jié)構(gòu)、程序的構(gòu)成和程序開發(fā)過程。通過本單元的學(xué)習(xí),我們應(yīng)該知道:1.C語言程序最基本的程序框架由兩部分構(gòu)成,分別是:(1)編譯預(yù)處理(2)函數(shù)組C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案2.C程序最大的特點就是所有的程序都是用函數(shù)來裝配的,函數(shù)是構(gòu)成C語言程序的基本單位,函數(shù)包括主函數(shù)、庫函數(shù)和自定義函數(shù)。函數(shù)的一般結(jié)構(gòu)形式為:函數(shù)返回值類型函數(shù)名(形式參數(shù))說明語句;函數(shù)首部。函數(shù)體可執(zhí)行語句;3.標(biāo)識符是用來標(biāo)識程序中的某個對象名字的字符序列。C語言把標(biāo)識符
2、分為三類,即關(guān)鍵字、預(yù)立義標(biāo)識符、用戶自泄義標(biāo)識符。對于用戸自泄義標(biāo)識符的命名C語言規(guī)左:(1)所有的用戶標(biāo)識符必須先定義后使用:(2)用戶標(biāo)識符由字母(AZ,az)、數(shù)字(09)、下劃線組成,并且首字符不能是數(shù)字:(3)區(qū)分大小寫;(4)不能用關(guān)鍵字作為用戶自宦義標(biāo)識符,通常不使用預(yù)定義標(biāo)識符作為用戶自泄義標(biāo)識符。4.理論上講,程序開發(fā)過程分為四個步驟,分別為:(1)編輯源程序_編譯源程序,生成目標(biāo)程序_(3)(4)連接目標(biāo)程序及其相關(guān)模塊,生成可執(zhí)行文件_運行可執(zhí)行文件_5.簡單描述使用VC+6.0開發(fā)應(yīng)用程序的步驟:如圖所示:圖VC+6.0開發(fā)程序的步驟總之,通過本單元的學(xué)習(xí),應(yīng)該掌握C
3、語言程序框架結(jié)構(gòu)和程序開發(fā)過程,還要對C語言程序設(shè)計的知識脈絡(luò)有一左的了解。單元練習(xí)一.選擇題1.構(gòu)成C語言程序的基本單位是()。A.框架田.預(yù)處理C.函數(shù)4).語句C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案2.在程序開發(fā)過程中,把文本文件格式源程序轉(zhuǎn)化為二進制格式的目標(biāo)程序的過程稱之為()。A.編輯B.編譯C.連接D.運行3.關(guān)于主函數(shù),下列說法不正確的是()。A.個完整的C語言應(yīng)用程序有唯一的主函數(shù)B.主函數(shù)的爼稱只能是mainC.主函數(shù)可以被苴他自泄義函數(shù)調(diào)用D.C語言程序的運行從主函數(shù)開始,以主函數(shù)為核心展開4.關(guān)于標(biāo)識符,下列說法不正確的是()和三種字符組成,而且,首字符只能是_或_。
4、*夫*次*n*“n*C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案習(xí)題答案:一.選擇題1.G2.B3.C4C5.C二.填空題1主函數(shù)main2.分號:3./*4.程序).obj*/源程序.cpp或.3目標(biāo)文件(或目標(biāo)可執(zhí)行文件(或可執(zhí)行程序)exe5.字母(AZaz)、數(shù)字(09)、下劃線字母或下劃線*/*專*扌*卓*次*次C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案單元二程序設(shè)計基礎(chǔ)知識單元總結(jié)提升本單元中,核心內(nèi)容有C語言中基本的數(shù)據(jù)類型、常雖和變量、運算符和表達式以及算法的槪念。通過本單元的學(xué)習(xí),我們應(yīng)該知道:1.c語言中最基本的數(shù)據(jù)類型有:整型、字符型、浮點型。2.C程序中使用的常量按照表現(xiàn)形式
5、可分為直接常雖和符號常量。(1)直接常量1)整型常量,有十進制、八進制和十六進制三種描述方式,英中,八進制的前置符號標(biāo)志為0,十六進制的前置符號標(biāo)志為Ox或0X。2)浮點型常量,有十進制小數(shù)和指數(shù)兩種描述方式,指數(shù)形式的符號標(biāo)志是_或Eo3)字符型常量,是用單撇引號括起來的單一字符,對一些特殊字符和控制字符用的形式表示。4)字符串常量,是用雙撇引號括起來的一串字符序列。字符串的結(jié)朿標(biāo)志為二0_(2)符號常量符號常量是使用某個符號代表的常量,符號常量使用編譯預(yù)處理中的宏立義命令定義。3.C程序中使用變量,必須先左義,后使用變呈:定義后,系統(tǒng)會根據(jù)變量的類型分配相應(yīng)的存儲空間。4.C語言有豐富的運
6、算符,其中算術(shù)運算符包括+、-、*、/、,運算符中的僅用于整數(shù)間的運算;賦值運算符包括和相應(yīng)的復(fù)合賦值運算符+=、-=、/=,賦值運算的含義是將右側(cè)的表達式的計算結(jié)果賦值給左側(cè)的變量,這與數(shù)學(xué)中的含義不同,需要注意。5.由運算符和數(shù)據(jù)構(gòu)成表達式,若表達式中各數(shù)據(jù)的類型不同,則存在類型自動轉(zhuǎn)換問題,必要時也可以使用強制類型轉(zhuǎn)換。6.7.對于面向過程的程序設(shè)計來說,程序二數(shù)據(jù)結(jié)構(gòu)+算法。在C語言中,對于每一個程序設(shè)計單元可采用結(jié)構(gòu)化程序設(shè)計方法,有三種基本的程C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案序結(jié)構(gòu),分別為:順序、選擇和循環(huán)。通過本單元的學(xué)習(xí),應(yīng)該掌握C語言程序設(shè)訃所需要的基本知識,為后續(xù)內(nèi)
7、容的學(xué)習(xí)打下堅實的基礎(chǔ)。單元練習(xí)一選擇題1.在C語言中,int、short,char三種類型數(shù)據(jù)所占用的存儲空間是()。A.均為2個字節(jié)B.int和short占2個字節(jié),char占1個字節(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)換成對應(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語言表達式與其面積公式丄dh汁算結(jié)果不相符的是()o2A.d*h/2。B1/2*d幺hoC.d*h*l/2D.d/2*h5.以下選項中,與k=n卄浣全等價的語句是()。A.k=n:n=n+l;Bn=n+l:k=n:oCk=+n;Dk+=n+l;二填空題1寫出整型變Ma.無符號長整型變量b.雙精度浮點型變量c和字符型變量d的泄義語句:2.常量S和即分別占用_個字節(jié)和_個字節(jié)的存儲空間。C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案3有定義inta=1234;,獲取其百位數(shù)碼的表達式為_
9、4.若有注義:chara=97,c則表達式c=S+8-3的值為_。5.已知intx=6;,則執(zhí)行x+=x=x-3;語句后,x的值是_。6.將一個浮點型變量n四舍五入精確到小數(shù)點后兩位,其表達式為:_7.C語言中基本的數(shù)據(jù)類型有_、_、_o8.結(jié)構(gòu)化程序設(shè)計中基本的程序結(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.整型、浮點型、字符型&順序、選擇、循環(huán)*4t*4t*m*m*iC語言程序設(shè)計基
10、礎(chǔ)單元總結(jié)與練習(xí)題及答案單元三順序結(jié)構(gòu)程序設(shè)計單元總結(jié)提升本單元中,核心內(nèi)容是順序程序結(jié)構(gòu)程序設(shè)計中標(biāo)準(zhǔn)輸入輸岀庫函數(shù)的使用。通過本單元的學(xué)習(xí),我們應(yīng)該知道:1.C語言提供了標(biāo)準(zhǔn)輸入輸出庫函數(shù)用于實現(xiàn)數(shù)據(jù)輸入輸出操作,其對應(yīng)的頭文件為stdio.h_o2.單字符輸入和輸出函數(shù)分別為getchar()和putchar()3.格式化輸入和輸岀函數(shù)分別為scanf()和printf()。4.格式化輸出函數(shù)有兩種調(diào)用格式:printf(”字符串常晝);(2)printf(格式控制字符串,輸出項列表);5.格式化輸入/輸出中,格式控制符由開頭。常用的格式控制符有:整型int格式符d、float浮點型格式
11、符f、double浮點型格式符lf、字符型格式符c:對于浮點型格式可以用形式的附加格式說明小數(shù)的寬度和小數(shù)位數(shù)。6.格式化輸入中的輸入項為地址列表,對變量取地址的運算符為通過本單元的學(xué)習(xí),應(yīng)對順序結(jié)構(gòu)程序設(shè)汁的特點和設(shè)計思路有所了解,同時重點學(xué)會單字符輸入函數(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è)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案2.有以下程序,程序運行時輸入: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、多個數(shù)據(jù)時,有時數(shù)據(jù)間不必加間隔符。B.輸入函數(shù)scanf()中單精度或雙精度浮點型數(shù)據(jù)都要用彳作為格式控制符。C.使用輸出函數(shù)printf()輸出字符或字符串都用格式控制符s。D.輸出函數(shù)printf()中單精度或雙精度浮點型數(shù)據(jù)都要用彳作為格式控制符。5.下而程序的功能是實現(xiàn)兩個字符變量互換值,若為ch1輸入a.ch2輸入b,則程序運行時正確的輸入是()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(),程序運行時輸入:A,則輸出結(jié)果是_。2.printf(”%6.2f%l,1.0/3);的輸出結(jié)果是_。C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案3補充程序:intn1=10,n2=20;printf(”_”小1小2);要求按以下格式輸出nl和n2的值,每個輸岀行從第一列開始。n1=0010n2=00204有以下程序,程序運行時輸入: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語句中所使用的表達式,說法正確的是().A.可以是變量B.可以是常量或變量C.只能是常量或常量表達式D.無論是何種表達式,只要在執(zhí)行時有確定的值就行二.填空題1.在算術(shù)運算符、關(guān)系運算符、邏輯運算符和賦值運算符中,運算優(yōu)先級最髙的運算符是_最低的是_。2.正確表示數(shù)學(xué)關(guān)系“l(fā)a=A&_)elseif(_)putchar(ch):5.以下程序段功能是根據(jù)學(xué)生考試成績,確左其成績等級.成績與等級對應(yīng)情況與【例4-7】中表格相同,請將程序段補
16、充完整。charlevel;/成績等級floatscore;考試成績scanf(“f&score);switch(_)J_:1e、,cl=A:_:C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案acase8:levcl=B;break;case7:1evel=,C,;break;case6:1evel=,Dbreak;default:_:C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案printf(“考試成績等級為:_/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;成績等級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è)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案單元五循環(huán)結(jié)構(gòu)程序設(shè)計單元總結(jié)提升在本單元中,如何理解循環(huán)的本質(zhì)、如何分析循環(huán)的三個要素以及如何描述循環(huán)結(jié)構(gòu)語句是核心內(nèi)容。通過本單元的學(xué)習(xí),我們應(yīng)該知道:1.循環(huán)的本
18、質(zhì)是將程序員從大量重復(fù)編寫相同代碼的工作中解放出來,減少程序源代碼的存儲空間,提髙程序的質(zhì)量,提高程序編寫的工作效率,但計算機執(zhí)行程序的工作量并沒有減少。2.循環(huán)結(jié)構(gòu)的三要素包括:(1)循環(huán)變量初值(2)循環(huán)控制條件表達式(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.在一個循環(huán)結(jié)構(gòu)語句中又包含了一個循環(huán)結(jié)構(gòu)語句稱之為循環(huán)的嵌套程序執(zhí)行時,外層循環(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è)計中的三種基本結(jié)構(gòu):順序、選擇和循環(huán)。單元練習(xí)一.選擇題1.下而說法正確的是()。A.while語句不管條件表達式是否為真,都將執(zhí)行一次循環(huán)體。C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案B.do-while語句構(gòu)成的循環(huán),一定要有能使while后而表達式的值為0的操作,或在循環(huán)體中使用break語句。C.for循環(huán)只能用于循環(huán)次數(shù)確
20、左的情況,且先執(zhí)行循環(huán)體語句,后判斷條件表達式。D.break語句的作用是從最近的循環(huán)體內(nèi)跳出來,而continue語句的作用是繼續(xù)執(zhí)行循環(huán)體中尚未執(zhí)行的語句。2.對for(表達式1;:表達式3),可理解為()。A.for俵達式1:0:表達式3)B.for(表達式1;1;表達式3)C.語法錯誤D.僅執(zhí)行循環(huán)一次3.以下程序的功能為()。#ineludevoidmain()intbk=O;for(i=1;i10;i+=2)k+=i+1;printf(H%dnnzk);A.計算自然數(shù)19的累加和C.計算自然數(shù)19的奇數(shù)之和B.計算自然數(shù)110的偶數(shù)之和D.計算自然數(shù)110的累加和4.以下能正確計算
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è)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案while(k=1)k+;while循環(huán)執(zhí)行的次數(shù)是()。A無限次。B1次小C語法錯誤,不能執(zhí)行D.次也不執(zhí)行C語言程序設(shè)計基礎(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整除且個位數(shù)為6的所有整數(shù),請?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的值,請將程序補充完整。#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è)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案、printf(”dcij);putchar(W):5閱讀下列程序,程序運行后的輸出結(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è)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案C語言程序設(shè)計基礎(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)用兩個環(huán)節(jié);用戶自左義函數(shù)的使用包括函數(shù)聲明、函數(shù)立義和函數(shù)調(diào)用三個環(huán)節(jié)。3.從函數(shù)的外觀形式看,函數(shù)分為有參函數(shù)、無參函數(shù)兩種。當(dāng)主調(diào)函數(shù)調(diào)用無參函數(shù)時,不需要向這些函數(shù)傳遞參數(shù);當(dāng)主調(diào)函數(shù)調(diào)用有參
26、函數(shù)時,需要傳遞參數(shù)。4.用戶自定義函數(shù)的一般形式為:函數(shù)返回值類型函數(shù)名(形式參數(shù)列表)/函數(shù)首部(函數(shù)體;其中第一行稱為函數(shù)首部,大括號“”括起來的部分稱為函數(shù)體,對于有返回值的函數(shù),函數(shù)體中要包括return語句。5.函數(shù)首部也稱為函數(shù)原型,用函數(shù)原型聲明函數(shù)時,形參名可以省略不寫,而只寫形參的類型,但形參的類型和數(shù)量必須與函數(shù)首部保持一致。6.函數(shù)要先聲明,然后才能使用,函數(shù)聲明在程序中的位宜有以下幾種情況:(1)函數(shù)聲明寫在主調(diào)函數(shù)的外部,這時的函數(shù)聲明為全局聲明。(2)函數(shù)聲明寫在主調(diào)函數(shù)的說明語句中,這時的函數(shù)聲明為局部聲明。(3)函數(shù)的立義出現(xiàn)在主調(diào)函數(shù)之前,則函數(shù)聲明可以省略
27、。7.函數(shù)的調(diào)用形式為:函數(shù)名(實際參數(shù)列表)。若調(diào)用無參函數(shù),則實參為空;若調(diào)用有參函數(shù),則在()內(nèi)寫出與形參類型、數(shù)量一致的實參。對于有參函數(shù),函數(shù)調(diào)用過程中存在著參數(shù)傳遞的問題,參數(shù)傳遞有兩種情況,貝一為值傳遞,其二為地址傳遞。8.函數(shù)在函數(shù)體中出現(xiàn)了對自身調(diào)用的語句,就稱為函數(shù)遞歸調(diào)用。使用遞歸方法解決問題的關(guān)鍵是如何找出遞歸關(guān)系,以及找岀遞歸調(diào)用的終止條件C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案9.帶參宏肚義的一般形式為:#define宏名(形參列表)字符串。通常用帶參數(shù)的宏定義代替簡單公式型函數(shù)。C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案10.函數(shù)的存儲類型有static和exter
28、n兩種。extern型函數(shù)稱為“外部函數(shù)”,可以被其他編譯單位中的函數(shù)調(diào)用;stac型函數(shù)稱為“內(nèi)部函數(shù)”,只能被本編譯單位的函數(shù)調(diào)用。11.程序中變量的使用范用稱為變疑的作用域,每個變量都有自己的作用域。按照作用域的范囤可分為兩種:局部變量和全局變量。12.變量的存儲方式可分為“動態(tài)存儲”和“靜態(tài)存儲”兩種。動態(tài)存儲變量包括aut()*11regiest兩種類型;靜態(tài)存儲變量包括static和extern兩種類型。靜態(tài)存儲變量若沒有初始化,則默認(rèn)初始值為_ostatic類型變量的值具有繼承性,即本次調(diào)用的初值是上次調(diào)用結(jié)束時變量的值。單元練習(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è)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案3設(shè)函數(shù)fun的左義形式為:voidfun(charch,f1oatx).則以下對函數(shù)fun的調(diào)用正確的是(A.funCabLQ.O):C.funC65:37);。B.t=fun(,D,/12.3);Dfun(65,65);4關(guān)于函數(shù)的實參和形參,以下正確的說法是()。A.B.C.D.實參和對應(yīng)的形參各占用
30、獨立的存儲單元實參和對應(yīng)的形參共同占用同一存儲單元只有當(dāng)實參與形參重名時才共同占用存儲單元形參是虛擬的,不占用存儲單元5當(dāng)調(diào)用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳遞的是(A.數(shù)組的長度B數(shù)組的首地址C數(shù)組的每一個元素的地址。D數(shù)組的每一個元素的值6.將一個函數(shù)指泄為static存儲類別后,該函數(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類型變屋的生存期貫穿于整個程序的運行期間C.函數(shù)的形參都屬于全局變量D.未在泄義語句中賦初值的auto變量和static變量的初值都是隨機值二.填空題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è)計基礎(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è)計基礎(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為自動變雖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è)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案*次*夫琢*京*車*#夫*京*習(xí)題答案:一.選擇題1A2.A3D。4.A5B6.B-7B二.填空題1.112.3,22,33394.5,65.36246810*球*夫*璟*京*
34、車*夫*車車*琢頭單元八指針的使用*單元總結(jié)提升在本單元中,對指針的理解,以及利用指針訪問不同形式的數(shù)據(jù)是核心內(nèi)容。通過本單元的學(xué)習(xí),我們應(yīng)該知道:6.內(nèi)存地址就稱為指針。C語言允許用一個變量來存放指針,這種變量稱為指針變疑,而指針變量的值就是某個內(nèi)存單元的地址。7.運義指針變量的一般格式為:類型標(biāo)識符*指針變量名_”其中:。(1)“指針變量名”前而的“*”,表示該變量是指針變量,不能省略。(2)“類型標(biāo)識符”表示該指針變疑所指向的變量的數(shù)據(jù)類型。(3)為一個指針變量已確立指向某類型的變量時,不能再指向另一種類型的變量。C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案3.指針變量被賦值后即可引用,引用
35、指針變量的一般方法為:*指針變量名。4.指針和數(shù)組有著密切的關(guān)系,任何通過控制數(shù)組下標(biāo)實現(xiàn)的對數(shù)組的操作,都可用指針來實現(xiàn)。要通過指針操作數(shù)組,首先要建立指針變量與數(shù)組之間的關(guān)系,然后才能通過指針變量訪問數(shù)組元素。若有語句段:inta10;int*p;p=a;,則對于數(shù)組元素的訪問方式有ai、*(p+i)、pi,對數(shù)組元素地址的表示方式有a+i、p+i、&aiQ5數(shù)組名代表數(shù)組的首地址,利用函數(shù)處理一維數(shù)組數(shù)據(jù)時,函數(shù)之間的參數(shù)傳遞為魚組首地址。將數(shù)組的首地址作為實參傳遞給函數(shù)的形參以后,實參數(shù)組和形參數(shù)組其實是同一段內(nèi)存中的數(shù)據(jù)。6.字符串是存放在某存儲區(qū)域的一串字符序列,可通過字符數(shù)組和字
36、符指針兩種方式操作字符串。7.函數(shù)返回值可以是地址(指針類型),返回值為地址的函數(shù)立義形式為:類型標(biāo)識符*(形參列表):通過本單元的學(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è)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案A.aBa6ooC*(p)D*(-p)5.以下程序運行結(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中,則條件表達式應(yīng)為_。ointa10=6/7.2,9,5.10,4,3,3,1#includevoidmain();C語言程序設(shè)計基礎(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ù)功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁?。intmystrlen(char*str)char*p;for(p=str;_!=、0lp+);oreturn(_);5.以下程序中,函數(shù)scmp的功能是返回形參指針si和s2所指字符串中較小字符串的首地址。試問當(dāng)程序運行時依次輸入:
40、abed、abba和abc三個字符串,則輸出結(jié)果為。#include#includechar*scmp(char*s1,char*s2)ifstremp(slzs2)0)return(s1):elseoreturn(s2);)voidmain()inti:C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案charstring20zstr3)(20):for(i=0:i3:i+)ogets*a3.154*ppstr5.abba*車*案*扌*夫*夫C語言程序設(shè)計基礎(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)變量所包含的各個成員變量所占字節(jié)數(shù)之和。3.若左義了一個結(jié)構(gòu)變雖和一個指向結(jié)構(gòu)變量的指針,則可以用以F三種形式訪問結(jié)構(gòu)成員:0(1)利用結(jié)構(gòu)變量與成員運算符相結(jié)合.基本格式為:結(jié)構(gòu)變雖:成員名0。(2)利用結(jié)構(gòu)指針與成員運算符相結(jié)合,基本格式為:(*結(jié)構(gòu)指針).成員名。(3)利用結(jié)構(gòu)指針與指向運算符相結(jié)合,基本格式為:結(jié)構(gòu)指針一成員4.結(jié)構(gòu)變量不能作為一個整體進行輸入和輸出,但結(jié)構(gòu)變量作為一個整體可以被復(fù)制、賦值、
42、傳遞參數(shù),以及作為函數(shù)返回值。肖用結(jié)構(gòu)變量作函數(shù)參數(shù)進行整體傳送時,要將全部成員逐個傳送,特別是成員為數(shù)組時,將會使傳送的時間和空間開銷很大,所以一般不將結(jié)構(gòu)變量作為函數(shù)參數(shù),而用結(jié)構(gòu)指針變量作函數(shù)參數(shù)。這時由實參向形參傳遞的只是地址,從而減少了時間和空間的開銷。通過本單元的學(xué)習(xí),應(yīng)明確結(jié)構(gòu)類型的數(shù)據(jù)特點,掌握結(jié)構(gòu)類型數(shù)據(jù)描述和操作的基本步驟和方法。單元練習(xí)一.選擇題1.以下描述正確的是()。A.結(jié)構(gòu)類型中的成員可以是結(jié)構(gòu)類型C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案B.結(jié)構(gòu)類型的成員不能是指針類型C.結(jié)構(gòu)類型中各成員共享同一個內(nèi)存單元D.在結(jié)構(gòu)類型說明后就立即分配內(nèi)存空間2已知如下沱義的結(jié)構(gòu)類
43、型變量,若有p=&data,則對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.對于不同類型的數(shù)據(jù),若想形成一個有機的整體,可以使用結(jié)構(gòu)類型。C.可以使用或“!=”對同一個結(jié)構(gòu)類型的兩個變量進行整體比較?!癈語言程序設(shè)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案D.同一結(jié)構(gòu)類型中的成員變量名稱可以相同。二.填空題1.若有如下泄義:4str
45、uctstudentintnum;charnamc12;doublescore;C語言程序設(shè)計基礎(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;則表達式pn-b/n.a*pn-b的值是_.表達式(*pn).a+pn-f的
46、值是_。4結(jié)構(gòu)數(shù)組中存有三個人的姓名和年齡,要輸岀年齡最大的人的姓爼和年齡。將程序補充完整。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è)計基礎(chǔ)單元總結(jié)與練習(xí)題及答案5.下面程序的功能是從鍵盤上輸入5個人的年齡、姓名和性別,然后輸岀。將程序補充完整。ffincludestruc
47、tmanC語言程序設(shè)計基礎(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(上機測試)4.page:5p+npname,&(page),psexp+n*夫車*木*車*夫車*夫*C語言程序設(shè)計基礎(chǔ)單元總結(jié)與練
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)租賃機房合同范例
- 產(chǎn)品投資運營合同范例
- 借地種樹合同范例
- 保潔用具采購合同范例
- 酒店人員招聘與培訓(xùn)策略對于提升服務(wù)質(zhì)量的重要性研究試題及答案
- 保潔養(yǎng)護合同范例
- 2025年中級會計考試的復(fù)習(xí)趨勢與前瞻性考量試題及答案
- pe管供應(yīng)合同范例
- 2024年初級審計師考試知識梳理試題及答案
- 質(zhì)量工程師考試的實踐應(yīng)用試題及答案
- 2025-2030顯微鏡行業(yè)市場深度分析及發(fā)展策略研究報告
- 張家界2025年張家界市公安局招聘360名警務(wù)輔助人員筆試歷年參考題庫附帶答案詳解
- 【大數(shù)跨境】2025年保溫杯出海市場洞察報告
- 第15課《青春之光》課件-2024-2025學(xué)年統(tǒng)編版語文七年級下冊
- 《十萬個為什么》整本書閱讀-課件-四年級下冊語文(統(tǒng)編版)
- 2023版押品考試題庫必考點含答案
- 口腔與健康智慧樹知到答案章節(jié)測試2023年溫州醫(yī)科大學(xué)
- 人教版九年級歷史中考【政治經(jīng)濟專題復(fù)習(xí)課件44張】(共44張)
- T∕CSEA 6-2018 鋅鎳合金電鍍技術(shù)條件
- 《大學(xué)英語三》題庫及答案
- 我們是共產(chǎn)主義接班人歌詞--拼音版本
評論
0/150
提交評論