<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/vsaturn/">
    <title>サターンWiki</title>
    <link>http://w.atwiki.jp/vsaturn/</link>
    <atom:link href="https://w.atwiki.jp/vsaturn/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>サターンWiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2013-01-10T15:42:05+09:00</dc:date>
    <utime>1357800125</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/vsaturn/pages/38.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/vsaturn/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/vsaturn/pages/37.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/vsaturn/pages/33.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/vsaturn/pages/34.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/vsaturn/pages/36.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/vsaturn/pages/35.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/vsaturn/pages/32.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/vsaturn/pages/31.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/vsaturn/pages/30.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/vsaturn/pages/38.html">
    <title>役立つ小ネタ集その２</title>
    <link>https://w.atwiki.jp/vsaturn/pages/38.html</link>
    <description>
      **第２回覚えておくと便利な小ネタ
***文字を入れる型
　今まで変数の型はint型等の数値を格納する型ばかり扱って来ましたが、
文字を格納する型もあるんです。それがchar型です。読み方はキャラ型と読みます。
変数１つにつき半角１文字を格納する事ができます。配列にすれば複数の文字が扱えます。

char型
#highlight(cpp){{
char c = &#039;a&#039;;
}}

***#includeの意味
　今までなんとなく使っていた#includeはどの様な意味を持っているのかという疑問を解決しましょう。
これは「あるファイルをこの場所にインクルード（取り込む）しなさい」という命令をコンパイラに対して行なっているのです。
#includeの後に記述する&lt; stdio.h &gt;はstdioヘッダーファイルを読み込みなさいという命令だったんですね。


***C言語での文字
　先ほど文字を扱う型をやりましたが、実はC言語ではその文字に与えられた文字コードと呼ばれる整数値なんです。
もちろん型の代入でも文字コードで指定することも可能です。文字コードはJISコードやASCIIコードなどが使用されています。

***有効範囲（スコープ）
　｛　｝内で宣言された変数はその｛　｝内でしか使えません。これをスコープといいます。
他の関数等で呼ぶような記述をするとエラーになります。

例
#highlight(cpp){{
int main( void )
{
 {
   int n;
   n = 0;
 }

   n =10;  /* エラーになる */

   return 0;
}
}}
　この｛　｝でくくられている部分をブロックと呼びます。変数はそれそれのブロック内のみ有効です。
違うブロックならば同じ変数名で変数が作成されてもエラーになりません。仮引数宣言も同様です。
ブロック内で宣言された変数をローカル変数と呼びます。

***プロトタイプ宣言
　これは予めコンパイラに対して関数の情報を与える宣言文です。
書き方は関数を書く前にmain関数より前に関数頭部のみを記述するだけです。
あくまで情報を与えるだけで関数と実態は別で書きます。

例
#highlight(cpp){{
int func( void ); /* プロトタイプ宣言 */

int main( void )
{
  処理
}

/* 関数実体 */
int func( void )
{
 処理
}
}}

***関数に配列を渡す
　関数には配列も引数として渡すことができます。
まず、関数の仮引数に配列宣言しておきます。実引数は配列名だけを渡すだけです。
しかし、同時に要素数を渡す事ができないので別の仮引数を宣言して渡してあげましょう。
[[多次元配列]]でも同様です。

例
#highlight(cpp){{
int func( int list[], int num )
{
 処理
}


/* 関数実体 */
int main( void )
{
 int vc[ 5 ] = { 0,1,2,3,4 };

 func( vc, 5 ); /* ２番めに要素数を渡している */
}
}}

***const型修飾子
　型の前にconstをつけるとその変数は書き換えができなくなります。
配列の要素数等の不変的な定数に使用するのが一般的ですね。
定数をこのようにまとめておくと変更する場合の手間が減ります。

例
#highlight(cpp){{
const int num = 5; /* 要素数(要素数の変更があった場合ここのみを変えれば他にも反映される) */
int vc[ num ] = {0,1,2,3,4};

/* 定数化して変更を容易に */
for( int i = 0; i &lt; num; i++ )
{
  処理
}

