C言語の特徴(2)
関数型言語
コンピュータに実行してもらう命令はすべて関数の中に記述されている。関数がプログラムの実行単位。いくつかの関数を組み合わせ、コンピュータへ命令をする。最初にコンピュータが実行する関数はmain()に決まっている。
戻り値の型 関数名(引数リスト)
{
命令文;
}
命令文(Statement)
- 名札付き文
- 式文
- 複合文
- 選択文
- 繰り返し文
- ジャンプ文
式(Expression)
オペランド 演算子 オペランド...
トークン(token)
コンパイラが認識する最小単位のテキスト、トークン(token)
- キーワード
- 識別子
- 定数
- リテラル文字列
- 演算子
- 区切り子
#include <stdio.h>
int main() {
printf("Hello World\n");
return 0;
}
トークンに分解
| トークン | トークンの種類 |
|---|---|
| int | キーワード |
| main | 識別子 |
| ( | 区切り子 |
| ) | 区切り子 |
| { | 区切り子 |
| printf | 識別子 |
| ( | 演算子 |
| “Hello World\n” | リテラル文字列 |
| ) | 演算子 |
| ; | 区切り子 |
| return | キーワード |
| 0 | 定数 |
| ; | 区切り子 |
| } | 区切り子 |
トークンの間に演算子や区切り子、または空白文字で区切りする
空白文字とは、次のいずれかの文字のことを表します。
- スペース
- 水平及び垂直タブ
- 改行
- 改ページ
- コメント
注釈(コメント)(Comment)
/* 一行コメント1 */ // 一行コメント2 /* main.c 山田 太郎 2012年10月25日 作成 */ /***********************/ /* main.c */ /* 山田 太郎 */ /* 2012年10月25日 作成 */ /***********************/ // main.c // 山田 太郎 // 2012年10月25日 作成
演算子
算術演算子
| 演算子 | 意味 |
|---|---|
| + | 加算 |
| – | 減算 |
| * | 乗算 |
| / | 除算 |
| % | 剰余(余り) |
代入演算子
= 代入(Assignment)
複合代入演算子
| 演算子 | 意味 |
|---|---|
| += | 加算代入 |
| -= | 減算代入 |
| *= | 乗算代入 |
| /= | 除算代入 |
| %= | 剰余代入 |
x = x + 5;
x += 5;
入力計算例
#include <stdio.h>
int main(void)
{
int DH, ON, wa, sa, se, sh, am;
printf("1つ目の数字入力:");
scanf("%d", &DH);
printf("2つ目の数字入力:");
scanf("%d", &ON);
wa = DH + ON;
sa = DH - ON;
se = DH * ON;
sh = DH / ON;
am = DH % ON;
printf("%d+%d=%d\n",DH, ON, wa);
printf("%d-%d=%d\n",DH, ON, sa);
printf("%d*%d=%d\n",DH, ON, se);
printf("%d/%d=%d...%d\n", DH, ON, sh, am);
getch();
return 0;
}
出力結果:
1つ目の数字入力:60 2つ目の数字入力:20 60+20=80 60-20=40 60*20=1200 60/20=3...0
演習
西暦年→和暦変換するプログラムを作る
実行例:
西暦: 2016
和暦: 平成28年です
「C programming (5) operator and operand」への1件のフィードバック