一週間で身につくC/C++言語
4.2 (272 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,850 students enrolled

一週間で身につくC/C++言語

IoTなどの普及によりC言語やC ++言語が再度脚光を浴びています。UnrealEngine等のゲーム開発やビジネスの場面で役立つC ++、C言語をこのコースでマスターしましょう。
Bestseller
4.2 (272 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,850 students enrolled
Created by 亀田 健司
Last updated 3/2019
Japanese
Japanese [Auto-generated]
Current price: $11.99 Original price: $199.99 Discount: 94% off
4 days left at this price!
30-Day Money-Back Guarantee
This course includes
  • 12.5 hours on-demand video
  • 106 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to Udemy's top 3,000+ courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • C/C++言語でのプログラミングの能力が身につく
  • プログラミングの基本が身につく

  • JavaやC#など、C/C++言語発祥のほかの言語も容易に学習できるようになる

  • IoTや組み込み、OSプログラミングなどに必要なプログラミングの基礎がみにつく
  • 高度なゲームプログラミングに必要なC言語・C++言語のスキルが身につく
Course content
Expand all 128 lectures 12:19:45
+ はじめに
1 lecture 08:54

この講座の概要について説明します。講座は大きく分けて、

  1. C言語入門
  2. C言語応用
  3. C++言語入門
  4. C++言語応用

の4つから構成されています。これらはいずれも7つの章から構成されており、1日1章学習すれば一週間でマスターすることが可能です。

また、開発環境としてはOSがWindows、VisualStuido2017 Community Editionを前提としていますが、それ以外のOS、開発環境を用いてもかまいません。

Preview 08:54
+ VisualStudio2017の使い方
4 lectures 13:42

VisualStudio2017 Communty Editionを入手・インストールする方法について説明します。

ダウンロードしインストールするだけではC/C++のプログラムを開発することは出来ないので、

C/C++の開発環境も合わせてダウンロードする必要があります。

Preview 02:45

C・C++のプロジェクトを作成しプログラムを入力する準備をするところまでを説明します。

VisualStudio2017ではプログラムをプロジェクトと言う単位で管理しています。

プロジェクトはソリューションという単位で管理されており、ソリューションは複数のプロジェクトを持つことが出来ます。

ここではまずソリューションとプロジェクトを作る方法について説明します。

Preview 03:02

プロジェクトを作成した後、プログラムを入力し実行する方法について説明します。

簡単なプログラムだけでしたらここまでの説明で実行できます。

Preview 04:07

ある程度複雑なプログラムになってくると、複数のファイルやプロジェクトを管理する必要があります。

ここでは、補足として

  1. .hファイルの追加方法
  2. 新規プロジェクトの追加

の方法について説明します。

Preview 03:48
+ C言語入門① はじめの一歩
3 lectures 17:24

sample1-1.cソースコードの解説をしています。

多くのC言語の入門書や入門講座などでは、プログラミングの初を必ずといっていいほど、「HelloWorld」の表示からはじめています。

ここでもそれを踏襲し、HelloWorldの表示からサンプルをはじめます。

Preview 05:23

printf()関数の更に便利な使い方について解説します。

コンソールアプリを開発するときに、printf()は欠かせません。基本的な使い方をしっかりマスターしましょう。

Preview 06:43

sampe1-1およびsampe1-2の復習をします。

C言語のプログラムの基本形および、printf()関数の使い方についてしっかり復習しましょう。

Preview 05:18
+ C言語入門② 演算と変数
5 lectures 32:07

C言語を用いて四則演算を行う方法について説明します。

足し算と引き算は、+および-を使いますが、掛け算には*、割り算には/を用います。

また、剰余(割り算の余り)である%についても紹介します。

Preview 03:50

変数の使い方を説明します。

変数とは値を入れる器のことで、intやdoubleなどと型を指定するとそのデータを保存することが出来ます。

内容も随時変更することが可能です。

変数は様々なデータの保存や演算を行うために用います。


Preview 06:49

代入演算子を用いると変数の値の更新を簡単に行うことが出来ます例えば、

a =  a + 4

と言う処理も、

a += 4

と言う風な書き方が出来ます。

Preview 02:51

doubleからintのように、異なるデータ型への変換を行うときは、キャストを行うことが必要です。

キャストに関しては注意が必要です。例えば実数から整数にデータをキャストすると、小数点以下がなくなるなどといったことが起こります。

Preview 04:22

演算と変数の内容に関する復習です。

基本的な演算子の使い方と、変数の使い方をマスターしましょう。

Preview 14:15
+ C言語入門③ 条件分岐
6 lectures 39:30

条件分岐についての基本であるif(イフ)文の使い方について説明します。

if文は、条件が成り立つ場合に処理を行うものです。

同時にコンソールから文字入力を行うscanf()関数について説明します。

if文
07:32
if~else
02:55

if文において多数の選択肢を使用するには、else if(エルスイフを用います。

elseifを用いると、複数の選択をif文で行うことが出来ます。

if~else if~else
04:45

ここでは複雑な条件分岐として以下の内容を扱います

  1. 条件分岐ののネスト
  2. 論理演算

ネストとは、if文のなかに更にif文を記述するといった記述の仕方を言います。

複数の条件分岐を記述するには便利な方法ですが、濫用するとプログラムがわかりにくくなります。

論理演算とは、

  • 論理積(AND &&) … ~ かつ ~
  • 論理和(OR ||) … ~か~

一つのif文の中で、複数の条件を同時に確認することが可能です。

複雑な条件分岐
08:55

switch(スイッチ)文は、()内の値によってプログラムの流れを変える条件分岐処理を行います。

条件分岐の多くはif文を用いますが、場合のよってはswitch文で記述した場合のほうが便利な場合もあります。

switch文
06:13

条件分岐の処理であるifおよびswitchに関するまとめです。

学習したサンプルと照らし合わせながら理解を深めましょう。

まとめ
09:10
+ C言語入門④ 繰り返し処理
7 lectures 23:00

繰り返し処理の基本である、for(フォー)文の基本的な使い方について説明します。

for文は繰り返し処理の中で最もよく使われる命令です。

for文
05:38

for文のネストを作り、二重ループを作る方法について説明します。

このようにループをネストを作ることを一般に多重ループと言います。

forの二重ループ
01:17

while(ホワイル)とは、「~の間」という意味を表し、ある条件が成り立っている間繰り返し処理を行う命令です。

for文に比べてシンプルですが、使い方には注意が必要です。

whileループ
03:14

do~whileは、whileと似た命令ですが、条件判定を行う部分が最後に来ます。

そのために処理がwhileとは使い方が微妙に異なります。

その違いを押さえましょう。

do~whileループ
01:32

for、while、do~whileの3つの違いを比べて学習します。

繰り返す回数の指定の仕方により、for,whileとdo~whileの処理の振る舞いが違う場合が有ります。

使用するときには注意が必要です。

for,while,do~whileの違い
03:03

無限ループとは、処理が強制的にストップをかけない限りいつまでも終わらない処理のことを言います。

プログラムのテクニックで故意に無限ループを作るときも有りますが、その際には何らかの条件が成り立った場合、break(ブレイク)文を用いてループから抜ける処理をします。


無限ループ
02:16

第4章は繰り返し処理です。

プログラムの処理は大きく分けて、

  • 順次処理
  • 分岐処理
  • 繰り返し処理

の3つがあり理論上はこの3つで全てのプログラムを記述できるといわれています。

ここまででプログラムの基礎が出来上がったことになります。

まとめ
06:00
+ C言語入門⑤ 配列変数
5 lectures 28:42

大量のデータを扱う際に便利なのが、配列変数です。

配列変数は、同じ名前のデータを添え字(そえじ)と呼ばれる番号で区別します。

配列の基本
06:03

配列の初期化をより効率的に行う方法について説明します。

配列は大量のデータを扱うためプログラムが長くならないように効率的にデータを初期化できるための仕組みが用意されています。

そういった仕組みを上手に利用してプログラムを効率よく記述しましょう。

配列の初期化
03:57

C言語ではchar型の配列を用いることにより文字列を表現します。

charはアスキーコードによる文字を現わすためのデータ型です。

ここではchar型を用いて文字列の配列を表現する方法について説明します。

文字列と配列
10:20

今まで使ってきた配列は一次元配列と言い、一続きのデータを扱うように出来ています。

それに対し、EXCELの表のようなデータを扱うためには二次元配列を利用するのがベストです。

配列は二次元、三次元と多数の次元を扱うこと画できます。

このような配列のことを多重配列(たじゅうはいれつ)と言います。

多重配列
02:06

配列変数に関するまとめです。

配列変数は大量のデータを扱う上で大変便利な上に、文字列を扱う上でも大事な概念です。

何度も繰り返し学習してしっかりとマスターしましょう。

まとめ
06:16
+ C言語入門⑥ 関数の作り方
5 lectures 34:20

頻繁に行う処理や複雑な処理は関数にまとめると大変便利です。

関数には、データを与えるための引数と呼ばれるものと、結果を返す戻り値と言うものが必要です。

ここではシンプルな関数の記述例を紹介して関数とはどのような仕組み化を説明します。

関数の作り方
10:21

プロトタイプ宣言とは関数の仕組みを宣言する部分です。

プロトタイプ宣言をすれば、関数の定義が無くてもプログラムの中に関数処理を記述することが可能ですが、後で必ずその仕組みを定義する必要があります。

プロトタイプ宣言
03:39

ここでは様々なタイプの関数について説明します。

関数は原則的に引数と戻り値を必要としますが、場合のよってはそれを必要としないケースもあります。

戻り値をひつよとしない場合は、戻り値の型にvoidを指定します。


様々な関数
04:39

関数のなかでしか使用しない変数のことをローカル変数、プログラム全体で利用できる変数のことをグローバル変数と言います。

ローカル変数は他の関数内で同じ名前を使用しても問題はありません。

しかし、グローバル変数はプログラム全体で使用するので、注意が必要です。


グローバル変数とローカル変数
07:49

関数に関する内容のまとめです。

C言語で実用的なプログラムを作ろうと思ったら、関数を多用することになります。

繰り返し学習することによって関数の考え方や作り方を学びましょう。

まとめ
07:52
+ C言語入門⑦ ファイル分割
3 lectures 23:59

ある程度複雑なプログラムを作ろうと思ったら、必ずソースコードを複数に分割する必要があります。

複数のファイルに分割する際には

  • ヘッダファイル(.h)
  • ソースファイル(.c)

に分割する必要があります。

ここでは基本的なファイル分割の原則について説明します。

ファイル分割の基本
09:17

ファイル分割の応用編です。

複数のヘッダファイル・ソースファイルから構成されるファイル分割と、グローバル変数を扱うケースについて学習します。

グローバル変数とファイル分割
06:45

ファイル分割は大規模なプログラムを作成する上では欠かせません。

何度も自分で同じプロセスを繰り返してコツを習得しましょう。

まとめ
07:57
+ C言語応用① 数値の扱い
5 lectures 21:17

C言語で乱数を発声させる方法について説明します。

乱数とは「でたらめな数」のことで、サイコロのようにでたらめな数を生成するときに使用します。

乱数を初期化するsrand()関数および乱数を発生させるrand()関数について学びます。

乱数の発生
04:37

C言語で数学関連の関数を利用する方法についての説明です。

数学関連関数を利用するには、math.hをインクルードする必要があります。

ここでは第一弾としてsin,cos,tanを求める関数を利用する方法について説明します。

数学関連の関数の利用①
03:51

C言語による数学関数の利用方法の第二弾です。

絶対値を求めるためのabs()およびfabs()、階乗を計算するpow()、平方根を求めるsqrt()関数について解説します。

数学関連の関数の利用②
01:27

シフト演算やOR、AND、NOTのようなビット演算のサンプルを紹介します。

組み込みなどの現場ではしばしば活用する必要がある演算です。

ビット演算
04:38

応用編第一章の復習です。

基本編では細かく説明できなかった様々な演算や数値の処理について学習しました。

しかし、ここで紹介できたのはほんの一部です。

このほかにもどのようなものがあるか色々と調べてみると面白いでしょう。

まとめ
06:44
Requirements
  • Windowsパソコン(7 or 10) Corei3以上のCPUが望ましい
  • Visual Studio2017(Community Editionで可)
  • 初歩的なPCの操作技術
  • 基礎的なコンピュータの構造の知識(CPU、メモリなどの概念がわかる)
Description

①コースの概要

このコースは初心者がC言語・C ++言語を学ぶためのプログラミングを開始するコースです。

C言語は、1972年に開発された現在のプログラミング言語で最も古いプログラミング言語の1つです。

また、C ++は、C言語に基づくオブジェクト指向プログラミングの概念を導入した上位互換言語です。

現在、新しい言語が次々と開発されており、これらの言語のシェアは低下していますが、その重要性は依然として衰えていません。

逆に、近年、IoTなどの普及により、組み込みプログラミングに用いられるC言語やC ++言語に対する需要が高まっています。

ゲームなどの分野でも、UnityやC#やJavaなどの言語が普及しているにもかかわらず、「最後にC ++が必要」という認識があります。

更にC言語は依然として、コンピュータの基礎を形成するOSおよびプログラミング言語の開発のために依然として使用されています。

この古い言語ですが、なぜこのように人気があるのか、というようなことを含めて、

このコースではC言語とC ++言語のプログラミングを学ぶことができます。

初心者が特にポインタのような挫折感を強く感じる内容については、徹底的に説明します。

②目標

最初に説明したように、このコースは初心者プログラマーを対象としたコースです。具体的には

  • プログラミング学習を始めた大学生および大学院生

  • 専門学校の学生

  • 他の様々な学校の学生

  • 小学校から高校までの教員

  • 今からプログラミングを始める新しい新入社員

といった方々に最適です。

それだけでなく、JavaやPHPなどのプログラミング言語を習得してから、C言語やC ++言語を取得したいプログラマーにもおすすめです。

また、C言語を学んだこともありますが、挫折した経験のある人も大歓迎です。

③内容

コンテンツは、以下の内容で構成されています。

  • 講義映像

  • ソースコード

  • 練習問題と答え

開発環境として、Windowsは統合開発環境であるVisualStuido 2017 Community Editionを使用すると想定されています。 VisualStuido 2017 Community Editionはインターネットで無料で入手できます。

ただし、このコースで導入されたC言語/ C ++言語のソースコードは、異なるIDE、OSでも使用できます。

他の環境で勉強している人は、各自自分の環境に対応させて試してみてください。

Who this course is for:
  • これからプログラミングを始めてみたいが経験が無い
  • 本格的なゲームプログラミングを始めてみたいプログラマー
  • IoTや組み込みプログラムのためにC/C++の必要性を感じているプログラマー
  • なんでもいいからプログラムを開始してみたい好奇心が旺盛な人