15: 2010-01-20 (水) 16:09:22 sho | 16: 2010-01-20 (水) 19:11:15 sho | ||
---|---|---|---|
Line 6: | Line 6: | ||
**基本 [#o84a22ef] | **基本 [#o84a22ef] | ||
- | ***2進数 [#ea68bb60] | + | ***2進数・16進数 [#ea68bb60] |
私たちが普段使っている数の数え方は10進数です。 | 私たちが普段使っている数の数え方は10進数です。 | ||
- | 0から9まで増えて行くと、次は桁が上がり10になります。~ | + | 0,1,2,3,4…と増えてゆき、9の次は桁が上がって10になります。~ |
- | コンピュータでは2進数や16進数で表されることがあります。 | + | コンピュータでは2進数や16進数といった異なる基数で表されることがあります。 |
- | 2進数は0,1と増えて行くと、次は桁が上がって10になります。~ | + | たとえば2進数は0,1…と増えて行くと、1の次は桁が上がって10になります。~ |
- | 下表は10進数と2進数の対応表です。 | + | 下表は10進数・2進数・16進数の対応表です。 |
- | | 10進数 | 2進数 | | + | | 10進数 | 2進数 | 16進数 | |
- | | 0 | 0 | | + | | 0 | 0 | 0 | |
- | | 1 | 1 | | + | | 1 | 1 | 1 | |
- | | 2 | 10 | | + | | 2 | 10 | 2 | |
- | | 3 | 11 | | + | | 3 | 11 | 3 | |
- | | 4 | 100 | | + | | 4 | 100 | 4 | |
- | | 5 | 101 | | + | | 5 | 101 | 5 | |
- | | 6 | 110 | | + | | 6 | 110 | 6 | |
- | | 7 | 111 | | + | | 7 | 111 | 7 | |
- | | 8 | 1000 | | + | | 8 | 1000 | 8 | |
- | | 9 | 1001 | | + | | 9 | 1001 | 9 | |
- | | 10 | 1010 | | + | | 10 | 1010 | A | |
+ | | 11 | 1011 | B | | ||
+ | | 12 | 1100 | C | | ||
+ | | 13 | 1101 | D | | ||
+ | | 14 | 1110 | E | | ||
+ | | 15 | 1111 | F | | ||
+ | | 16 | 10000 | 10 | | ||
***ビット・バイト [#y24bb3d4] | ***ビット・バイト [#y24bb3d4] | ||
- | コンピュータの世界で使われる情報(データ)の最小単位をビットと言います。1ビットは0か1です。 | + | コンピュータの世界で使われる情報(データ)の最小単位をビットと言います。1ビットは0か1の値を扱い、2進数の1桁分が扱う大きさとなります。 |
- | またビットが8個集まったものを1バイトと言います。 | + | また1ビットが8個集まったものを1バイト(=8ビット)と言います。 |
#ref(bitbyte.png,100%) | #ref(bitbyte.png,100%) | ||
1バイトで表すことができる数値は10進数で表すと0~255です。 | 1バイトで表すことができる数値は10進数で表すと0~255です。 | ||
Line 51: | Line 58: | ||
***データ型 [#n1ebdc94] | ***データ型 [#n1ebdc94] | ||
- | 変数は使い始める前に「このようなデータを入れるこんな名前の入れ物を使います」と宣言しなければなりませんでした。 | + | 変数は使い始める前に「このようなデータを入れるこんな名前の入れ物を使います」と予め宣言しておかなければなりません。「このようなデータ」を型と言います。~ |
- | この「このようなデータ」を型と言います。~ | + | |
型には以下があり、それぞれサイズと入る値の範囲が異なります。 | 型には以下があり、それぞれサイズと入る値の範囲が異なります。 | ||
Line 67: | Line 73: | ||
変数は数値や文字を置いておく入れ物でした。 | 変数は数値や文字を置いておく入れ物でした。 | ||
大きい入れ物なら大きな数字も入れられるので、変数のサイズが大きい型を選べば良いと思うかもしれません。 | 大きい入れ物なら大きな数字も入れられるので、変数のサイズが大きい型を選べば良いと思うかもしれません。 | ||
- | しかしコンピュータが大きいサイズの変数を扱うには、小さいサイズの変数に比べて時間も手間も掛かります。 | + | しかしコンピュータが大きいサイズの変数を扱うには、小さいサイズの変数に比べて記憶しておく場所も大きくなり、それに伴う様々な処理にかかる時間も必要になってきます。 |
- | コンピュータの負担を減らすため、使用する値の範囲によってできるだけ小さいサイズの型を選びましょう。 | + | |
***演算子 [#reb3a365] | ***演算子 [#reb3a365] | ||
基本的な演算子には以下があります。 | 基本的な演算子には以下があります。 | ||
| 演算子 | 意味 | 使用例 | | | 演算子 | 意味 | 使用例 | | ||
- | | = | 右辺を左辺に代入 | a=b | | + | | = | 右辺を左辺に代入 | a = b | |
- | | + | 足し算 | c=a+b | | + | | + | 足し算 | c = a + b | |
- | | - | 引き算 | c=a-b | | + | | - | 引き算 | c = a - b | |
- | | * | 掛け算 | c=a*b | | + | | * | 掛け算 | c = a * b | |
- | | / | 割り算 | c=a/b | | + | | / | 割り算 | c = a / b | |
- | | % | 割り算の余り | c=a%b | | + | | % | 割り算の余り | c = a % b | |
算数でa=bは、aとbは同じという意味で使うのが一般的ですが、C言語では右辺を左辺に代入します。例えばa=2を左辺、b=3を右辺とし、a=bにすると、bの値がaに代入されa、b両方とも3になります。 | 算数でa=bは、aとbは同じという意味で使うのが一般的ですが、C言語では右辺を左辺に代入します。例えばa=2を左辺、b=3を右辺とし、a=bにすると、bの値がaに代入されa、b両方とも3になります。 | ||
Line 85: | Line 90: | ||
基本的な演算子で書き換えることもできますが、プログラムを見易く、短くするために使います。 | 基本的な演算子で書き換えることもできますが、プログラムを見易く、短くするために使います。 | ||
| 演算子 | 使用例 | 基本演算子で表すと | | | 演算子 | 使用例 | 基本演算子で表すと | | ||
- | | += | a+=b | a=a+b | | + | | += | a += b | a = a + b | |
- | | -= | a-=b | a=a-b | | + | | -= | a -= b | a = a - b | |
- | | *= | a*=b | a=a*b | | + | | *= | a *= b | a = a * b | |
- | | /= | a/=b | a=a/b | | + | | /= | a /= b | a = a / b | |
- | | %= | a%=b | a=a%b | | + | | %= | a %= b | a = a % b | |
- | | ++ | a++ | a=a+1 | | + | | ++ | a++ | a = a + 1 | |
- | | -- | a-- | a=a-1 | | + | | -- | a-- | a = a - 1 | |
***比較演算子 [#j7650a08] | ***比較演算子 [#j7650a08] | ||
Line 97: | Line 102: | ||
| 比較演算子 | 使用例 | 意味 | | | 比較演算子 | 使用例 | 意味 | | ||
- | | == | a==b | aとbは等しい | | + | | == | a == b | aとbは等しい | |
- | | ''<'' | a<b | aはbより小さい | | + | | < | a < b | aはbより小さい | |
- | | ''>'' | a>b | aはbより大きい | | + | | > | a > b | aはbより大きい | |
- | | <= | a<=b | aはb以下 | | + | | <= | a <= b | aはb以下 | |
- | | >= | a>=b | aはb以上 | | + | | >= | a >= b | aはb以上 | |
- | | != | a!=b | aとbは等しくない | | + | | != | a != b | aとbは等しくない | |
例えば「もしa<bだったら、aに1足す」という制御文を書いた場合、a=3,b=4ならa<bが成り立ちaに1が足されますが、a=4,b=4ならa<bが成り立たないので何もされません。 | 例えば「もしa<bだったら、aに1足す」という制御文を書いた場合、a=3,b=4ならa<bが成り立ちaに1が足されますが、a=4,b=4ならa<bが成り立たないので何もされません。 | ||
Line 110: | Line 115: | ||
| 論理演算子 | 使用例 | 意味 | | | 論理演算子 | 使用例 | 意味 | | ||
- | | && | 3<=a && a<=8 | aは3以上かつ8以下 | | + | | && | 3 <= a && a<= 8 | aは3以上かつ8以下 | |
- | | ! | !(a==5) | aは5ではない | | + | | ! | !(a == 5) | aは5ではない | |
- | | || | a<3 || 8<a | aは3未満または8より大きい | | + | | || | a < 3 || 8 < a | aは3未満または8より大きい | |
- | ※ || は、上表では全角ですが、必ず半角で入力して下さい。 | + | |
***fd_printf文 [#ua9b7908] | ***fd_printf文 [#ua9b7908] | ||
Line 127: | Line 131: | ||
| 書式指定 | 意味 | 例 | | | 書式指定 | 意味 | 例 | | ||
| %d | 整数を10進数で表示 | 5, -17 など | | | %d | 整数を10進数で表示 | 5, -17 など | | ||
- | | %c | 文字 |'G' など | | + | | %c | 文字 | 'G' など | |
- | | %s | 文字列 |"Hello" など | | + | | %s | 文字列 | "Hello" など | |
| %o | 整数を8進数で表示 | 12, 23 など | | | %o | 整数を8進数で表示 | 12, 23 など | | ||
| %b | 整数を2進数で表示 | 10, 1011 など | | | %b | 整数を2進数で表示 | 10, 1011 など | | ||
Line 146: | Line 150: | ||
|CENTER:BGCOLOR(red):||c | |CENTER:BGCOLOR(red):||c | ||
| :idea:|お使いのブラウザ(Internet Explorer、Firefox、Safariなど)によっては、文中の¥(円記号)が\(バックスラッシュ)で表示される場合がありますが、GCC Developer Liteでは¥で表示されます。&br;また本文中のプログラムコード(プログラムを書いたもの)をGCC Developer Liteへコピーして貼り付けた場合、\は¥になりますので問題ありません。&br;※説明のためここでは¥と\を全角で書いていますが、実際には半角です。| | | :idea:|お使いのブラウザ(Internet Explorer、Firefox、Safariなど)によっては、文中の¥(円記号)が\(バックスラッシュ)で表示される場合がありますが、GCC Developer Liteでは¥で表示されます。&br;また本文中のプログラムコード(プログラムを書いたもの)をGCC Developer Liteへコピーして貼り付けた場合、\は¥になりますので問題ありません。&br;※説明のためここでは¥と\を全角で書いていますが、実際には半角です。| | ||
- | |||
***アドレス [#b45fcfd3] | ***アドレス [#b45fcfd3] | ||
Line 171: | Line 174: | ||
} | } | ||
} | } | ||
- | もし変数aが5より大きかったら a から1を引くというプログラムです。aは10なのでa>5が成り立っており、aから1が引かれます。 | + | もし変数aが5より大きかったらaから1を引くというプログラムです。aは10なのでa>5が成り立っており、aから1が引かれます。 |
---- | ---- | ||
#ref(if2.png,100%) | #ref(if2.png,100%) | ||
Line 187: | Line 190: | ||
} | } | ||
} | } | ||
- | もし変数a が5より大きかったら a から1を引いて、それ以外(aが5以下)なら1を足すというプログラムです。a は3なので a>5 は成り立たずelse内の a に1を足すが実行されます。 | + | もし変数aが5より大きかったらaから1を引いて、それ以外(aが5以下)なら1を足すというプログラムです。aは3なのでa>5は成り立たずelse内のaに1を足すが実行されます。 |
---- | ---- | ||
#ref(if3.png,100%) | #ref(if3.png,100%) | ||
Line 207: | Line 210: | ||
} | } | ||
} | } | ||
- | もし変数a が5より大きかったら a から1を引いて、それ以外(aが5以下)でかつ a が0より小さかったら a に0を代入して、更にそれ以外(aは0以上,5以下)なら a に1を足すというプログラムです。~ | + | もし変数aが5より大きかったらaから1を引いて、それ以外(aが5以下)でかつaが0より小さかったらaに0を代入して、更にそれ以外(aは0以上,5以下)なら a に1を足すというプログラムです。~ |
- | a は-3なので a>5 は成り立たず、else ifの a<0 が成り立ち、aは0になります。 | + | aは-3なのでa>5は成り立たず、else ifのa<0が成り立ち、aは0になります。 |
***for文 [#l1911408] | ***for文 [#l1911408] |