#define



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


・マクロパラメータはカッコを付ける
・マクロ全体にカッコを付ける
・マクロパラメータにインクリメント/デクリメントは避ける
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)

命名規約

・使用できるキャラクタは英数字、アンダーバー
・数字で始まる名前は不可
・名前の長さに制限は無いが先頭から31文字までが有効
・予約語は使用できないが、名前の一部に使われるのは構わない
・大文字と小文字は異なるものとして扱われる
C > 基礎 | comments (0) | trackbacks (0)

数値定数

数値定数例1例2
8進数0110345
10進数1001000
16進数0xff0XFFFF
指数1.234e2(=123.4)5.67e-2(=0.0567)
小数3.1442.195


サフィックス
サフィックス
long型、unsigned long型l L123456789l
unsigned int型、 unsigned long型u U123456789u
unsigned long型ul UL123456789ul
float型f F3.14f
double型l L3.14l


浮動小数点定数

float fVar1 = .314e1f;
float fVar2 = 314e-2f;
float fVar3 = 31.4e-1f;


これらの浮動小数点定数は、全てが3.14という値である。
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)

データ型

型指定子サイズ(ビット)範囲
char8-128〜127
unsigned char80〜255
short16-32768〜32767
unsigned short160〜65535
int32-2147483648〜2147483647
unsigned int320〜4294967295
long32-2147483648〜2147483647
unsigned long320〜4294967295
float323.4E-38〜3.4E+38(有効桁7桁)
double641.7E-308〜1.7E+308(有効桁15桁)
long double641.7E-308〜1.7E+308(有効桁15桁)

※32ビットCPUの場合
※指定を省略するとsignedと見なされる

int型のサイズを調べるプログラム

#include <stdio.h>
void main()
{
 printf( "%d\n", sizeof( int ) );
}

C > 基礎 | comments (0) | trackbacks (0)

予約語

autodoubleintstruct
breakelselongswitch
caseenumregistertypedef
charexternreturnunion
constfloatshortunsigned
continueforsignedvoid
defaultgotosizeofvolatile
doifstaticwhile
C > 基礎 | comments (0) | trackbacks (0)

データ表現

10進数2進数16進数
000
111
2102
3113
41004
51015
61106
71117
810008
910019
101010A
111011B
121100C
131101D
141110E
151111F
161 000010
   
311 11111F
3210 000020
   
6311 11113F
64100 000040
   
127111 11117F
1281000 000080
   
2551111 1111FF
2561 0000 0000100
   
5111 1111 11111FF
51210 0000 0000200
   
102311 1111 11113FF
1024100 0000 0000400
   
2047111 1111 11117FF
20481000 0000 0000800
   
40951111 1111 1111FFF
40961 0000 0000 00001000
   
81911 1111 1111 11111FFF
819210 0000 0000 00002000
   
1638311 1111 1111 11113FFF
16384100 0000 0000 00004000
   
32767111 1111 1111 11117FFF
327681000 0000 0000 00008000
   
655351111 1111 1111 1111FFFF
655361 0000 0000 0000 000010000
C > 基礎 | comments (0) | trackbacks (0)