/* 仮引数に使用すると関数に渡した値が勝手に書き換わるのを防ぐ */
int func( const int vc[] )
{
 処理
}

}}
----    </description>
    <dc:date>2013-01-10T15:42:05+09:00</dc:date>
    <utime>1357800125</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/vsaturn/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/vsaturn/pages/2.html</link>
    <description>
      ***メニュー
-[[トップページ]]

// リンクを張るには &quot;[&quot; 2つで文字列を括ります。
// &quot;&gt;&quot; の左側に文字、右側にURLを記述するとリンクになります
***各種設定方法
-[[準備]]
-[[新規プロジェクトの作成方法]]

***C言語
-1.[[はじめてのC言語]]
-2.[[計算結果の表示]]
-3.[[変数って何？]]
-4.[[キーボードから読み込んでみる]]
-5.[[演算子とオペランド]]
-6.[[int型とdouble型]]
-7.[[違う型と演算するには]]
-8.[[変換指定いろいろ]]
-9.[[if文を使って条件分岐]]
-10.[[等価演算子と関係演算子]]
-11.[[論理演算子その１]]
-12.[[論理演算子その２]]
-13.[[論理演算子その３]]
-14.[[switch文で複数分岐！]]
-15.[[ループ文その１]]
-16.[[ループ文その２]]
-17.[[役立つ小ネタ集その１]]
-18.[[ループ文その３]]
-19.[[配列]]
-20.[[多次元配列]]
-21.[[関数を作ろう]]
-17.[[役立つ小ネタ集その２]]

***更新履歴
#recent(20,ignore_head=トップ,ignore_head=メニュー,ignore_head=プラグイン,ignore_head=支援)
----

&amp;link_editmenu(text=ここを編集)    </description>
    <dc:date>2013-01-10T15:37:00+09:00</dc:date>
    <utime>1357799820</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/vsaturn/pages/37.html">
    <title>関数を作ろう</title>
    <link>https://w.atwiki.jp/vsaturn/pages/37.html</link>
    <description>
      **mainも関数だった！

***今まで使っていた関数について
　今回から少し深いところに入っていきます。
この項では関数について詳しく話そうと思います。
今までprintfやscanfなどのもともと用意されていた関数は使っていましたね。これらをライブラリ関数といいます。
しかし、すべての機能がライブラリ関数になっているわけではありません。関数を自分で作成していかなければなりません。
実はすでに今までのコーディングで関数を作成していたのですよ。それがmain関数です。
　main関数について少し説明すると、C言語では１つmain関数がないとエラーになります。
また、コンピュータがmainを呼ぶことで処理が実行されます。

***関数定義
　関数はどのように定義するのか見てみましょう。

#ref(func1.png)

 このような要素で構成されています。１つずつ見ていきましょう。
戻り値型（返却値型）:　関数の処理が終了したときにこの関数が返す値の型を指定します。
関数名 : 関数を呼び出すときの名前
仮引数 : 関数呼び出し時に渡される。実引数を受け取るための変数を指定します。
関数の本体には実際の処理を記述します。それでは実際のソースコードを見てみましょう。

関数サンプル
#highlight(cpp){{
/* 関数の計算結果を表示させる */

#include&lt;stdio.h&gt;

int func( int X )
{
	X *= 10;

	return X;
}

/* メイン関数 */
int main( void )
{
	int na;	// 戻り値格納用
	na = func( 5 );

	/* 結果表示 */
	printf( &quot;%d\n&quot;, na );

	return(0);
}
}}

　今回はmainに加えて自作のfuncという関数を用意しました。
コメントにある通りfunc関数に数値を渡して計算結果を戻り値としてもらって来ています。
詳しい説明は後ほど図解で行います。結果は以下のように計算結果が表示されます。

実行結果
#ref(func2.png)
　
　自作した関数もライブラリ関数と同じように呼び出して引数を与える形で使用します。
実際にどういう流れで実行されるのか図でご覧ください

#ref(func3.png)

