初心者向けC言語解説ブログ

初心者に向けたC言語の解説。使用教材:柴田望洋「明解C言語 入門編」

出力フォーマット指定子について

こんにちは。

asamiです。

 

最初に宿題の答え合わせからしていきましょう。

 

1.10+5を計算する。

f:id:Asami_0925:20171010104745p:plain

 

2.6÷5の割り算をして、計算結果と余りまで表示させる

f:id:Asami_0925:20171010104916p:plain

3.printfを使い「たかしくんは10こリンゴを買いました」

「しかし、2こ食べてしまいました。」

と表示。どちらも文の最後に改行命令を入れること。

10-2の計算結果を「今残っているリンゴの数は」の文章を一緒に表示。

 

問題文が分かりにくかったという方がいたらすみません。

f:id:Asami_0925:20171010105239p:plain

 

 

では、今日は出力フォーマット指定子についてやっていこうと思います。

 

出力変換指定子とは、printf(),fprintf(),sprintf()などで使用する指定子です。

指定子は、型とセットになっているので型と指定子を一緒に覚えてください。

 

f:id:Asami_0925:20171010110914p:plain

 

表を載せましたがこれだけでは分からないよ~という人が結構いると思います。

使っていくうちにいろいろ使い方など詳しいことはわかっていくと思うのですが、先に一つ。

 

%dは小数点以下の計算はできません。

f:id:Asami_0925:20171010111321p:plain

 

これの結果がこれです

f:id:Asami_0925:20171010111350p:plain

 

みなさんも一応確かめるため…。とおもって同じものを書いてみてください。

 

じゃあ、小数点以下の計算はできないの?

というわけではありません。

 

%dの部分を%fに変えてみてください。

f:id:Asami_0925:20171010111539p:plain

今度はきちんと計算できましたね。

f:id:Asami_0925:20171010111638p:plain

 

このように少し出力変換指定子を変えるだけで結果が大きく変わります。

なので、みなさん型と出力変換指定子はよく意味を読んで何度も繰り返し使い、慣れていってください。

 

繰り返すことで必ず身になるので!(^^)!

 

今日はここまでにしておきます。

明日は、printfについてもう少し詳しく説明していこうと思います。

 

 

 

ご質問やご意見ございましたらコメント欄までお願いいたします。

足し算・引き算・掛け算・割り算の方法

こんにちは。

asamiです。

 

まずは前回の宿題の答え合わせからしていきましょう。

 

1.自分の名前を表示させるプログラムを作る。

名前を表示させる前の部分でコメント「自分の名前」を入れる

f:id:Asami_0925:20171009175127p:plain

私は//を使いましたが/* */を使っている人も正解です。

 

2.コメント「コメント練習」を縦行で書く

f:id:Asami_0925:20171009175325p:plain

 


3.コメント「50の二進数」を書く。

10進数の50の二進数を表示させる

f:id:Asami_0925:20171009175629p:plain

 

これも、/* */と使っている人も正解です。

 

それでは本題の、プログラムで足し算・引き算・掛け算・割り算をする方法。

についてやっていきます。

 

足し算 +

f:id:Asami_0925:20171009180221p:plain

引き算 -

f:id:Asami_0925:20171009180418p:plain

掛け算 *

f:id:Asami_0925:20171009180521p:plain

割り算 /

f:id:Asami_0925:20171009180619p:plain

余り %

f:id:Asami_0925:20171009180758p:plain

このような記号を使います。

複数の計算結果を表示することもできます。

f:id:Asami_0925:20171009181526p:plain

¥n(\n)は改行の命令になります。

覚えておきましょう。

 

 

%dって何・・・?っていう方が多いと思いますが、これは整数を十進数で表すためのおまじないです。

正式名称は「出力フォーマット指定子」といいます。

 

次回、出力フォーマット指定子について例など出して詳しくやっていきたいと思います。

 

 

宿題

1.10+5を計算する。

2.6÷5の割り算をして、計算結果と余りまで表示させる

3.printfを使い「たかしくんは10こリンゴを買いました」

「しかし、2こ食べてしまいました。」

と表示。どちらも文の最後に改行命令を入れること。

10-2の計算結果を「今残っているリンゴの数は」の文章を一緒に表示。

 

 

質問やご意見のある方はコメントよろしくお願いいたします。

 

ソースプログラムにコメントを記入する方法について

おはようございます

asamiです。

 

まず、前回の宿題の答え合わせからやっていきたいと思います。

 

1.二進数:110010を10進数に変換してください。
→50

2.八進数:226を16進数に変換してください。
→96

