C語言第十次課_第1頁
C語言第十次課_第2頁
C語言第十次課_第3頁
C語言第十次課_第4頁
C語言第十次課_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1請將您的手機(jī)鈴聲設(shè)置為震動2作業(yè)課本:

習(xí)題7.2

(第116頁)

習(xí)題7.3

(第116頁)

習(xí)題7.7

(第118頁)

3復(fù)習(xí)回顧字符數(shù)組的定義字符數(shù)組的初始化字符串的輸入輸出常用字符串處理函數(shù)4常用字符串處理函數(shù)字符串輸入函數(shù)gets

格式:gets(字符數(shù)組名)字符串輸出函數(shù)puts

格式:puts(字符數(shù)組名)5字符串連接函數(shù)strcat

格式:strcat(字符數(shù)組1,字符數(shù)組2)常用字符串處理函數(shù)字符串拷貝函數(shù)strcpy

格式:strcpy(字符數(shù)組1,字符串2)6字符串比較函數(shù)strcmp

格式:strcmp(字符串1,字符串2)常用字符串處理函數(shù)字符串長度函數(shù)strlen

格式:strlen(字符數(shù)組)7str[0]str[1]str[2]課堂練習(xí)編寫程序,分別計算三個字符串的長度并求出其中的最大串。HEL\0WELL\0WE\08#include<string.h>main(){charstring[20],str[3][20];inti;for(i=0;i<3;i++)gets(str[i]);

printf("%s\n",string);}例

編寫程序,求出三個字符串中最大者if(strcmp(str[0],str[1])>0)strcpy(string,str[0]);elsestrcpy(string,str[1]);if(strcmp(str[2],string)>0)strcpy(string,str[2]);9例子#include"stdio.h"voidmain(){floata,b,c,d,m,n,p,q,r,s;scanf("%f,%f,%f,%f",&a,&b,&c,&d);

printf("%f,%f,%f,%f,%f,%f",m,n,p,q,r,s);}m=(a*a+b*b)/a-(a*a-b*b)/b;n=(a*a+c*c)/a-(a*a-c*c)/c;p=(a*a+d*d)/a-(a*a-d*d)/d;q=(b*b+c*c)/b-(b*b-c*c)/c;r=(b*b+d*d)/b-(b*b-d*d)/d;s=(c*c+d*d)/c-(c*c-d*d)/d;0000010例改進(jìn)程序voidmain(){floata,b,c,d;scanf("%f,%f,%f,%f",&a,&b,&c,&d);}#include"stdio.h"voidcal(floatx,floaty){floatz;

z=(x*x+y*y)/x-(x*x-y*y)/y;printf("%f\n",z);}cal(a,b);cal(a,c);cal(a,d);cal(b,c);cal(b,d);cal(c,d);0000011函數(shù)的概念函數(shù)的定義函數(shù)的調(diào)用函數(shù)的嵌套函數(shù)函數(shù)的調(diào)用12函數(shù)的概念模塊化程序設(shè)計13函數(shù)的概念模塊化程序設(shè)計函數(shù)式程序結(jié)構(gòu)C語言程序是一個函數(shù)式的程序結(jié)構(gòu),其全部功能都是由函數(shù)實現(xiàn)的,每個函數(shù)完成特定的獨(dú)立的功能,通過函數(shù)之間的調(diào)用實現(xiàn)程序的總體功能。14函數(shù)的概念模塊化程序設(shè)計函數(shù)式程序結(jié)構(gòu)sum(floatx,floaty){floatz;z=x+y;return(z);}sub(floatx,floaty){floatz;z=x-y;return(z);}#include"stdio.h"voidmain(){floata,b,c,d;scanf("%f,%f",&a,&b);c=sum(a,b);d=sub(a,b);printf("%f,%f\n",c,d);}15函數(shù)的概念模塊化程序設(shè)計函數(shù)式程序結(jié)構(gòu)三種類型的函數(shù)從用戶角度來看,C函數(shù)可分為主函數(shù)、庫函數(shù)、用戶自定義函數(shù)主函數(shù)庫函數(shù)用戶自定義函數(shù)16函數(shù)的概念模塊化程序設(shè)計函數(shù)式程序結(jié)構(gòu)三種類型的函數(shù)函數(shù)的執(zhí)行順序程序的執(zhí)行由主函數(shù)開始,然后調(diào)用其它函數(shù),最終返回主函數(shù)結(jié)束主函數(shù)開始主函數(shù)結(jié)束17voidmain(){

……f1();……}voidf1(){……}①②③④⑤函數(shù)的概念18模塊化程序設(shè)計函數(shù)式程序結(jié)構(gòu)三種類型的函數(shù)函數(shù)的執(zhí)行順序函數(shù)的概念函數(shù)式結(jié)構(gòu)優(yōu)點(diǎn)程序?qū)哟吻逦⒁子跈z查錯誤便于分工編寫、節(jié)省程序代碼19函數(shù)的定義函數(shù)類型函數(shù)名([形參類型說明表]){

說明部分語句部分}合法標(biāo)識符函數(shù)體函數(shù)返回值類型,缺省int型,無返回值void型20函數(shù)的定義例有參函數(shù)(新式風(fēng)格)

intmax(intx,inty){intz;z=x>y?x:y;return(z);}max(intx,inty)函數(shù)類型函數(shù)名([形參類型說明表]){

說明部分語句部分}21例無參無返回值函數(shù)

voidprintstar(){printf("**********\n");}函數(shù)的定義函數(shù)類型函數(shù)名([形參類型說明表]){

說明部分語句部分}22函數(shù)的定義例

有參函數(shù)(舊式風(fēng)格)

intmax(x,y)

