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

下載本文檔

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

文檔簡(jiǎn)介

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

2、三類,即關(guān)鍵字、預(yù)定義標(biāo)識(shí)符、用戶自定義標(biāo)識(shí)符。對(duì)于用戶自定義標(biāo)識(shí)符的命名C語(yǔ)言規(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) 編輯源程序 (2) 編譯源程序,生成目標(biāo)程序 (3) 連接目標(biāo)程序及其相關(guān)模塊,生成可執(zhí)行文件 (4) 運(yùn)行可執(zhí)行文件 5簡(jiǎn)單描述使用VC+6.0開發(fā)應(yīng)用程序的步驟:如圖所示: 啟動(dòng)VC+6.0打開或新建工程打開或新

3、建文件編輯、編譯連接、運(yùn)行完成圖 VC+6.0開發(fā)程序的步驟總之,通過本單元的學(xué)習(xí),應(yīng)該掌握C語(yǔ)言程序框架結(jié)構(gòu)和程序開發(fā)過程,還要對(duì)C語(yǔ)言程序設(shè)計(jì)的知識(shí)脈絡(luò)有一定的了解。單元練習(xí)一選擇題 1構(gòu)成C語(yǔ)言程序的基本單位是(c )。A框架 B預(yù)處理 C函數(shù) D語(yǔ)句 2在程序開發(fā)過程中,把文本文件格式源程序轉(zhuǎn)化為二進(jìn)制格式的目標(biāo)程序的過程稱之為( b )。A編輯 B編譯 C連接 D運(yùn)行3關(guān)于主函數(shù),下列說法不正確的是( c )。A一個(gè)完整的C語(yǔ)言應(yīng)用程序有唯一的主函數(shù)B主函數(shù)的名稱只能是mainC主函數(shù)可以被其他自定義函數(shù)調(diào)用DC語(yǔ)言程序的運(yùn)行從主函數(shù)開始,以主函數(shù)為核心展開4關(guān)于標(biāo)識(shí)符,下列說法不正

4、確的是( c )。A庫(kù)函數(shù)名稱為預(yù)定義標(biāo)識(shí)符,不建議用作用戶自定義標(biāo)識(shí)符B. 關(guān)鍵字不能作為用戶自定義標(biāo)識(shí)符C用戶自定義標(biāo)識(shí)符中不區(qū)分大小寫字母D標(biāo)識(shí)符中可以出現(xiàn)下劃線,且可以出現(xiàn)在標(biāo)識(shí)符的任意位置5以下可用作用戶自定義標(biāo)識(shí)符的一組是( c )。Avoid、return、ifBprintf、include、fabsCMax、_abc、MainD2abc、pay$、sum-10二填空題1C語(yǔ)言程序一般由若干個(gè)函數(shù)構(gòu)成,程序中應(yīng)至少包含一個(gè)_,其名稱只能為_。2C語(yǔ)言程序中每條語(yǔ)句必須以_結(jié)束。3C語(yǔ)言程序的注釋是以_開頭,以_結(jié)束的,在VC+6.0編程環(huán)境中,可使用_作為注釋的起始標(biāo)識(shí),注釋對(duì)程

5、序的執(zhí)行不起任何作用。4最初編寫的C語(yǔ)言程序稱為_,其擴(kuò)展名為_,編譯后生成的文件為_,其擴(kuò)展名是_,連接后生成的文件是_,其擴(kuò)展名是_。5C語(yǔ)言規(guī)定,標(biāo)識(shí)符只能由_、_和_三種字符組成,而且,首字符只能是_或_。*習(xí)題答案:一選擇題1C2B3C4C5C二填空題1主函數(shù) main2分號(hào);3/* */ /4源程序 .cpp或.c目標(biāo)文件(或目標(biāo)程序) .obj 可執(zhí)行文件(或可執(zhí)行程序) .exe5字母(AZ,az)、數(shù)字(09)、下劃線“_” 字母或下劃線*單元二 程序設(shè)計(jì)基礎(chǔ)知識(shí)單元總結(jié)提升本單元中,核心內(nèi)容有C語(yǔ)言中基本的數(shù)據(jù)類型、常量和變量、運(yùn)算符和表達(dá)式以及算法的概念。通過本單元的學(xué)習(xí)

