2.1 演算

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年です