電子・情報工学科(ENIE)向の「プログラミング」の情報を掲載します。 (シラバス)
このページの短縮 URL は goo.gl/qwZkQX です。
(12/09 New!) 中間テストの点数を 各個人へのメッセージの nov18_1.c のところに追加しました。合計が 12 点未満の人は 12/16(金), 12/20(火) の再挑戦試験にむけて準備してください。
cl コマンドは大抵の場合、ソースファイルの文字コードが、UTF-8 や Shift_JIS で問題ないですが、たまに文字化けしたり、不具合が起こることがあります。 そういう場合は、BOM 付きの UTF-8 で保存してください。
WebCLint … C言語初学者向けの静的解析(インデンテーションのチェックなど)用ツールです。
「プログラミング」の Web ページは Firefox で確認しているので、Firefox をインストールしておくことが望ましい。
(← これ以前のお知らせの開閉)
演習科目であるため、全回の出席を前提とする。毎週の課題(30%)、小テスト(クイズ)と中間試験 (30%)、期末試験(40%)で採点し、授業の目標達成が確認できた者に単位を認定する。
なお、合格/不合格の判定については、単純な加算で 60点以上を合格とするが、 秀・優・良・可の判定については、割合を考慮して調整をすることがある。
演習時間(通常、金曜日)内は、原則として自分の力で解く。(TA・教員に聞くのは良い。)
(ただし、解いている問題に特有ではない C言語一般に関する質問などは許容範囲とする。)
演習時間終了後は、人に相談して解いても良い。 (ただし人の解答のコピペは絶対禁止(コピーさせた側も同罪))
たとえ演習終了後でも、問題を掲示板などに投稿して、不特定多数の人に相談することは禁止する。
オンラインテストは、教科書・プリント・ノートなど持込み可
(プリント・ルーズリーフはバインダーなどで一冊に綴じること。
バラバラのプリントは持込み不可とする。)、
ペーパーテストは、持込み不可です。
中間テスト過去問 (ペーパー)、
中間テスト過去問 (オンライン)、
同解答例、
ペーパーテストは持込み不可で実施します。
(オンラインは持込み可)
金曜日は、教室(3101)の最後列は TA のために空けておいてください。
(← 開閉)
皆さんのノート PC や大学の PC には「Microsoft Visual Studio Express」 というコンパイラがインストールされているはずです。 インストールされていない場合は、 香川大学工学部学生向け Webサイトから、「ノートPC設定方法」というページを 見つけてインストールして下さい。 (Visual Studio のバージョンは 2012 以降にしてください。 2010以前はデフォルトの文字コードが異なるため、UTF-8 で保存されたソースコードをコンパイルできない可能性があります。)
エディタは notepad++, サクラエディタなどを推奨します。 サクラエディタの場合、「設定」−「共通設定」−「ファイル」−「ファイルの排他制御」 −「排他制御」を「しない」に変更しておくことをおすすめします。
以下では hello.c という名前のソースファイルをエディタで作成したとします。
「開発者コマンド プロンプト」で hello.c を作成したディレクトリに移動し、 以下のコマンドでコンパイラを実行します。
cl hello.c
これで、hello.exe というファイルができているはずです。
以下のコマンドで、このプログラムを実行します。
hello
もう少し詳しい、コマンドプロンプトでのコマンドなどの使用法の説明を C のプログラムの作成とコンパイルの手順というページにまとめました。
授業用ページのパスワード発行は このページで 行なって下さい。アカウントは s学籍番号(途中の t は小文字)です。
なお、Gmail アカウント(大学でメールを読むときに使うアカウント)でも認証出来るようになっています。
注意: 設定が変更されたのに、変更が反映されないときは、 いったんログアウトして、 再度アクセスを試みて下さい。
必ず各自で提出したファイルのバックアップを取っておいて下さい。 (自分のノート PC だけではなく、stfile などの大学のサーバのどこかにもバックアップしておいて下さい!!)
(← ここ以前の課題の開閉)
TIOBE index
さまざまな検索エンジンに基づく、プログラミング言語の人気ランキング
GitHut
GitHub で使われているプログラミング言語のランキング
Programming Languages
Influence Network
プログラミング言語同士がどう影響を与えあっているかをグラフにしたもの
クイズ、(10/05 は試験運用です。)
List 1-1 List 1-2 List 1-3 List 1-4 List 1-5 List 1-6 List 1-7 List 1-8 List 1-9 List 1-10 List 1-11 List 1-12 List 1-13 List 1-14
クイズ、
List 2-1 List 2-2 List 2-3 List 2-4 List 2-5 List 2-6 List 2-7 List 2-8 List 2-9 List 2-10 List 2-11 List 2-12
クイズ、
List 3-1 List 3-2 List 3-3 List 3-4 List 3-5 List 3-6 List 3-7 List 3-8 List 3-9 List 3-10 List 3-11 List 3-12 List 3-13 List 3-14 List 3-15 List 3-16 List 3-17
クイズ、
addtime.c
maxswap.c
List 3-18
List 3-19
List 3-20
List 4-1
クイズ、
List 4-2
List 4-3
List 4-4
List 4-5
List 4-6
increment.c
List 4-7
List 4-8
List 4-9
List 4-10
List 4-11
List 4-12
List 4-13
List 4-14
List 4-15
クイズ、
List 4-16 List 4-17 List 4-18 List 4-19 List 4-20 List 4-21
クイズ、
reverse.c fact.c polygon.c triangle.c diamond.c
オンラインテストは、教科書・プリント・ノートなど持込み可 (プリント・ルーズリーフはバインダー・綴ひもなどで一冊に綴じること。 バラバラのプリントは持込み不可とする。) ペーパーテストは持込み不可で実施する。
クイズ、
List 5-1 List 5-2 List 5-3 List 5-4 List 5-5 List 5-6 List 5-7 List 5-8 List 5-9 List 5-10 List 5-11
クイズ、
arrInit.c
List 5-12
List 5-13
breakTest.c
List 6-1
List 6-2
List 6-3
List 6-4
List 6-5
List 6-6
List 6-7
List 6-8
List 6-9
クイズ、
List 6-10 List 6-11 List 6-12 cbv.c List 6-13 List 6-14 List 6-15 svg.h svg.c
※ 3202 で実施します。
クイズ、
List 6-16 List 6-17 List 6-18 List 6-19
※終了後(5コマ)に中間テストの再挑戦試験(追試験)(ペーパー)を 3202 で実施予定
クイズ、
List 7-1 List 7-2 List 7-3 List 7-4 List 7-5 List 7-8 List 7-9 List 7-10 List 7-11 List 7-12 sizeof.c17時30分〜 1/20, 1/25, 1/27 の授業に関するガイダンス(富永先生)
※ 1/20, 1/25, 1/27 は富永先生担当の総合演習
クイズ、
List 8-7 comma.c hanoi.c (ハノイの塔を試す) tree.c (グラフィックス作成ページ) List 8-8 List 8-9 List 8-10 List 8-11
問: 再帰の例 1 のプログラムの出力結果はどうなるか?
※
ペーパーテストは、持込み不可、
オンラインテストは、教科書・プリント・ノートなど持込み可、
です。
※
ペーパーテストは、持込み不可、
オンラインテストは、教科書・プリント・ノートなど持込み可、
です。
新・明解C言語入門編 柴田 望洋 著 SBクリエイティブ ISBN978-4-7973-7702-6
この教科書の、おおむね第 1〜8 章に相当する部分を扱います
(7-2節 の中の「ビット単位の論理演算」、「シフト演算」、「オーバーフローと例外」、
8-1 節「関数形式マクロ」、8-2 節「ソート」、8-3 節「列挙体」を除きます。ただし、
8-1 節の中のコンマ演算子は扱います)。
索引と全ソースプログラムは、 是非ダウンロードページから入手して、 索引は印刷しておいてください。
上記の教科書や C 言語の標準的な解説書:
プログラミング言語 C 第 2 版 B.W.カーニハン D.M.リッチー 著 石田 晴久 訳 共立出版
に書かれている事柄で、この授業で取り扱わない(主な)項目は以下のとおりです。
文字列、 ポインタ、構造体、ファイル入出力、(ここまでは2年生の「電子・情報プログラミング」で扱います。)
ビット演算子、goto 文とラベル、 関数形式マクロ、列挙体 (enum)、 共用体 (union)、ビットフィールド、分割コンパイル、 動的メモリ割当て (malloc と free)、(これらは2年以降の各授業で必要に応じて紹介します。)