すこしだけ実際にソーラーたちがどのように問題を解いているのか その様子をのぞいてみましょう。 その4



すこしだけ実際にソーラーたちがどのように問題を解いているのか その様子をのぞいてみましょう。 その4



(^^)/(^^)/(^^)/(^^)/(^^)/(^^)/


みなさん ここで


ソーラーさん達はたくさん遊んでいますので


ご注意ください。


solarplexussより

(^^)/(^^)/(^^)/(^^)/(^^)/(^^)/


ぐっジョブC 「変数の型と出力変換指定子の関係


って?」


ぐっジョブCがなんのこと?っときいてくる。


ソーラー 

「私たちはいままで


整数値をprintf出力表示するときには


たとえば


こんな整数

👇

2345

-553635

1

printf出力表示するときには


printf("%d\n",2345);

printf("%d\n",-553635);

printf("%d\n",1);


のように


%d出力変換指定子をつかっていたよね。」


ぐっジョブC 「そう、そう。そう」


のりのいいぐっジョブC。 


ソーラー

「そして、実数値をprintf出力表示するときには


(プログラムにおいては実数とは小数点以下の項をもつ数値をいいます。)


たとえば


2.099999999

-3.14156

2.0


をprintf出力表示するときには


printf("%d\n",2.099999999);

printf("%d\n",-3.14156);

printf("%d\n",2.0);


のように


%f出力変換指定子をつかっていたね(^^)/。」


ぐっジョブC 「そおう、そおう。そう\ (^^)/」



ソーラー 「だから、私たちは


*/

整数値のprintf出力表示には%d出力変換指定子を


実数値のprintf出力表示には%f出力変換指定子を使う*/


と思う


そうだよね!😊」


ぐっジョブC  

「そおう、そおう。そう そー そう、そう、そう\ (^^)/」


ぐっどワークC 

「そおう、そおう。そう そー そう、そう、そう\ (^^)/」


ソーラー 「だからこそ


このプログラムにおいて


#include <stdio.h>


int main(void)

{

float a;

a=1.05;


printf("あなたの預金額はただいま%d円です。\n",10000*a);

return 0;

}


ここで


10000*aは


      10000*a=10500となるとおもうからこそ


       整数値になるとおもうからこそ

       (嘘です、実数値になります)


10500をprintf出力表示するために


このプログラムの


printf("あなたの預金額はただいま%d円です。\n",10000*a);



整数値をprintf出力表示するときに用いる%d出力変換指定子を


つかったんだね。」


ぐっジョブC  「いぇーす\ (^^)/」


ぐっどワークC 「そうなの\ (^^)/ そうなの\ (^^)/」


ソーラー 「しかあし、このぐっどワークC


変数の型と出力変換指定子の関係集を


よ~くみてみると


以下

ぐっどワークC 

変数の型と出力変換指定子の関係集より


変数の型char型の形式でメモリに格納された半角1文字をprintf出力表示する場合には


%c出力変換指定子をもちいます


変数の型char型の形式でメモリに格納された整数値をprintf出力表示する場合には


%d出力変換指定子をもちいます

(👆ここについては後程解説されます 間違いではありません)



変数の型int, short型の形式でメモリに格納された整数値をprintf出力表示する場合には


%d出力変換指定子をもちいます


変数の型float型の形式でメモリに格納された実数値をprintf出力表示する場合には


%f出力変換指定子をもちいます


変数の型float型の形式でメモリに格納された実数値を


10のn乗のような指数表示でprintf出力表示する場合には


%e出力変換指定子をもちいます


変数の型double型の形式でメモリに格納された実数値をprintf出力表示する場合には


%f出力変換指定子をもちいます



よくみてみると


その中でさりげなく



//


変数の型float型の形式でメモリに格納された実数値をprintf出力表示する場合には


%f出力変換指定子をもちいます


//



とかいてあるじゃない?」


ぐっジョブC  「いぇーす\ (^^)/」


ぐっどワークC 「し、しらなかった・・・・・」


ソーラー 「たしかに


実数値をprintf出力表示する場合には


%f出力変換指定子を使う。


そこがポイントなんだとおもうんだ


いままでも


実数値(1.09876や234.777などなど)を


printf出力表示させる場合


%f出力変換指定子をつかってきたね。


確かにその通りなんだよ」


ぐっジョブC  「え?どーいうこと」


ぐっどワークC 


「ぼくのサイトってこんなことがかいてあったんだ・・・


僕のサイトは


僕のサイトは


お料理レシピサイトだとおもっていた・・・」


ぐっジョブC 「そう、そう、そうなの(^^)/ ええっ。!!」


ソーラー 「つまり


//

変数の型int, short型の形式でメモリに格納された整数値をprintf出力表示する場合には


%d出力変換指定子をもちいます

//


と記述されているし


           10000*aは


          10500のように


        整数値になるとおもうので

       (嘘です この場合 実数値になります)


%d出力変換指定子をつかえばいいと


おもっちゃうじゃな~い



ぐっどワークC😊

ぐっジョブC😊



ところが


実際はこの


10000*aは


整数値でなく


実数値になっているんじゃないかな


と 思うんだ」


ぐっどワークC 「そ、そんな・・・\(^^)/」


  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る