計算結果などの数値データを画面に表示する方法について,演習しよう.
さらに,プログラムの重要な要素の一つ 変数,代入,演算 について学習する.
C言語のプログラムの基本形は,次の図のようになります.
printf()関数は,文字や値を画面に表示する際に用いる関数で,
文字列をそのまま表示する
printf("1234");
書式指定して,文字列,数値を表示する
printf("%d", 1234);
と,二つの使い方があります.
書式指定 |
意味 |
例 |
%d |
整数を十進数で表示 | 1, 2, -35 |
%f |
実数 | 0.1, 2.5 |
%c |
文字 ’で囲まれた1個の半角文字 |
’a’, ’B’ |
%s |
文字列 ”で囲まれた複数の文字 |
"ABC", "d" |
書式とデータの種類は一致させる必要がある.
データの種類については後日取り上げる.
複数のデータを続けて表示するときには,次のようにする.
これは,
printf("2は1より大きい");
の実行結果と同じ出力になるが,プログラムで計算した結果などの表示を行う場合には意味が全く異なる!(「変数」の演習で再度確認する).
次に変数,代入,演算 について学習しよう.
プログラムで,数値や文字をしまっておく箱のようなものを 変数 と呼ぶ.
例:
#include <stdio.h>
void main()
{
int a;
a = 10;
printf("変数の値は%dです¥n", a);
}
このプログラムを,一行ずつ見てみよう.
int a;
整数型 を格納する変数を用意し,a という名前を付ける と宣言している
a = 10;
用意した変数 a に値 10 を 代入 している.
printf("変数の値は%dです¥n", a);
変数の値を画面に表示する.%d には,変数 a の値 が割り当てられ,画面に表示される.
変数の値を出力するためには,先週練習したprintf()
関数を用いる.
変数の扱える数の大きさを 型 とよび,大きく分けて,整数型 と 浮動小数点型 がある.
種類 | 名前 | サイズ | 範囲 |
整数型 | int | システムにより異なる A307,A308室WindowsXP(32bit)ではlongと同じ |
|
unsigned int | |||
short | 2バイト | -32768?32767 | |
unsigned short | 2バイト | 0?65535 | |
long | 4バイト | -2147483648?2147483647 | |
unsigned long | 4バイト | 0?4294967295 | |
浮動小数点型 | float | 4バイト | -3.4E38?3.4E38 |
double | 8バイト | -1.7E308?1.7E308 |
どのような数値を扱うかをあらかじめ計画,設計し,適した型を宣言してから使う.
宣言していない変数は使うことができない!コンパイルエラーとなる.
変数には,人間にわかりやすいように名前を付けます.ただし,名前の付け方にはルールがある.
正しい命名 | 誤った命名 |
a12 | 12a (数字から始まっている) |
return_1 | return (予約語は変数名には使えない) |
ab_c | ab-c (減算とみなされる) |
二つの同じ型の変数を宣言する | int a; int b; |
int a, b; |
一つの変数の宣言と初期化 | int a; a = 2; |
int a = 2; |
二つの同じ型の変数の宣言と初期化 | int a; int b; a = 2; b = 3; |
int a=2, b=3; |
変数に値を記憶させることを 代入 とよび,記号 = で表す.
a = 10 ;
これは,変数 a に値 10 を代入する という意味となる.
代入は数学の 等しい とは異なり,右辺から左辺への一方通行です.従って,次のようなことはできません.
10 = a ;
たとえば,変数 a の値を 1 増やしたい場合はどうしたら良いでしょう?
注意:これは a の値と a+1 とが等しいという意味ではない!
また,代入は数学の 定義 とも異なり,変数と値の関係を定義するものではない.
例:
#include <stdio.h>
void main()
{
int a, b;
a = 10;
b = 20;
printf("変数aの値は%dです¥n", a);
a = b + 5;
printf("変数aの値は%dです¥n", a);
b = 1;
printf("変数aの値は%dです¥n", a);
}
どのように画面に表示されるでしょうか.
コンピュータでは,数学で使う「+」,「×」などの算術演算子,値を比べる比較演算子,条件判断に使う論理演算子 などがあります. これら演算子の働きについて学習しよう.
数の計算に用いる演算子を下の表にまとめる.
演算子 | 作用 | 使い方の例 | 意味 |
+ | たす | a = b + c; | b と c をたした値を a に代入 |
- | ひく | a = b - c; | b から c をひいた値を a に代入 |
* | かける | a = b * c; | b と c をかけた値を a に代入 |
/ | わる | a = b / c; | b を c でわった値を a に代入(c が 0 の時はエラー,整数/整数は切り捨て) |
% | あまり | a = b % c; | b を c でわったあまりを a に代入 |
式の値を表示する例:
#include <stdio.h>
void main()
{
printf(" 1 + 2 は %d です¥n", 1+2);
printf(" 3 × 4 は %d です¥n", 3*4);
}
変数の値で計算し表示する例:
#include <stdio.h>
void main()
{
int a, b;
a = 1 + 2;
b = 3 * 4;
printf("a = %d¥n", a);
printf("b = %d¥n", b);
printf("a+b = %d¥n", a+b);
}
代入で説明した,
a = a + 1;
を,代入演算子を使って
a += 1;
と書くこともできます.
演算子 | 使い方 | 意味 |
= | a = b; | b の値を a に代入 |
+= | a += b; | a = a + b; |
-= | a -= b; | a = a - b; |
*= | a *= b; | a = a * b; |
/= | a /= b; | a = a / b; |
%= | a %= b; | a = a % b; |
(1)画面に
2010年4月21日
と表示するようなプログラムを作ろう.
ただし、数字の部分は%dを使って表示させること.
(2)整数型の変数,a = 4, b = 3 とするとき,次の各計算結果を画面に表示するプログラムを作成しよう.
(3)整数型の変数,a = 6, b = 5 とするとき,次の各計算結果を画面に表示するプログラムを作成しよう.
(4)整数型の変数,a = 8, b = 7 とするとき,次の各計算結果を画面に表示するプログラムを作成しよう.