LoginSignup
0
0

More than 1 year has passed since last update.

【C言語】絶対書くテンプレまとめ

Last updated at Posted at 2022-05-14

はじめに

C言語でよく使うコードまとめてみた
学校用に書いてるので、今回はCygwinTerminalTeraPadを使っています
報告書テンプレ

最初のおまじない

test.c
#include <stdio.h>
#include <math.h> // 数学関数
int main(void)
{
    /*
    コード
    */
    return(0);
}

test.cファイルをtest.outにコンパイルする

CygwinTerminal
gcc -o test.out test.c

数学関数使った人はこっち

CygwinTerminal
gcc -lm -o test.out test.c

test.outを実行する

CygwinTerminal
./test.out

C言語で遊んでみた

第一回

test.c
#include <stdio.h>
int main(void){
  printf("hello, world\n"); // \n は改行する
  return(0); // 不要
}

1行ずつ実行

CygwinTerminal
gcc -o test.out test.c
./test.out

結果
スクリーンショット 2022-05-30 13.47.26.png

第二回

test.c
#include <stdio.h>
int main(void){
  printf("bb000000000\t名前\n"); // \tはタブ(半角8個分)
}

1行ずつ実行

CygwinTerminal
gcc -o test.out test.c
./test.out

結果
スクリーンショット 2022-05-30 14.52.15.png

第三回

test.c
// 三角形の底辺a,高さhを,実数値としてキーボードより入力し,面積sを求め,小数点第1位までを表示しなさい。
// *実行結果例に従うこと。
// *小数点第1位までを表示する。
// (第2位で四捨五入)

#include <stdio.h>
int main(void){
  float a, h;
  printf("三角形の底辺は?");
  scanf("%f", &a);
  printf("三角形の高さは?");
  scanf("%f", &h);
  printf("三角形の面積 = %.1f\n", a*h/2); // %.1fはfloatの少数第2位を四捨五入して少数第1位まで表示する
}

1行ずつ実行

CygwinTerminal
gcc -o test.out test.c
./test.out

結果
image.png

第四回

test.c
// 年令(変数名nen)を入力して20歳以上であれば「成年です。」と表示し,20歳未満であれば,「未成年です。」と表示するプログラムである。空欄を埋めてプログラミングすること。
// 誤字多すぎやwww

#include <stdio.h>
int main(void){
  int nen;
  printf("年齢を入力してください:");
  scanf("%d", &nen);
  if (nen >= 20){ // 入力されたnenが20以上の時
    printf("成年です\n");
  }else{ // 入力されたnenが20以上じゃないとき、つまり19以下の時
    printf("未成年です\n");
  }
}

1行ずつ実行

CygwinTerminal
gcc -o test.out test.c
./test.out

結果
image.png

第四回 追加課題

test.c
// 身長と体重を入力すると,BMI と,肥満かどうかを表示するプログラムを作成せよ.BMIは次の式で求め,25 以上なら肥満,25未満なら肥満でないとする.なお,BMIの値の表示は小数点第一位までとする.
// BMI=体重[kg]/(身長[m]×身長[m])

#include <stdio.h>
#include <math.h>
int main(void){
  float height, weight;
  printf("身長(cm)を入力してください:");
  scanf("%f", &height);
  printf("体重(kg)を入力してください:");
  scanf("%f", &weight);
  printf("BMIは%.1f\n", weight/(pow(height, 2))*pow(10, 4)); // pow(height, 2)は数学関数を使って(height)^2を計算している、pow(10, 4)も同じも同じ
  if (weight/(pow(height, 2))*pow(10, 4) >= 25){ // 25以上の時
    printf("肥満\n");
  }else{ // 25以上じゃないとき、つまり25未満の時
    printf("肥満でない\n");
  }
}

1行ずつ実行

CygwinTerminal
gcc -lm -o test.out test.c
./test.out

結果
image.png

第五回

パターン1(if文)

test.c
// 次ページの実行結果のように,整数で0点~100点を入力して,評語を表示するプログラムを作成せよ。判定基準は以下の通りとする。
// 100点~90点 AA
// 89点~80点 A
// 79点~70点 B
// 69点~60点 C
// 59点以下 D

#include <stdio.h>
int main(void){
  int score;
  printf("点数を0~100の整数で入力せよ。");
  scanf("%d", &score);
  printf("%d\n", score);
  if (score >= 90){
    printf("判定はAAです。\n");
  }else if (score >= 80){
    printf("判定はAです。\n");
  }else if (score >= 70){
    printf("判定はBです。\n");
  }else if (score >= 60){
    printf("判定はCです。\n");
  }else{
    printf("判定はDです。\n");
  }
}

パターン2(switch)

