|
1. 函數可以解決什么問題? 1.> 把程序寫成函數的形式,在需要的地方調用,減少重復編輯程序。 2.> 減小程序長度,小程序容易調試,易于閱讀和修改。
2. 使用函數形式編寫程序要注意什么? 1.> 函數定義時要同時聲明其類型。 2.> 調用函數前要先聲明改函數。 3.> 傳給函數的參數值,其類型要與函數原定義一致。 4.> 接受函數返回值的變量,其類型也要與函數一致。 3. 舉例說明:
1.> void function1 (void) //函數聲明,前面的void表示無返回值,(void)表示不傳遞參數。 2.> void function2 ( unsigned char i,int j ) //函數聲明,無返回值,傳遞unsigned char 類型的 i 參數,和 int 類型的 j 參數。 3.> unsigned char function3 (int i) // 函數聲明,有unsigned char 類型的返回值給原調程序。 4.> 函數的返回值 1.>注意return 語句的應用,return使函數立即結束,返回原調用程序,而且可以帶返回值返回。 實例1; - void FunctionDemo1 ( void ) //原調用程序
- {
- unsigned int i , j ;
-
- LedOn ( ) ; //函數調用
- for ( i = 0 ; i < 500 ; i ++)
- for ( j = 0 ; j< 500 ; j ++)
- ;
-
- LedOff ( ); //函數調用
- for ( i = 0 ; i < 500 ; i ++)
- for ( j = 0 ; j< 500 ; j ++)
- ;
- }
- void LedOn ( void ) //函數LedOn 無返回值,也不傳遞參數
- {
- P0=1;
- }
- void LedOff ( void ) //函數LedOff 無返回值,也不傳遞參數
- {
- P0=0;
- }
復制代碼
實例2;
- void FunctionDemo3( void ) //原調用程序
- {
- GetKey2 ();
-
- KeyMgr ();//函數調用
- }
- void KeyMgr (void)
- {
- if ( ( FgKEY3==0 && FgKEY2_ONOFF)
- {
- FgKEY3 =1 ;
- Beep4 (2,17,10) ;
- return;//立即返回原調程序,不執行IF(FgKEY3==0)后面的語句
復制代碼 |