/*THK Analytics用解析タグ*/

【プログラミング言語C】
第2章 データ型・演算子・式

2022年8月17日


プログラミング言語Cの書籍では、文字が多く読みにくい章です。
詳細は書籍を読んで頂くとしてここでは、簡単に要点のみ説明します。

変数名について

先頭文字はアフファベッドもしくは_と決まっています。
2文字目以降はアルファベッド、数字、_が利用出来ます。

基本的な制限は以上ですが、慣用的に定数は大文字、変数は小文字が利用されています。
長い変数名では、単語同士を_でつなぐ記述が見られます。
またループはi,j,k等を利用しています。

Windowsでは少々異なりハンガリー記法が使われています。
これはプレフィクスに型情報を追記した記述方法です。
本解説では利用していません。

定数について

定数とは変更出来ない数値で可読性を上げるために使用しています。
C言語では#defineが標準で「プログラミング言語C」でも解説がされていますが、c++ではconstを利用した方法が一般的になっています。
これについてはこちらで解説しました。

文字/文字列について

文字は’a’のように表します。
char var = 'a’;
これはchar型の変数であるvarにASCIIコードのaを格納します。

文字列は"abc"のように表します。
文字列は最後に終端文字’\0’が入ります。
char array[4] = “abc";
これは、97,98,99,00が格納された配列になります。
文字列の場合、文字数+1の配列サイズが必要な点に注意してください。

型変換

異なる型の演算は、自動で行われる場合とそうでない場合があります。
自動で行われるケースは、情報を失う事なく変換が可能なケースです

以下のケースではint型からdouble型への変換ですので情報が失われることなく型変換が可能です。
int i = 0;
double d = 1 + i;

次のケースはint型からchar型への変換なので自動での変換は出来ません。
つまりchar型は8bitに対してint型は処理系依存で16bitまたは32bit(最近の処理系では32bitが多い)なので
8bitの最大値127より大きな数値を保持する事ができません。
以下のケースでは変数cに1001を入れようとしてます。
やっかいな事に文法違反ではありませんのでコンパイルエラーにはなりません。
プログラマーは型が変わる場合は細心の注意が必要です。

int i = 1000;
char c = 1 + i;

明示的なな型変換=キャストという書式もあります。
以下のような記述になります
これはint型の変数iをdouble型としてdに代入しています。

int i = 0;
double d = (double)i;

インクリメントとデクリメント

インクリメントとは数値を1加算する事、デクリメントとは数値を1減算する事です。
我々プログラマーは省略してインクリ、デクリなどと表現する事も多いです。

さてインクリメント記号は++,デクリメント記号は–と記載します。
例えば変数iをインクリメントする記述はi++,++iのように
デクリメントする場合はi–,–iのように記述します

i++と++iの違いは先にインクリメントするか後にインクリメントするかの違いです;

int i = 100;
int x = i++;
この場合xは100になりますが

int i = 100;
int x = ++i;
こちらの場合はxは101になります
どちらもiの値は101です。

代入演算子

代入演算とは式と代入を同時に行うことです。

例えば以下の式を
i = i + 100;

このように簡潔に記述出来ます
i += 100;

単に簡潔に記述できるだけなので好みで使い分ければ良いです。

 

今回はここまで。

C言語教室総合目次に戻る

C言語教室

Posted by taka