6、,我們應(yīng)該知道:1C語(yǔ)言中最基本的數(shù)據(jù)類型有: 整型、字符型、浮點(diǎn)型 。2C程序中使用的常量按照表現(xiàn)形式可分為直接常量和符號(hào)常量。(1)直接常量 1)整型常量,有十進(jìn)制、八進(jìn)制和十六進(jìn)制三種描述方式,其中,八進(jìn)制的前置符號(hào)標(biāo)志為 0 ,十六進(jìn)制的前置符號(hào)標(biāo)志為 0x或0X 。 2)浮點(diǎn)型常量,有十進(jìn)制小數(shù)和指數(shù)兩種描述方式,指數(shù)形式的符號(hào)標(biāo)志是 e或E 。 3)字符型常量,是用單撇引號(hào)括起來的單一字符,對(duì)一些特殊字符和控制字符用 的形式表示。 4)字符串常量,是用雙撇引號(hào)括起來的一串字符序列。字符串的結(jié)束標(biāo)志為 0 。(2)符號(hào)常量 符號(hào)常量是使用某個(gè)符號(hào)代表的常量,符號(hào)常量使用編譯預(yù)處理中的

7、宏定義命令 定義。3C程序中使用變量,必須先 定義 ,后 使用 。變量定義后,系統(tǒng)會(huì)根據(jù)變量的類型分配相應(yīng)的存儲(chǔ)空間。4C語(yǔ)言有豐富的運(yùn)算符,其中算術(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對(duì)于面向過程的程序設(shè)計(jì)來說,程序= 數(shù)據(jù)結(jié)構(gòu) + 算法 。7在C語(yǔ)言中,對(duì)于每一個(gè)程序設(shè)計(jì)單元可采

8、用結(jié)構(gòu)化程序設(shè)計(jì)方法,有三種基本的程序結(jié)構(gòu),分別為: 順序 、 選擇 和 循環(huán) 。通過本單元的學(xué)習(xí),應(yīng)該掌握C語(yǔ)言程序設(shè)計(jì)所需要的基本知識(shí),為后續(xù)內(nèi)容的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。單元練習(xí)一選擇題 1在C語(yǔ)言中,int、short、char三種類型數(shù)據(jù)所占用的存儲(chǔ)空間是(c )。A均為2個(gè)字節(jié) Bint和short占2個(gè)字節(jié),char占1個(gè)字節(jié)C與編譯環(huán)境有關(guān) D由用戶自己定義 2下面定義字符型變量ch的語(yǔ)句不正確的是(b )。Achar ch=X2A; Bchar ch=c;Cchar ch=65; Dchar ch=NULL;3已知大寫字母A的ASCII是65,小寫字母a的ASCII是97,以下不

9、能將字符型變量c中的大寫字母轉(zhuǎn)換成對(duì)應(yīng)的小寫字母的語(yǔ)句是(d )。Ac= (c-A)%26+a; Bc2=tolower(c);Cc= c-A+a; Dc=(A+c)%26-a; 4設(shè)有定義:double d,h;,其中d為三角形的底邊長(zhǎng),h為三角形的高,則以下C語(yǔ)言表達(dá)式與其面積公式dh計(jì)算結(jié)果不相符的是(b )。Ad*h/2 B1/2*d*hCd*h*1/2Dd/2*h 5以下選項(xiàng)中,與k=n+;完全等價(jià)的語(yǔ)句是(a )。Ak=n;n=n+1; Bn=n+1;k=n;Ck=+n;Dk+=n+1;二填空題1寫出整型變量a、無符號(hào)長(zhǎng)整型變量b、雙精度浮點(diǎn)型變量c和字符型變量d的定義語(yǔ)句: 。2

10、 常量a和”a”分別占用_1_個(gè)字節(jié)和_2_個(gè)字節(jié)的存儲(chǔ)空間。a的意義是字符型常量a,而a的意義是字符串常量a,默認(rèn)后面還有個(gè)0作為字符串的結(jié)束符,此常量占倆個(gè)字符空間,兩者的區(qū)別就在于數(shù)據(jù)類型不同,前者是字符常量(char),在計(jì)算機(jī)內(nèi)存中占用一個(gè)字符空間,后者是字符串常量(string),在計(jì)算機(jī)內(nèi)存中占用倆個(gè)字符空間。3有定義 int a=1234;,獲取其百位數(shù)碼的表達(dá)式為_。4若有定義:char a=97,c;,則表達(dá)式c=a+8-3的值為_。5已知int x=6;,則執(zhí)行x+=x-=x-3;語(yǔ)句后,x的值是_6_。X=X+X,X=X-(X-3)6將一個(gè)浮點(diǎn)型變量n四舍五入精確到小數(shù)

11、點(diǎn)后兩位,其表達(dá)式為: 。7C語(yǔ)言中基本的數(shù)據(jù)類型有 、 、 。8結(jié)構(gòu)化程序設(shè)計(jì)中基本的程序結(jié)構(gòu)有 、 、 。*習(xí)題答案:一選擇題1C2B3D4B5A二填空題1int a; unsigned long b; double c; char d;21 23a/100%104f566(int)(n*100+0.5)/100.0;7整型、浮點(diǎn)型、字符型8順序、選擇、循環(huán)*單元三 順序結(jié)構(gòu)程序設(shè)計(jì)單元總結(jié)提升本單元中,核心內(nèi)容是順序程序結(jié)構(gòu)程序設(shè)計(jì)中標(biāo)準(zhǔn)輸入輸出庫(kù)函數(shù)的使用。通過本單元的學(xué)習(xí),我們應(yīng)該知道:1C語(yǔ)言提供了標(biāo)準(zhǔn)輸入輸出庫(kù)函數(shù)用于實(shí)現(xiàn)數(shù)據(jù)輸入輸出操作,其對(duì)應(yīng)的頭文件為 stdio.h 。2單

12、字符輸入和輸出函數(shù)分別為 getchar() 和 putchar() 。3格式化輸入和輸出函數(shù)分別為 scanf() 和 printf() 。4格式化輸出函數(shù)有兩種調(diào)用格式:(1) printf(字符串常量); (2) printf(格式控制字符串,輸出項(xiàng)列表); 5格式化輸入/輸出中,格式控制符由 % 開頭。常用的格式控制符有:整型int格式符 %d 、float浮點(diǎn)型格式符 %f 、double浮點(diǎn)型格式符 %lf 、字符型格式符 %c ;對(duì)于浮點(diǎn)型格式可以用 m.n 形式的附加格式說明小數(shù)的寬度和小數(shù)位數(shù)。6格式化輸入中的輸入項(xiàng)為地址列表,對(duì)變量取地址的運(yùn)算符為 & 。通過本單元的學(xué)習(xí),

13、應(yīng)對(duì)順序結(jié)構(gòu)程序設(shè)計(jì)的特點(diǎn)和設(shè)計(jì)思路有所了解,同時(shí)重點(diǎn)學(xué)會(huì)單字符輸入函數(shù)getchar()、單字符輸出函數(shù)putchar()、格式化輸出函數(shù)printf()和格式化輸入函數(shù)scanf()的正確使用。單元練習(xí)一選擇題1已定義x為float型變量,其值為213.45678,則printf(%-4.2fn,x);的輸出結(jié)果為( )。A213.46 B213.45 C-213.45 D輸出格式控制說明的域?qū)挷粔?,不能輸?2. 有以下程序,程序運(yùn)行時(shí)輸入:1,2,3,則輸出的結(jié)果為( )。#include void main( ) int a,b,c; scanf(%d%d%d,&a,&b,&c);

