プログラミング成長日記 #3 -復習-
こんにちは!トマトです🍅
今日からまたC言語やっていきます!
今回は復習的な内容になっているので、ガンガン進んでいきます!
この本を使ってやっていきます!
・基礎
まずは基礎を確認していきます。
-printf
print formatの略らしい。
#include <stdio.h>
int main (void){
printf("%d", 15 + 37);
return 0;
}
結果
52%
%dは十進数表記なことを表している。
;は日本語で言う。的な感じ。
初めての人は最初の二行は見なかったことにしましょう笑
この結果についてきた%はなんだ?
改行すると出てこないことしかわからない笑
-改行と日本語の文の出力
int main (void){
printf("15+37の和は%dです。\n", 15 + 37);
return 0;
}
mac だと\はエンマークとoptionででるみたい。
-変数int
int main (void){
int vx, vy;
vx = 57;
vy = vx + 10;
printf("vxの値は%dです。\n", vx);
printf("vyの値は%dです。\n", vy);
return 0;
}
結果
vxの値は57です。
vyの値は67です。
初回はこのイコールが数学とは違って代入であることに違和感でしたが、まあ流石に慣れました。次。
-scanf
int main (void){
int vx;
printf("整数を入力してください:");
scanf("%d", &vx);
printf("%dに12を加えると%dです\n", vx, vx + 12);
return 0;
}
結果
整数を入力してください:57
57に12を加えると69です
&もポインタを課題でやったので少し理解できました。
これも初めての人はこういうもんだと思って使いましょう。
どんどんいきます!
-puts
こいつが若干怪しい。put stringの略らしい。
stringは文字列なので、文字列を引数として受け取って、それを行として出力するってイメージで合ってるんかな。
初めての人に向けて、僕なりに引数について説明しておくと、printfとかの命令の後にくるその命令の対象っていうイメージ。
putsで%dで数字を出そうとするとできないけど、%d以外ならいけるのかな?printfの方が便利じゃない?って感じ。
処理が早いとか、自分の知らない便利な機能とかがあるのだろうか。
ということで一章が終了。
ここまでは前回までで一回やってるのでサクッと。
・四則演算・小数
足し算:+
引き算:ー
掛け算:*
割り算:/
割り算のあまり:%%
計算の優先順位を決めるかっこも使えるみたいです。
整数の型はintでしたが、小数はdouble。
scanfの時は%lfで、printfの時は%f。
あまりを求める%%は使えないらしいです。
あとは方が違うもの同士の計算ですが、まあだいたいdoubleで出力され、かっこで計算式の前に型を指定すると、型変換を行うことができるということだけとりあえず把握して、二章が終了。どんどん次へ行きます。
・if文
int main (void){
int no;
printf("整数を入力してください:");
scanf("%d", &no);
if(no % 5){
puts("その数は5で割り切れません");
}
return 0;
}
結果
整数を入力してください:53
その数は5で割り切れません
そろそろらしさがでてきたかな?
if文はかっこの中が0じゃなければ{}内を実行する感じなんだな。
0か1かの文章しかほぼ書いたことなかったから2とかでも実行されるってことを覚えておかなければ。
あとはelseもよく使いますね。
だからこんなこともできるのか。
int main (void){
int no;
printf("整数を入力してください:");
scanf("%d", &no);
if(no){
puts("それは0ではありません");
}
else{
puts("それは0です");
}
return 0;
}
結果
整数を入力してください:2
それは0ではありません
整数を入力してください:0
それは0です
0かどうかの判定はこれでいいんだな。
普段の自分ならif(no == 0)って絶対やっちゃうな。
やっぱりこっちの方が処理が早いのだろうか?
わからーん笑
あと使ったことなかったけど条件演算子の?:っていうのがあるみたい。
int main (void){
int no1, no2, max;
printf("整数を入力してください:");
scanf("%d", &no1);
scanf("%d", &no2);
max = (no1 > no2) ? no1 : no2;
printf("大きいのは%dです\n", max);
return 0;
}
結果
整数を入力してください:12 24
大きいのは24です
これ結構便利かも。使えるところあったら意識的に使ってみようかな。
演習問題を一つやってみます。
int main (void){
int n1, n2, n3;
printf("3つの整数を入力してください\n");
printf("整数1:");
scanf("%d", &n1);
printf("整数2:");
scanf("%d", &n2);
printf("整数3:");
scanf("%d", &n3);
if(n1 == n2 && n2 == n3){
printf("3つの整数は等しいです。");
}
else if(n1 == n2 || n2 == n3 || n1 == n3){
printf("二つの整数が等しいです。");
}
else {
printf("3つの値は異なります。");
}
return 0;
}
結果
3つの整数を入力してください
整数1:35
整数2:23
整数3:35
二つの整数が等しいです。%
3つの整数を入力してください
整数1:1
整数2:1
整数3:1
3つの整数は等しいです。%
3つの整数を入力してください
整数1:123
整数2:12
整数3:34
3つの値は異なります。%
「かつ」は&&、「または」は||で表します。
ここら辺は慣れてきたのでへっちゃらです!
switch文の紹介があってその後ついに4章へ。
次からは知らない命令が増えてきて長くなりそうなので次回で!
・まとめ
いかがでしたでしょうか。
今回の内容は知っているところが多かったので、オリジナリティに欠ける内容になってしまったかもしれませんが、どんどんペース速めて、なるべく早く自分の知らないところまで行って、試行錯誤を皆さんにみてもらえればと思います!
最後まで見ていただきありがとうございました!また次回も見てくださいね!
ではまた!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?