C 語言 講義   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  A  B  C

觀念: 標頭檔(引用前人寫好的函數, 也稱為內建函數)

用法:

#include<標頭檔.h>

例:

#include<stdio.h> /* 使用標準輸出入函數,如: printf、scanf */

  

完整的例子:

#include<stdio.h>
main()
{
    printf("Hello , %d th.\n",i);
}

函數: 一些數學上常用的函數1- pow( ) 次方

用法:

pow ( a,b ) // a 的 b 次方,也就是 a*a*a*...*a 連乘 b 次,必需使用標頭檔 math.h

例:

#include<math.h>
...
c1 = pow (3.0 , 4.0);

#include<math.h>
...
a1=3.0;
b1=4.0;
c1=pow(a1,b1);

完整的例子1:

#include<stdio.h>
#include<math.h>

void main()
{
  int a1,b1,c1;
  float a2,b2,c2;
  double a3,b3,c3;

  a1=3; b1=4;
  a2=3.0;b2=4.0;
  a3=3.0;b3=4.0;

  c1=pow(a1,b1);
  c2=pow(a2,b2);
  c3=pow(a3,b3);

  printf(" %d %d %d \n",a1,b1,c1);
  printf(" %f %f %f \n",a2,b2,c2);
  printf(" %lf %lf %lf\n",a3,b3,c3);
}

練習1 : 計算 210 的 3 次方

練習2:請設計一個程式,讓使用者輸入 a、b ,然後計算出 a 的 b 次方的值

函數5: 一些數學上常用的函數 2 : sqrt( ) 平方根 squre root

用法:

sqrt ( a ) // 計算 a 的平方根,必需使用標頭檔 math.h

例:

#include<math.h>
...
c1 = sqrt (144.0);

#include<math.h>
...
a1=144.0;
c1=sqrt(a1);

完整的例子2:

#include<stdio.h>
#include<math.h>

void main()
{
  int a1,b1,c1;
  float a2,b2,c2;
  double a3,b3,c3;

  a1=144 ;
  a2=144.0;
  a3=144.0;

  c1=sqrt(a1);
  c2=sqrt(a2);
  c3=sqrt(a3);

  printf(" %d %d \n",a1,c1);
  printf(" %f %f \n",a2,c2);
  printf(" %lf %lf\n",a3,c3);
}

練習3 : 計算 23716 的 平方根

練習4:請設計一個程式,讓使用者輸入 a、b (a和b 各代表直角三角形的直角上的兩個邊),然後計算出斜邊 的長

函數5: 一些數學上常用的函數 3 : sin( ) 、 cos( )、 tan( ) 三角函數

用法:

sin( a ) // 計算 a 的 sin值,必需使用標頭檔 math.h
cos( a )
// 計算 a 的 cos值,必需使用標頭檔 math.h
tan( a )
// 計算 a 的 tan值,必需使用標頭檔 math.h

注意: a 必須使用弧度而不是角度, 弧度 = 角度 * 3.1416 / 180

例:

#include<math.h>
...
c1=sin(45.0 / 180.0 * 3.1416);
c2=cos(45.0 / 180.0 * 3.1416);
c3=tan(45.0 / 180.0 * 3.1416);

#include<math.h>
...
a1=45.0;
a2=45.0;
a3=45.0;
c1=sin(a1 / 180.0 * 3.1416);
c2=cos(a2 / 180.0 * 3.1416);
c3=tan(a3 / 180.0 * 3.1416);

完整的例子3:

#include<stdio.h>
#include<math.h>

void main()
{
double a1,a2,a3,c1,c2,c3;

a1=45.0;
a2=45.0;
a3=45.0;

c1=sin(a1 / 180.0 * 3.1416);
c2=cos(a2 / 180.0 * 3.1416);
c3=tan(a3 / 180.0 * 3.1416);

printf("sin %lf %lf \n",a1,c1);
printf("cos %lf %lf \n",a2,c2);
printf("tan %lf %lf \n",a3,c3);
}

練習5 : 計算 60 度的sin( ) 、 cos( )、 tan( )值

函數5: 一些數學上常用的函數 4 : rand( ) 取亂數

用法:

rand( ) // 產生一個 0 ~ 32767 之間的亂數,必需使用標頭檔 stdlib.h

例:

#include<stdlib.h>
...
a = rand( );

完整的例子4:產生10個 0 ~ 32767 之間的亂數

#include<stdio.h>
#include<stdlib.h>

void main()
{
  int i,a;

  for(i=1;i<=10;i++)
  {
    a=rand();
    printf("%d\n",a);
  }
}

完整的例子5 : 修改上例,產生的亂數在 0 ~ 99 之間

#include<stdio.h>
#include<stdlib.h>

void main()
{
  int i,a;

  for(i=1;i<=10;i++)
  {
    a=rand()%100; // 產生的亂數在 0 ~ 99 之間
    printf("%d\n",a);
  }
}

  

完整的例子6 : 修改上例,每次執行時產生的亂數都不同

#include<stdio.h>
#include<stdlib.h>

#include<time.h>
#define randomize() srand((unsigned) time(NULL))

void main()
{
  int i,a;

  randomize();
  for(i=1;i<=10;i++)
  {
    a=rand()%100; // 產生的亂數在 0 ~ 99 之間
    printf("%d\n",a);
  }
}

練習7 : 小遊戲: 猜拳遊戲 (玩20次): 使用者輸入1~3, (1:剪刀, 2:石頭, 3:布) , 然後電腦隨機產生數字1~3 (1:剪刀, 2:石頭, 3:布) , 然後告訴使用者誰贏了

練習8 : 小遊戲: 猜拳遊戲 (玩20次): 使用者輸入1~3, (1:剪刀, 2:石頭, 3:布) , 然後電腦隨機產生數字1~3 (1:剪刀, 2:石頭, 3:布) , 然後告訴使用者誰贏了, 但是, 電腦的勝率必須在 6成以上

練習9 : 小遊戲: 猜數字 (XAXB)

C 語言 講義   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  A  B  C