2012年度版 作成中(2012/04/20) 情報生体システム工学科1年生対象 担当 水野和生
本講義ではC言語の機能を全て学ぶことはしません。プログラム言語は時代とともに変化しています。C++やJavaといった他の言語とも共通する部分を中心に紹介したいと思います。計算機の仕組みを理解し、計算機を思いどおりに動かすプログラムを書くための最初の一歩となれば幸いです。
Web を見たりゲームを遊んだりと計算機を使ったことはあるが、プログラムは作ったことが無い人。情報生体システム工学科にも情報基盤センターにもプログラムが作れる計算機は在りますから、まずはプログラムを作って動かしてみることが大事です。
プログラミング言語も言葉だから習うより慣れろで中学高校から使っている人。C言語ではなくてBASICやC++や色々かもしれませんが、決して無駄にはなりません。しかし、プログラミング言語の全体像は理解できていないかもしれません。C言語の色々な約束事(文法規則や構文)が何のために用意され、どのように使えばいいのか考えて見てください。
プログラミングは計算機への指示書を作る作業ですから、計算機の構造などに関する知識も少しは必要です。情報生体システム工学科に来て最初の専門科目なので、これらの教科書には載っていない話もしますが、試験の対象にはしません。2〜3年の専門科目で詳しく学ぶことになるはずですから、ここで理解できなくても心配することはありません。
※ 聞いたことが無い言葉もたくさん出てくると思います。たくさん質問してください。講義を聴いてノートを取るだけでは教科書やビデオ教材をみて独学するのと変わりません。講義は質問ができることに意味があります。
※手を動かすことでC言語を使えるようになってもらおうと思います。課題部分が評価の40%を占めます。残り60%が期末試験です。
日程 題目 内容 ---- やってみよう C言語を動かす環境を構築し、プログラムを作ってみよう 01回目 4/12 1.計算機とプログラム 計算機の仕組み、プログラミング言語
※4/17算盤の図と説明の間違いを修正しました02回目 4/19 2.プログラミングの概要
演習
プログラミングの環境と手順、Cソースプログラムの形 03回目 4/26 3.データの表現法と変数
レポートツール
課題1 課題2定数、変数、変数名(識別子)データ型
char,int、float、double、short、long、signed、unsigned04回目 5/10 4.標準の入出力関数
課題3と4putchar、getchar、printf、sacnf、
書式指定子 %c,%d,%f,%lf,.05回目 5/17 5..演算子 課題5 ..演算子と演算数、優先順位と結合規則、型変換 06回目 5/24 6.制御構造 課題6 if-else、switch、for、while、do-while、break、continue、 goto 07回目 5/31 A1.プログラムの書き方 プログラムの仕様と処理手順を考える 08回目 6/07 7.関数 課題7
関数呼び出し、プロトタイプ宣言、関数定義、再帰 09回目 6/14
8.記憶域クラスとスコープ 課題8
静的変数と自動変数、スコープ(大域、ファイル、ローカル) 10回目 6/21 9.配列 課題9 配列、メモリー上の配置、文字列、多次元配列 11回目 6/28 10.ポインタ 課題10 ポインタ変数、間接参照、アドレス計算、ポインタ型の引数 12回目 7/05 11.構造体 課題11 struct、メンバアクセス演算子、typedef、 13回目 7/12 12.ファイル 課題12 テキストファイルのopen、close、fprintf、fscanf、fflush 14回目 7/19 13.標準関数とプリプロセッサ stdio.h, string.h, stdlib.h、math.hの関数紹介
プリプロセッサとその命令(#include #define #if)
簡単な文字列処理(単語の切り出しと出現頻度)15回目 7/26 A3. まとめ 全体の概要が見えたところで、C言語を再度まとめます。
※授業評価アンケート16回目 8/02 期末試験
問題例関数や配列までは動作が読める(30%:筆記試験)
データ型から始まってポインタ、構造体、ファイルまでは具体的説明ができる(30%:筆記試験)
※簡単なプログラムが書ける。課題1-12が40%A0 A0. C++とJava C言語からオブジェクト指向言語へ A1 ---- A1.プログラムの書き方 プログラムの仕様と手順(アリルゴリズム)を作る A2 A2.プログラムの設計 プログラムを関数に分割して作る A3 A3 まとめ 序論で解って欲しいこと