C語言總復(fù)習(xí)全_第1頁
C語言總復(fù)習(xí)全_第2頁
C語言總復(fù)習(xí)全_第3頁
C語言總復(fù)習(xí)全_第4頁
C語言總復(fù)習(xí)全_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、總復(fù)習(xí)第一頁,編輯于星期六:五點(diǎn) 三十五分。1第一章 C程序設(shè)計(jì)概述1、C語言的標(biāo)識符保留字符:32個(gè)關(guān)鍵字預(yù)定義標(biāo)識符: 系統(tǒng)庫數(shù):如sin,printf,scanf等 預(yù)編譯命令:如define,include,undef,ifdef,endif等用戶定自義標(biāo)識符第二頁,編輯于星期六:五點(diǎn) 三十五分。22、 算法 傳統(tǒng)流程圖, 結(jié)構(gòu)化流程圖(N-S流程圖)l 起止框:表示算法的開始和結(jié)束。l 處理框:表示初始化或運(yùn)算賦值等操作。l 輸入輸出框:表示數(shù)據(jù)的輸入輸出操作。l 判斷框:表示根據(jù)一個(gè)條件成立與否,決定執(zhí)行兩種不同操作中的其中一個(gè)。l 流程線:表示流程的方向。 第三頁,編輯于星期六:

2、五點(diǎn) 三十五分。3圖1-7 例1-1的算法流程圖 輸入A、B、C 例1-1 輸入三個(gè)數(shù),然后輸出其中最大的數(shù) 例1-1算法的NS流程圖 第四頁,編輯于星期六:五點(diǎn) 三十五分。43、 C語言的程序結(jié)構(gòu)例1-3 在屏幕輸出一行文字“Hello C!”#include void main( ) printf(Hello C!n); 其執(zhí)行結(jié)果是在屏幕上輸出一行信息: Hello C! 頭包含文件程序開始程序結(jié)束打印輸出函數(shù)主函數(shù)輸出內(nèi)容每個(gè)原程序都必須有且只有一個(gè)主函數(shù)! !每個(gè)函數(shù)至少有一組 第五頁,編輯于星期六:五點(diǎn) 三十五分。5第二章 數(shù)據(jù)類型、運(yùn)算符和表達(dá)式注意:在程序中用到的常量與變量必須

3、是上面的數(shù)據(jù)類型的一種; 1、數(shù)據(jù)類型第六頁,編輯于星期六:五點(diǎn) 三十五分。62 各類數(shù)據(jù)在內(nèi)存中的存放方式 1、機(jī)器數(shù)與原碼、補(bǔ)碼和反碼表示 2、實(shí)數(shù)的機(jī)器內(nèi)表示方法:定點(diǎn)數(shù)、浮點(diǎn)數(shù)3、字符在內(nèi)存中的表示:ASCII碼第七頁,編輯于星期六:五點(diǎn) 三十五分。73 常量的表示方法定義: 在程序運(yùn)行過程中,值不能被改變的量叫常量。包括“數(shù)值常量”和“符號常量”。 如 5, 3.14159, a 等 常量數(shù)值常量符號常量整型常量實(shí)型常量八進(jìn)制整數(shù):以0做前綴 eg:015十進(jìn)制整數(shù)十六進(jìn)制整數(shù):以0 x做前綴 eg:0 x2A十進(jìn)制小數(shù)形式 eg:12.45十進(jìn)制指數(shù)形式 aEn eg:12.5E+

4、2字符常量: 括起來的字符字符串常量:“ ”括起來的字符序列第八頁,編輯于星期六:五點(diǎn) 三十五分。84、變量必須先定義 后使用。變量包括:變量名字和數(shù)據(jù)類型 通過名字來引用一個(gè)變量,而數(shù)據(jù)類型則決定了該變量的存儲方式和在內(nèi)存中占據(jù)存儲單元的大小 變量的賦值:定義的時(shí)候賦初值先定義 后賦初值。第九頁,編輯于星期六:五點(diǎn) 三十五分。95 運(yùn)算符與表達(dá)式 注意:運(yùn)算符的功能、優(yōu)先級、結(jié)合方向、運(yùn)算結(jié)果的類型算術(shù)運(yùn)算符(,*,/,%)關(guān)系運(yùn)算符(,=,=, .)指針運(yùn)算符(&,*)C運(yùn)算符第十頁,編輯于星期六:五點(diǎn) 三十五分。106 指針和指針變量基本概念:變量的地址、變量的指針、指針變量指針變量的定

