ITメモ
C言語 / Programming Language C
開発環境 / Development Environment
【Mac】Xcode【Win】Visual Stadio
基礎 / Basic
About C言語書式コメントコンパイルとリンクメイクファイル / Makefileヘッダファイル変数定数型 / Type配列 / Arrayポインタ / Pointer演算子 / Operator制御文 / Control Statement関数指定子 / 修飾子構造体と共用体 / Structure & Unionプリプロセッサ / PreprocessorthisキーワードTypedef
入出力 / Input & Output
入出力入力フォーマット指定子出力フォーマット指定子「printf」関数を使って文字を出力・表示させる方法「printf_s」関数を使って文字を出力・表示させる方法「scanf」関数を使って入力させる方法「scanf_s」関数を使って入力させる方法「getchar」関数を使って「1文字」だけ入力させる方法「gets」関数を使って「文字列」を入力させる方法
文字列 / String
文字列 / String「snprintf」関数で「配列」に文字列を書き込む方法
ネットワーク / Network
memset - メモリブロックのセット
メモリー管理
メモリー
オペレーション / Operation
ファイルを操作をする方法コマンドラインプログラム / Command-Line Programプロセス / Processソケット通信 / Socket Communication
用語集 / Glossary
サブルーチン / Subroutineスタックとキュー / Stack & Cueスレッド / Thread
C言語標準ライブラリ(ヘッダファイル)
C言語標準ライブラリ【assert.h】 - 診断機能【complex.h】 - 複素数計算【ctype.h】 - 文字操作【errno.h】 - エラー【fenv.h】 - 浮動小数点環境【float.h】 - 浮動小数点型の特性【inttypes.h】 - 整数型の書式の変換【iso646.h】 - 代替つづり(Alternate spellings)【limits.h】 - 整数型の大きさ【locale.h】 - 文化圏固有操作【math.h】 - 数学【setjmp.h】 - 非局所分岐【signal.h】 - シグナル操作【stdalign.h】 - アライメント【stdarg.h】 - 可変個数の実引数【stdatomic.h】 - アトミック操作【stdbool.h】 - 論理型および論理値【stddef.h】 - 共通の定義【stdint.h】 - 整数型【stdio.h】 - 入出力【stdlib.h】 - 一般ユーティリティ【stdnoreturn.h】 - _Noreturn【string.h】 - 文字列操作【tgmath.h】 - 型総称数学関数(Type-generic math)【threads.h】 - マルチスレッド【time.h】 - 日付及び時間【uchar.h】 - Unicodeユーティリティ【wchar.h】 - 多バイトおよびワイド文字拡張ユーティリティ【wctype.h】 - ワイド文字種分類およびワイド文字大文字小文字変換ユーティリティ
C言語ライブラリ(ヘッダファイル)
C言語ヘッダファイル【winsock.h】





【C言語】制御文 / Control Statement

【C言語】
制御文 / Control Statement




「制御文(Control Statement)」は、

・条件分岐
・反復
・脱出
・スキップ

などの種類があります。


制御文には、
それぞれに特徴があり、
用途が異なります。

書式も
それぞれの書き方、
利用方法があります。

詳しくは、
下記をご参照ください。



「制御文」の種類


「C言語」で使用できる「条件分岐」は、
「制御文(Control Statement)」とも言われますが、
他のプログラミング言語と同様に、
使えるようになっています。





制御文説明
条件分岐
if 2方向分岐
条件式による条件分岐。

if( 条件式 ){ 処理内容 }
else if( 条件式 ){ 処理内容 }
else{ 処理内容 }
switch 多方向分岐
条件式の値による条件分岐。

switch( 条件式 ){
case 値1:
処理内容
break;
case 値2:
処理内容
break;
default:
条件式がどれにも一致しない場合の処理内容
break;
}
反復
for 指定回数反復
forを使ったループ構文。
for( 初期化;条件式;各ループ後に実施されるコード ){ 処理内容 }
for (a=0;a<10;a++){ 処理内容 }
while 前判定型不定回数反復
条件が満たされている限り、処理内容が繰り返される。
while ( 条件式 ) { 処理内容 }
do ~ while 後判定型不定回数反復
一度処理内容が実行され、その後条件が満たされている限り、処理内容が繰り返される。
do { 処理内容 } while( 条件式 );
脱出
break 反復脱出
スキップ
continue反復スキップ
goto goto ラベル;