　この図を番号順に見て行きましょう。まずfuncが呼び出され、５が実引数として関数に渡されます。
図に書いてある通り、仮引数のXに５が代入されているイメージだと理解しやすいです。
次に５に１０を乗算するコードが実行されてXは５０になります。関数内での実行を完了したのでXの５０を戻り値として返ってきます。
その戻り値がmainのnaに格納され結果表示に進むという流れになります。 
このように計算の公式等を関数化すると同じコードを何度も書くことなく使いまわせるので、積極的に関数化して行きましょう。

***return文
　mainにもfuncにも最後は必ず記述してあるreturnはどのような処理をしているか気になりませんか？
これはreturn文と言って関数を終了し、その関数が呼び出された位置に戻ります。

return文
#highlight(cpp){{
/* 戻り値がある場合 */
return 式;

/* 戻り値がない場合 */
return;
}}

　書き方は２種類あり戻り値の有無で決まります。実は関数は必ずしも戻り値を返す必要はないんです。
ですので、戻り値が必要ない場合は式を省略することができるのです。

***引数についての補足
　今回作成したfunc関数では仮引数は１つでしたが、複数の仮引数を宣言することも可能です。
簡単に書き方の紹介をしておきます。複数の仮引数がある場合は実引数も同じ数だけ指定してくださいね。

例
#highlight(cpp){{
/* 関数 */
int func( int X, int Y )
{
	return ( X + Y ); 
}

/* 呼出し */
na = func( na, nb );
}}

　次に実引数に関数呼び出しを書いた場合の動作についてです。


例
#highlight(cpp){{
printf( &quot;大きい方の値は%dです\n&quot;, maxof( na, nb ) );
}}

　例として、maxofという２値を比較して大きい方を戻り値として返す関数をprintfの実引数として書いてみました。
実行される順序は、まずmaxofが呼ばれ実行されます。次にその戻り値がprintfで出力される流れになります。
この順序は他の関数でも同様です。
 
***仮引数や戻り値がない関数の場合
　仮引数や戻り値を必要としない関数を作成する場合はvoid型を指定します。
void型は型のない型と覚えてもらえればいいと思います。
この型を指定した場合は、戻り値として変数などに代入することができません。

例
#highlight(cpp){{
void func( int A )
{
	printf( &quot;%d\n&quot;, A );
	
	return;
}

na = func( 100 );  /* 戻り値がないのでエラーになる */
}}

　以上のことに頭に入れつつ、関数を組んで行きましょう。
----    </description>
    <dc:date>2013-01-10T00:14:01+09:00</dc:date>
    <utime>1357744441</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/vsaturn/pages/33.html">
    <title>役立つ小ネタ集その１</title>
    <link>https://w.atwiki.jp/vsaturn/pages/33.html</link>
    <description>
      **覚えておくと便利な小ネタ
***初期化子
　変数を宣言するときに同時に初期値を代入できるのです。
初期値は型名と同じ形式なのが決まりです。

初期化子
#highlight(cpp){{
int num = 5;

int numx = 10, numy = 20;
}}

***複合代入演算子
　代入と演算を同時にやってしまいます。
例えば num += 5; だったとすると、変数numの値に５を加算した値を代入します。
ただし、num += 3 * 4 のように複数の演算を行なっている場合は使用出来ません。

複合代入演算子
#highlight(cpp){{
num += 5; 
num -= 5; 
num /= 5; 
num *= 5;
num %= 5;  
}}

***増分演算子（インクリメント）減分演算子（デクリメント）
　主にインクリメント、デクリメントと呼ぶ方が多いと思います。
インクリメントは変数の値を１増やします。対してデクリメントは変数の値を１減らします。
書き方は２種類あり、前置と後置で演算されるタイミングが異なります。
前置は変数の実行前に加算または減算されます。後置は実行後に加算または減算されます。

増分演算子（インクリメント）減分演算子（デクリメント）
#highlight(cpp){{
// 前置
++num;
--num;

// 後置
num++;
num--;
}}

***文字定数
　文字定数は半角１文字をシングルクォーテーション「&#039;&#039;」で囲んだものです。
これは拡張表記も含まれ、拡張表記の場合は \n のように２文字で１文字です。
文字コードの取得などに使用します。