5、義:類型符 *標(biāo)識符;給指針變量賦初值(目的:確定指向關(guān)系)指針變量的使用:對變量的訪問:兩種方法。使用變量的名字訪問通過指針變量訪問。Int a, *p = &a ;Int a , *p;p = &a ;a 等價(jià)于 *p&a 等價(jià)于 p第十一頁,編輯于星期六:五點(diǎn) 三十五分。11第三章 簡單的C程序1、輸入輸出函數(shù)的格式和使用方法printf(“格式字符串”,輸出項(xiàng)列表)格式說明: 0 m.n 格式字符指定輸出類型輸出寬度說明及精度指定空位是否填0指定是否左對齊輸出第十二頁,編輯于星期六:五點(diǎn) 三十五分。122、scanf(“格式控制”,地址表列 )在輸入數(shù)據(jù)時(shí),遇以下情況時(shí)該數(shù)據(jù)認(rèn)為結(jié)束。

6、 遇空格,或按“回車”或“跳格”(tab)鍵。 按指定的寬度結(jié)束,如“%3d”,只取3列。 遇非法輸入。scanf (“%d%c%f”,&a,&b,&c);輸入: 1234a123o.26 用“%c”格式輸入字符時(shí),空格字符和“轉(zhuǎn)義字符”都作為有效字符輸入:scanf (“%c%c%c”,&c1,&c2,&c3);如果輸入: abc 時(shí) c1,c2,c3 的值是多少呢?c1= a c2= c3= b 第十三頁,編輯于星期六:五點(diǎn) 三十五分。13例如:void main() int a=123; float x=12.345678; printf(“a=%5d, x=%5.2fn,a,x); p

7、rintf(%2d, %2.1fn,a,x); scanf (“%d%d%d”,&h,&m,&s); 輸入應(yīng)該用以下形式:122336 scanf (“a=%d,b=%d,c=%d”,&a,&b,&c);輸入應(yīng)該用以下形式: a=12,b=24,c=36第十四頁,編輯于星期六:五點(diǎn) 三十五分。143、字符數(shù)據(jù)輸入輸出函數(shù)putchar()getchar()scanf(“%c”,&c1); 等價(jià)于c1=getchar();printf(“%c”,ch); 等價(jià)于 putchar(ch);第十五頁,編輯于星期六:五點(diǎn) 三十五分。15例3-9 編一程序,從鍵盤輸入一個(gè)大寫字母,要求改用小寫字母輸出思

8、路:大寫字母對應(yīng)的ASCII碼序號比相應(yīng)的小寫字母的ASCII碼序號小32。#include stdio.hvoid main()char c1,c2;c1=getchar();printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%dn,c2,c2);第十六頁,編輯于星期六:五點(diǎn) 三十五分。16第四章 控制結(jié)構(gòu)選擇結(jié)構(gòu) (if 語句、switch語句)循環(huán)結(jié)構(gòu) (for語句、while語句、do.while語句)其它控制語句 (break、continue語句) 典型例題:求1.。100的和 (可以用for、while、do while等語句改寫)求幾個(gè)數(shù)中的最大值

9、(if語句的使用)按照成績分等次(switch case、break的使用)求n!打印9*9乘法表、打印圖形等(雙重循環(huán)的使用)驗(yàn)證某一個(gè)數(shù)是否水仙花數(shù)。(if 語句和關(guān)系運(yùn)算符)第十七頁,編輯于星期六:五點(diǎn) 三十五分。17第五章 數(shù)組、字符串、指針1、數(shù)組的定義方法2、給數(shù)組賦初值的方法在定義數(shù)組的時(shí)候賦初值在程序語句中給數(shù)組元素賦初值(不能整體賦值)3、數(shù)組元素的引用方法:a 一維數(shù)組:int a3;a0=5;a1=8;a2=9;int k,a10;for(k=1;k10;k+) ak=1; int a5=1,2,3,4,5; for(i=0; i10; i+) printf(%d,ai)

