sqrt

double sqrt( double x )

xの平方根を計算する

d = sqrt( 2.0 )

dは1.41421になる
C > 標準関数 > 数学関数 | comments (0) | trackbacks (0)

pow

double pow( double x, double y )

xのy乗を計算する

d = pow( 2.0, 3.0 )

dは8.000000になる
C > 標準関数 > 数学関数 | comments (0) | trackbacks (0)

system

プログラムの中からOSのコマンドを実行させたい時に使う。
system関数は、コマンドプロセッサを読み込んでから
該当コマンドを実行する為、ディスク上にコマンドプロセッサが
必要である。


#include <stdlib.h>

void main()
{
 system( "dir" );
 system( "ipconfig /all" );
 system( "start notepad.exe" );
}

C > 標準関数 > 一般ユーティリティ | comments (0) | trackbacks (0)

数学関数を使う時の注意点

・数学関数の戻り値はdoubleである。
・関数の引数はdoubleである。(例外有)
・角度はラジアンで示す。(引数にそのまま角度を入れてもダメって事)

サンプル

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

#define PI 3.14159
#define RAD(x) ( (x) * PI / 180.0 )

void main()
{
 double r;
 printf( "x sin(r) cos(r) tan(r)\n" );

 for ( r=0.l; r<=180.l; r+=10.l )
  printf( "%4.1f %12.5f %12.5f %12.5f\n", r, sin(RAD(r)), cos(RAD(r)), tan(RAD(r)) );
}

C > 標準関数 > 数学関数 | comments (0) | trackbacks (0)

文字検査/変換マクロ

isalnum(c)文字cが英数字(A〜Z、a〜z、0〜9)なら真
isalpha(c)文字cが英文字(A〜Z、a〜z)なら真
isascii(c)文字cがASCIIコード(0x00〜0x7f)なら真
iscntrl(c)文字cが制御文字(0x00〜0x1f、0x7f)なら真
isdigit(c)文字cが数字(0〜9)なら真
isgraph(c)文字cが空白を除く印字可能文字(0x21〜0x7e)なら真
islower(c)文字cが小文字(a〜z)なら真
isprint(c)文字cが印字可能文字(0x20〜0x7e)なら真
ispunct(c)文字cが句読点(0x21〜0x2f、0x30〜0x40、0x5b〜0x60、0x7b〜0x7e)なら真
isspace(c)文字cが空白、タブ、復帰、改行、垂直タブ、改頁(0x09〜0x0d、0x20)なら真
isupper(c)文字cが大文字(A〜Z)なら真
isxdigit(c)文字cが16進表示文字(0〜9、A〜F、a〜f)なら真
tolower(c)文字cが大文字なら小文字に変換した値を返す
toupper(c)文字cが小文字なら大文字に変換した値を返す


サンプル

#include <stdio.h>
#include <ctype.h>

void main()
{
 int c;

 for ( c=0; c<=127; c++ ) printf( "%d:%c ", c, c );
 puts( "\n" );
 puts( "isalnumの結果" );
 for ( c=0; c<=127; c++ ) if ( isalnum(c) ) printf( "%d:%c ", c, c );
 puts( "\n" );
 puts( "isalphaの結果" );
 for ( c=0; c<=127; c++ ) if ( isalpha(c) ) printf( "%d:%c ", c, c );
 puts( "\n" );
 puts( "isasciiの結果" );
 for ( c=0; c<=127; c++ ) if ( isascii(c) ) printf( "%d:%c ", c, c );
 puts( "\n" );
 puts( "iscntrlの結果" );
 for ( c=0; c<=127; c++ ) if ( iscntrl(c) ) printf( "%d:%c ", c, c );
 puts( "\n" );
 puts( "isdigitの結果" );
 for ( c=0; c<=127; c++ ) if ( isdigit(c) ) printf( "%d:%c ", c, c );
 puts( "\n" );
 puts( "isgraphの結果" );
 for ( c=0; c<=127; c++ ) if ( isgraph(c) ) printf( "%d:%c ", c, c );
 puts( "\n" );
 puts( "islowerの結果" );
 for ( c=0; c<=127; c++ ) if ( islower(c) ) printf( "%d:%c ", c, c );
 puts( "\n" );
 puts( "isprintの結果" );
 for ( c=0; c<=127; c++ ) if ( isprint(c) ) printf( "%d:%c ", c, c );
 puts( "\n" );
 puts( "ispunctの結果" );
 for ( c=0; c<=127; c++ ) if ( ispunct(c) ) printf( "%d:%c ", c, c );
 puts( "\n" );
 puts( "isspaceの結果" );
 for ( c=0; c<=127; c++ ) if ( isspace(c) ) printf( "%d:%c ", c, c );
 puts( "\n" );
 puts( "isupperの結果" );
 for ( c=0; c<=127; c++ ) if ( isupper(c) ) printf( "%d:%c ", c, c );
 puts( "\n" );
 puts( "isxdigitの結果" );
 for ( c=0; c<=127; c++ ) if ( isxdigit(c) ) printf( "%d:%c ", c, c );
 puts( "\n" );
 puts( "tolowerの結果\n" );
 for ( c=0; c<=127; c++ ) if ( isupper(c) ) printf( "%d:%c ", c, tolower(c) );
 puts( "\n" );
 puts( "toupperの結果\n" );
 for ( c=0; c<=127; c++ ) if ( islower(c) ) printf( "%d:%c ", c, toupper(c) );
 puts( "\n" );
}

C > 標準関数 > 文字検査/変換マクロ | comments (0) | trackbacks (0)

scanf

サンプル

#include <stdio.h>
void main()
{
 double d;
 while( scanf( "%lf", &d ) != EOF )
  printf( "%f\n", d );
}


double型の場合、printfは%f、scanfは%lfである。
float型の場合はどちらも%fである。
C > 標準関数 > コンソール入出力関数 | comments (0) | trackbacks (0)

gets

連続1行入力の基本パターン

#include <stdio.h>
void main()
{
 char s[256];
 while ( ( gets( s ) ) != NULL )
  puts( s );
}


getsによる入力の終了はNULLで知る事ができる。
C > 標準関数 > コンソール入出力関数 | comments (0) | trackbacks (0)

getchar

連続1文字入力の基本パターン

#include <stdio.h>
void main()
{
 int c;
 while ( ( c = getchar() ) != EOF )
  putchar( c );
}


getcharによる入力の終了はEOFで知る事ができる。
C > 標準関数 > コンソール入出力関数 | comments (0) | trackbacks (0)

printf

書式制御
%dint型10進数
%ldlong型10進数
%hdshort型10進数
%uint型符号無し10進数
%hushort型符号無し10進数
%o8進数
%x16進数(小文字)
%X16進数(大文字)
%f実数(float、double共に)
%e指数(小文字)
%E指数(大文字)
%c1文字
%s文字列
%pアドレス
%%%表示


<整数データの桁数指定例>
スペース埋め4桁
printf( "%4d", a );

0埋め4桁
printf( "%04d", a );

空白で負の数と位置を合わせる
printf( "% d", a );

<実数データの桁数指定例>
標準幅
printf( "%f", a );

小数点を入れて9桁(小数点以下の桁数は標準値)
printf( "%9f", a );

全体6桁、少数2桁
printf( "%6.2f", a );

整数部のみ6桁
printf( "%6.f", a );

整数部は必要幅で、小数点以下2桁
printf( "%.2f", a );
C > 標準関数 > コンソール入出力関数 | comments (0) | trackbacks (0)