文字定数
#highlight(cpp){{
&#039;a&#039;
}}

***putchar関数
　文字コードで指定された半角１文字を表示します。
文字定数で指定します。

putchar関数
#highlight(cpp){{
putchar( &#039;a&#039; );
}}

***break文
　switch文で使用しているbreakと同じものですが、単体で使うことができます。
ループ文内で使用すると処理を終了しループを抜けます。

break文
#highlight(cpp){{
while( ～ )
{
  if(～)
　{
    break; /* whileから抜ける */
  }
}
}}

----    </description>
    <dc:date>2013-01-06T18:09:23+09:00</dc:date>
    <utime>1357463363</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/vsaturn/pages/34.html">
    <title>ループ文その３</title>
    <link>https://w.atwiki.jp/vsaturn/pages/34.html</link>
    <description>
      **ループ回数が決まっているならfor文！
　以前にもループ文をいくつか紹介しましたが、もう１つ便利なループ文があるんです。
それがfor文です。f特徴は、ループ回数などループの条件式の他にループ毎で実行される式を定義することができます。
文章で説明するよりまずは実際に見てもらいましょう。書き方は以下のようになります。

for文
#highlight(cpp){{
for( 式1; 式2; 式3 ) 文;

}}

　最短で書くとこのような形になります。式1は1番最初に一度だけ実行されます。用途は初期化です。
式2にはループの継続条件が入ります。ここはwhile文の式と同様です。
式3はループカウンタ等の変数の増減を行う後処理の式が入ります。書かなければ省略されます。
まだわかりづらいと思うので、図にして見て行きましょう。

#ref(for.png)
　
　これでだいぶわかりやすくなったと思います。次は実際にコードを記述して理解していきましょう。
その前に綺麗に見やすくする記述法を提案したいと思います。
下の図の様にスペースやインデントを入れて見やすい様に書いておくと、後々見返した時などわかりやすいでしょう。

#ref(for2.png)


　では今回もサンプルを用意しましたので実行してみましょう。

for文サンプル
#highlight(cpp){{
/*
　読み込んだ整数値を０までカウントアップ
*/
#include&lt;stdio.h&gt;

int main( void )
{
	int no;	// 入力格納変数

	/* 値の入力 */
	printf( &quot;整数を入力：&quot; );
	scanf( &quot;%d&quot;, &amp;no );

	/* ループ */
	for( int i = 0 ; i &lt;= no ; i++ )
	{
		/* 表示 */
		printf( &quot;%d\n&quot;,i );
	}

	return( 0 );	
}
}}

　実行すると入力された数値までカウントアップされます。
#ref(forサンプル.png)

for文では変数を使ってループさせていますが、式３以外の部分({}内など)で変数を書き換える処理を行うのはご法度です。

**for、while、doどれを使えばいいか
　for文もwhile文やdo文もどれもループ文です。
使い分けですが、判定条件が「～間は処理を継続」といった場合はwhileまたはdo文で処理します。
「～回ループさせる」という場合はforを使うといいでしょう。

----    </description>
    <dc:date>2013-01-06T16:41:45+09:00</dc:date>
    <utime>1357458105</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/vsaturn/pages/36.html">
    <title>多次元配列</title>
    <link>https://w.atwiki.jp/vsaturn/pages/36.html</link>
    <description>
      **列と行

配列
#highlight(cpp){{
型　　配列名[要素数];
int   vc[5];
}}

　前回説明した配列は以上の様に要素数が１つだけでした。これを1次元配列と言います。
実は、配列の要素数は複数定義できるんです。それが、多次元配列です。わかりやすくイメージを図にしたので御覧ください。

#ref(多次元1.png)

　図を見るとListAとListBがあります。ListAが１次元配列ですね。要素数が１つ列数のみを定義している形になります。
一方のListBは２次元配列です列数に加えて行数も定義する形になります。
要素数は右から順に見ていきます。言葉で言い表すとListBは要素３の配列が２つあるということですね。
この多次元配列は３次元、４次元と増やしていくことが可能です。用途に合わせた配列を使いましょう。

