【學習筆記】【C語言】函數,學習筆記c語言

來源:互聯網
上載者:User

【學習筆記】【C語言】函數,學習筆記c語言
一、 什麼是函數

任何一個C語言程式都是由一個或者多個程式段(小程式)構成的,每個程式段都有自己的功能,我們一般稱這些程式段為“函數”。所以,你可以說C語言程式是由函數構成的。

比如你用C語言編寫了一個MP3播放器程式,那麼它的程式結構如所示:

1 #include <stdio.h> 2 3 /* 4 1.什麼情況下定義函數:添加一個常用的新功能 5 6 2.函數的定義格式 7 傳回值類型 函數名(形式參數列表) 8 { 9 函數體10 }11 12 3.定義函數需要明確的東西13 1> 起一個有意義的函數名14 2> 15 */16 17 int printLine()18 {19 printf("-------------\n");20 return 0;21 }22 23 int average(int num1, int num2)24 {25 return (num1 + num2)/2;26 }27 28 int main()29 {30 /*31 printLine();32 33 printLine();34 35 printLine();36 */37 38 int a = 10;39 int b = 9;40 41 int c = average(a, b);42 43 printf("c is %d\n", c);44 45 int a1 = 11;46 int b1 = 20;47 48 int d = average(a1, b1);49 printf("d is %d\n", d);50 51 return 0;52 }

2.

 1 #include <stdio.h> 2 /* 3  參數注意點 4  1.形式參數:定義函數時函數名後面中的參數,簡稱形參 5  2.實際參數:調用函數式傳入的具體資料,簡稱實參 6  3.實參個數必須等於形參個數 7  4.函數體內部不能定義和形參一樣的變數 8  5.如果是基礎資料型別 (Elementary Data Type)作為函數形參,純粹是值傳遞,修改函數內部形參的值,並不會影響外面實參的值 9  6.一個函數可以沒有形參,也可以有無限多個形參10  */11 12 // 形式參數,簡稱形參13 int sum(int num1, int num2)14 {15     // 函數體內部不能定義和形參一樣的變數16     // int num1;17 18     num1 = 50;19 20     return num1 + num2;21 }22 23 /*24  return的作用:25  1> 退出函數26  2> 返回一個具體值給函數調用者27  28  傳回值注意點29  1> void代表沒有傳回值30  2> 如果沒有明確說明傳回值類型,預設是返回int類型31  3> 就算明確聲明了傳回值類型,也可以不返回任何值32  33  預設情況下,C語言不允許兩個函數的名稱一樣34  */35 36 char test()37 {38     return 'A';39 }40 41 /*42 void test(int a, int b)43 {44 45 }*/46 47 void test5()48 {49     50 }51 52 /* 虛擬碼53 void login(QQ, 密碼)54 {55     // 1.驗證QQ有沒有值56     if (QQ沒有值) return;57     58     // 2.驗證密碼有沒有值59     if (密碼沒有值) return;60     61     // 3.把QQ、密碼發送到伺服器62     63 }*/64 65 int test3()66 {67     printf("999999999\n");68 }69 70 // 如果不明確聲明傳回值類型,預設就是int類型71 test2()72 {73     printf("888888888\n");74     return 10;75 }76 77 int main()78 {79     int c = test2();80     printf("c=%d\n", c);81     82     test3();83     //test();84     85     /*86     int a = 100;87     int b = 27;88     89     // a、b稱為函數的實際參數,簡稱實參90     int c = sum(a, b);91     92     93     printf("a=%d, b=%d, c=%d\n", a, b, c);*/94 95     return 0;96 }

3.函數練習

 1 /* 2     求兩個整數的差 3     列印一條橫線 4     列印N條橫線 5   6  定義函數的步驟 7  1> 根據函數的作用,起一個有意義的名稱 8  2> 確定函數的形參個數 9  3> 確定函數的傳回值10  */11 #include <stdio.h>12 13 void printLines(int n)14 {15     for (int i = 0; i<n; i++)16     {17         printf("-------------------\n");18     }19 }20 21 void printLine()22 {23     printf("-------------------\n");24 }25 26 int minus(int a, int b)27 {28     return a - b;29 }30 31 int main()32 {33     printLines(10);34     //printLine();35     //printf("%d\n", minus(100, 29));36     37     return 0;38 }

4.函數注意點

 1 #include <stdio.h> 2 /* 3  1.預設情況下,不允許有函數的名稱一樣 4  2.函數不能嵌套定義 5  3.函數不能重複定義,但是可以重複聲明 6  4.如果有函數的聲明,沒有函數的定義 7  1> 編譯可以通過,因為編譯器只會檢測文法合不合理,並不會檢測函數有沒有定義 8  2> 連結報錯,因為連結的時候會檢測函數是否定義 9  10  */11 12 // 函數的聲明13 //void printLine();14 //void printLine();15 //void printLine();16 //void printLine();17 //void printLine();18 //void printLine();19 20 int main()21 {22     void printLine();23     24     printLine();25     return 0;26 }27 28 // 函數的定義29 30 void printLine()31 {32     printf("--------\n");33 }

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.