12-関数1

22457 ワード

一、関数とは何か
/******************************************************
一、関数とは何か
1、Cプログラムの基本ユニット
Cプログラムでは,計画,作成,デバッグを容易にするために,プログラムをモジュール化して作成する必要がある.
加算減算法
2、プログラムを実現するためのいくつかの具体的な機能
各モジュールは単一の機能を実現する.
 
3、関数の注意:
(1)1つのプログラムに1つの主関数しかありません.必ずあります.
(2)1つのソースファイルは、1つ以上の関数から構成される.
(3)C言語では2つの関数名を重複することはできない.
(4)ライブラリ関数:システムによって提供される関数で、指定されたヘッダファイルを含める必要があります.
stdio.h: printf()  scanf()  
string.h: strcmp()  strlen()
(5)カスタム関数:ユーザが実現したい機能を実現するために自分で作成した.
 1 //============================          
 2 #include   //     
 3 
 4  
 5 void Hello();
 6 int CalcYear(int age); //    
 7 
 8 int main() //   
 9 {
10     Hello();
11     return 0;
12 }
13 
14  
15 void Hello()
16 {
17     int iAge, iYear;
18     printf("  ,       :
"); 19 scanf("%d", &iAge); 20 21 iYear = CalcYear(iAge); 22 printf(" %d 。
", iYear); 23 } 24 25 // 26 int CalcYear(int age) 27 { 28 int iYear; 29 iYear = 2016 - age; 30 return iYear; 31 }

 
一、関数の使い方
1、関数の宣言--システム関数の戻り型関数の名前関数のパラメータを教えます.宣言しないと間違って報告されます.
(1)関数のタイプ関数名(タイプ1パラメータ1,タイプ2パラメータ2,タイプ3パラメータ3......タイプnパラメータn);
(2)関数のタイプ関数名(タイプ1,タイプ2,タイプ3…タイプn);
(3)関数定義白呼び出し関数の前に,定義を宣言としてデフォルト設定する.(この場合はなるべく避ける)
 
データ型-->戻り値のタイプ
void------空タイプ
int------整型
char-----文字型
 
注意:関数名は自分で名前を付けます.
 
2、関数の定義:関数にコード実装機能を記述する.
 
データ型関数名(タイプパラメータ1、タイプパラメータ2、タイプパラメータ3......タイプパラメータn)

機能コード;

 
注意:文を返します
(1)returnは関数の終了を表し,returnの後の値を返す.
(2)returnのデータ型は,最後に関数のデータ型に変換される.
 
char Fun()/関数のタイプはchar
{
  int num=65;
  return num;//返されるタイプの整数
}
printf("%d",Fun());   //65
printf("%c",Fun());   //A
 
3、関数の呼び出し
(1)文として呼び出す.
Welcome();
(2)他の関数のパラメータとして呼び出す.
printf("%d+%d=%d", iNumber1,iNumber2, Sum(iNumber1, iNumber2));
(3)式として呼び出す.
sum = Sum(iNumber1, iNumber2);
 
注意:関数パラメータ
(1)形式パラメータ:形式上のパラメータ.関数の定義時に括弧の中に表示されます.
int Sum(int num1, int num2);
パラメータ:num 1,num 2
(2)実際のパラメータ:実際に処理する必要があるパラメータ.関数呼び出し時にカッコ内.
sum = Sum(iNumber1, iNumber2);
実相:iNumber 1,iNumber 2
 
 1 //========================          
 2 #include 
 3 
 4 #define MAX 1000
 5 
 6 void CalcLen();  
 7 
 8 int main()
 9 {
10     //1
11     CalcLen();
12 
13     //2
14     return 0;
15 }
16 
17 void CalcLen()
18 {
19     int i;
20     char cArray[MAX];     //       
21     scanf("%s", &cArray);
22 
23     for (i = 0; cArray[i] != '\0'; i++);     //i  0  i+1
24     printf("          %d
", i); 25 }

 
  1 //============================================     
  2 #include 
  3 
  4 void Welcome();  //            
  5 int  Sum(int,int); //        
  6 int  Sub(int num1, int num2);
  7 
  8 int main()
  9 {
 10     int choice; //     
 11     int iNumber1, iNumber2; //       
 12 
 13     do
 14     {
 15     system("cls"); //   
 16     Welcome(); //            (  Welcome  ,      )
 17     scanf("%d", &choice); //    
 18 
 19     switch (choice) //    
 20     {
 21         case 1: //    1
 22             {
 23               int sum; //     
 24               printf("      !

"); // 25 scanf("%d %d", &iNumber1, &iNumber1); // 26 27 // Sum ( , iNumber1+iNumber2) 28 sum = Sum(iNumber1, iNumber2); 29 printf("%d+%d=%d", iNumber1,iNumber2, sum); // sum 30 31 getchar(); 32 getchar(); 33 34 } 35 break; 36 37 case 2: 38 { 39 int diff; 40 printf(" !

"); // 41 scanf("%d %d", &iNumber1, &iNumber2); // 42 diff = Sub(iNumber1, iNumber2); 43 printf("%d-%d=%d", iNumber1, iNumber2, diff); // sum 44 } 45 break; 46 47 case 3: 48 break; 49 50 case 4: 51 break; 52 53 default: 54 break; 55 } 56 } while (choice != 0); 57 58 return 0; 59 } 60 61 62 void Welcome() 63 { 64 printf( // 65 "


" 66 "\t\t================================================
" 67 "\t\t| |
" 68 "\t\t================================================
" 69 "\t\t| |
" 70 "\t\t| 1、 |
" 71 "\t\t| |
" 72 "\t\t| 2、 |
" 73 "\t\t| |
" 74 "\t\t| 3、 |
" 75 "\t\t| |
" 76 "\t\t| 4、 |
" 77 "\t\t| |
" 78 "\t\t================================================
"); 79 80 printf("
"); // 81 } 82 83 84 int Sum(int num1, int num2) 85 { 86 int sum; // 87 sum = num1 + num2; //sum = iNumber1+iNumber2; 88 return sum; // 89 } 90 91 int Sub(int num1, int num2) 92 { 93 int poor; // 94 poor = num1 - num2; //sum = iNumber1-iNumber2; 95 return poor; // 96 } 97 98 99 //getchar(); 100 //#include kbhit() 101 //getch();

 
転載先:https://www.cnblogs.com/tiantiancode/p/11130271.html