LoginSignup
50
17

More than 5 years have passed since last update.

大学を合格してから始めるwindowsでプログラミング 3日目

Posted at

どうもこんにちは、線形代数の勉強も始めたしゃーまんです。

今日からバリバリ、やったところを書いていきたいと思います。

昨日の記事はこちらです。

大学を合格してから始めるwindowsでプログラミング 2日目

C言語 ~変数~

プログラミングの中では、変数という概念があります。

これは数字などを一時的に保存しておく箱のようなものらしい。

この変数というものにも種類があって、それぞれ入れられる数字などの大きさや、種類が違う。代表的な奴としてはこのようなもの

  • int
  • short
  • long
  • float
  • double
  • char
  • unsigned int

これ以外にもunsigned char BYTE UCHARなどもあるみたい。

この種類は、大まかに3つに分けられます。

  • 整数を扱うことができるもの
  • 少数などを扱えるもの
  • 文字を扱えるもの

こんな感じで分けられる。上で言うとint, short, long, unsigned intが整数。float, doubleが少数、文字を扱えるのがchar。

変数の大きさ(?)も色々あるっぽい。

intのほうがshortよりも使える数字の大きさが大きい、また、longはintよりももっと大きい数を使える。

リストにしてみた。

変数の型 扱える数字 最小 最大
int 整数 -2,147,483,648 2,147,483,648
short 整数 -32768 32768
long 整数 -2,147,483,648 2,147,483,648
float 少数 -3.402823e+38 3.402823e+38
double 少数 -1.797693e+308 1.797693e+308
char 文字 -128 128

e+nは $10^n$ のことみたい。そう考えるとdoubleの扱える数字が半端ない。

文字の表示

昨日書いたコードでは、ただ単に Hello Worldと出力するだけだった。

これ以外にも、文字を変えれば出力できる文字は変えられるけど、それ以外にも、変数の内容も表示できるらしい。

変数を表示してみる

上のセクションで、変数のことについて書いたので、実際に変数を出力してみた。

文字の出力は printf();でできたので、またこれを使っていけば出力できるらしい。

書いたコードはこんな感じ。

printvalue.c
#include <stdio.h>

// ちなみに、バックスラッシュ(/)を二つ続けて書くとコメントとなって、
// 人間は読むことができるけど、コンパイラはこの文字を無視するらしい
// こういう時に、どういうプログラムかと説明するときとかに便利そう。

int main(){
    int a; // これで int の型の変数の a というものを作ることができるらしい

    a = 10;

    printf("aの変数の数字は %d です。\n", a);

    return 0;
}

これで変数のaが出力されるらしい。

printval.jpg

実際にやってみたら出力された。

とりあえず、やってみたけど出力される文字の中で %d ってなるのが意味わからなかったので調べてみた。

変換指定文字列?

調べてみると、%dというものは変換指定文字列の一つらしい。どうも、文字の中でそれがあると、良しなに数字などに変換される文字。

今回は

aの変数の数字は %d です。

というところの%dの部分が、変数のaの数字に変更されて出力されるみたい。

これも変数の型で % の後ろに来る文字が違う。

  • intなどの整数の時 ... %d
  • doubleなどの少数の時 ... %f, %lf, %e
  • charなどの文字の時 ... %s

などがある。けど、 ○○の確率は△△% みたいにprintfの中で % を表示したいときは

○○の確率は△△%%

のように、%を二つつなげてあげる。

30per.jpg

出てくれる。

少数を表示してみた。

error

数字の計算

プログラミングで何をするかといわれて、一番最初に考えたのが、計算だった。計算は人間がよくやる形でできるみたい。

けど、数学とはちょっと勝手が違くて、左辺に答えが出てくる感じになる。

変数 = 計算式

みたいな感じ。

yという変数に、2+3を計算した結果を入れたいときは。

y = 2 + 3;

でyに5という数字が入ってくる。

ほかにも、計算の演算子は +, -, *, /が使用できる。プラスマイナスはそのまんまの意味だけど、 * は掛け算、/は割り算として定義されている。

ほかにも mod(割り算のあまり) が%で定義されている。

数字同士で計算もできるけど、変数同士も計算できるみたい。

opera.jpg
 

変数同士の計算について

変数同士の計算について、面白いことが分かった。

今ある変数に数字を足したいときは。

a = a + 1;

でaという変数に +1 できる。

数学で言えば

x = x + 1

になる、数学的にはちょっと変な感じがするけど、プログラミングではきちんと動いてくれる。

これ以外にも、インクリメントデクリメントという、その数字を直接カウントアップ、カウントダウンしてくれる。

インクリメントは

a++;

で動く、これはうえで書いたa = a + 1と同じになる。

opera2.jpg

デクリメントは+を-に変更してくれればいい感じ~。

opera3.jpg

実際のところ、for文while文のところまでは色々やってみたんですが、明日が早いので、準備のためにもここで筆をおこうと思います。

土日は色々と予定があるので、お休みさせてください。

3日目の記事は変数と、printのところで終わり終わり。

50
17
7

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
50
17