C言語プログラミング教室


このコーナーは初心者、ある程度出来るけど「ポインタでつまずいた」などといった人をターゲットとしたC言語の教室です。
別に上から順番に読んでいく必要はありません。好きなところから勉強してください。
わかりやすく書いたつもりですが、分かりにくいところがあれば遠慮なく会議室「プログラミングの部屋」に質問等してください。
間違い・誤字などの指摘もお願いします。
あと、3人が分担して作成したので若干書式が異なったりしますが我慢してください。



プログラミングに入る前の予備知識
 コンピュータとは?
 プログラムとはアルゴリズムをコンピュータが理解出来るように表現したものである
 コンピュータとプログラム
 ソフトウェアの種類 その1 オペレーティングシステム
 ソフトウェアの種類 その2 アプリケーション・ソフトウェア
 CPUとメモリーとプログラム
 メモリーとアドレス
 プログラミングに必要なもの
  


簡単なプログラムの作成
 Cのプログラムの構造
 printf("")関数について
 ここまでの文法のまとめ
 算術演算
 実数の算術演算
 関連することがら
 変数とメモリー
 変数型と変数のサイズ
 割り算のときの注意点  
 数学関数
 主な数学関数
 プログラムを書くとき便利なその他の基礎的文法



プログラムを作成して動かすために
 無料のコンパイラダウンロード(入手)も出来ます!
 



流れ制御
  予備知識 アルゴリズム
 プログラムの流れを制御するキーワード
 選択処理 その1 if( )文と条件式
 条件式について(比較演算子と論理演算子)
 繰り返し処理 その1 while( )文
 カウンター変数を積極的に利用する
 配列変数 その1
 配列変数、配列要素、配列サイズ
 配列要素は、変数や式で指定できる
 配列変数と繰り返し処理
 繰り返し処理 その2 for( )文
  選択処理 その2 switch( )文
 この章を終わるにあたって



コラム:パソコンで何が出来るのか?
(プログラムにやりがいを感じたい人は特に読んでくださいね(^_^) )



演算子と演算結果の応用
 すべての演算子は,演算結果を返す
 代入演算子の演算結果とは?
 比較演算子の演算結果とは?
 論理演算子の演算結果とは?
 流れ制御文の条件表現について



文字と文字列
 概要
  文字の基本
  キーボードから文字を入力する
  文字配列を使う
 文字列の基本
  キーボードから文字列を入力する
  文字列処理1:文字列コピー(strcpy関数)
  文字列処理2:文字列連結 (strcat関数)
  文字列処理3:文字列比較 (strcmp関数)
 文字と文字列に関するライブラリ関数一覧
 あとがき



ファイル操作
 概要
 ファイルの種類
 ファイルの4つの基本手順
  ファイルに書きこむ
  ファイルからデータを読みこむ
  ファイルに追加書きこみする
 複数のファイルを開く
 ファイル位置って何?
 ファイル構造のお話
 ファイル関するライブラリ関数一覧
 あとがき



構造体
 構造体の定義
 構造体の使い方
 構造体の配列
 構造体について気が付いてほしいこと
 構造体と関数
 構造体に関するその他の文法
 構造体の大きな利点 (ポインタとかがある程度分かる人は読んでください!!)



ポインタ
 ポインタとは何でしょうか?
  ポインタと密接な関係・メモリのお話
 ポインタの宣言
 ポインタの演算
 ポインタの型
 ポインタが指し示すアドレスにある内容(実際のデータ)を知る
 アドレス演算子と間接演算子の使い分けのコツ
 だから、ポインタは何に使うの?
 ポインタ配列とポインタのポインタ、ポインタのポインタのポインタ、ポインタの・・・・・・・・・・
 「ポインタ遊び」



関数の利用
 関数を利用する理由 (その1)
 関数を利用する理由 (その2)
 関数を自分で作る
 引数と戻り値について
 return
 もう一つの重要なお話
 関数同士の変数の見える範囲
 引数にアドレスを与える
 最初から用意されている関数を活用する
 Windowsらしいソフトを作るヒントもライブラリ関数に!!



ビット演算
 バイトとビット
 ビットパターン
 シフト演算
 論理積(&)と論理和(|)
  ビットごとの論理積(演算記号 &)
  ビットごとの論理(演算記号 |)
 どのように使われるのか
 XORとビット反転
  ビットごとのXOR(演算記号 ^)
  ビット反転(演算記号 ~)



基礎的アルゴリズムの紹介



プログラミング・テクニック集
 デバッグの達人になる!(プログラムがエラーで上手く動かない人の為に・・・)
  これはかなり役立つ!!デバッグの達人になる!(デバッガ利用法編)
  無駄な処理(分岐命令編)
 無駄な処理(文字列処理編)
 メモリを欲しいときだけ確保するようにし、無駄遣いを省く!
 文法はC言語のままで、便利な関数・手続きだけC++言語より拝借する
 名前の付け方の工夫
 Windowsのめちゃかっこいいプログラムを作りたい!(画面上のボタンをマウスで押したり最大化最小化したりしたい!)
 出来上がった実行ファイルのサイズがでかいんですけど・・・
  ライブラリを作ってプログラミングのグループ作業を効率化する
 出来上がった自信作ソフトをインターネット上で販売する
 


1999年9月

 作成:経済性工学研究室 ゼミ生&玉城

  プログラミングに入る前の予備知識  (玉城&藤原)
  簡単なプログラムの作成  (玉城&藤原)
  プログラムを作成して動かすために  (藤原)
  流れ制御 (玉城)
  パソコンで何が出来るのか?  (藤原)
  演算子と演算結果の応用  (玉城)
  文字と文字列  (山田)
  ファイル操作  (山田)
  構造体  (玉城&藤原)
  ポインタ  (藤原)
  関数の利用  (藤原)
  ビット演算 (玉城)(1999/12)
  プログラミング・テクニック集 (藤原)
    デバッグの達人になる(デバッガ利用法編) (藤原)(2000/1/28)

執筆陣の作成したプログラムの紹介
  
    うねうね(山田作)
  セキュリティチャット(藤原作)