14、printf(a+b+c=%dn,a+b+c); A6 Ba+b+c=6C123D不確定的值3.下面輸入語(yǔ)句中,正確的是( )。Ascanf(a=b=%d,&a,&b); Bscanf(%d,%d,&a,&b);Cscanf(%c,c); Dscanf(%d %dn,&f1,f2);4在VC+6.0環(huán)境中,下列說法正確的是( )。A輸入函數(shù)scanf()輸入多個(gè)數(shù)據(jù)時(shí),有時(shí)數(shù)據(jù)間不必加間隔符。B輸入函數(shù)scanf()中單精度或雙精度浮點(diǎn)型數(shù)據(jù)都要用%f作為格式控制符。C使用輸出函數(shù)printf()輸出字符或字符串都用格式控制符%s。D輸出函數(shù)printf()中單精度或雙精度浮點(diǎn)型數(shù)據(jù)都要用%f

15、作為格式控制符。5下面程序的功能是實(shí)現(xiàn)兩個(gè)字符變量互換值,若為ch1輸入a,ch2輸入b,則程序運(yùn)行時(shí)正確的輸入是( )。#include void main( ) char ch1,ch2,ch; scanf(%c%c,&ch1,&ch2); ch=ch1;ch1=ch2;ch2=ch;printf(ch1=%c,ch2=%cn,ch1,ch2); Aa,b BabCabDab二填空題1.有語(yǔ)句putchar(getchar(),程序運(yùn)行時(shí)輸入:A,則輸出結(jié)果是_。2printf(%6.2f%,1.0/3);的輸出結(jié)果是_。3補(bǔ)充程序: int n1=10,n2=20; printf( ,n

