第2回 (1)画面に数字を表示する (2)変数,代入,四則演算


今週の内容

計算結果などの数値データを画面に表示する方法について,演習しよう.

さらに,プログラムの重要な要素の一つ 変数,代入,演算 について学習する.


プログラムの基本形(復習)

C言語のプログラムの基本形は,次の図のようになります.


printf()関数の使い方

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より大きい");

の実行結果と同じ出力になるが,プログラムで計算した結果などの表示を行う場合には意味が全く異なる!(「変数」の演習で再度確認する).


改行

文の途中やおしまいで改行をするためには,¥n を挿入する.


#include <stdio.h>

void main()
{
    printf("Hello! ¥n World ¥n ");
}

先週作成したプログラムと結果を比較してみましょう.¥n のところで改行されているはずです.

この改行命令のように,¥ を最初につけた2つの文字の組み合わせをエスケープシーケンスといって,画面に表示される文字などとは異なる効果を発揮する.

では,記号 ¥ などを画面に表示するにはどうしたらよいか. これも,エスケープシーケンスを用いる.

表示したい文字
エスケープシーケンス
¥
¥¥
%
%%
¥’
¥”
tab
¥t
改行
¥n

次に変数,代入,演算 について学習しよう.

変数 (箱)

プログラムで,数値や文字をしまっておく箱のようなものを 変数 と呼ぶ.

例:



#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

どのような数値を扱うかをあらかじめ計画,設計し,適した型を宣言してから使う.

宣言していない変数は使うことができない!コンパイルエラーとなる.


変数名 (箱の名前)

変数には,人間にわかりやすいように名前を付けます.ただし,名前の付け方にはルールがある.

正しい命名 誤った命名
a 12a (数字から始まっている)
abc 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 x 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)画面に

  ¥100もらった 

  ”テンション30%上昇!”

と画面に表示するようなプログラムを作ろう.

上記のように改行も行うこと.

コンパイルの方法などは,第1回のページなどを参照

(2)整数型の変数,a = 6, b = 5 とするとき,次の各計算結果を画面に表示するプログラムを作成しよう.

(3)以下の図のように,コマンドプロンプトに好きなアルファベットの大文字1文字を絵で表してみよう.

(4)掛け算九九の9の段を,以下のように式と答えを表すプログラムを作ろう.

以上の問題が終わらなかったら宿題!!

締め切り:次回の授業前まで