test.c
#include <stdio.h>
int main(void){
  int score;
  printf("点数を0~100の整数で入力せよ。");
  scanf("%d", &score);
  printf("%d\n", score);
  int ten = score/10;
  switch (ten){
    case 9 :
      printf("判定はAAです。\n");
      break;
    case 8 :
      printf("判定はAです。\n");
      break;
    case 7 :
      printf("判定はBです。\n");
      break;
    case 6 :
      printf("判定はCです。\n");
      break;
    default:
    printf("判定はDです。\n");
    break;
  }
}

1行ずつ実行

CygwinTerminal
gcc -o test.out test.c
./test.out

結果
image.png

第六回

パターン1(for文)

test.c
// 1から100までの整数で,奇数だけの合計,偶数だけの合計,および総合計を表示するプログラムを作成せよ。

#include <stdio.h>
int main(void){
  int even_sum = 0, odd_sum = 0; // even_sumは偶数を足していく変数、odd_sumは奇数を足していく変数
  for (int i = 1;i <= 100;i++){ // 1~100まで繰り返し(iに1~100を順番に代入していく)
    if (i % 2 == 0){ // iが偶数の時
      even_sum += i; // even_sumにiを足す
    }else{ // iが偶数じゃない時、つまり奇数の時
      odd_sum += i; // odd_sumにiを足す
    }
  }
  printf("偶数だけの合計は:%d\n", even_sum);
  printf("奇数だけの合計は:%d\n", odd_sum);
  printf("全部の合計は:%d\n", even_sum + odd_sum);
}

パターン2(for文)

test.c
#include <stdio.h>
int main(void){
  int even_sum = 0, odd_sum = 0; // even_sumは偶数を足していく変数、odd_sumは奇数を足していく変数
  for (int i = 1;i <= 50;i++){ // 1~50まで繰り返し(iに1~50を順番に代入していく)
    even_sum += 2*i; // iを2倍にしている、つまり1~100までの偶数のみになる
    odd_sum += 2*i - 1; // 偶数-1 は1~100までの奇数になる
  }
  printf("偶数だけの合計は:%d\n", even_sum);
  printf("奇数だけの合計は:%d\n", odd_sum);
  printf("全部の合計は:%d\n", even_sum + odd_sum);
}

パターン3(while文)

test.c
#include <stdio.h>
int main(void){
  int even_sum = 0, odd_sum = 0, i = 0; // even_sumは偶数を足していく変数、odd_sumは奇数を足していく変数、iは100回数える用の変数
  while (1){ // 無限ループ
    i++; // iを+1する
    if (i > 100){ // iが100を超えたら処理を終了する
      break;
    }else if (i % 2 == 0){ // iが偶数の時
      even_sum += i; // even_sumにiを足す
    }else{ // iが偶数じゃない時、つまり奇数の時
      odd_sum += i; // odd_sumにiを足す
    }
  }
  printf("偶数だけの合計は:%d\n", even_sum);
  printf("奇数だけの合計は:%d\n", odd_sum);
  printf("全部の合計は:%d\n", even_sum + odd_sum);
}

パターン4(do..while文)

test.c
#include <stdio.h>
int main(void){
  int even_sum = 0, odd_sum = 0, i = 1; // even_sumは偶数を足していく変数、odd_sumは奇数を足していく変数、iは100回数える用の変数
  do { // 今回の場合は普通のwhile文と変わらないが、do..while文は初めからfalseであっても、1度は処理が実行される
    if (i % 2 == 0){
      even_sum += i;
    }else{
      odd_sum += i;
    }
    i++;
  } while (i<=100);

  printf("偶数だけの合計は:%d\n", even_sum);
  printf("奇数だけの合計は:%d\n", odd_sum);
  printf("全部の合計は:%d\n", even_sum + odd_sum);
}

1行ずつ実行

CygwinTerminal
gcc -o test.out test.c
./test.out

結果
スクリーンショット 2022-05-30 14.05.36.png

第七回(作成中)

test.c

1行ずつ実行

CygwinTerminal
gcc -o test.out test.c
./test.out

結果

第八回(作成中)

test.c

1行ずつ実行

CygwinTerminal
gcc -o test.out test.c
./test.out

結果

第九回(作成中)

test.c

1行ずつ実行

CygwinTerminal
gcc -o test.out test.c
./test.out

結果

第十回(作成中)

test.c

1行ずつ実行

CygwinTerminal
gcc -o test.out test.c
./test.out

結果

スクリーンショット 2022-05-30 14.57.51.png

最後に

コメントや修正などご意見いただきありがとうございます。クソ雑魚プログラマーとして今後もこの記事は修正し続けていくので、思ったことは何でもコメントください!!
バイバイキーーん

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0