多次元配列の初期化
#highlight(cpp){{
int list[ 2 ][ 3 ] = 
{
  { 10, 20, 30 },
  { 40, 50, 60 }
};

/*  １番左の要素は略せる  */
int list[  ][ 3 ] = 
{
  { 10, 20, 30 },
  { 40, 50, 60 }
};

}
}}
　
　初期化は以上の様に行います。１番左の要素は省略することができます。
代入などは前回の配列と変わりません。


----    </description>
    <dc:date>2013-01-04T22:24:15+09:00</dc:date>
    <utime>1357305855</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/vsaturn/pages/35.html">
    <title>配列</title>
    <link>https://w.atwiki.jp/vsaturn/pages/35.html</link>
    <description>
      **大量なデータ管理に便利！
　今回は配列です。配列と言ってもまだピンと来ないと思います。
まず、配列はどのような場面で必要になってくるのかということを考えましょう。

　例えばあなたがゲームのキャラクターデータ管理プログラムを任されたとします。
変数にキャラクターの体力を入れていくことにしました。しかし、キャラクターは多数の種類があり、
キャラクター数の分だけ変数宣言していたら日が暮れてしまいますし、めんどうですよね。
そんな時に配列を使うとスッキリします。配列とは同じ型の変数の集まりを番号で管理しているものです。
書き方を見てみましょう。

配列
#highlight(cpp){{
型　　配列名[要素数];
int   vc[5];
}}

　型は変数と同じ意味ですね。配列名も変数と同じく任意の名前を設定してください。
要素数は値を格納するとが出来る変数の数です。要素数は必ず定数で指定してください。
例ではint型５つ分の要素を宣言していますので５つのデータが格納できます。

　配列も変数と同じく宣言時に初期化が行えます。書き方以下のとおりです。
初期値は順番に設定してください。要素数より多いとエラーになります。
要素数は省略できその場合は初期値の数が要素数として認識されます。

配列の初期化
#highlight(cpp){{
int   vc[5] = { 1,2,3,4,5 };
int   vc[] = { 1,2,3,4,5 };  // 省略
}}
　
　変数のように個別に代入したりすることもできます。
要素番号を要素数の代わりに指定するのです。この値を添え字と呼びます。
添え字は０から開始されます。今回は要素数が５なので添え字は０～４になります。

配列に代入
#highlight(cpp){{
vc[ 0 ] = 10;
vc[ 1 ] = 20;
vc[ 2 ] = 30;
vc[ 3 ] = 40;
vc[ 4 ] = 50;
}}

　もちろん、配列の代入も可能です。配列のコピーなどに用います。
下記の例では、配列vaの１番目の要素にに配列vbの１番目の要素をコピーしています。

配列同士の代入
#highlight(cpp){{
va[ 0 ] = vb[1];
}}
　今回もサンプルを用意しましたので実行してみましょう。

for文サンプル
#highlight(cpp){{
/*
 配列を初期化して表示
*/
#include&lt;stdio.h&gt;

/* メイン関数 */
int main( void )
{
	int vc[] = {10,20,30,40,50};	// 配列を初期化

	/* 配列の要素数分ループ */
	for( int i = 0 ; i &lt; 5 ; i++ )
	{
		/* 表示 */
		printf( &quot;vc[%d] = %d\n&quot;, i, vc[i] );
	}

	return(0);
}
}}

　実行すると配列の内容を表示します。
#ref(配列サンプル.png)


----    </description>
    <dc:date>2012-11-04T18:13:34+09:00</dc:date>
    <utime>1352020414</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/vsaturn/pages/32.html">
    <title>ループ文その２</title>
    <link>https://w.atwiki.jp/vsaturn/pages/32.html</link>
    <description>
      **ループ文で効率的なプログラムを書こう
　今回もループ文です。２つめは、while単体で使うwhile文です。
書き方はdo while文と違い先頭にwhileを書きます。

wｈile文
#highlight(cpp){{
while( 式 )
{
  文;
}
}}

