今回は、必ず知っておきたいというものではなく、「知っておいた方がいい」というようなものを紹介します。
for文if文などは知ってて当たり前です。
他の人と差をつけるとしたら、このような「豆知識」的なことをどれだけ知っているかではないでしょうか。
エスケープシーケンス
2つの文字の組み合わせで1文字を表すものをエスケープシーケンスといいます。
\nなどの改行がこれに当たります。
\t | 水平タブ |
---|---|
\n | 改行 |
\’ | ‘ |
\” | “ |
\\ | \ |
\? | ? |
ソースコード
#include<stdio.h>
int main(void)
{
printf("\'");
printf("\n");
printf("\\");
return 0;
}
さまざまな型
intやchar意外にも型があります。
char | 1バイト | -128~127 |
---|---|---|
unsined char | 1バイト | 0~255 |
shoat int | 2バイト | -32768~32767 |
int | 4バイト | -2147483648~2147483647 |
long int | 4バイト | -2147483648~2147483647 |
float | 4バイト | |
double | 8バイト |
if文「&&」「||」つかいかた
二つ同時に比べたいときなどに使用します。
たとえば、「AとBが等しく、かつCとDが等しいとき」や「AとBが等しいとき、または、CとDが等しいとき」などという条件を作ることができます。
ソースコード
#include<stdio.h>
int main(void)
{
int a;
scanf("%d",&a);
if(0<=a && a<50)
{
printf("aは0より大きく50未満です\n");
}
else if(50<=a && a<=100)
{
printf("aは50より大きく100以下です\n");
}
else
{
printf("aは0以下または、101以上です。\n");
}
return 0;
}
インクリメントの話
インクリメントとは「++」というものです。
これは++を前につけるか後ろにつけるかによって変わります。
#include<stdio.h>
int main(void)
{
int a=0;
int b=0;
a=b++;
printf("%d\n",a);
a=0;
b=0;
a=++b;
printf("%d\n",a);
return 0;
}
このように結果が違ってくるので注意しましょう。
b++の方は、bをaに代入してから、bに1を足しているので、aは0のままです。
しかし、++bの方は、bに1を足してからaに代入しているので、aは1になります。
文字列を入力する時は特別
#include<stdio.h>
int main(void)
{
int a[20];
scanf("%s",a);
printf("%s",a);
return 0;
}
文字列を入力出力するときは、「%s」を使用します。
ここで、気をつけるところはscanfに「&」をつけないということです。
配列a[x]の
a
というのは、配列の先頭要素を意味しています。
これを%sで出力することで、その後に続く要素を含めて出力するということです。
まとめ
このようなことは、実際に自分で見つけていくことで力になります。
たくさんのプログラムを作成して、自分で検証してみましょう。