
この講座の概要について説明します。講座は大きく分けて、
C言語入門
C言語応用
C++言語入門
C++言語応用
の4つから構成されています。これらはいずれも7つの章から構成されており、1日1章学習すれば一週間でマスターすることが可能です。
また、開発環境としてはOSがWindows、VisualStuido2022Community Editionを前提としていますが、それ以外のOS、開発環境を用いてもかまいません。
VisualStudio2022 Communty Editionを入手・インストールする方法について説明します。
ダウンロードしインストールするだけではC/C++のプログラムを開発することは出来ないので、
C/C++の開発環境も合わせてダウンロードする必要があります。
C・C++のプロジェクトを作成しプログラムを入力する準備をするところまでを説明します。
VisualStudio2022ではプログラムをプロジェクトと言う単位で管理しています。
プロジェクトはソリューションという単位で管理されており、ソリューションは複数のプロジェクトを持つことが出来ます。
ここではまずソリューションとプロジェクトを作る方法について説明します。
プロジェクトを作成した後、プログラムを入力し実行する方法について説明します。
簡単なプログラムだけでしたらここまでの説明で実行できます。
ある程度複雑なプログラムになってくると、複数のファイルやプロジェクトを管理する必要があります。
ここでは、補足として
の方法について説明します。
sample1-1.cソースコードの解説をしています。
多くのC言語の入門書や入門講座などでは、プログラミングの初を必ずといっていいほど、「HelloWorld」の表示からはじめています。
ここでもそれを踏襲し、HelloWorldの表示からサンプルをはじめます。
printf()関数の更に便利な使い方について解説します。
コンソールアプリを開発するときに、printf()は欠かせません。基本的な使い方をしっかりマスターしましょう。
sampe1-1およびsampe1-2の復習をします。
C言語のプログラムの基本形および、printf()関数の使い方についてしっかり復習しましょう。
C言語を用いて四則演算を行う方法について説明します。
足し算と引き算は、+および-を使いますが、掛け算には*、割り算には/を用います。
また、剰余(割り算の余り)である%についても紹介します。
変数の使い方を説明します。
変数とは値を入れる器のことで、intやdoubleなどと型を指定するとそのデータを保存することが出来ます。
内容も随時変更することが可能です。
変数は様々なデータの保存や演算を行うために用います。
doubleからintのように、異なるデータ型への変換を行うときは、キャストを行うことが必要です。
キャストに関しては注意が必要です。例えば実数から整数にデータをキャストすると、小数点以下がなくなるなどといったことが起こります。
演算と変数の内容に関する復習です。
基本的な演算子の使い方と、変数の使い方をマスターしましょう。
代入演算子を用いると変数の値の更新を簡単に行うことが出来ます例えば、
a = a + 4
と言う処理も、
a += 4
と言う風な書き方が出来ます。
条件分岐についての基本であるif(イフ)文の使い方について説明します。
if文は、条件が成り立つ場合に処理を行うものです。
同時にコンソールから文字入力を行うscanf()関数について説明します。
if文において多数の選択肢を使用するには、else if(エルスイフ)を用います。
elseifを用いると、複数の選択をif文で行うことが出来ます。
ここでは複雑な条件分岐として以下の内容を扱います
ネストとは、if文のなかに更にif文を記述するといった記述の仕方を言います。
複数の条件分岐を記述するには便利な方法ですが、濫用するとプログラムがわかりにくくなります。
論理演算とは、
一つのif文の中で、複数の条件を同時に確認することが可能です。
switch(スイッチ)文は、()内の値によってプログラムの流れを変える条件分岐処理を行います。
条件分岐の多くはif文を用いますが、場合のよってはswitch文で記述した場合のほうが便利な場合もあります。
条件分岐の処理であるifおよびswitchに関するまとめです。
学習したサンプルと照らし合わせながら理解を深めましょう。
繰り返し処理の基本である、for(フォー)文の基本的な使い方について説明します。
for文は繰り返し処理の中で最もよく使われる命令です。
for文のネストを作り、二重ループを作る方法について説明します。
このようにループをネストを作ることを一般に多重ループと言います。
while(ホワイル)とは、「~の間」という意味を表し、ある条件が成り立っている間繰り返し処理を行う命令です。
for文に比べてシンプルですが、使い方には注意が必要です。
do~whileは、whileと似た命令ですが、条件判定を行う部分が最後に来ます。
そのために処理がwhileとは使い方が微妙に異なります。
その違いを押さえましょう。
for、while、do~whileの3つの違いを比べて学習します。
繰り返す回数の指定の仕方により、for,whileとdo~whileの処理の振る舞いが違う場合が有ります。
使用するときには注意が必要です。
無限ループとは、処理が強制的にストップをかけない限りいつまでも終わらない処理のことを言います。
プログラムのテクニックで故意に無限ループを作るときも有りますが、その際には何らかの条件が成り立った場合、break(ブレイク)文を用いてループから抜ける処理をします。
第4章は繰り返し処理です。
プログラムの処理は大きく分けて、
の3つがあり理論上はこの3つで全てのプログラムを記述できるといわれています。
ここまででプログラムの基礎が出来上がったことになります。
大量のデータを扱う際に便利なのが、配列変数です。
配列変数は、同じ名前のデータを添え字(そえじ)と呼ばれる番号で区別します。
配列の初期化をより効率的に行う方法について説明します。
配列は大量のデータを扱うためプログラムが長くならないように効率的にデータを初期化できるための仕組みが用意されています。
そういった仕組みを上手に利用してプログラムを効率よく記述しましょう。
C言語ではchar型の配列を用いることにより文字列を表現します。
charはアスキーコードによる文字を現わすためのデータ型です。
ここではchar型を用いて文字列の配列を表現する方法について説明します。
今まで使ってきた配列は一次元配列と言い、一続きのデータを扱うように出来ています。
それに対し、EXCELの表のようなデータを扱うためには二次元配列を利用するのがベストです。
配列は二次元、三次元と多数の次元を扱うこと画できます。
このような配列のことを多重配列(たじゅうはいれつ)と言います。
配列変数に関するまとめです。
配列変数は大量のデータを扱う上で大変便利な上に、文字列を扱う上でも大事な概念です。
何度も繰り返し学習してしっかりとマスターしましょう。
頻繁に行う処理や複雑な処理は関数にまとめると大変便利です。
関数には、データを与えるための引数と呼ばれるものと、結果を返す戻り値と言うものが必要です。
ここではシンプルな関数の記述例を紹介して関数とはどのような仕組み化を説明します。
プロトタイプ宣言とは関数の仕組みを宣言する部分です。
プロトタイプ宣言をすれば、関数の定義が無くてもプログラムの中に関数処理を記述することが可能ですが、後で必ずその仕組みを定義する必要があります。
ここでは様々なタイプの関数について説明します。
関数は原則的に引数と戻り値を必要としますが、場合のよってはそれを必要としないケースもあります。
戻り値をひつよとしない場合は、戻り値の型にvoidを指定します。
関数のなかでしか使用しない変数のことをローカル変数、プログラム全体で利用できる変数のことをグローバル変数と言います。
ローカル変数は他の関数内で同じ名前を使用しても問題はありません。
しかし、グローバル変数はプログラム全体で使用するので、注意が必要です。
関数に関する内容のまとめです。
C言語で実用的なプログラムを作ろうと思ったら、関数を多用することになります。
繰り返し学習することによって関数の考え方や作り方を学びましょう。
ある程度複雑なプログラムを作ろうと思ったら、必ずソースコードを複数に分割する必要があります。
複数のファイルに分割する際には
に分割する必要があります。
ここでは基本的なファイル分割の原則について説明します。
ファイル分割の応用編です。
複数のヘッダファイル・ソースファイルから構成されるファイル分割と、グローバル変数を扱うケースについて学習します。
ファイル分割は大規模なプログラムを作成する上では欠かせません。
何度も自分で同じプロセスを繰り返してコツを習得しましょう。
C言語で乱数を発声させる方法について説明します。
乱数とは「でたらめな数」のことで、サイコロのようにでたらめな数を生成するときに使用します。
乱数を初期化するsrand()関数および乱数を発生させるrand()関数について学びます。
C言語で数学関連の関数を利用する方法についての説明です。
数学関連関数を利用するには、math.hをインクルードする必要があります。
ここでは第一弾としてsin,cos,tanを求める関数を利用する方法について説明します。
C言語による数学関数の利用方法の第二弾です。
絶対値を求めるためのabs()およびfabs()、階乗を計算するpow()、平方根を求めるsqrt()関数について解説します。
シフト演算やOR、AND、NOTのようなビット演算のサンプルを紹介します。
組み込みなどの現場ではしばしば活用する必要がある演算です。
応用編第一章の復習です。
基本編では細かく説明できなかった様々な演算や数値の処理について学習しました。
しかし、ここで紹介できたのはほんの一部です。
このほかにもどのようなものがあるか色々と調べてみると面白いでしょう。
①コースの概要
このコースは初心者が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でも使用できます。
他の環境で勉強している人は、各自自分の環境に対応させて試してみてください。