どうも、だいぶ慣れてきたですかね。
ちょっとゆっかせたですね。
今回はいよいよ計算するプログラムば書こうて思います。
そん変数ば使います。
じゃあ早速書いてみゅーかね。
#include <stdio.h>
int main(void) { int a; a = 100; printf("a=%d\n", a); return 0; } |
プログラム名は「ampro005.c」とでもしてみようかて思います。
で、コンパイルばしてみてください。
もうコマンド書かんちゃよかでしょもん?
gcc ampro005.c -o ampro005
ですね。
・・・おんも甘かですなぁw
そんなら、できたampro005.exeば実行してみてください。
a=100
って表示されたて思います。
ここでまたわからん表記と関数の出てきたですね。
まずint a;ばってん、これはint型の変数ばaっていう名前で作る(宣言)しとるとです。
int型については
Vol.004で説明しとるとおり、16ビットか32ビットの数値ば扱えるって
書いとります。
環境によって違うばってが、まぁ大体32ビットが多かて思います。
16ビットは大昔ん環境でしょうな、見たこつはなかです。
64ビット環境なら64ビットの場合もあったりするかもしれんです。
なんせ、intがそん環境が一番扱いやすかサイズにさるるこつん多からしかけんですね。
で、次ですばってがa = 100;です。
一般の数学的な式でいけば、「aと100は等しい」っていう意味になるばってが
C言語では(ていうか多くの言語では)ぎゃん書き方ばした場合は
aに100ば代入するって意味になっとです。
ようは=の右側ん値ば左側ん変数aに入れるとたな。
そして新しゅー出てきた関数printfです。
こんも文字ば表示する関数ばってんが、色々とフォーマット指定して
表示んでくっとです。
まずプログラムば実行して表示されるa=100ばってが、
ここはどん部分になるかって言えば
"a=%d\n"の部分がそれに該当すっとです。
a=っていうとはそんまま表示されてわかるばってんが、%d\nって一体何のこつかい?
って思うですね。
こっはですね、%dと\nの2つに分けられるとです
(ていうかこん例ではたまたま2つ連続で並んどるだけです)
まず%dの方ば説明すっですね。
これは「数字ば10進数で出力する」っていう意味になっとです。
改めて見てみゅーかな。
printf("a=%d\n", a);
カンマで区切ってaっていうとの指定されとるですね?
こんaっていう変数の値ば%dの所に10進数で表示ばするごつなります。
aには100の代入されとるけん100と置き換わって表示されとるですね。
aん所は変数じゃなくてもよかけん、aって書かずに下んごて
直接、値ば100って書いても同じごつ表示されます。
ちなみにこん%dはカンマで区切った所の値ば表示すっとばってが、
複数書くこつんでくっとです。
たとえば
printf("a=%d そして%d\n", a, 999);
ぎゃん書いたらどげんなるかって言えば
次んごて表示さるるです。
a=100 そして999
左側から順番にカンマで区切った値に展開されていくとです。
一番左の%dはa、つまり100が代入されとるけん100、
そん次の2番目の%dはaの後にカンマで区切って直接999って
数字の書いてありますね、こん直接書いてある数字が置き換わっとです。
だけんぎゃんふうに書けば複数の数字ば1回のprintfで表示でくるごつなっとです。
あと、ぎゃん感じで桁数指定もでくっとですよ。
例えば100ば00100って表示させたか場合は%05dって書けばよかです。
もし%5dって書いたら 100って感じで頭ゼロじゃなくて空白で揃えらるるです。
ちなみに%dは数字ば10進数で表示するって書いたばってが、他にも色々あって
16進数で表示する場合%xとか8進数なら%oとか、文字なら%cとか文字列なら%sとか
あるです。
それ以外にも色々あるとばってが、それはそん時使う場合にゆっかしゅーて思います。
何でぎゃんこつせなんかっていうたら、putsの引数はint型じゃなかけん
数字とかint型変数ば直接書いてもエラーになっとは当然やっとです。
さて、次ですばってが\nってなんじゃろかい?
って話ですね。
これは改行ば表しとっとです。
さっきのプログラムばぎゃんふうに\nば取っ払ってコンパイルして実行してみてください。
#include <stdio.h>
int main(void) { int a; a = 100; printf("a=%d", a); return 0; } |
こっが\nば取っ払う前
で、こっが\nば取っ払った後
改行のいっちょ少なかでしょ?
ちなみにputsで出力した時はどぎゃんだったでしょうか?
画像の使いまわしばってが、改行入っとりますね。
putsは自動的に改行ば入れてくるるとです。
だけん、printfで書く場合とputsで書く場合は注意せんばぎゃん違いのあっですよ。
#include <stdio.h>
int main(void) { puts("あいうえお"); puts("かきくけこ"); return 0; } |
こん場合の表示は
あいうえお
かきくけこ
って表示さるっとばってが、
#include <stdio.h>
int main(void) { printf("あいうえお"); printf("かきくけこ"); return 0; } |
こん場合は
って改行されずに出てくるです。
putsと同じごつ表示させるには
#include <stdio.h>
int main(void) { printf("あいうえお\n"); printf("かきくけこ\n"); return 0; } |
って感じで\nば書いてやる必要のあっとです。
ちなみにputsに\nば入れたらどげんなるて思うですか?
#include <stdio.h>
int main(void) { puts("あいうえお\n"); puts("かきくけこ\n"); return 0; } |
ぎゃん感じです。
あいうえお
かきくけこ
putsは改行入れんでも改行の入っとるとに
更に\nば入れたら改行のもういっちょ入るとです。
必ず行末に書かんばつまらんってわけでもなかけん
ぎゃん感じにも書けるとです。
#include <stdio.h>
int main(void) { printf("あ\nい\nう\nえ\nお\n"); return 0; } |
出力結果はどげんなるかは想像どおりです。
あ
い
う
え
お
ですね。
ちなみにC言語系の言語ではこん\マークは特殊文字として
扱われるとです。
こん改行も\nって表記するですよね?
ぎゃんふうに\で始まる特殊な文字んこつば
エスケープシーケンスって言うとです。
一応、覚えとってください。忘れてもよかですけど。
ちなみに半角の¥(円)マークは環境によっては\(バックスラッシュ)で
表示される環境もあるとばってが、それは環境の違いなだけで
文字コード0x5cならどちらで表示されようが問題はなかっです。
ただ、表示が違うだけで内部は同じだけんですね。
あなたの環境で\nは「¥n」と「\n」どっちに見ゆっですか?
これで一通り変数の中ば表示さする方法のわかりましたけん、
実際に計算ばしてみゅーかて思います。
そんならさっき作ったプログラムばぎゃんふうに書き換えてみてください。
#include <stdio.h>
int main(void) { int a; a = 100; a = a + 5; printf("a=%d\n", a); a = a - 10; printf("a=%d\n", a); a = a * 15; printf("a=%d\n", a); a = a / 15; printf("a=%d\n", a); a = 5 + 15 * 3 - 10 / 2; printf("a=%d\n", a); return 0; } |
んで、コンパイルして実行してみます。
ぎゃん出力されます。
いっちょいっちょ順番に見ていこうて思います。
まずいっちょ目のa=105ですね。
これは最初、a=100でaに100の代入さるっですね。
そして次にa = a + 5ってあるばってんが、
これはa+5の結果ばまたaに代入せろって意味です。
aは100の代入されとるけん、そん100に5ば足せば105ですね。
で、そん105になった結果の表示されとるとです。
2番目ばってんが、a = a - 10って書いてあります。
これはもうわかるて思うばってんが、a-10の結果ば
aに代入せろって事です。
aはこん時点で105やけんか、105から10ば引けば95になって
そん95ばaに代入してから表示させとるけんa=95って表示されます。
3番目はa = a * 15ってなっとります。
「*」は何かっていうと掛け算の「×」の意味です。
Windowsん電卓ばみて下さい。×じゃなくて*になっとるですね。
大抵のプログラミング言語では掛け算ば*で表すとです。
だけん*は×って思とってもらえればよかです。
ちなみに「*」の読み方は何ていうか知らん人おりますか?
「じごんす」じゃなかですよ、似とるばってが。
これは「アスタリスク」って言うとです。
ばってんが、天草んしーなら「じごんす」で通じるて思います。