0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

入出力の機能を使うための準備

#include <stdio.h>

#include
 →必要な機能を読み込む
stdio.h
 →printfやscanfなどが入っている標準のヘッダファイル

整数を扱う型

int age = 20;

intはintegerの略
・少数なしの数字を入れる時に使う

int a = 5;
int b = 10;
int sum = a + b;

少数を扱う型

float height = 160.5;

floatは少数を入れるための型
intだと少数は入れられないから、そういう時に使う

float a = 1.5;
float b = 2.3;
float sum = a + b;

プログラムが始まる場所

int main(void)

mainは「メインの処理」
・C言語では、ここからプログラムが始まる
voidはここでは「引数はありません」って意味

画面に文字や数字を表示する関数

printf("Hello\n");

できること

・文字を表示
・数字を表示
・計算結果を表示

例1:文字を表示

printf("こんにちは\n");

例2:数字を表示

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

例3:変数を表示

int age = 20;
printf("%d\n", age);

"の中に表示したい内容を書く
%dみたいな記号を使うことがある
\nは改行

キーボードから入力された値を受け取る関数

scanf("%d", &age);

例)ユーザーに数字を入力してもらいたい時に使う

#include <stdio.h>

int main(void) {
  int age;
  scanf("%d", &age);
  printf("%d\n", age);
  return 0;
}

これで
1.数字を入力する
2.Enterを押す
3.入力した数字が表示される

scanfの中の%dは整数を入力してくださいって意味
scanfで変数に入力するときは、変数名の前に&をつけることが多い

printfとscanfを使うときのポイント

%d

整数を表す記号

主に使う場面

printfで整数を表示するとき

int age = 20;
printf("%d\n", age);

意味

%d
 →「ここに整数を入れて表示してね」
だからこのコードは、ageに入ってる20を表示する

%f

少数を表す記号

主に使う場面

printfで少数を表示するとき

float height = 160.5;
printf("%f\n", height);

意味

%f
 →「ここに少数を入れて表示してね」

イメージ

float a = 1.5;
printf("%f\n", a);

これの表示は

1.500000

みたいになる

0がいっぱい表示されるのは

%fは標準だと小数点以下もまとめて表示するから1.500000って感じで表示される。
%f%.2fって書いたら小数点以下2桁までの表示にとどまる。

%.2fで少数を表示すると
 3 → 3.00
 3.5 → 3.50
 2.6666 → 2.67
みたいになる

&age

scanfでよく出てくるやつでageという変数の場所を表している

int age;
scanf("%d", &age);

scanfは、入力した値をどこに入れるかを知らないといけない。そのために&ageを書いて、「ageの場所はここだよ」って教えてる。

イメージ

ageが箱だとすると、
age→箱の中身
&age→箱のある場所
って感じ。

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

→ageの中身を表示

scanf("%d", &age);

→入力した整数をageに入れる

コンパイル

C言語は
1.任意のファイル(main.c)にコードを書く
2.clang main.c -o mainでコンパイルする
3../mainで実行する
この順番で動く

clang main.c -o mainの意味

clang

・C言語のコンパイラ
 コンパイラとは、人が書いたC言語のコードを、パソコンが実行できる形に変えるもの。

つまり、
 コードを書いたmain.c
 ↓
 clangが変換
 ↓
 実行できるファイルができる
という流れになる。

main.c

・元のC言語のファイル名

例えばこのファイル(main.c)の中に

#include <stdio.h>

int main(void) {
    printf("Hello, C!\n");
    return 0;
}

って書いてある。
つまり

clang main.c -o main

は「main.cをコンパイルしてね」って意味の最初の部分。

-o

・これはオプションで、出来上がるファイル名を指定するときに使う。

-oはoutputのイメージ。

main

・コンパイル後にできる実行ファイルの名前

clang main.c -o main

これ全体では、「main.cをコンパイルして、できた実行ファイルの名前をmainにしてね」って意味になる。

-o mainをつけなかったら。。。
・つけなくてもコンパイルはできることがあるけど、出来上がったときの実行ファイル名が自動でa.outになりやすいので、自分でなんのファイルかわかりやすくするために-o ファイル名はつけたほうがいい。

./mainの意味

main-o mainで作った実行ファイル名
./は「今いるフォルダの中にある」って意味

つまり

./main

は「今いるフォルダの中にあるmainを実行して」ってことになる。

コードを書き換えたら

毎回

clang main.c -o main

をやって実行ファイルを作り直して、

./main

で、最新の内容が実行できるようになる。

0
0
0

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?