身につくC言語-10.5回目 豆知識-

 

今回は、必ず知っておきたいというものではなく、「知っておいた方がいい」というようなものを紹介します。

 

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で出力することで、その後に続く要素を含めて出力するということです。

 

まとめ

このようなことは、実際に自分で見つけていくことで力になります。

 

たくさんのプログラムを作成して、自分で検証してみましょう。