intx,inty;{intz;z=x>y?x:y;return(z);}函數(shù)類型函數(shù)名(形式參數(shù)列表)形參類型說明{

說明部分語句部分}23#include"stdio.h"max(intx,inty){intz;z=x>y?x:y;return(z);}例

比較兩數(shù)并輸出較大數(shù)m=max(3,5);max(intx,inty){intz;z=x>y?x:y;return(z);}55voidmain(){inta,b,m;scanf("%d,%d",&a,&b);m=max(a,b);printf("maxis%d\n",m);}24函數(shù)的定義返值形式:return(表達(dá)式);

return表達(dá)式;

return;返值功能:使程序控制從被調(diào)用函數(shù)返回到調(diào)用函數(shù)中,同時把返回值帶給調(diào)用函數(shù)25返值說明:函數(shù)的定義函數(shù)體中可以有多個return語句max(intx,inty){

if(x>y)

returnx;else

returny;}26若無return語句,遇}時自動返回

返值說明:函數(shù)的定義函數(shù)體中可以有多個return語句#include"stdio.h"voidprintstar(){printf("**********\n");}voidmain(){printstar();printf("hello!\n");}27函數(shù)的定義若無return語句,遇}時自動返回

返值說明:函數(shù)體中可以有多個return語句若函數(shù)類型與return語句中返回#include"stdio.h"intsum(floata,floatb){returna+b;}voidmain(){floatx=3.5,y=5.2;printf("%d\n",sum(x,y));}值類型不一致,以函數(shù)類型為準(zhǔn)28調(diào)用形式:函數(shù)名([實在參數(shù)列表]);函數(shù)的調(diào)用函數(shù)語句:printstar();函數(shù)表達(dá)式:m=max(a,b)*2;函數(shù)參數(shù):m=max(a,max(b,c));調(diào)用方式:29實參必須有確定值,形參必須指定類型實參的個數(shù)與形參的個數(shù)必須相等調(diào)用說明:函數(shù)的調(diào)用#include"stdio.h"max(intx,inty){return(x>y?x:y);}voidmain(){inta,b,c,d;scanf("%f,%f,%f",&a,&b,&c);printf("%d",max(a,b,c));}'max':functiondoesnottake3parameters30實參必須有確定值,形參必須指定類型實參的個數(shù)與形參的個數(shù)必須相等調(diào)用說明:函數(shù)的調(diào)用若形參與實參類型不同,按形參類型轉(zhuǎn)換31實參形參類型不一致示例#include"stdio.h"max(floatx,floaty){floatz;z=x>y?x:y;return(z);}voidmain(){inta,b,c;

a=3,b=5;

c=max(a,b);printf("Maxis%d",c);}形參實參32實參必須有確定值,形參必須指定類型實參的個數(shù)與形參的個數(shù)必須相等若形參與實參類型不同,按形參類型轉(zhuǎn)換調(diào)用說明:函數(shù)的調(diào)用無實參函數(shù)的一對圓括號不能省略33函數(shù)的調(diào)用#include"stdio.h"voidoutput(){charc;while((c=getchar())!='\n')putchar(c);}voidmain(){output;}程序不會報錯,但得不到需要結(jié)果34實參必須有確定值,形參必須指定類型實參的個數(shù)與形參的個數(shù)必須相等若形參與實參類型不同,按形參類型轉(zhuǎn)換無實參函數(shù)的一對圓括號不能省略調(diào)用說明:函數(shù)的調(diào)用35標(biāo)準(zhǔn)庫函數(shù)說明:

#include<*.h>函數(shù)的調(diào)用說明#include"time.h"#include"stdio.h"#include"stdlib.h"voidmain(){

intx,y,answer;

srand((unsigned)time(NULL));

x=rand()%100+1;

y=rand()%100+1;printf("%d+%d=?",x,y);scanf("%d",&answer);printf(x+y==answer?"Y":"N");}36形式:函數(shù)類型函數(shù)名(形參類型說明表);

作用:編譯系統(tǒng)檢驗函數(shù)類型、參數(shù)個數(shù)及類型是否符合要求自定義函數(shù)說明標(biāo)準(zhǔn)庫函數(shù)說明:

#include<*.h>函數(shù)的調(diào)用說明37#include"stdio.h"voidmain(){floatadd(floatx,floaty);

floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);printf("sumis%f",c);}floatadd(floatx,floaty){floatz;z=x+y;return(z);}函數(shù)說明例

自定義函數(shù)說明38形式:函數(shù)類型函數(shù)名(形參類型說明表);作用:系統(tǒng)檢驗函數(shù)類型、參數(shù)個數(shù)及類型及類型是否符合要求自定義函數(shù)說明注意:被調(diào)用函數(shù)定義出現(xiàn)在主調(diào)函數(shù)之前

則不必說明標(biāo)準(zhǔn)庫函數(shù)說明:

#include<*.h>函數(shù)的調(diào)用39#include"stdio.h"floatadd(floatx,floaty){floatz;z=x+y;return(z);}voidmain(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);printf("sumis%f",c);}例

自定義函數(shù)無需說明40

方式:函數(shù)調(diào)用時才為形參分配單元,并將實參的值復(fù)制到形參單元;調(diào)用結(jié)束后,形參單元即被釋放,實參單元仍保留并維持原來的值值傳遞方式形參與實參占用不同的內(nèi)存單元單方向傳遞函數(shù)的調(diào)用方式

特點(diǎn):41temp#include<stdio.h>swap(inta,intb){inttemp;temp=a;a=b;b=temp;}voidmain(){intx=7,y=11;

swap(x,y);printf("x=%d,\ty=%d\n",x,y);}11x:y:

調(diào)用之前7a:b:711例

值傳遞方式

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論