プログラム基礎ガイド

3、初めてのプログラム

ここから実際のプログラムの勉強に入っていきます。

章ごとにプログラムを勉強し、その章に対応した問題を
章の最後に乗せました。

章の練習問題は答えを見ても全然かまいませんので是非挑戦してみてください。




1、プログラム基本構造
基本的な構造は下のようになるでしょう。
#include<stdio.h>
main(){

関数
}

外部関数(){
関数の内容
}
見てわかるように入ってるもん結構少なめで単純です。
下に基本構造の解説を書きましたので、しっかり頭に入れてください。

大事なことはどんなに難しいプログラムもこの形を守っているということです。

#include
<stdio.h>

includeは「プログラムを書くのに使う関数」を使うのに必要な文です。
関数の定義をコンピューターがカンニングします。
表示関数printfを使うには#include<stdio.h>と書きます。
このとき、PCは<>の中のstdio.hというページをのぞいて「printf関数は何だったっ
けな〜。あっ! これのことか!!」とイチイチ勉強しています。
ドットhのファイルをヘッダーファイルといいます。
stdio.hはスタンダート・インプット・アウトプットで標準入出力です。
main(){}
mainは「{}の中がプログラム文だよ」とPCに教える言葉です。
mainの横にかっこがありますね、このカッコには入れるものがあるのですが、なく
てもいいことが多いんです。忘れないようにしましょう。

単に数字を書いてもPCには何のことかわかりません。そこで型の出番です。
型はPCに「これが文字で、こっちのが整数で。。。」というようにPCに知らせてあ
げます。
 
関数
関数は関数ごとに決まった操作を行います。これをうまく使って好きな計算や処
理をPCに命令します。腕の見せ所ですね!
外部関数
main(){}の外で定義された関数
関数は内部と同じように、自分で定義することが出来ます。
main内で関数をたくさん呼び出すときは、外に出しておくと便利です。

とりあえず練習0をやってみてください。

練習問題
0の回答解説




2、関数より先に型を覚える
関数を知っているとグラフなんか書けたり<C言語は標準じゃかけないからダウンロ
ードしてくるんだった。。。さいきんjavaだったから忘れてた(汗)>いろんな計算が出
来たりするようになりますが、先に「型(整数型など)をどう記述するか」や「型の種類」
について学びましょう。
結構重要なことですのでしっかりこのことを実践してください。
これをするとやっとPCが文字を文字だと判断できるようになります。

何型 型の名前 出力するとき
整数型 int %d
実数型 float %f
実数型 double %f
文字型 char %a

実数型が2つありますがそれぞれ入れられる最大数が違います。
すなわち「箱のデカサが違います。」

さらに箱を大きくしたときは
何型 型の名前 出力するとき
整数型 long int %ld
実数型 long double %Lf

とします。<longは基本何個でも付けられますが、3個以上付けると出来なくなると思
いますw
小さくしたいときにはl(エル)の代わりにsを付けます。

問題の順番が入れ替わりますが、先に問題2をやりましょう

練習問題
2の回答解説



3、代入は箱
計算は宣言した文字への代入によって行っていきまので、代入の考え方をマスターし
ましょう。
マスターするといっても簡単なことです。それは、「頭に小さな箱を用意する」だけで
す。
最初にintなどで宣言した数だけ箱を用意して、その箱から変数の玉を出したり入れえ
たりすればいいのです。
int a,b,c;
というのがあったら、整数の箱を3個用意し、a,b,cと名前を付けましょう。

<<入力された数を取り込む>>
int a;
printf("数字入れて");
scanf("%d",&a);

上のようにmain中に書くと上から

「aって言う箱を用意する」
「「数字入れて」と画面上に表示する」
<ここで何か入力される
「入力された数字をaに入れる」

となります。よく使う関数なので要注意ですよ。
scanfには入力待機機能があります。




4、関数
さあいよいよ関数です。といいたいところですが、関数は特に勉強することがありませ
ん。
基本的な関数を覚えて使いこなせるようにしましょう。
あとは分からないのがあったら、本を読むなり、検索するなりしてください。
よいプログラムを読んだり写したりして学んでいきましょう。

とりあえず絶対に覚えるべき「関数」である条件関数を勉強しましょう

繰り返し1 while(){} ()の中があわなくなるまで{}の中を繰り返します。
大概、while(i<=n){〜〜i=i+1;}となっていてN回繰り返します。
繰り返し2 for(){} 代表的な使い方は
for(i=1;i<=n;i++){
}
です。これでn回ループさせることが出来ます。
原理はi=1で始めはi=1
2番目のi<=nでi<=nなら{}の中を実行し、違うなら下の操作に移ります。
i++で一回一回iの値が増えていきます。つまり、1回目はi=1で2回目はi=2という調子です。
イフ if(){} ()の中があっているとき1回だけ{}の中のことをします。
else{} if文の下に書いておいて、ifに外れたときの処理を書きます。

では問題1をやって見ましょう!!

練習問題
1の回答解説



5、文法
文法を学ぶには、いい文法をたくさん見て吸収していくことです。一部の人(世の中に
は悪い人がいます。)を除いて、プログラマーは美しい文法であることを望みます。
他人が見ても分かるプログラムを書けるようになりましょう。
エラーが出ても何が書いてあるのかわかるようになりましょう。



初心者の陥りやすいミス集

<初期値の入力忘れ>
intで宣言したのにとぼやいていませんか?
つまり、箱を用意しただけで、
中身を入れるのを忘れていませんか?

<関数の引数間違い>
printf("%d",&n);の間違いがわかりますか?
printf("%d",5/3);の間違いがわかりますか?

<型について>
整数型「4」 割る 整数型「9」=整数型「?」
?には何が入るでしょう。

<代入について>
A=B++;とB=A--;の違いは?

<#include>
必要な#includeを書いていない



脱初心者の目安

  1、 人の書いたプログラムが何をするのかわかる。読める。 
  2、 練習問題のプログラムが何もない状態で書ける。
  3、 「数学関数を通して」に書いてあることが頭に入っている。 
  4、 「ミス集」に書いてあることはすべてわかる。  
  5、 エラーに何が書いてあるのかわかる。直せる。 

上のことがすべてわかるのなら、初心者ではないと思います。


トップページへ
1、ブラックボックス化されたコンピューターの中身をのぞく!!
2、プログラム学習上達法伝授!!
3、初めてのプログラム
4、ポインタを身に着けよう
練習問題



アクセスアップ・SEO対策

プログラム基礎
ガイド
since 2005 /4 /??

トップページへ

 1、ブラックボックス 化されたコ
ンピューターの中身をのぞく!!

 2、プログラム学習上達法伝
授!!

 3、初めてのプログラム

 4、ポインタを身に着けよう

練習問題
管理者ブログ



上のBBS(木の看板)に質
問でも何でもいろいろ書き
込んで見てください。