新着記事
08/24: 待ち時間・アカウントなしで4sharedにあるファイルをダウンロードするには
08/23: 色んな歌詞検索サイトから歌詞を探してくれる高機能歌詞検索ソフト -Lyrics Master-
08/01: フリーでいろんな国のIPアドレスを利用できるFireFoxのVPNアドオン -Hola Unblocker-
07/18: 著作権フリー・無料で利用できるBGMダウンロードサイト - audionautix
07/17: apngをブラウザ上で見るには
06/14: deviantARTなどで入手したテーマに変更するには
06/03: [KissAnime] - 日本語検索可能でいろんなタイトルが見れるアニメ無料視聴サイト
05/30: スマホをギターにして演奏してしまう動画
05/23: InoReader - シンプルで使いやすいRSSリーダー
05/18: [Apowersoft音声録音フリーツール] - PC・マイクから簡単に録音できるフリーツール
05/12: フリーのDNSへ簡単に変更出来るDNSチェンジャー - [ChrisPC DNS Switch]
05/11: C言語 入門 複合文について
05/10: TabsBy.Net - フリーで利用可能なオンラインTABプレーヤー
05/09: [Chrome Extension]Chromeで新しいタブを開いたときにWindows8のメトロ画面にするExtension - New MetroTab
05/06: Bop.fm - フリーでクールなインターフェイスのオンライン音楽プレーヤー
05/05: iAlbums - アルバムごとにカテゴライズされたプレイリスト作成も可能なオンライン音楽プレーヤー
09/20: [B1 Online Archiver] オンライン上で圧縮ファイルを解凍できるサイト
09/15: Operaの旧バージョン(15以前)にXSSの脆弱性が
09/10: ペルセウス座流星群を1分で
08/29: スマホアプリ紹介サイト
RSS feeds

2010年05月07日

C言語 入門 整数を計算して表示

文字列と数値の表示で数値の表示方法を勉強しました。
今回はそこでちょっとやった「計算」です。

加減乗除を実際にコンピュータにしてもらいましょう。


基本的なこと

まず計算するには数値として認識させなければいけないということを思い出しましょう。

ここで文字列として表示させても計算は行ないません
#include <stdio.h>

int main(void)
{
    printf("1 + 2 = 3\n");
    return 0;
}

これを実行しても計算はしてくれませんでしたね。
実行結果
1 + 2 = 3


だからといって単に数値を記述してもだめです。
#include <stdio.h>

int main(void)
{
    1 + 2;
    return 0;
}

これはおそらくエラーが出ると思います。

ということで「%d指定子」を思い出しましょう。
「整数値」を「10進数」として変換・出力してくれる出力変換指定子でしたね。

なので基本的には出力変換指定子を使用します。
#include <stdio.h>

int main(void)
{
    printf("%d¥n", 1 + 2);
    return 0;
}

こんな風に出力変換指定子を指定してやると計算した結果をprintf関数で表示してくれるというわけです。

実行結果
3


四則演算子

さて、足し算だけではしょうがないので加減乗除をして見ましょう。
しかしながら、C言語では掛け算と割り算で使う演算子が少し違います。
少し表を見てみましょう。







C言語数学使い方
+足し算
-引き算
*×掛け算
/÷割り算
%・・・余り(剰余算)

このように
掛け算は「*」
割り算は「/」

を使用します。
このような演算の働きを持つ記号演算子といいます。

また、商の余りを計算して表示する場合は「%」を使用します
これを使用するときは数値が整数でなければなりません。覚えておきましょう。

キーボードにテンキーの付いている人はテンキーを使うと間違えなくていいでしょう。
ラップトップなどでテンキーを使えない人はしっかり確認して使用しましょう。

さてこれを踏まえて、計算をしてみたいと思います。
とりあえず18と8をそれぞれの演算子を使用して計算してみましょう。
#include <stdio.h>

int main(void)
{
    printf("%d¥n", 18 + 8);
    printf("%d¥n", 18 - 8);
    printf("%d¥n", 18 * 8);
    printf("%d¥n", 18 / 8);
    printf("%d¥n", 18 % 8);

    return 0;
}


実行結果
26
10
144
2
2

こんな風に出来ていればOKです。もちろんprintf関数一回でも書けますがこちらの方が見やすいのでやってみたい人はやってみてください。

ちなみに「18/8」を計算すると2.25(2・・・余り2)ですよね??
ちゃんと計算できて無いじゃんと思いますがこれは間違っていません。
なぜなら%d指定子は整数を表示してくれるんでしたよね。
少数は変換の範囲外ということです。

%d指定子は小数点以下を全て「切り捨て」となりますので覚えておきましょう。
また、単に表示する場合はおかしなことになってしまいます。
1.3を表示してみましょう。
#include <stdio.h>

int main(void)
{
    printf("%d¥n", 1.3);
    return 0;
}

実行結果
-858993459

こんな風に1すら表示しません。計算しないとおかしなことになるんですね。
小数点以下の表示はまた説明します。今回はあくまで「整数」です。


少し難しい計算

では少し式を難しくしてみましょう。
括弧を使った計算です。
(4-3) * (8-7)
7 - 8 * 3 / 4
(7-4) * 3 - 8
(4-3) * 8 - 7
という計算をして見ます。ちなみに全て「3,4,7,8」だけで構成しています。
#include <stdio.h>

int main(void)
{
    printf("%d¥n",(4-3) * (8-7));
    printf("%d¥n",7 - 8 * 3 / 4);
    printf("%d¥n",(7-4) * 3 - 8);
    printf("%d¥n",(4-3) * 8 - 7);

    return 0;
}

実行結果
1
1
1
1

ちゃんとできましたか??出来なかった場合はもう一度確認してみてください。
「3,4,7,8」と演算子を上手く使うと1だけでなく2〜10までの答えを出せます。
まあこれはどうでもいいですね。

C言語でも数式の計算上の優先順位は数学と同じです
()をつけるのも一緒ですね。
二重括弧以上でも()を使います。例:a(b + c(c / d(e + a * c)))
違いはこれぐらいです。


メニューへ戻る


タグ:C言語


↓もしこの記事が役に立ったらクリックお願いします。
人気ブログランキングへ ブログランキング・にほんブログ村へ



posted by Yuichi at 20:32 | Comment(0) | TrackBack(0) | プログラミング>C言語 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック

Copyright (C) 2009-2010 Yuichi All Rights Reserved.