3.2の答えを10進数に変換してください。

→150

 

みなさんは出来たでしょうか?

何度も繰り返しやっていくことで身についていくことだと思うので電卓も何度も使用し、慣れていってくださいね。

 

そして、重要なのに言うことが遅れてしまいましたが私のブログは大体柴田望洋さんの明解C言語という本の流れに沿って進めていっています。

良かったらブログと合わせて見てください。

f:id:Asami_0925:20171008052612j:plain

 

さて、遅れましたが本題に入ります。

 

今回は、ソースプログラムにコメントを入れることについて話をしていきます。

 

コメントとは何か?

コメントとは、プログラムのコンパイル時に削除される部分のことで、削除されてしまうのでコメントの情報はプログラムを実行したときに表示されません。

(ソースプログラム上では記載されたままになります。)

では、何故書くかというとプログラムを見やすくしてバグ混入を防ぐためにプログラマーが記述するメモ書きをします。

 

コメントには「複数行のコメント」と「1行のコメント」があるのでそれぞれ見ていきましょう

 

複数行のコメント

複数行のコメントは「/*」から始まり「*/」で閉じます。

f:id:Asami_0925:20171008054138p:plain

このように/* */の間の文字はすべてコメントとなります。

 

この方法を使って一行だけのコメントも可能です。

f:id:Asami_0925:20171008054205p:plain

 

プログラムを実行してもコメントは表示されません。

f:id:Asami_0925:20171008054434p:plain

 

 

一行のコメント

一行のコメントは「//」と記述します。

その一行はコメントとして判断されます。

f:id:Asami_0925:20171008054558p:plain

 

このようにこまめに意味のあるコメントを書き込むと、人が理解しやすいプログラムを書くことができます。

コメントの部分にprintfなどを書いても実行されないので気を付けてください。

 

 

私はいつも、3か月後~1年後の自分が見て理解できるプログラムを書くためにこまめにソースプログラムにコメントをこまめに入れています。

みなさんも、3か月~1年後の自分にとって分かりやすいプログラムを書くことを意識してコメントを書いてみてください。

 

 

それでは、宿題です。

 

1.自分の名前を表示させるプログラムを作る。

  名前を表示させる前の部分でコメント「自分の名前」を入れる

 

2.コメント「コメント練習」を縦行で書く

 

3.コメント「50の二進数」を書く。

   10進数の50の二進数を表示させる

 

答え合わせは次のブログでやります。

 

次のブログでは、足し算・引き算・掛け算・割り算の方法についてやりたいと思います。

 

 

それでは皆さん良い一日を☆彡

2,8,10,16進数について

 

こんにちは。

asamiです。

まずは前回の宿題の答えから。

 

printfを使用して自分の名前を表示。

ということでしたが皆さんできたでしょうか?

f:id:Asami_0925:20171007165353p:plain

 

f:id:Asami_0925:20171007165441p:plain

 

文字は、かならず" "のなかに入れて、;で()は閉じてください。

;は、日本で言う「。」にあたります。

エラーが出た方はよくメッセージを読み、自分の書いたプログラムをもう一度読み直してみてくださいね。

 

 

さて、本題の2、8、10、16進数についてです。

 

f:id:Asami_0925:20171007170548p:plain

 

2進数

・数字の0、1の二つの数字で数を表す。

・数は0→1と順に増えて1の次は10になる。

 

8進数

・数字の0~7の八つの数字で数を表す。

・数は0→1→2→…→7と順に増えて7の次は10になる。

 

10進数

・数字の0~9の十個の数字で数を表す。

・数は0→1→2→…→9と順に増えて9の次は10になる。

 

16進数

・数字の0~9の十個の数字とA~Fの十六個の数字で数を表す。

・数は0→1→2→…9→A→B→C…→Fと順に増えてFの次は10になる。

 

 

*ポイント*

 

2進数、8進数、10進数、16進数の変換はwindowsに付属されている電卓で簡単に変換ができます。

 

ブログの主はwindows10を使用しています。

 

電卓を開いて電卓の標準という文字の左横の三という記号を押してください。

f:id:Asami_0925:20171007172438p:plain

 

すると、電卓の種類が出てくるのでその中で「プログラマー」という電卓を選択してください。

 

f:id:Asami_0925:20171007172521p:plain

 

 

では、試しに20と入力してみましょう。

f:id:Asami_0925:20171007172659p:plain

 

 

HEX=16進数

DEC=10進数

OCT=8進数

BIN=2進数

 

となっています。

もしも、2進数で入力したいと思ったらBINの文字をクリックしてください。

