見出し画像

プログラミング成長日記 #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章へ。

次からは知らない命令が増えてきて長くなりそうなので次回で!


・まとめ


いかがでしたでしょうか。

今回の内容は知っているところが多かったので、オリジナリティに欠ける内容になってしまったかもしれませんが、どんどんペース速めて、なるべく早く自分の知らないところまで行って、試行錯誤を皆さんにみてもらえればと思います!

最後まで見ていただきありがとうございました!また次回も見てくださいね!

ではまた!






この記事が参加している募集

最近の学び

この記事が気に入ったらサポートをしてみませんか?