10、; 第十八頁,編輯于星期六:五點(diǎn) 三十五分。184、典型例題:怎么樣給一維數(shù)組的每一個(gè)元素賦以鍵盤輸入的數(shù)值?怎樣輸出數(shù)組元素的值?求數(shù)組中最大元素及其下標(biāo)。求數(shù)組中各個(gè)元素的平均值。一維數(shù)組元素的倒置。(注意:循環(huán)一半)第十九頁,編輯于星期六:五點(diǎn) 三十五分。19二維數(shù)組二維數(shù)組的定義、賦初值、引用方法.二維數(shù)組的基本操作:1給二維數(shù)組a輸入數(shù)據(jù)。將該數(shù)組中的元素輸出。、求二維數(shù)組中元素的最大值以及最大元素的下標(biāo)值。、矩陣的轉(zhuǎn)置、矩陣求和 1. 按行分段賦值可寫為 int 23= 80 , 75 , 92 , 61 , 65 , 71 2. 按行連續(xù)賦值可寫為 int a23= 80,75,

11、92,61,65,71 ; 第二十頁,編輯于星期六:五點(diǎn) 三十五分。205.4 數(shù)組與指針5.4.1 一維數(shù)組與指針 定義指針變量 int *p,array10; 令 p=&array0; 或者 p=array;或 int *p=&array0;或 int *p=array;ai pi *(p+i) *(a+i)一維數(shù)組元素的引用:四種方法&a p a&ai p+i a+i數(shù)組地址的使用方法:第二十一頁,編輯于星期六:五點(diǎn) 三十五分。21int a10= 0, 3, 5, 6, 8 ,*p=a;請問:1、( *p )+ = ?2、*(p+2)= ?3、P+; *P=*P+5第二十二頁,編輯于星

12、期六:五點(diǎn) 三十五分。225.5 字符數(shù)組與字符串 字符數(shù)組:char ch10;字符串:“hello”字符數(shù)組可以用來存放字符的組合也可以存放字符串char c10=h, e , l , l , o;char c10= h, e , l , l , o , 0;char c10= “hello”;char c10= “hello”;第二十三頁,編輯于星期六:五點(diǎn) 三十五分。23字符數(shù)組的輸入輸出一般采用下面兩種方法: 1、用“%c”格式符逐個(gè)字符輸入輸出。 2、用“%s”格式符按字符串輸入輸出。例 用%s main() char str5; scanf(“%s”, str); printf(

13、“%s”, str);例 用%c main() char str5; int i; for(i=0; i5; i+) scanf(“%c”, &stri); for(i=0; i5; i+) printf(“%c”, stri);用字符數(shù)組名,不要加&輸入串長度數(shù)組維數(shù)遇空格或回車結(jié)束自動加0用字符數(shù)組名,遇0結(jié)束第二十四頁,編輯于星期六:五點(diǎn) 三十五分。245.6 字符串字符指針 5.6.1 指向字符串的指針C語言中使用字符數(shù)組 或者 字符指針 來處理字符串。字符指針初始化:把字符串首地址賦給string char *string; /字符指針變量定義 str30=“I love China

