6.関数U


前回から、関数という用語を使っています。
「関数」というと数学の苦手な人の中には、相当引いてしまう人もいると思いますが、そんなにビビる必要はありません。例えば、今まで使ってきたようなprintfだって関数の一つです。関数というのは、僕たちがコンピュータに何か動作をさせるための、命令を表していると考えればいいのです。今回ここで使っていく関数だって、計算はコンピュータがやってくれるのですから。

サンプル6−1
#include <stdio.h>
#include <string.h>
/*
文字列を扱う場合*/

int main()
 {
/*
文字列変数(charcter)を用意*/
  char A1[10], b1[10] ;
  int ln ;
/*
文字列に文字を代入(stringcopyする)*/
  strcpy(A1, "abcdef");
  strcpy(b1, "xyz");
  printf("A1=%s b1=%s\n",A1,b1);

/*訓練のため、できるだけ手打ちでお願いします*/

/*
文字列(string)の長さ(length)を測る*/
  ln = strlen(A1);
  printf("文字数=%d\n",ln);

  
/*
文字列を比較(compete)*/
  if(strcmp(A1, b1) > 0 )
   printf("左辺が大\n");
  if(strcmp(A1, b1) < 0 )
   printf("右辺が大\n");
  if(strcmp(A1, b1) == 0 )
   printf("等しい\n");
  if(strcmp(A1, b1) != 0 )
   printf("等しくない\n");
  

/*文字列の結合(concatenate)*/
  strcat(A1, b1);
  printf("A1 + b1 =%s\n", A1);
 return(0);

 }

次に、数学関数の入力をしてみましょう。

サンプル6−2
#include <stdio.h>
#include <math.h>
/*
数学関数の導入*/

int main()
 {
  printf("sin30°=%f\n", sin(30.0 * 3.141592/ 180.0));
  printf("cos30°=%f\n", cos(30.0 * 3.141592/ 180.0));
  printf("tan30°=%f\n", tan(30.0 * 3.141592/ 180.0));
  printf("2の3乗=%f\n", pow(2.0 , 3.0));/*powpower(何乗)の略*/
  printf("1000のログ=%f\n", log10(1000));
  printf("10の平方根=%f\n", sqrt(10.0)); /*sqrtsqare root(平方根)の略*/

 return(0);
 }

一般的によく使う、関数です。覚えておきましょう。注)math.hを使うソースプログラムをコンパイルする際には、次のような記述が必要になるので注意してください。

% fcc ソースプログラム名 -lm(エルエム)

例) fcc samp0529.c -lm


課題 サンプル4-2でやった、半径2の円の面積を求めることを、POWERを使った式で表現しなさい。当然math.hが必要になります。小数点以下3桁まで求めること


前のページへ このページの先頭へ 次のページへ 


プログラミングホーム