前回の復習です。印刷をせずに、この画面を見ながら、プロクターに口頭で答えてください。
次の用語をできるだけ詳しく説明してください。
#include <stdlib.h> #include "polar.h"
次のプログラムは、-1と-2を足して2乗した値9を出力するつもりで作成したものである。 間違いを2箇所指摘し、どうして駄目なのかを説明してください。
#include <stdio.h> #define square(x) (x * x); int main() { double a = -1.0, b = -2.0; printf("%f\n",square(a+b)); return 0; }
次の文は、コンパイルをするために入力したものである。 利用しているライブラリは何か、どうしてそれがわかったのかを説明してください。
$ cc -o calc calc.c -lm
ある関数を定義したファイル(A)と、 Aの関数のプロトタイプ宣言を記述したヘッダファイル(B)、 Aの関数を利用したメインプログラムのファイル(C)がある。
メインプログラム内でprintf関数を用いるために、
#include<stdio.h>を宣言する必要があるのは知っていると思います。
そしてstdio.hというヘッダファイルの中でプロトタイプ宣言されているprintf関数の本体(定義)が
標準ライブラリにおさめられているとしたとき
(標準ライブラリなのでコンパイル時にリンクの記述は省略されている)、
なぜprintf文を用いるのに、#include<stdio.h>の宣言が必要であるのかを、
問5になぞらえて考えてみてください。
これまでprintf関数を使うためになんとなく使ってきた#include<stdio.h>の意味がわかったでしょうか?
作成:市川(ichikawa@soft.iwate-pu.ac.jp) 2005/04/11