目的:
(前回と同じ)
Cプログラミングの基礎、土台作りをしっかり固めることで、
他のプログラミング言語を新しく始める時にも、すぐ理解して使いこなせるようになると考えている
補足:
演習問題は時間がかかるので後回し
一通り読んだ後で演習問題を行う予定
演習問題を全てマスターすればプログラミング言語C(K&R)マスターの称号を得られるかも
所感:
この章はわけのわからない説明が多くて
初級者にも中級者にも分かりにくい内容だと思った
4.1 関数についての基本事項
・分かりやすいプログラムを作るために関数を使うと良い
main関数だけで行うのも可能だけど、
1つの大きなプログラムよりも
小さなプログラムのほうが使いやすい
例えば、特定の文字を印字するプログラム
良い例:
while(まだ行があるか調べる関数){
if(行に特定の文字があるか調べる関数){
印字する関数(printf)
}
}
悪い例:
まだ行があるか調べる処理(10行くらい)
・・・
・・・
・・・
・・・
・・・
行に特定の文字があるか調べる処理(10行くらい)
・・・
・・・
・・・
・・・
・・・
印字する関数(printf)
他にも、関数だけでなく、ファイルも分けると管理し易い
4.2 非整数を返す関数
関数で浮動小数点(0.1など)を返したい場合は
関数名の前にdoubleなどをつける
例
double atof()
第2に重要なこと
呼出元が、atof()が浮動小数点を返すことを知ってないといけない
これを保障するやり方
例
void main(void){
double atof();
}
この方法は仕事で全く見た事も使ったこともなかった
main関数の外でatof関数を宣言するだけだった
試しに以下のテストプログラムを作ったら、
正常にコンパイルして動いた
#include<stdio.h>
#define ROOPMAX 5
double atof();
int main(void){
double atof();
double sum;
int i;sum = 0;
for(i=0; i<ROOPMAX; i++){
printf("%f\n", sum += atof());
}return 0;
}double atof(){
return 1.1;
}
結果
1.100000
2.200000
3.300000
4.400000
5.500000
ミスを減らすために使ってもいいのかも
覚えておいて損はなさそう