そうすると2進数で入力ができるようになります。

 

f:id:Asami_0925:20171007173130p:plain

 

 

それでは、宿題です。

1.二進数:110010を10進数に変換してください。

2.八進数:226を16進数に変換してください。

3.2の答えを10進数に変換してください。

 

 

答えは次のブログに書きます。

 

 

ご質問ご意見等ある方は、コメントください。

よろしくお願いしますm(__)m

 

 

 

次のブログではソースプログラムにコメントを記入する方法について書きます。

 

プログラムとコンパイルについて

 

今日はプログラムとコンパイルについての説明をしていこうと思います。

 

まず、

ソースプログラムって何?

 

ソースプログラムとは私たちが自分で文字を書き、作るプログラムの事です

例を出すと…。

f:id:Asami_0925:20171006130632p:plain

 

これになります。

省略してソースとも呼ばれます。

 

これを保存するファイルを

ソースファイル

 

といいます。

ソースファイルの場所の見方(visualstudio2017使用)

ソースプログラムの右横にある

ソリューション’c_Practice’(1プロジェクト)を右クリックしてください。

(名前はプログラムごとに違います。)

f:id:Asami_0925:20171006131247p:plain

 

その中のエクスプローラーでフォルダを開くを押してください。

f:id:Asami_0925:20171006131518p:plain

 

そうすると、そのソースプログラムが入っているフォルダの中に飛べます。

f:id:Asami_0925:20171006132023p:plain

 

 

とても簡単にソースの入ったフォルダを見つけられるので、何か確認したり誰かにソースプログラムを頂戴と言われたときにここから楽に飛ぶことができます。

 

 

一般的に、ソースプログラムは実行するために最初コンパイルという動作をしコンピューターが理解できる形式(ビット)に皆さんの書いた文字を翻訳しています。

(英語が理解できない人のために日本語に翻訳してるような感覚です)

 

ビットって何…?

ビットとは、二進数で表される数字になります。

二進数の解説については次のブログで詳しく説明します。

 

コンパイルが終わってプログラムが実行されると

f:id:Asami_0925:20171005195217p:plain

このように結果が表示されます。

 

 

 

エラーが出た場合

ソースプログラムの中に綴り間違いなどがあると、翻訳時にエラーが発生し

その理由を伝える診断メッセージが表示されます。

 

例 ;を入れずにコンパイルスタート…。

f:id:Asami_0925:20171006133610p:plain 

 

すると、ソースプログラムの下の部分に…

f:id:Asami_0925:20171006133714p:plain

 

このように診断メッセージを表示してくれます。

 

エラーが出たときは診断メッセージを見て、自分のソースプログラムを再度読み直し

ミスを取り除いた上で、再度コンパイルしてください。

 

 

次回のブログでは2進数、8進数、10進数、16進数について書いていこうと思います。

 

宿題: printfを使用し自分の名前を表示させるプログラムを作成してください。

   次回のブログで答え合わせをします。

 

 

 

Hello World

はじめまして。

一年前半前に初めてパソコンを触り始めてそれと同時にプログラマーとして働いておりました。

現在は事情があり、違う仕事をしていて勉強として趣味でプログラムを書いております。

visualstudio2017でC言語を使用しております。

いつか再度エンジニアとして仕事でやっていきたいと思っています。

このブログはゆっくりですが私の書いたソースなどをこれから上げたり初心者の方のための説明のブログにしたいと思います。

私の勉強メモにも使いたいと思います。

何かお気づきやご意見ございましたらコメント下さい。

よろしくお願いします。

 

 

最初は鉄板のHello Wolrd から…。

f:id:Asami_0925:20171005201119p:plain

 

えっ、これだけで表示できるの?

って思いますよね!(^^)!

 

f:id:Asami_0925:20171005195217p:plain

 

できます。

 

printf("Hello World");

で、Hello World の表示ができます。

 

printf(" ");

この" "の中にいれた文字や数字などをコンソールに表示させます。

 

getchar(); 

これについて疑問を持つ方がいると思うのですが、これはプログラムが強制終了しないようにするための魔法です。(今度詳しく説明するブログを載せるので今はそういうものだと思ってください。)

 

 

ここで私がプログラムを書き始めのころかなり忘れていたのが

;←こいつです

C言語は何を書くにしても必ず最後;がつくと思ってください。

これを忘れてしまうとエラーが出てしまいます。

慣れていないとエラーが出るとドキドキしてしまいますよね。

なので、初心者の方はビルドをする前に必ず何か抜けていないか最終チェックをしてから実行してください。