14、!”; string=str; string=&str0; string=“I Love China”引用字符串中的字符:可以用下標(biāo)方法:str 0 或者指針方法*string字符指針變量:存放的仍然是某一個(gè)字符元素的地址第二十五頁,編輯于星期六:五點(diǎn) 三十五分。25例 將字符串a(chǎn)復(fù)制為字符串bmain()char a =i am a boy.,b20; int i; for(i=0; ;i+) ; *(b+i)=0; printf(string a is:%sn,a); printf(string b is:); for(i=0; bi!=0; i+) printf(%c,bi);*(a+i

15、) != 0;*(b+i)=*(a+i);方法2:定義 char *p1=a,*p1=b;循環(huán)體換成:for( ; *p1 != 0; p1+,p2+) *p2=*p1;第二十六頁,編輯于星期六:五點(diǎn) 三十五分。26常用的字符串處理函數(shù)string.h字符串輸出函數(shù)puts格式:puts(字符數(shù)組)字符串輸入函數(shù)gets格式:gets(字符數(shù)組)字符串連接函數(shù)strcat格式:strcat(字符數(shù)組1,字符數(shù)組2)字符串拷貝函數(shù)strcpy格式:strcpy(字符數(shù)組1,字符串2)字符串比較函數(shù)strcmp格式:strcmp(字符串1,字符串2)字符串長度函數(shù)strlen格式:strlen(字

16、符數(shù)組)第二十七頁,編輯于星期六:五點(diǎn) 三十五分。27例:char str110=“hello”,str25=“how”strcat(str1,str2)得到的是?;得到字符串的長度是?即strlen(strcat(str1,str2)strcpy(str1,str2)得到的是?;strcmp(str1,str2)得到的是?第二十八頁,編輯于星期六:五點(diǎn) 三十五分。28第6章 函數(shù) 本章重點(diǎn)掌握函數(shù)的定義與調(diào)用方法;掌握C語言的參數(shù)傳遞方式,尤其是數(shù)組參數(shù)的傳遞特點(diǎn);掌握變量的作用域和存儲方式。 第二十九頁,編輯于星期六:五點(diǎn) 三十五分。291、函數(shù)的定義:2、函數(shù)聲明的方法: 函數(shù)類型 函數(shù)

17、名(形參類型 形參名,. ); 或 函數(shù)類型 函數(shù)名();3、調(diào)用形式 函數(shù)名(實(shí)參表)合法標(biāo)識符函數(shù)返回值類型缺省int型無返回值void函數(shù)體函數(shù)類型 函數(shù)名(形參類型說明表)說明部分語句部分第三十頁,編輯于星期六:五點(diǎn) 三十五分。30返回語句形式: return(表達(dá)式); 或 return 表達(dá)式; 或 return;功能:使程序控制從被調(diào)用函數(shù)返回到調(diào)用函數(shù)中,同時(shí)把返回值帶給調(diào)用函數(shù)說明:函數(shù)中可有多個(gè)return語句,但是只能有一個(gè)被執(zhí)行。只能返回一個(gè)表達(dá)式的值。return語句不是必須的。若函數(shù)類型與return語句中表達(dá)式值的類型不一致,按前者為準(zhǔn),自動轉(zhuǎn)換-函數(shù)調(diào)用轉(zhuǎn)換第三

18、十一頁,編輯于星期六:五點(diǎn) 三十五分。31#include void main() int max(int x, int y); /函數(shù)聲明 int a,b,c; /變量定義 scanf(%d,%d,&a,&b); c=max(a,b); /函數(shù)調(diào)用 printf(Max is %d,c);int max(int x, int y) /函數(shù)定義 int z; z=xy?x:y; return(z);第三十二頁,編輯于星期六:五點(diǎn) 三十五分。326.3參數(shù)的傳遞和函數(shù)的調(diào)用定義參數(shù)目的:實(shí)現(xiàn)主調(diào)函數(shù)和被調(diào)用函數(shù)間的數(shù)據(jù)傳遞參數(shù)分類:實(shí)際參數(shù) 、形式參數(shù)實(shí)參到形參的傳遞方法:數(shù)值傳遞、地址傳遞。數(shù)

19、值傳遞:是單向“值傳遞”,形參的改變不會改變實(shí)參數(shù)值。如果想通過形參的改變而改變實(shí)參:使用地址傳遞(傳遞數(shù)組的名字、變量的地址、指針變量等)第三十三頁,編輯于星期六:五點(diǎn) 三十五分。33void swap(int *a,int *b);/*函數(shù)聲明*/void main() int x , y; x = 10; y = 20; swap( &x , &y );/*用變量地址傳遞*/ printf(After swapping:x=%d y=%dn,x,y);void swap(int *a,int *b) int t; t=*a; *a=*b; *b=t;第三十四頁,編輯于星期六:五點(diǎn) 三十五分。34#include void swap2( int x ) int z; z=x0; x0=x1; x1=z;main() int a2=1,2; swap2( a ); printf(a0=%dna1=%dn,a0,a1);用數(shù)組做函數(shù)參數(shù),進(jìn)行地址傳遞第三十五頁,編輯于星期六:五點(diǎn) 三十五分。356.6函數(shù)與變量的作用域1、局部變量與全局變量局部變量-內(nèi)部變量定義:在函數(shù)內(nèi)定義的變量,只在本函數(shù)內(nèi)有效;在復(fù)合語句中定義的變量,只在該復(fù)合語句中有效局部變量包括: 函數(shù)內(nèi)部定義的變量 復(fù)合語句中定義的變量 形式參數(shù) 2、全局變量-外部變量定義:在函數(shù)外定義,可為本文件所有函數(shù)共

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論