16、1,n2); 要求按以下格式輸出n1和n2的值,每個(gè)輸出行從第一列開始。n1=0010n2=00204.有以下程序,程序運(yùn)行時(shí)輸入:1234,執(zhí)行后輸出的結(jié)果是_。#include void main( ) char ch1,ch2;int n1,n2; ch1=getchar();ch2=getchar();n1=ch1-0; n2=n1*10+(ch2-0); printf(n1=%d,n2=%d.n,n1,n2); 5. 輸入多個(gè)非字符型的數(shù)值數(shù)據(jù)時(shí),數(shù)據(jù)輸入時(shí)可用 、 和 作為間隔符。*習(xí)題答案:一選擇題1A2D3B4A5C二填空題1.A2.0.33%3.n1=%04dnn2=%04d

17、4.n1=1,n2=125.空格,TAB鍵,回車*單元四 選擇結(jié)構(gòu)程序設(shè)計(jì)單元總結(jié)提升在選擇結(jié)構(gòu)程序設(shè)計(jì)中,條件判斷表達(dá)式和選擇結(jié)構(gòu)實(shí)現(xiàn)語(yǔ)句是兩個(gè)核心內(nèi)容。通過本單元的學(xué)習(xí),我們應(yīng)該知道:1條件判斷表達(dá)式由關(guān)系運(yùn)算符及其表達(dá)式、邏輯運(yùn)算符及其表達(dá)式構(gòu)成,其中:(1) 關(guān)系運(yùn)算符有: 、 = 、 =0)if(x0) y=1;else y=-1; printf(“y=%d”,y);A1 B-1 C0 D不確定4下列語(yǔ)句將小寫字母轉(zhuǎn)化為大寫字母,正確的語(yǔ)句為( )。Aif(z=ch=a) ch=ch-32;Bif(ch=a&ch=ch=a)?ch-32:ch;Dch=( ch=a&ch=z)?ch:

18、ch-32;5關(guān)于與switch語(yǔ)句配套的case語(yǔ)句中所使用的表達(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)系“1a=A& ) else if( ) putchar(ch);5以下程序段功能是根據(jù)學(xué)生考試成績(jī),確定其成績(jī)等級(jí),成績(jī)與等級(jí)對(duì)應(yīng)情況與【例4-7】中表格相同,請(qǐng)將程序段補(bǔ)充完整。char level; /成績(jī)等級(jí)float score; /考試成績(jī)scanf(“%f”,&score)

19、;switch( ) :level=A; ;case 8: level=B;break;case 7: level=C; break;case 6: level=D; break;default: ; printf(“考試成績(jī)等級(jí)為: .”,level);*習(xí)題答案:一選擇題1D2D3C4B5C二填空題1!(非) =2a1&a=A& ch=U&ch=Z ) ch=ch-20; putchar(ch);5char level; /成績(jī)等級(jí)float score; /考試成績(jī)scanf(“%f”,&score);switch(int(score/10) ) case 10: case 9 :lev

