今回は,皆さんがどれぐらいプログラムを書けるのかを見るために, 必要最小限の説明だけで,自由にプログラムを組んでもらおうと思います. 最小限の説明も(最小限の)関数の使い方だけですので, 頑張って課題を完成させてください.
画面に与えた文字列や変数の値などを表示するための関数が, printfです.
printf(const char *format,...) const char *format:文字列与えられた書式指定 ...:変数を複数.printfの最初の引数は文字列の形で与えられた書式指定です. 普通の文字列はそのまま表示されますが, %+英字の指定でどのように数値などを出力するか指定します. 2つ目以降の引数には表示する変数が必要なだけ並びます. 書式指定で%で与えたものと数が一致しない場合, 実行時にSegmantation faultなどのエラーを出力する場合があります.
書式指定は基本的に表1-1のような構造をしています.
%そのものを表示するためには %%を使います. 最大フィールド幅を指定することで,数字の表示幅などを指定することが できます. 例えば, %5dとすると,この整数は5桁で表示されます. 書式指定の代表的なものについて以下に表1-2にまとめておきます.
実際にいくつかの表示の例を見てみましょう. cとsでは文字列を取るか,文字を取るかが異なりますので注意しましょう. %05dの様に0をいれると桁が足りない場合は0で埋めてくれます. 浮動小数点数を使っている場合は,小数点以下の桁数を %10.3f等のように ピリオドの後ろの桁で指定できます. 表1-3に実際の関数呼出と, その出力の例を示します.
1から10までの和を求めるなどの作業はプログラムを作る上で よく行われます. Cには,ループ文としてfor以外にもwhileやdo〜whileなどがありますが, 今回はforを使うことにしましょう.
forは以下のような書式になっています.
for(初期化式;ループ継続条件;各ループの最後で評価される式){
ループの本体
}
ここで,初期化式はループを実行する前に実行される式です.
また,ループ継続条件は,
この条件が満たされる間だけループが実行される条件式です.
最後の各ループの最後で評価される式は,
ループの本体を実行した後に実行される式です.
例えば,1から10までの和を求めるプログラムは以下のようになります.
int sum=0;
for(i=1;i<=10;i++){
sum+=i;
}
また,正の偶数を100まで表示したければ,以下のようになるでしょう.
int i;
for(i=2;i<=100;i++){
printf("%d ",i);
}