表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
3/7

四則演算基礎および数値の表示

 はい、では四則演算と数値の表示を始めましょう。


 まず全部のソースを載せます。

#include <stdio.h>


int main(){

int a,b;

a = 5;

b = 2;

int add = a + b;

int sub = a - b;

int mul = a * b;

int div = a / b;

printf("a+b=%d:a-b=%d:a*b=%d:a/b=%d\n",add,sub,mul,div);

return 0;

}

-------------

#include <stdio.h>って何? と思ったあなたは鋭いです。

 このstdio.hにprintf()関数が定義されていてこれを宣言することで入出力をするよ! という宣言です。


 まずは

int a,b;

 ですね。intはIntegerの略で整数がこのaとbに入るよ! と宣言しています。

 Pythonというプログラミング言語みたいに整数を入れると整数型の変数になる手軽なプログラミング言語もありますが、Cはまず何を入れるか宣言しないといけません。


 面倒に感じるかもしれませんがこれによって整数に文字列を入れるみたいなバグのもとを減らすことができます。

 これは一長一短なのですが、ことOSを読むなら型がしっかりしている必要があります。


 次の二行

a = 5;

b = 2;

 これはaに5、bに2を入れています。=が等しいという意味ではないことに注意してください。

 余談ですが等しいかどうかの比較は「==」と=を二個使います。


 このあとの三行については読んだままですね。

 addにaとbを足したものを、subにaからbを引いたものを、mulはaにbをかけたものを入れています。

 型の宣言と代入は同時に行えることに注意してください。

 a / bについては少々注意が必要です。ここでdivには2が入ります。

 Cでは除算は小数点を切り捨てられます、忘れると後になって出てくる厄介なバグにもなるので注意してください。

 では演算結果を表示しましょう。

printf("a+b=%d:a-b=%d:a*b=%d:a/b=%d\n",add,sub,mul,div);

 気になるのは%dですね。

 これは後に続く引数(ひきすう)を整数で表示するものです、フォーマット文字列といいます。

 注意として文字列を表示するときは%sという文字列表示用の記号を使ってください。

 実は

char str[] = "hello";

printf(str);

 でもhelloとは表示されますが、もし表示用文字列に%dが含まれていると……

char str[] = "hel%dlo";

printf(str);

 機種によりますがこれはバグになります。

hel-462769504lo

 %dの部分がおかしくなって出力されます。

 文字列が多少おかしくなるくらいなら語弊はありますがそれほど問題ではないですが、悪意を持って文字列にフォーマット文字列を入れると権限昇格や任意のコード実行等のセキュリティホールを作り込んでしまうので注意してください。

 ちょっと短いのでreturn 0;の説明もしておきましょう。

 これは0を返しているのですが自作関数等であれば戻り地(そう呼びます)で演算結果や関数が成功したかなどを受け取りますがmain()は誰が受け取るのでしょうか?

 答えはシステムです。

return 0;

 0はプログラムが正常に終了したことを示します。

 先頭のint main()のmain()の前についているintは整数を返す関数です、という意味です。

 以上が四則演算となります、次回は方の種類と大きさについてを書こうと予定しています。

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