　まず、継続条件を式に記述します。次に繰り替えしたい処理を文の部分に記述します。
それでは詳しく実行順序を見てみましょう。
#ref(while.png)
　
　while文は前判定なので、必ずしも文が実行されるわけでありません。
式が０であれば１回も実行されないのです。
サンプルを作ってみましたのでお試しください。

wｈile文サンプル
#highlight(cpp){{
/*
　読み込んだ整数値を０までカウントダウン
*/
#include&lt;stdio.h&gt;

int main( void )
{
	int no;	// 入力格納変数

	/* 値の入力 */
	printf( &quot;整数を入力：&quot; );
	scanf( &quot;%d&quot;, &amp;no );

	/* ループ */
	while( no &gt;= 0 )
	{
		/* 表示 */
		printf( &quot;%d\n&quot;,no );
		no = no - 1; // 毎ループ１引く
	}

	return( 0 );	
}
}}

　実行すると入力された数値が０になるまでカウントダウンされます。
#ref(whileサンプル.png)


----    </description>
    <dc:date>2012-05-27T22:11:26+09:00</dc:date>
    <utime>1338124286</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/vsaturn/pages/31.html">
    <title>ループ文その１</title>
    <link>https://w.atwiki.jp/vsaturn/pages/31.html</link>
    <description>
      **ループ文で効率的なプログラムを書こう
　今回は新しいタイプの文を紹介します。
プログラムでは同じ動作を繰り返す処理を記述する場合があります。
そんな時に回数分だけ同じ文を記述するのは効率的ではないですよね？
そのような場面で使うのがループ文です。
この項ではループ文の一つdo while文を解説します。書き方は下のように簡単です。

do wｈile文
#highlight(cpp){{
do
{
  文;
}while( 式 );
}}

　繰り替えしたい処理を文の部分に記述します。そして、継続条件を式に記述します。
詳しく実行順序を見てみましょう。
#ref(do.png)
　
　do while文は式の内容に関わらず必ず１回は文が実行されます。
なぜかとwhileの部分で判定している後判定のためです。
サンプルを作ってみましたのでお試しください。

do wｈile文サンプル
#highlight(cpp){{
/*
　読み込んだ整数が偶数か奇数か
*/
#include&lt;stdio.h&gt;

int main( void )
{
	int count;	// ループカウンタ

	/* ループ */
	do
	{
		int no;	// 入力格納変数

		/* 値の入力 */
		printf( &quot;整数を入力：&quot; );
		scanf( &quot;%d&quot;, &amp;no );

		/*  偶数か奇数か */
		if( no % 2 )
			puts( &quot;入力された値は奇数&quot; );
		else
			puts( &quot;入力された値は偶数&quot; );

		/* 継続するか */
		printf( &quot;もう一度する？【yes...0 / no...9】:&quot; );
		scanf( &quot;%d&quot;,&amp;count );

	}while( count == 0 );	// ０が入力されたら終了

	return( 0 );	
}
}}

　実行すると偶数か奇数かを判定します。０を入力すると処理を繰り返します。
#ref(doサンプル.png)


----    </description>
    <dc:date>2012-05-26T21:40:46+09:00</dc:date>
    <utime>1338036046</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/vsaturn/pages/30.html">
    <title>switch文で複数分岐！</title>
    <link>https://w.atwiki.jp/vsaturn/pages/30.html</link>
    <description>
      **if文と違って複数の分岐が出来る！
　条件分岐を記述するときif文は２つにしか分岐できないので何度も
ifとelseを書かなければならなくて面倒ですよね。そんな時にはswitch文です。
書き方は以下のとおりです。

&amp;&amp;と||の複合式
#highlight(cpp){{
switch( 式 )
{
 case 値: 
　　　文;
      文;
      break;
 default:
      文;
      文;
      break;
}
}}

　まだわかりづらいので実行順序を書いてみましょう。
#ref(switch.png)
　
　switch文がわかってきたでしょうか？
breakにぶつかるまで処理してしまうので書き忘れに注意してください。
ちなみに式には整数型しか設定できないので注意してください。


----    </description>
    <dc:date>2012-05-25T22:25:28+09:00</dc:date>
    <utime>1337952328</utime>
  </item>
  </rdf:RDF>
