初心者向けプログラミングC言語

スライド進行の講座ではありません。オンライン白板に手書きの授業スタイルで進行します。その代わり、根本からC言語を理解できるようにカリキュラムいたしました。
3.2 (18 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
177 students enrolled
$19
$60
68% off
Take This Course
  • Lectures 105
  • Length 19.5 hours
  • Skill Level Beginner Level
  • Languages Japanese
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 7/2015 Japanese

Course Description

このコースは、20年ちかく、専門学校でC言語教育を行い、数千人のエンジニア育成を行ってきた成果の記録のようなコースで、C言語を覚えるではなく理解できるようになることにフォーカスした講座になります。もともと90分授業(専門学校)のカリキュラムを基本にしているので、動画の中には長めのものがあるなどします。

また、半期や通年の授業内容を基にしているので、5日や7日でマスターはできませんし、そのような動画ではありません。また、C言語を身につけることが主目的なので、きれいな動画、アニメーション、スライドに注力はしていませんので、まずはそこをご了解くださいませ。

ミスマッチを避けるためにあえて申し上げますが、
もしあなたが、キレイなスライドと10分程度の動画説明による進行を期待しているのならば、このコースは期待はずれになるかもしれません。動画の作品としての出来はともかく、C言語を根本から理解したいから気にしないし、むしろ白板形式のコース動画でも良いというあなたに受講していただければと思います。

受講後のコースは進化するので、ドキュメントファイルなど追加するので定期的に訪問していただければとおもいます。

この授業の内容で、実際にスーパーエンジニアとして活躍している専門学校時代の卒業生が多数います。受講者の皆さんもマスターできるまで何度でも見返してがんばっていただき、C言語エンジニアとして活躍されることを望んでおります。^^;

What are the requirements?

  • パソコンの操作に困らないこと
  • ソフトやアプリのインストールが出来るとなお良い

What am I going to get from this course?

  • 他の最新言語を自己学習するときの基本スキルとして身につく
  • スキル的には専門学校の1年生程度に身につきます

What is the target audience?

  • プログラミングを学びたい意欲のある方ならどなたでも学習可能です。
  • 教科書はなくても構いませんが、あえておすすめするならば「やさしいC」という本が良いとおもいます。
  • 時間がかかってもしっかり身につけたいと思っている方

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: ここから開始しましょう。
【動画】はじめに
Preview
10:39
学習を始める前に
04:33
Section 2: 1章 ノイマン型コンピュータとはどんなもの?
3 pages
どのようなプログラミング言語を学習するうえでも、ノイマン型コンピューターがどのような構造をしているかは、常に頭になくてはなりません。いつでもドキュメントの中の構造図が頭に浮かぶ用にしてください。

あまりに基本的すぎて、多くの学校では教えないのですが、とても大事なことと考えて下さい。

3 pages

このセクションでは、メモリーとはどういうものか?

コンピュータの構造上なぜ重要なのか? どうやって数の多いメモリーを管理するのかを

理解します。アドレッシングという方法の根本的な理解です。

アドレッシングは、番地管理とも、アドレス管理とも言われます。

Cの言語においては、後にポインターという言葉でよく出てきます。


2 pages
システム系のプログラミングでは、どうしても2進数敵な要素が出て来ます。この2進数が理解しにくいので、

できるだけ簡単に理解できるようにドキュメントにまとめてあります。

理解できるまで難度も読み返して、しっかり理解してください。

1 page

2進、8進、16進数から10進数への変換が簡単に理解できるようにまとめてあります。


2 pages

コンピュータと数学の変数は根本的な違いがあります。数学の変数には大きさの概念がありませんが、

コンピューターの変数は、メモリを使うので有限な変数になります。このことの理解はとても大事なものです。

例えばゼロという概念は、数学の世界では絶対ゼロというものですが、コンピューターの世界のゼロには大きさがあります。


1 page

ノイマン型のコンピュータを表すイメージ図を描き、その特徴を挙げること。

Section 3: 2章 プログラミングを始めよう
11:31

実習主体の講座ですので、まずはC言語の実行環境を理解しましょう。この動画では、三大OSに共通のオンライン実行環境(プログラム作成可能)を解説します。


13:05

アップルのマッキントッシュの環境にC言語の環境を作る方法を学習しましょう。

MacOSXはもともとUnixベースのOSなので、必要なものはさいしょからすべて含まれています。


16:50

Windowsの環境にC言語の環境を作る方法です。

ダウンロードは、

K2Editor:http://k2top.jpn.org/index.php?K2Editor

Cygwin:https://www.cygwin.com/

から配布されています。


07:16

CygwinにCコンパイラをインストールする場合の補足動画です。


11:24

補足事項:Ubuntu LinuxのISOイメージの配布は以下の場所で行われています。
https://ubuntulinux.jp/download/ja-remix


Section 4: 3章 いよいよ実習してみましょう
09:51

メモリイメージの描き方を学びます。


11:01
1バイトのメモリとビットの関係と2進数の関係が理解出来るようになります。
15:36

動画の解説の中で間違いがありましたので補足動画もあわせて御覧ください。
動画の冒頭の2の階乗の部分が誤りがあるんですが、流れが重要なのであえてそのまま
にしてあります。そのかわり補足動画を作成してあるので見て下さい。



13:20

主に、2のべき乗に関する、2の0乗のミスがあるので補足しています、

また、2進数の11111111が255が正解ですが、これをなにゆえ256と解説していたのかも

説明しました。


更に nの0乗がなにゆえ1になるかなのですが、

nの指数計算は、1にnを何回掛けるかで考えるとわかりやすいですよ。

2の0乗は1にに2を0回、すなわち 1になるからです。

11:08

8進数と10進数の関係を解説しました。暗記事項の方が多いです。


09:51
16進数と2進数の関係を理解し、相互変換できるようにします。

2進数に変換できれば、10進数への変換も簡単にできることになります。

14:55

C言語のプログラムを学ぶ者が必ず伝統的に行うプログラムですが、このプログラムには、C言語のプログラミング上7割の重要項目がふくまれるので、必ず暗記しましょう。

15:39

printfのフォーマットを解説したサイトさんは

http://www.k-cube.co.jp/wakaba/server/format.html

関数辞典さんはこちら

http://www.c-tipsref.com/reference/stdio/printf.html


1 page

実習の答えは、8章にて見ることができます。


Section 5: 4章 変数について
15:27
この章はC言語を学ぶ上で、要になる章であり理由について述べています。
C言語でプログラムを創ることとプログラミングについて
15:06
13:06

今後の理解に関わる重要な内容ですのでしっかり理解してください。


4項 int型変数
14:21
5項 char型変数について
14:21
6項 long型、short型変数
08:00
7項 浮動小数点を扱う変数 float,double型
11:57
8項 変数とデーター構造(1)
10:57
9項 変数とデーター構造(2)
16:25
10項 変数とデーター構造(3)
16:08
11項 配列というデーター構造
09:59
12項 配列は最新ソフトウエア技術につながる重要な項目です。
11:05
13項 構造体と共用体
16:57
14項 ポインターについて
17:59
15項 定義と別名・シノニムについて
13:12
4章の実習
1 page
Section 6: 5章 構造化と関数
1項 プログラムと構造化の流れ(1)
14:17
2項 プログラムと構造化の流れ(2)
18:43
3項 プログラムと構造化の流れ(3)
18:30
プログラムと関数について(1)
16:28
プログラムと関数について(2)
17:22
プログラムと関数について(3)
18:04
プログラムと関数について(4)
14:44
プログラムと関数について(5)
13:31
プログラムと関数のまとめ(1)
17:06
プログラムと関数のまとめ(2)
15:27
プログラムと関数のまとめ(3)
07:47
5章の実習
1 page
Section 7: 6章 ポインタについて
1項 ポインタをより深く理解しよう
07:45
2項 アスタリスク(*)の3つの意味について
18:43
3項 ポインタの次元を理解しよう
16:22
4項 ポインタの型について
11:10
5項 構造体・共用体とポインタについて
15:09
6章の実習
1 page
Section 8: 7章 制御構造について
17:42

PAD図の描き方は、大まかに合っていれば問題ないです(特に現場では)。各種仕様とかPADを描くのは設計を行うSEが作ることが多く、できたものからプログラマに渡されます。もし、1000行のプログラムを設計したら、

1000行のPADを描くはずもないので、できるだけ簡素に書来ますが、確実に意図がプログラマに伝わることも大事なので、その辺のさじ加減は、描いて覚えるしかありません。がんばりましょう。

他参考ドキュメント:http://sas.cis.ibaraki.ac.jp/ProEn2/pad_sample.pdf


補足 関数とPAD
17:24
2項 順次実行の制御構造
19:19
3項 比較判定の制御構造
07:34
4項 switch 〜 case という制御構造
10:45
5項 繰り返しの制御構造 その1
11:21
6項 繰り返しの制御構造 その2
15:13
7章の実習
1 page
Section 9: 8章 実習と解凍例
実習の注意事項
1 page
1章実習の答え(ドキュメント)
2 pages
2・3章実習の答え
2 pages
4章実習の答え
2 pages
5章 実習の答え
3 pages
6章 実習の答え
2 pages
7章 実習の答え
6 pages
総合実習
1 page
8章 綜合実習の参考動画(1)
15:03
8章 綜合実習の参考動画(2)
18:05
8章 綜合実習の参考動画(3)
17:53
8章 インクルードファイルと#ディレクティブについて
15:42
8章 綜合実習の答え
3 pages
Section 10: エスケープシーケンスとリアルタイムキー入力
14:18

コンピューター上で扱われる文字、文字列は、意外なほど奥深いものですが、実は、電信による情報通信の時代からそれほど変わっていないものなのです。

文字コード(アスキー文字、リテラル文字、ノンリテラル文字)を理解できると思わぬこともプログラミングできるようになります。そのひとつは、エスケープシーケンスシーケンスによる文字の装飾です。

08:05

コンピューターで扱われる文字と文字コードについてしっかり理解していただけるようになります。

07:14

コンピューターで扱われる文字と文字コードについてしっかり理解していただけるようになります。

09:51

エスケープシーケンスシーケンスとは何か、なぜ必要なのか。どのようにプログラムすればいいかを学びます。

11:49

エスケープシーケンスシーケンスとは何か、なぜ必要なのか。どのようにプログラムすればいいかを学びます。

11:40

エスケープシーケンスシーケンスとは何か、なぜ必要なのか。どのようにプログラムすればいいかを学びます。

05:57

エスケープシーケンスシーケンスとは何か、なぜ必要なのか。どのようにプログラムすればいいかを学びます。

11:29

内容的には、中級以降なのですが、初級にこれをマスターすることで、良いユーザーインターフェースのターミナルアプリ(非ウインドウモード)を作成することができるようになります。簡単なゲームなら作成可能になります。

09:02

内容的には、中級以降なのですが、初級にこれをマスターすることで、良いユーザーインターフェースのターミナルアプリ(非ウインドウモード)を作成することができるようになります。簡単なゲームなら作成可能になります。

09:32

内容的には、中級以降なのですが、初級にこれをマスターすることで、良いユーザーインターフェースのターミナルアプリ(非ウインドウモード)を作成することができるようになります。簡単なゲームなら作成可能になります。

11:58

サンプルプログラムは、圧縮していないとダウンロードがしにくいので、やはりZIP圧縮しました。

ダウンロード後に、圧縮ファイルをダブルクリックでWindowsでも、Macの環境でも解答できるはずです。(確認済)

※)動画中の解説で、一部手間取りなどがあることをお詫び申し上げます。^^;

リアルタイムキー入力 サンプルプログラム解説 −2
09:31
リアルタイムキー入力 サンプルプログラム解説 −3
08:17

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

忠郎 渡邊, プログラミング、ウエブマーケティング

システム開発会社にて、初期の日本語処理技術開発に参加。ほかにベクターグラフィックス分野など多くの専門の開発経験後、専門学校の講師になり20年ちかく後輩の育成にあたってきました。システムプログラミング、ネットワーク技術、ウエブマーケティングなどを専門に授業を行い、数千人のエンジニア育成を行いました。近年の少子化により学校が無くなりリタイヤ後は、電子書籍分野の仕事や、組み込み系の開発などを行ってきました。

Ready to start learning?
Take This Course