20、el=A; break ;case 8: level=B;break;case 7: level=C; break;case 6: level=D; break;default: level=E ; *單元五 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)單元總結(jié)提升在本單元中,如何理解循環(huán)的本質(zhì)、如何分析循環(huán)的三個(gè)要素以及如何描述循環(huán)結(jié)構(gòu)語(yǔ)句是核心內(nèi)容。通過本單元的學(xué)習(xí),我們應(yīng)該知道:1 循環(huán)的本質(zhì)是將程序員從大量重復(fù)編寫相同代碼的工作中解放出來,減少程序源代碼的存儲(chǔ)空間,提高程序的質(zhì)量,提高程序編寫的工作效率,但計(jì)算機(jī)執(zhí)行程序的工作量并沒有減少。2 循環(huán)結(jié)構(gòu)的三要素包括:(1)循環(huán)變量初值 (2)循環(huán)控制條件表達(dá)式(3

21、)循環(huán)體 3循環(huán)結(jié)構(gòu)描述語(yǔ)句有三種: while 、 do-while 和 for 。其中while和do-while的區(qū)別在于 不管循環(huán)條件是否成立,do-while循環(huán)都先執(zhí)行一次循環(huán)體,所以do-while循環(huán)的循環(huán)體至少執(zhí)行一次,而while循環(huán)的循環(huán)體可能一次都不執(zhí)行 。4循環(huán)結(jié)構(gòu)控制語(yǔ)句break的作用是: 結(jié)束循環(huán) ;循環(huán)結(jié)構(gòu)控制語(yǔ)句continue的作用是: 提前結(jié)束本次循環(huán) 。5在一個(gè)循環(huán)結(jié)構(gòu)語(yǔ)句中又包含了一個(gè)循環(huán)結(jié)構(gòu)語(yǔ)句稱之為 循環(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語(yǔ)言

22、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的思路和基本語(yǔ)句的用法。至此,我們就學(xué)完了結(jié)構(gòu)化程序設(shè)計(jì)中的三種基本結(jié)構(gòu):順序、選擇和循環(huán)。單元練習(xí)一選擇題1下面說法正確的是( )。Awhile語(yǔ)句不管條件表達(dá)式是否為真,都將執(zhí)行一次循環(huán)體。Bdo-while語(yǔ)句構(gòu)成的循環(huán),一定要有能使while后面表達(dá)式的值為0的操作,或在循環(huán)體中使用break語(yǔ)句。Cfor循環(huán)只能用于循環(huán)次數(shù)確定的情況,且先執(zhí)行循環(huán)體語(yǔ)句,后判斷條件表達(dá)式。Dbreak語(yǔ)句的作用是從最近的循環(huán)體內(nèi)跳出來,而continue語(yǔ)句的作用是繼續(xù)執(zhí)行循環(huán)體中尚未執(zhí)行的語(yǔ)句。 2 對(duì)for(表達(dá)式1;表達(dá)式3),可理解為( )。Afor(表達(dá)式1;0;表達(dá)式3)

23、Bfor(表達(dá)式1;1;表達(dá)式3)C語(yǔ)法錯(cuò)誤D僅執(zhí)行循環(huán)一次3 以下程序的功能為( )。 #include void main() int i,k=0; for(i=1;i10;i+=2) k+=i+1; printf(%dn,k); A計(jì)算自然數(shù)19的累加和 B計(jì)算自然數(shù)110的偶數(shù)之和C計(jì)算自然數(shù)19的奇數(shù)之和 D計(jì)算自然數(shù)110的累加和4以下能正確計(jì)算1*2*3*4*5*6*7*8*9*10的程序段是( )。Adoi=1;s=1; Bdoi=1;s=0; s=s*i; s=s*i; i+; i+; while(i=10); while(i=10);Ci=1;s=1; Di=1;s=0;d

24、o do s=s*i; s=s*i; i+; i+; while(i=10); while(i=10);5有以下程序段 int k=0; while(k=1) k+; while循環(huán)執(zhí)行的次數(shù)是( )。A無限次 B1次C語(yǔ)法錯(cuò)誤,不能執(zhí)行D一次也不執(zhí)行二填空題1若輸入字符串:abcde,則以下while循環(huán)體將執(zhí)行 次。 while(ch=getchar()=e) printf(*);2以下程序執(zhí)行后的輸出結(jié)果是 。 #include void main() int i; for(i=0;i3;i+) switch(i) case 1: printf(%d,i); case 2: printf

25、(%d,i); default: printf(%d,i); 3下面程序的功能是:輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù),請(qǐng)?zhí)羁铡?#include void main() int i,j; for(i=0; ;i+) j=i*10+6; if( ) continue; printf(%dn,j); 4有以下程序 #include void main() int x=23; do printf(%d,x-);while(!x); 該程序執(zhí)行的結(jié)果為 。5以下程序的功能是計(jì)算1-3+5-7+-99+101的值,請(qǐng)將程序補(bǔ)充完整。 #include void main() int i,t=

