lecture:kiso2:2018:ex03

文書の過去の版を表示しています。


次のような処理を行うプログラム ex03-2.c を作成し、kiso2コマンドを用いて提出しなさい。

  1. 1つの int 型変数 i を定義し、その値を1に初期化する。
  2. i の値が 0 よりも大きい間、次の処理を繰り返す。
    1. i の値を2倍にする。
    2. i の値を printf() 関数で出力(表示)する。
  3. i の値が 0 以下となって 2. の処理が終了したら、return 文で 1 を返す。

実行例:

t190900@s01cd0542-160:~/kiso2-2019/ex03$ ./ex03-2
2
4
8
16
32
64
128
256
512
1024
2048
4096
8192
16384
32768
65536
131072
262144
524288
1048576
2097152
4194304
8388608
16777216
33554432
67108864
134217728
268435456
536870912
1073741824
-2147483648
幾つかの処理を「ある条件を満たすあいだ」繰り返したい場合、一般的には while 文を使います。 前期の計算機基礎実習Iでは、第7回 に学修した内容です。

次のような処理を行うプログラム ex03-3.c を作成し、kiso2コマンドを用いて提出しなさい。

  1. 1つの int 型変数 ascanf() 関数でキーボードから読み込み、そのときの scanf() 関数の返り値を int型変数 n に代入する。
  2. キーボードから読み込んだ a の値をprintf() 関数で出力し、そのときの printf() 関数の返り値を int型変数 m に代入する。
  3. nm の値を printf() 関数で出力する。

実行例:

t190900@s01cd0542-160:~/kiso2-2019/ex03$ ./ex03-3
1
a is 1
n=1, m=7
t190900@s01cd0542-160:~/kiso2-2019/ex03$ ./ex03-3
1234
a is 1234
n=1, m=10
t190900@s01cd0542-160:~/kiso2-2019/ex03$ ./ex03-3
-2
a is -2
n=1, m=8
scanf() 関数とprintf() 関数は、それぞれ整数(int)型の返り値としてどのような情報を返しているでしょうか?

ex03-3.c を修正し、入力された a の値が正 (a > 0) である間、キーボードからの入力と出力を繰り返すプログラム ex03-4.cを作成し、kiso2コマンドを用いて提出しなさい。

実行例:

t190900@s01cd0542-160:~/kiso2-2019/ex03$ ./ex03-4
1
a is 1
n=1, m=7
1234
a is 1234
n=1, m=10
0
a is 0
n=1, m=7
シェル(端末)上で実行中のプログラムは、Ctrl-C(コントロールキー + C)で強制的に終了することができます。

次のような処理を行うプログラム ex03-5.c を作成し、kiso2コマンドを用いて提出しなさい。

  1. 1つの double 型変数 x を定義し、その値を1に初期化する。
  2. x の値が 0.0 でない間、次の処理を繰り返す。
    1. x の値を変換指定子 %e を使ってprintf() 関数で出力(表示)する。
    2. x の値を2で除算する。
  3. x の値が 0.0 に等しくなって 2. の処理が終了したら、return 文で 0 を返す。

実行例:

t190900@s01cd0542-160:~/kiso2-2019/ex03$ ./ex03-5
1.000000e+00
5.000000e-01
2.500000e-01
1.250000e-01
6.250000e-02
3.125000e-02
1.562500e-02
7.812500e-03
3.906250e-03
1.953125e-03
	:
  • lecture/kiso2/2018/ex03.1537949924.txt.gz
  • 最終更新: 2018/09/26 17:18
  • by sano