程式設計實習課(四) ----C 函數運用----
寫程式的注意事項 1. 重點程式的註解 2. 變數再初始區宣告 3. 對變數名稱作有意義的命名 4. 排版與間隔
定義函數 C語言的模組單位是「函數」(Functions),函數是一個獨立的程式單元,使用函數可以將大工作分割成一個個小型的工作,也可以重複使用以前已經建立的函數或直接呼叫C語言標準函式庫的函數。
Input, output, int n2N(int start, int end) { /* 變數宣告 */ int i; int total = 0; /* 迴圈敘述 */ for ( i = start; i <= end; i++ ) total += i; return total; } Int total = n2N(5, 7);
數學函數 #include <math.h> double pow(double x, double y) x的y次方 double sqrt(double x) 求x的平方根 double fabs(double x) 求實數x的絕對值 int abs(int x) 求整數x的絕對值
數學函數
數學函數
字串函數 #include <string.h> int strcmp(char *s1,*s2) 字串比較 char *strcpy(char *dest, char *src) 字串拷貝 char *strstr(char *src,char *sub) 在字串中 int strlen(char *s1) 字串長度 int atoi(char *s) 字串轉整數 gets(char *s) 讀取一字串 puts(char *s) 輸出一字串
字元函數 int tolower(ch) ch轉成小寫 int toupper(ch) ch轉成大寫 int islower(ch) ch 為小寫? int isspace(ch) ch 為空白? int isdigit(ch) ch 為數字? int isalpnum(ch) ch 為文數字? int getchar() 讀入一字元 void putchar(ch) 輸出一字元
亂數函數 #include <stdio.h> #include <stdlib.h> void main() { int i; for (i=0; i < 5 ; i++) printf("%d\n", rand() ); }
猜拳範例 #include <stdio.h> #include <stdlib.h> int main() { int bird=0; int yourInput=0; int computerWinCount=0; int youWinCount=0; for (;;) printf("You input(1:剪刀, 2:石頭, 3:布)"); scanf("%d", &yourInput); bird = 1+ rand()%3;
switch (bird) { case 1: printf("Computer:剪刀\t"); break; case 2: printf("Computer:石頭\t"); case 3: printf("Computer:布\t"); } switch (yourInput) printf("You:剪刀\t"); printf("You:石頭\t"); printf("You:布\t"); if(bird==yourInput) printf("no one win\n"); else if ((bird>yourInput)||(bird==1&&yourInput==3)) printf("computer win\n"); else printf("you win\n");
巨集指令 #include <stdio.h> #define SQUARE(x) x * x void main() { printf(“Square of 10 is %d/n”, SQUARE(10)); printf(“Square of 8 + 2 is %d\n”, SQUARE(8 + 2)); }
#include <stdio.h> #define SQUARE(a) a*a #define CUBE(a) a*a*a Void main() { printf("10的平方 = %d\n", SQUARE(10)); printf("10的三次方 = %d\n", CUBE(10)); }