初年次セミナー 第4回 整数と実数の取り扱い
実行準備 Mドライブの割り当てが済んでいることを確認し、Mドライブ内の「FPS」フォルダに移動してください 今日作成するファイルの保存用に、「04」フォルダを作ってください
Visual Studio 2010 コマンドプロンプト起動 「スタート メニュー」→「すべてのプログラム」→「Microsoft Visual Studio 2010」→「Visual Studio Tools」→「Visual Studio 2010 コマンドプロンプト」の順に選択し、コマンドプロンプトを起動します または画面上のショートカットアイコンからも起動できます
コマンドプロンプトの起動 Visual Studio コマンドプロンプトが起動したら、以下のようなウインドウが開きます。 今後プログラムのコンパイル、実行はこの画面上でおこないます
ドライブ変更 コンパイル、実行は基本的にファイルのある場所でおこないます Visual Studio 2010 コマンドプロンプトは、起動した時点ではCドライブ内の「Program Files\Microsoft Visual Studio 10.0\VC」フォルダにいるので、まず「Mドライブ」へ移動します コマンドプロンプト上で「M:」と入力してください
ディレクトリ間の移動 Mドライブへ移動したら、目的のファイルがあるディレクトリ(≒フォルダ)へ移動します ディレクトリの移動に使用するコマンドは「cd 移動先」です Mドライブの一番上にあるディレクトリ(ルートディレクトリ)から、その下の「FPS」へ移動するには、「cd FPS」と入力してください さらにその下の「04」フォルダに移動するには、「cd 04」とします
復習:ソースプログラムの構成 ソースプログラムは一般に以下のような形になる。 プログラムは上から実行される。通常の順序は include文⇒main関数開始⇒変数等の宣言⇒処理本文 処理の順番を考えてプログラムの順序を考えること。 文の字下げ(インデント)には「Tab」キーを使うと便利
復習:文の書き方 C言語プログラムでの「文」には、型・変数の宣言、計算処理、関数呼び出しなどがある。 基本的に「文」の最後にはセミコロン「;」をつける。 「文」はひとまとまりの意味を持つ命令が実行されている文章(したがって、先の「{」だけの行には「;」が不要)
復習:数値の読み込み キーボードからデータを読み込むには scanf関数を用いる scanf関数の書式は「scanf(“書式”,&読み込む変数名)」となる 例)整数値をxという変数に読み込む scanf (“%d”, &x); プログラムを実行すると、キーボードから数値などを入力できる
復習:数値の読み込み(2) キーボードから整数を入力し、そのまま出力するプログラムを作成してみましょう (001.cとして保存)
ソースファイルの確認 先ほど作成したソースファイルがあるかどうか、コマンドプロンプト上で確認します コマンドプロンプト上で、「dir」と入力してください dirコマンドは、現在のディレクトリ内にあるファイルを一覧表示するコマンドです
コンパイル ソースファイルがあることを確認したら、コンパイルをおこないます 「cl 001.c」と入力してください(別のファイル名をつけた場合は「cl コンパイルしたいファイル名」とします)
コンパイル(2) コンパイルが成功したら、以下のような表示がされ、中間ファイル(001.obj)と実行形式ファイル(001.exe)が生成されます
エラー処理 プログラムにミスがある場合、エラー情報が表示されます 表示を参考にしながら修正してください 修正できたら保存しなおし、再度コンパイルをおこないます
プログラムの実行 コンパイルが成功したら、プログラムを実行してみましょう 拡張子を除いたファイル名(001)を入力するか、または実行ファイル名(001.exe)を入力してください
復習:数値の読み込み(3) キーボードから入力する場合は、入力後に「Enter」キーを押して確定させる 整数を1つ入力してください。 15 Enter 入力された整数は15です。
前回のレポート(の一部) キーボードから2つの整数を入力し、その和を表示するプログラムを作成する
プログラム例2 1つのscanf関数で2つのデータを読み込むこともできる
整数と実数:型名と性質 変数の型名には文字、数値、数値の中でも整数、実数、それらの精度、桁数などによって分類される 主な型名と性質は以下のとおり また、正の整数だけを扱うもの(符号なし整数型)もある unsigned char : 0~255 unsigned int : 0~65,535 unsigned long : 0~4,294,967,295
書式の設定 scanf関数やprintf関数で書式の設定をする場合、使用する変数の型によって記述の方法が異なる
整数と実数 最初に作成した「数値を入力するプログラム」で、キーボードから実数の値(たとえば3.14)を入力してみてください。 int型は実数を入力しても小数部分が切り捨てられる
整数と実数(2) 整数(int型)と実数(double型)で変数を宣言し、9.99を代入して表示させてみましょう。 さらに各変数を2で割った値を表示させてみましょう。
先ほどのプログラムの出力例 以下のような出力が得られましたか? int型には実数値を代入しても小数点以下が切り捨てられること、整数同士の割り算では結果も整数になることを確認してください。
表示の書式設定 double型やfloat型を表示する際、%○.○lf %○.○f の○部分に数字を入れると表示のケタ数を設定できる。 ←通常表示 ←全体で3ケタ、小数部分1ケタ ←全体で7ケタ、小数部分2ケタ
型と演算 整数同士の場合と違い、実数同士の演算では小数点以下の切捨てなどは行われない int/int、double/doubleのように「同じ型」の演算は元とおなじ型になる int/doubleやdouble/intのように、一方がint、他方がdoubleの場合にはint型が自動的にdouble型に格上げされ、演算結果もdouble型になる 割り算だけでなく他の演算にも適用される(剰余を求める%のみ例外で、int型のみの計算となる)
型と演算(2) 整数と実数が混ざった演算では、より「懐の広い=小数点以下を格納する余裕がある」方の型に変換されて演算がおこなわれる double
キャスト プログラムの途中で一時的に型を変更したい場合には、(double)変数名 のように変数名の前に変更したい型名を書くと一時的に変更できる(キャストという)
練習 2つの実数値をキーボードから入力し、四則演算の結果を表示するプログラムを作成してください。
実数の計算プログラム 三角関数や平方根のような関数計算を実数でおこなってみよう 関数計算をおこなうときは、プログラムの最初に #include<stdio.h> のほかに #include<math.h> も書き加えておく
#include<math.h>で使用できる関数の例
実数の計算プログラム例 sqrt関数を使って120の平方根を求めるプログラムを作ろう #include<math.h>を忘れないように
第4回のレポート 以下のプログラムを作り、メールに添付して提出 (1)pow関数を使って、一辺が12.5cmの立方体の体積を求めるプログラム (2)長辺が15.6cm、短辺が9.8cmの長方形の対角線の長さを求めるプログラム (3)sin30°、cos30°、tan30°を求めるプログラム 注:関数sin(x)等で使用する x 部分は「度」でなく「ラジアン」。 180°=π=3.14159ラジアン として変換すること。 ※完成したらメールで教員まで送ってください。