非情報系学生のための C/C++ 入門

本ページの資料は私 (金丸) が 2008 年度から工学院大学にて行っている講議「プログラミング演習 I」の資料に基づいています。
機械系学生が対象であるので、細かな文法にこだわることより画像処理などの具体例を用いて
プログラミングの本質をつかんでもらうことを重視しています。

そのため内容はある程度限定せざるを得ませんが、このページで学んだ内容を足掛かりにして、
各自が C/C++ の自習を継続するための実力をつけてくれればよいと思います。

なお本講義の内容を、ブラウザ上で動作するオンラインコンパイラで学べるよう
若干簡略化した「オンラインコンパイラで C/C++ を自習しよう」も公開していますのでお好みでどうぞ。

2020.07: Visual Studio 2019 で演習を行えるよう加筆しました。

第一回 ガイダンス 何故プログラミングを学ぶのか
コンソールアプリケーションとGUIアプリケーション
初めての C/C++ プログラミング(コンソールアプリケーション)
コンソールへの表示の練習
変数の利用と四則演算
課題
第二回 コンピュータ上の数値の表現 用語を正しく覚えよう
プログラムを実行するとはどういうことか
コンピュータ上の数値の表現 (1) 0 を含む正の整数の2進数による表現
コンピュータ上の数値の表現 (2) 負の数を含む整数の2進数による表現~2の補数表現
C/C++ で正負の整数を確認
課題
第三回 GUI と画像処理プログラミング 初めての C/C++ プログラミング(GUIアプリケーション編)
配布したGUIアプリケーションの概略
画像処理アプリケーションをいろいろと変更してみよう
課題
第四回 文の構造/演算子 文の構造
C/C++ における演算子
課題
第五回 for 文とif 文 for 文による繰り返し
if 文および if~else 文
for 文と if 文を組み合わせる
課題
第六回 配列 配列の基本
配列の実用例
[おまけ] スライダによる閾値の調節
課題
第七回 関数 関数の基本
関数~課題を解くための準備
課題
第八回 メモリとアドレス 見ためを気にしよう~タブによる字下げ
メインメモリとは何か
メインメモリとアドレス
課題
第九回 配列と関数を用いた際のメモリ配置 スタック領域上での配列の配置
関数内の変数のメモリ配置
課題
第十回 アドレスとポインタ コンソールへの表示に関する補足
アドレスとポインタ (1)
アドレスとポインタ (2)
課題
第十一回 配列とポインタ 配列を指すポインタ
new 演算子によるメモリの動的確保
関数に配列へのポインタを渡す
課題
第十二回 ここで頭を整理しよう 手続き型プログラミングとオブジェクト指向プログラミング/コンソールとGUI
コンソールアプリケーションってどう使われているの?
オブジェクト指向プログラミングとは
課題
第十三回 クラスを作って&使ってみよう テレビクラスを作ってみよう
何故クラスを使うのか?
ドット演算子とアロー演算子
課題
第十四回 オブジェクトの集合 Student クラスを作ってみよう
Studentクラスの様々な呼び出し方
Studentクラスの配列とコレクション
課題




金丸隆志の講義資料に戻る