while( 条件式 ) 条件式が成立している間に実行すべき命令文 ;
{
}
で囲んで複合文にする,ということは前回学びましたね。つまり以下のようにすればよいということです。
while( 条件式 )
{
条件式が成立している間に実行すべき命令文その1 ;
条件式が成立している間に実行すべき命令文その2 ;
.
.
.
}
do
{
条件式が成立している間に実行すべき命令文その1 ;
条件式が成立している間に実行すべき命令文その2 ;
.
.
.
}while( 条件式 ) ;
while( 条件式 )
の後に,;
(セミコロン)が必要であることを忘れないで下さい。
for( 初期設定のための式文 ; 条件式 ; 値更新のための式文 )
{
条件式が成立している間に実行すべき命令文その1 ;
条件式が成立している間に実行すべき命令文その2 ;
.
.
.
}
int i ;
for( i = 0 ; i <= 5 ; i = i + 1 )
{
...
}
doulbe x ;
for( x = 1.0 ; x <= 64.0 ; x = x * 2.0 )
{
...
}
初期設定のための式文 ;
while( 条件式 )
{
条件式が成立している間に実行すべき命令文その1 ;
条件式が成立している間に実行すべき命令文その2 ;
.
.
.
値更新のための式文 ;
}
int i ;
i = 0 ;
while( i <= 5 )
{
...
i = i + 1 ;
}
値更新のための式文
の後には,;
(セミコロン)は書いてはいけません。
i = i + 1 ; /* i の値を1増やす */
x = x * 2.0 ; /* x の値を2倍する */
といった式文を用いました。C言語では,上のように,
a += b ;
と書くと,a
と b
の値を足し算した値を,a
に代入します。すなわち,
a = a + b ;
と全く同じ意味となります。例えば,上の例1のコードは,以下のように書き直すことができます。
int i ;
for( i = 0 ; i <= 5 ; i += 1 )
{
...
}
+=
を使用することによって,変数名を書く回数が減りますからタイプミスなどの間違いが少なくなるのはもちろんのこと,何よりもこのような表現にすることによって,二つの変数の間で何が行われたのかが,一目でわかるようになり,“計算して代入する”命令文がよりシンプルに書ける,という利点が生じるというわけです。-=, *=, /=, %=
がありますが,これらは説明の必要はないでしょう。
i += 1 ;
を,さらにシンプルに書くための演算子があります。以下のような形式です。
i++ ;
また,i
から1を減じたい場合には,以下のように書きます。
i-- ;
これらの演算子は,kill
コマンドを使用するkill
コマンドを使います。その名のとおり,実行中のプログラム(プロセス)を“殺す”コマンドです。このコマンドは、注意して使用しないと,システム全体に影響を与えることもありうるので,気を付けて使用しましょう。できればTAにアドバイスを受けながら使用するのが良いと思います。kill
コマンドは, 下記のように使用します. ps
と入力すると, UID(ユーザID), PID(プロセスID), TIME(実行時間数), COM(コマンド名)が表示されます. kill
したいコマンドに対応するPIDを使って, kill PIDの数字
を入力します. ps
を入力して, kill
したかったプロセスが表示されなければO.K.です.
(重要) 出席登録のための実習問題は,授業時間中に必ず提出して下さい。
i++
と似ている以下の演算子が使われていますね。
++i
この演算子も,増分演算子と同じような(全く同じではないが)働きをします。
++i
を,
i++
と書き換えて,どのような実行結果の違いが生じるか,実験してみて下さい。
putchar()
は,“画面に1文字を出力しろ”という命令文です。( putchar() の使い方の詳細は,テキスト87ページを参照)
(重要) 宿題の締切は次の授業が始まる前までとします。きちんと動作をチェックしてから,提出して下さい。