
どのようなものをインストールするのか等の解説をします。
手動でインストールする方法について解説します。
手動でTccを使えるようにする流れを解説します。(Windows環境)
手動あるいはショコラトリーでmakeコマンドをインストールしましょう
VimならMacでもLinuxでもWindowsでも共通で使えますし、しかも無料です。
WindowsXP上でプログラミング、コンパイルする様子を表示します。マネして入力してみてください。
Macの場合はVimの画面が見やすくていいですね。
実際にWindwos10でコンパイルするまでをお見せします。
このコースは、MacでもWindowsでも同じ様にコンパイルできるので、今後はMacの環境での解説が多いですが、問題なくWindowsでもできますのでご安心下さい。^^;
stdio.hとは何かがわかるようになりますよ。
標準出力について解説しています。他にもデバッグ作業をおみせします。
ファイルストリーム系の関数も追加して解説します。
1文字キーボードから入力しておみせします。
C言語の文字列のことをCstringといいます。。
C言語の脆弱性で最も有名なものです。C99、C11の仕様ではgetsは使用禁止になっているはずです。
バッファーオーバーランは簡単に起こすことができるのです。
fgetsを使ってバッファーオーバーランを回避できます。
scanfは危険というのは案外都市伝説なんですね。
文字定数について実際に使っているサンプルをお見せします。
16進数のプログラムでの扱い方を解説しています。
%oを使うと簡単に8進数表示できます。
全角のスペースがエラーを引き起こす様子をお見せします。
テキストエディタVimの使い方のまとめをします。
c言語のプログラムの基本的なかたちなどについて解説しています。
数学とコンピューターの変数は違うものという認識を持つと今後が楽になります。
コンピューターのゼロには大きさがあります。
C言語のみならず他の言語理解にも必要になってきます。
宣言した変数の型のサイズとメモリの具体的なアドレス(番地)を表示するプログラムを書いてみます。
主要な型の変数についてメモリイメージ図を描く演習の方法をレクチャーしています。
基本的に型は合わせなくてはいけません ^^;
GCCや最新のClangというコンパイラは、暗黙の型変換をします。一見賢いコンパイラのようで実は問題もあるという様子をごらんください。型は合わせなくてはいけません^^;
ポインタの概要について白板で解説します。
ポインターのC言語上の表現とメモリとの関係を図に表すことを覚えて下さい。
サンプルプログラムpnt.cを解説しながら作成していきます。
ポインタを検証するやり方が理解できるまで、何度も視聴してみてください。
まず1次元配列とポインタの関係をしっかり理解しましょう
実際に配列とポインタとの関係をC言語でプログラムを書いて検証する様子をお見せします。
n次元配列の考え方について解説します。
2次元配列の初期化方法と、全要素表示で確認してみます。
3次元配列の初期化の考え方と全要素表示してみました。
もちろんアクセスできるので解説いたします。
最後の要素をポインタ形式でアクセスして同じ様にメモリの格納値が表示されるか確認してみます。
データーの構造化とはなんでしょうか?
例えば学生型を表現できるのか、解説します。
構造体のC言語の実際の扱いを解説します。
構造体のポインタ形式の扱いと、共用体を解説します。
タグを使った形式の構造体のソースになります。
typedefによる構造体型の定義と、ポインターによる構造体へのメンバーアクセスのプログラムをお見せします。
2章のまとめと演算子、Viなどについて少しお話します。
この章の学習について。その他、ファイルを分割する理由も述べています。
厳密には数学の函数と似ていますが、ちがうものとして解説します
関数の理解を深めるために関数のイメージ図をかいて自分自身に教えよう
さあ、C言語の文法表現で関数をみてみましょう
このサンプルでは、ファイルの分割もしていますので参考にしてください。
人がプログラミングするためにどうしてもプログラミングには名称が必用なのですが・・・
広域(グローバル変数)といえども、ネームスペースが違えば、extern宣言する必用があるのです。
グローバル変数は、同じネームスペースにあればそのまま使えますが他のネームスペースに同じ名称があればエラーになります
関数の名称も実はポインタであったりします。それを検証しておみせします。
何も値を返さない関数はいろいろな場面で出てきます。ただし、メイン関数はint型の関数です。
フローチャートでは限界があるため、C言語のためにPADが生まれたと言っても過言ではありません
順次実行は、行毎にプログラムが実行される状態を言います
数多くのif文による場合分けが連なると見づらいのですが、switch〜caseを使用すると見やすくなります。
IF文の興味深い書き方をお見せします。
while文は、基本的なループです。プログラマが最も使用するループ構造です。
ループする回数に注意が必用なのでよく考えて使用すべきです。
forループは、繰り返し条件などが1行にまとまっているので、理解しやすいはずです。
便利ですが、使い方を誤ると、制御できないプログラムになるのでしっかり用法を学びましょう
無限ループはループから抜け出る条件をまず最初に創っておく必用がありますね。
実はWindowsのテキストファイルの扱いに注意が必用なのです。
ファイルとは何で、データーの流れとハードウエアについて白板で解説します。まずはファイルとは何かです
データーストリームとは、ハードウエアからの情報の流れを意味する言葉ですが。。
ほぼどのファイルにもインクルードするstdio.h。なぜなのでしょうか?
標準出力とは画面のことで、stdoutでオープンされたままになっています。
はじめての場合にはHello World!!を書き込んでみます
fopen() とファイルのオープンモードについて知ることはとても重要なことなのです。中級の内容ですが頑張って理解しましょう。
実際にサンプルプログラムをダウンロードして、必ずコンパイル実行してみましょう
前回の動画で解説したファイル書き込みで制作したデーターファイルを読み込んでみます
fseekが使いこなせるようであればC言語のプログラミングの幅がぐっと広がりますよ
まずはCの言語とゲーム移植の秘話をお伝えします。^^;
簡単にゲームの歴史を解説します。
だんだんとゲームの自作がC言語で難しくなっていきます。
C言語を学習する人が疑問に思うことでゲームに関してよくあるものです。
ゲームは、C言語の文法を覚えただけでは創れません。ゲーム特有の考え方を知る必用があります。 その1
ゲームは、C言語の文法を覚えただけでは創れません。ゲーム特有の考え方を知る必用があります。 その2
ゲームを作る場合には当たり判定ができなければなりません。白板で解説します。
CUIのカーシスライブラリで作られた、ダブルバッファーを実現したゲームのサンプルを紹介します。
現在のプログラミングの概要をお話しますが、本コースのレクチャーから少し外れますので珈琲ブレイク第二弾にしました。
Handy Graphic Librarlyという、大学で使われているMac専用の学習教材なのだそうです。入手してインストールしてみました。このコースでは配布できませんので、各自ライブラリ名で検索して入手してください。
コマンドプロンプトにしてもターミナルにしてもあくまでも表示のみできます。
ぷログラムソースの解説をします。
Windowsの場合、画面とはコマンドプロンプトあるいはパワーシェルということになります。
エスケープシーケンスを利用して簡単に実験できます。
一瞬でおわるので、アニメーションの様子はともかく、ゲームに利用できる基本的な関数を創ってみました。
10進数を2進数に変換するプログラムを考えて、エスケープシーケンスを使ってカラフルに表示しましょう。
イマイチまだ自信が持てないという方へ。そして今後の指針など
ご要望が多いので、各OS用に配布されているRogueをこちらからダウンロードしていただけるようにします。ただし、これらの配布は、GNUライセンスのもと公開されているものなので、本コースのレクチャーには直接関係はありません。あくまでもCUIでこのようなソフトが作成できるのだという確認用です。これらに関してダウンロードその他のサポートは行なえません。
従来のように、文法ありきで、実習面が少ない講座ではなく、無駄を省きプログラムを実際に書いてコンパイル、実行し、それから考察するスタイルの全く新しいC言語のマスター法を、元ITエンジニアのマスター方法として、お勧めします。