戻る
C言語入門::付録 キーワード一覧(β2)
C言語で出てくるキーワードを簡潔に説明.
詳しい使い方は本文を参照するか,Google等で調べてください.
参考のために重要度を「★」の数で表しました.3つが最大?
-
★★★ 使えないとまともなプログラムが書けない
-
★★ 使えないのは恥ずかしい
-
★ 知っていると便利
-
無し 使わなくても多くの場合問題無い
予約語
型
-
char 文字(符号の有無は環境依存) ★★★
-
double 倍精度実数(最近のパソコンのCPUはdoubleの演算回路があるので高速) ★★★
-
float 実数 ★★
-
int 標準的な整数(デフォルトで符号有り) ★★★
-
void 空を意味する.型が不定のポインタの型としても使える. ★★
-
enum 列挙体 ★
-
struct 構造体(複数のデータをまとめる) ★★
-
typedef ある型に別の名前をつける ★
-
union 共用体(複数データで記憶領域を共用する) ★
最近は,_Bool,_Complex,_Imaginary(真偽値,複素数,虚数)を扱えるコンパイラもある.
修飾子
変数や関数宣言時に,型の前につけて修飾する.組み合わせて使用可能.
-
auto ローカル変数を自動変数にする(つまりstaticでない.普通は省略)
-
const 変数の内容を変更できなくする(定数として扱う) ★
-
extern グローバル変数を他のソースファイルと共有する ★
-
long int型に対する修飾(long longやlong doubleが使えるコンパイラもある) ★★★
-
register 変数領域としてレジスタを使わせる(必ずそうなるとは限らない)
-
restrict そのポインタ経由でアクセスすることを明示(ポインタに対する修飾.最近のCで追加された)
-
short int型に対する修飾 ★★★
-
signed 符号有り(整数型(int,char)に対する修飾) ★★
-
static ローカル変数を静的に確保.グローバル変数,関数をそのソースに閉じ込める. ★
-
unsigned 符号無し(整数型(int,char)に対する修飾) ★★
-
volatile 他の部分から非同期で変更される可能性を示す(その変数に対する最適化を抑制) ★
制御構造
「~」の部分は,処理したい文やブロックが入ります.
-
if (条件式) ~ ―― 条件が満たされていれば実行 ★★★
-
else ~ ―― ifの後に続けて,条件が満たされていなかった場合の処理 ★★★
-
switch (式) ―― 式と同じ値を持つcaseに飛ぶ ★★★
-
case ラベル: ―― switch用のラベルを書く ★★★
-
default: ―― どのcaseにも当てはまらなかった場合 ★★
-
while (条件式) ~ ―― 条件が満たされている間繰り返し ★★★
-
do ~ while(条件) ―― whileのチェックをループの後ろでやりたいときに ★
-
for (初期化;条件;値を変化) ~ ―― 初期化式,継続条件,再初期化式を与えて繰り返し ★★★
-
break ―― ループから抜ける ★★
-
continue ―― ループの今回の処理をやり直す ★★
-
goto ラベル ―― 任意のラベルに飛ぶ(とりあえずは,使わないことにしたほうがいい)
-
return 戻り値 ―― 関数の処理を終えて結果を返す ★★★
演算子
C言語の演算子は同じ表記でも,使い方によって意味や優先順位が変化します(この辺が面倒くさい).
下に行くほど優先順位は低くなります.
-
( ) [ ] -> . 後置++ --
-
! ~ 前置++ -- 間接演算子(*) アドレス演算子(&) sizeof
-
()キャスト
-
* / % 乗算,除算,余り
-
+ - 加算,減算
-
<< >> シフト演算子
-
< <= >= > 大小比較
-
== != 一致,不一致
-
& ビット積
-
^ ビット和
-
! 否定
-
&& 論理積
-
|| 論理和
-
?: 三項演算子
-
= += -= *= … 変数に対して代入,加算,減算...
-
, 順次演算子
説明?
-
( ) ―― 普通の括弧.カッコ内は,必ず先に計算される ★★★
-
[ ] ―― 配列の要素(配列Aのn番目の要素は A[n] と記述.nは0から始まる) ★★★
-
-> ―― アロー演算子.構造体のポインタのメンバを参照 p->a は (*p).a と等価 ★★
-
. ―― 構造体のメンバ (例: who.name ) ★★
-
++,-- ―― 後置インクリメント,デクリメント.(X++の値は計算する前のX) ★★
-
++,-- ―― 前置インクリメント,デクリメント.(++Xの値は計算後のX) ★★
-
sizeof ―― 変数,構造体に確保された領域のバイト数(例: sizeof(X) ) ★★
-
( ) ―― キャスト 指定した型に変える (例:double x=3.14; int n=(int)x; ) ★★
-
+,-,*,/ ―― 普通の加減乗除(整数型では小数点以下切捨て) ★★★
-
% ―― 余りを求める (例: xを3で割った余り= x % 3) ★★
-
?: ―― 三項演算子 「C?A:B」の値は,Cが真ならA,偽ならB
-
, ―― 順次演算子 「A,B」という式の場合,Aを計算した後にBを計算し,式の値はBになる
プリプロセッサ
プリプロセッサはコンパイル前にソースファイルに対して指定された処理を行います.
-
#include そこにファイルを埋め込む. ★★★
-
#define マクロを定義.ちょっとした関数みたいなものも作れる. ★★★
-
#undef マクロを未定義に.
-
#if,else,endif,elif,ifdef,ifndef 条件を満たしたときのみコンパイル
-
#pragma コンパイラやリンカに指示を出す(環境依存)
標準関数
極一部だけですが,使用頻度の高いもの(というよりは,入門書に良く出てきそうな関数).
標準ライブラリ
「stdlib.h」をインクルードすると使える.
-
abs(x) 絶対値(整数)
-
atoi(s) 文字列を数値に. (atoi("123") は123になる)
-
rand() 乱数を生成
-
srand(s) シードsを元に乱数系を初期化する
入出力
「stdio.h」をインクルードすると使える.stdioはStandard Iinput/Outputのこと.
標準入出力関数.普通は,キーボードから入力して画面に出力するが,実行時に変更可能.
-
putchar 1文字出力
-
puts 文字列出力
-
printf 指定フォーマットに従って文字列出力
-
getchar 1文字入力
-
gets 文字列入力
-
scanf 指定フォーマットに従って文字列入力
gets,scanfは危険な関数なのでまともな製品には使ってはいけない.
(セキュリティーホールになる)
ファイル入出力関数.基本的に標準入出力関数にfをつけたもの.
-
fopen ファイルを開く
-
fclose ファイルを閉じる
-
fgetchar ストリームから1文字入力
-
fgets ストリームから文字列入力
-
fscanf ストリームから指定フォーマットに従って文字列入力
-
fprintf 指定フォーマットに従って文字列出力
数学
「math.h」をインクルードすると使える.
扱う数値はdouble型.角度の単位はラジアン.
-
sqrt(x) (sqrt(x) = pow(x,0.5))
-
pow(x,y) xのy乗 ( pow(2,8)=256 )
-
log(x) 自然対数
-
log10(x) 常用対数
-
exp() 指数関数 eのx乗
-
sin(x),cos(x),tan(x) 三角関数
-
asin(x),acos(x),atan(x),atan2(x,y) 逆三角関数
-
fabs(x) xの絶対値
-
ceil(x) 小数点以下切り上げ
-
floor(x) 小数点以下切り下げ
-
fmod(x,y) x/yの余り
文字列
「string.h」をインクルードすると使える.stringは文字列のこと.
文字がstring(ひも)のように連なっているから.
-
strcpy(s,t) sに文字列tをコピー
-
strcat(s,t) 文字列sの末尾に文字列tを追加
-
strcmp(s,t) 文字列を比較.一致で0
-
strlen(s) 文字列sの長さ
-
sprintf(s,f,...) フォーマットされた文字列をsに書き込む
文字列はchar型の配列です.
言葉
プログラミング中に使う言葉とか.
このへんが日常用語に混ざるようになると,プログラマだと思われる.
-
スコープ ―― ある変数や関数が使える範囲
-
リテラル ―― プログラム中に書かれた文字列や定数のこと
-
トークン ―― 単語のこと.数値や演算子もトークン
-
ストリーム ―― 連続したデータの流れを扱う仕組み.ファイルも標準入出力もストリーム
-
識別子 ―― 変数や関数の名前のこと
-
予約語 ―― 言語として最初から予約されている単語.なので,識別子に同じ名前は使えない
-
hoge,hoe,hoo,bar ―― 良い識別子の例を思いつかないときに使う(hoo,barは海外製)
-
オーバーフロー ―― 処理結果がそのプログラムで扱える最大値を越えること
-
フローチャート ―― プログラムの流れを表す図.絶滅しつつある.
-
マジックナンバー ―― プログラム中に現れる数値.なるべく定数として定義して管理するべき
この文書の履歴
-
2006-05-12 とりあえず書く
-
2006-05-22 少し修正
Copyright ©
瓶詰堂 all rights reserved.