ラベル;
goto文は、指定したラベル行まで、一気にジャンプするという命令。


Back

「if」構文の使い方


条件分岐として使える「if」構文は、 「2方向分岐」で使え、
「多方向分岐」としても使える
使い勝手の良い「条件分岐構文」。

「条件式」によって、
「条件分岐」ができ、
「1個」以上の「条件式」を指定することで、
利用できる「条件分岐構文」です。


条件分岐「if」構文の書式
if( 条件式 ){ 処理内容 }
else if( 条件式 ){ 処理内容 }
else{ 処理内容 }


if( 条件式 ){
処理内容
}
else if( 条件式 ){
処理内容
}
else{
処理内容
}


Back

「switch」構文の使い方


「switch」構文は、
「多方向分岐」で、
「条件式」で算出される「値」によって、
「条件分岐」を指定することができる。



「switch」構文の書式
switch( 条件式 ){
case 値1:
処理内容
break;
case 値2:
処理内容
break;
default:
条件式がどれにも一致しない場合の処理内容
break;
}


Back

「for」構文の使い方


「for」構文は、
「指定回数反復」をする「反復構文」。
条件式の条件を満たす間、
記述した処理を「繰り返す」という構文。
「ループ構文」とも言われている。


「for」構文の書式
for( 初期化;条件式;各ループ後に実施されるコード ){ 処理内容 }
for (a=0;a<10;a++){ 処理内容 }

for( 初期化;条件式;各ループ後に実施されるコード ){
処理内容
}

for (a=0;a<10;a++){
処理内容
}


Back

「while」構文の使い方


「while」構文は、
条件が満たされている限り、
処理内容が繰り返される「繰り返し」構文。
「反復」構文の一つ。

「前判定型不定回数反復」であり、
記述された「条件式」を満たす間は、
記述された「処理内容」が実行される。


「while」構文の書式
while ( 条件式 ) { 処理内容 }

while ( 条件式 ) {
処理内容
}


Back

「do ~ while」構文の使い方


「do ~ while」構文は、
一度、記述された「処理内容」が実行され、
その後、記述された「条件式」が満たされているかの判定が行われ、
条件を満たしている限り、処理内容が繰り返される。
「後判定型不定回数反復」の「反服構文」。



「do ~ while」構文の書式
do { 処理内容 } while( 条件式 );

do {
処理内容
} while( 条件式 );


Back

「break」の使い方


「break」は、
「条件分岐構文」「繰り返し構文」などの
「処理内容」に記述する「制御文」で、
「繰り返し」「条件分岐」を「break」の位置で処理を終了し、
「条件分岐構文」「繰り返し構文」以降のプログラム内容を実行するように、
制御する「制御文」。

条件式の反復脱出に使用される「制御文」。



「break」の書式
switch( 条件式 ){
case 値1:
処理内容
break;
case 値2:
処理内容
break;
default:
条件式がどれにも一致しない場合の処理内容
break;
}


while ( 条件式 ) {
処理内容

if( 条件式 ){break;}
}


Back

「continue」の使い方


「continue」は、
「繰り返し構文」の途中に記述される「制御文」で、
「continue」が記述された以降の「処理内容」は実行されず、
次の「繰り返し」「反復」に移行させる「制御文」。



「continue」の書式
while ( 条件式 ) {
処理内容

if( 条件式 ){continue;}

処理内容
}


Back

「goto」の使い方


「goto」は、
あらかじめ指定した
「ラベル」の位置まで、
移動することを命令する「制御文」。

「条件分岐構文」「繰り返し構文」などの 範囲内・範囲外ともに使用できる「制御文」。



「goto」の書式
goto ラベル;

ラベル;
while ( 条件式 ) {
処理内容

if( 条件式 ){goto ラベル;}

処理内容
ラベル;
処理内容
}


Back