26、1,s=0; for(i=1;i=101;i+=2) s=s+ ; ; printf(%dn,s); *習(xí)題答案:一選擇題1B2B3B4C5A二填空題1020111223istr2)Bif(strcmp(str1,str2)0)Dif(strcmp(str1,str2)0)5下列程序段的功能是給數(shù)組所有的元素輸入數(shù)據(jù),然后輸出,請(qǐng)選擇正確答案填空( )。#include void main() int a10,i=0; while(i10)scanf(%d, ); for(i=0;i10;i+) printf(%4d,ai);A a+(i+) B&ai+1 Ca+i D&a+i二填空題1定義一

27、個(gè)名為a的單精度浮點(diǎn)型一維數(shù)組,數(shù)組的長(zhǎng)度為4,所有元素的初值均為0,定義語(yǔ)句為 ,引用該數(shù)組元素時(shí),下標(biāo)的范圍是 ,該數(shù)組占用的存儲(chǔ)空間為 字節(jié)。2設(shè)有數(shù)據(jù)定義語(yǔ)句int i=3,x4=1,2,3;,則數(shù)組元素xi的值是 。3下列程序的功能是讀取10個(gè)實(shí)數(shù),然后依次輸出前1個(gè)實(shí)數(shù)和、前2個(gè)實(shí)數(shù)和、.、前9個(gè)實(shí)數(shù)和、前10個(gè)實(shí)數(shù)和。請(qǐng)將程序補(bǔ)充完整。#include void main() float f10,x=0; int i; for(i=0;i10;i+) scanf(%f,&fi); for(i=0;i10;i+) ; printf(sum of No.%2d is %.2f.n,i

28、,x); 4下列程序的功能是求兩個(gè)矩陣的和,請(qǐng)將程序補(bǔ)充完整。#include void main() int a34,b34,c34; /數(shù)組c存放矩陣a與b的和 int i,j; for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,&aij); for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d, ); ; for(i=0;i3;i+) for(j=0;j4;j+)printf(%d ,cij); putchar(n); 5閱讀下列程序,程序運(yùn)行后的輸出結(jié)果是 。#include #include void main() char s32

29、0=“1234”,”234567”,”6789”; int i,k;for(k=0,i=1;i3;i+)if(strcmp(sk,si)0) k=i;puts(sk);*習(xí)題答案:一選擇題1C2C3C4D5A二填空題1float a4=0 0至3 16203x+=fi;或x=x+fi;4&bij cij=aij+bij 56789*單元七 函數(shù)的使用單元總結(jié)提升在本單元中,如何使用自定義函數(shù)是核心內(nèi)容。通過本單元的學(xué)習(xí),我們應(yīng)該知道:1 函數(shù)是構(gòu)成C程序的基本單位,函數(shù)的使用為模塊化程序設(shè)計(jì)奠定了基礎(chǔ)。從用戶使用的角度,函數(shù)分為 庫(kù) 函數(shù)、 自定義 函數(shù)兩種。2 庫(kù)函數(shù)的使用包括 頭文件包含

