Previous: 変数の初期化と配列の初期化
Up: 配列 I
Next: 復習
Previous Page: 変数の初期化と配列の初期化
Next Page: 復習
一文字入力 int getchar( void );
一文字出力 int putchar( char );
標準入力から文字を一文字読む関数が、getchar である。getchar は
引数はなし、返り値は読み込んだ文字の整数値である。エラーまたはストリームの
終わりになると EOF を返す。( EOF は、システムで、 に定義
されている特別な値。 )
getchar() を繰り返し呼び出せば、次々と文字を読むことが出来る。
標準出力に文字を一文字出力する関数が、putchar である。putchar は、引数に出力したい文字をとり、返り値は、出力した文字の整数値である。
/* 入力またはファイルの終わりまで読みとり、出力 */ #include <stdio.h> main(){ char c; while( (c=getchar()) != EOF ){ putchar(c); } }
注意 キーボードからファイルの終わりを入力するには、crtl+D ( コントロールキーと d を同時に )押せば良い。
課題15
cd c を実行した後で( /c に移動した後で )、以下の課題を やってみよ。
大きさ10の整数型配列を確保し、それぞれ0番目の要素から順に 0,1,2,...,9 を 代入した上で、それらをディスプレイに出力するプログラムを作成せよ。
文字型の配列を自分の名前( ローマ字 )で初期化し、それらを出力せよ。 例えば、配列 name には、'k','a','n','a','y','a','m','a' が入っていて、 出力すると kanayama とでるようにせよ。但し、初期化とループを使うこと。
標準入力から入力された 'a' から 'z' までの文字の出現回数を数えるプログラム を作成せよ。各文字の出現回数は、大きさ 26 の配列 kaisuu に格納する ものとする。また、'a' から 'z' までの小文字の英字以外はカウントせず、無視 するものとする。
以下のプログラムを参考にせよ。
char c; ... while ( (c=getchar()) != '\n' ){ /* リターンが押されるまで読み込む */ /* ここに 'a' から 'z' のどれが出現したかを数えるプログラムを */ /* 書くこと */ } /* どの文字が何個あったかを出力する */
ヒント 文字変数 c は、 c - 'a' を計算すれば、要素の番号になる。例えば、 c に 'a' が入っていれば、 c - 'a' は、0 になる。
日本語が含まれない C 言語のプログラムのソースを読ませてみて、うまく動くか 確かめてみること。
例
作成したプログラムをメイルで金山まで送りなさい。題は、kadai15 とする事。