30、和 庫(kù)函數(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)用 有參 函數(shù)時(shí),需要傳遞參數(shù)。4 用戶自定義函數(shù)的一般形式為:函數(shù)返回值類型 函數(shù)名(形式參數(shù)列表) /函數(shù)首部 函數(shù)體;其中第一行稱為 函數(shù)首部 ,大括號(hào)“”括起來的部分稱為 函數(shù)體 ,對(duì)于有返回值的函數(shù),函數(shù)體中要包括 return 語(yǔ)句。5函數(shù)首部也稱為函數(shù)原型,用函數(shù)原型聲明函數(shù)時(shí),形參名可以省略不寫,而只寫形參的類型,但形參的 類型 和 數(shù)量 必須與函數(shù)首

31、部保持一致。6函數(shù)要先聲明,然后才能使用,函數(shù)聲明在程序中的位置有以下幾種情況:(1)函數(shù)聲明寫在主調(diào)函數(shù)的外部,這時(shí)的函數(shù)聲明為全局聲明。(2)函數(shù)聲明寫在主調(diào)函數(shù)的說明語(yǔ)句中,這時(shí)的函數(shù)聲明為局部聲明。(3)函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)之前,則函數(shù)聲明可以省略。 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)用的語(yǔ)句,就稱為函數(shù)遞歸調(diào)用。使用遞歸方法解決問題的關(guān)鍵是如何找出 遞歸

32、關(guān)系 ,以及找出遞歸調(diào)用的 終止條件 。9帶參宏定義的一般形式為: #define 宏名(形參列表) 字符串 。通常用帶參數(shù)的宏定義代替簡(jiǎn)單公式型函數(shù)。10函數(shù)的存儲(chǔ)類型有static和extern兩種。 extern 型函數(shù)稱為“外部函數(shù)”,可以被其他編譯單位中的函數(shù)調(diào)用; static 型函數(shù)稱為“內(nèi)部函數(shù)”,只能被本編譯單位的函數(shù)調(diào)用。11程序中變量的使用范圍稱為變量的作用域,每個(gè)變量都有自己的作用域。按照作用域的范圍可分為兩種: 局部變量 和 全局變量 。12變量的存儲(chǔ)方式可分為“動(dòng)態(tài)存儲(chǔ)”和“靜態(tài)存儲(chǔ)”兩種。動(dòng)態(tài)存儲(chǔ)變量包括 auto 和 regiest 兩種類型;靜態(tài)存儲(chǔ)變量包括

33、static 和 extern 兩種類型。靜態(tài)存儲(chǔ)變量若沒有初始化,則默認(rèn)初始值為 0 。static類型變量的值具有繼承性,即本次調(diào)用的初值是上次調(diào)用結(jié)束時(shí)變量的值。單元練習(xí)一選擇題1關(guān)于使用函數(shù)的目的,以下不正確的說法是( )。A提高程序的執(zhí)行效率B提高程序的開發(fā)效率C減少程序文件所占內(nèi)存D提高程序可讀性2以下正確的函數(shù)首部是( )。Avoid fun(int x,int y)Bvoid fun(int x;int y)Cvoid fun(int x,y)Dvoid fun(x,y)3設(shè)函數(shù)fun的定義形式為:void fun(char ch, float x) . 則以下對(duì)函數(shù)fun的調(diào)

34、用正確的是( )。Afun(abc,3.0);Bt=fun(D,12.3);Cfun(65,3.7);Dfun(65,65);4關(guān)于函數(shù)的實(shí)參和形參,以下正確的說法是( )。A實(shí)參和對(duì)應(yīng)的形參各占用獨(dú)立的存儲(chǔ)單元B實(shí)參和對(duì)應(yīng)的形參共同占用同一存儲(chǔ)單元C只有當(dāng)實(shí)參與形參重名時(shí)才共同占用存儲(chǔ)單元D形參是虛擬的,不占用存儲(chǔ)單元5當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳遞的是( )。A數(shù)組的長(zhǎng)度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全局變量的作用域一定比局部變量的作用域作用范圍大B靜態(tài)static類型變量的生存期貫穿于整個(gè)程序的運(yùn)行期間C函數(shù)的形參都屬于全局變量D未在定義語(yǔ)句中賦初值的auto變量和static變量的初值都是隨機(jī)值二填空題1假設(shè)已有#define M(r) r*r,則語(yǔ)句printf(“%d”,M(2+3);的執(zhí)行結(jié)果為 。2以下程序輸出結(jié)果為 。#includ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論