忍者ブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

たとえば、下に示すように整数型と整数型の割り算をする場合、もしその答えに少数が含まれるならばその値はどのように表示されるのでしょうか?ではやってみます。

以下、#include
int main()
{
return 0;
}
は省略させていただきます。以下、{}間のソースを書くことにします。

***************************************
int a,b;
a=10;
b=3;
printf("%d/%d=%d\n",a,b,a/b);
***************************************
結果
10/3=3.00000
***************************************
今までは、a,bの関係をほかの変数として指定(c=a/b;)していましたが、それをしなくても、式として評価され値を持つ性質を使い、Printfの関数の中に関係式を書くことで同じ結果が得られます。
ことでとなり、実際の値3.33333・・・よりだいぶずれたものになってしまいました。これを克服するために以下のように打ち込みます。
***************************************
int a;
double b;
printf("%d/%f=%f");
***************************************
ここでおきているのは変数型の格上げ現象です。より大きな型にそろってしまう性質があります。注意しなければならないのは、整数型に小数点型のデータを代入する場合は例外で、代入もとの整数型に値の型が調整されます。
ex.)
int a;
float b;
a=b;
ここでbはint
****参考資料****

ダウンロード(c)ダウンロード(c)
PR
書式指定フィールドは、いつも使う%dや%fの拡張設定をすることのことを言います。今までは単純に%dといった書式指定フィールドの簡易化したものを変数の代入スペースとして指定していましたが、もっと詳しく設定することができます。その設定方法を以下に表示します。

以上に示したFlagというものが符号に関する記述になります。
そしてその下の、Widthが値の幅になり、Precisionが値の精度の指定にあたり、TypePrefixが変数型への対応の指定、typeが変数方の指定に当たります。それぞれの記述の方法は、以下のようになります。
%[flag][width].[precision][type-prefix][type]
ex.)
a=34.98078678;
printf("a=%+7.3f",a);

結果
a=34.981
■前回までは、単に文字表示をするなど、プログラムらしからぬ操作ばかりでした。今後は変数の概念を取り入れることにより、多少はプログラムらしくなりそうです。

■変数って何でしょう。
中学校や高校の授業でよく見かけたものを例で説明します。

X=3
Y=6
X-Y=Z
Z=-3

ここでZはX,Yの関数です。関数とはある特定の値にひとつの値を返すもののことです。ここで、X,Yが変化することで、Zは1つの値を返すことになります。そしてX,Yを変数と呼びます。

X=5
Y=2
X-Y=Z
Z=3


このようにX,Yの値が変わればZの値も変わります。Zの関係式が足し算や、掛け算、割り算でもいいのです。Zはいわば、XYの用途の仕方を示すもので、条件を与えるのが変数になっているのです。X,Yのような変数は値を入れておくパックのようなものです。

■プログラム中で変数を使うためには、その変数を宣言する必要があります。その宣言の仕方は、整数型と小数型と文字型があります。たとえばaを整数の変数として宣言するには、
 int a;
short int a;
long int a;

などがあります。short,longはそれぞれデータの許容範囲を示していて、それぞれ16ビット、32ビットの数値を表すことができます。したがって整数変数の宣言の基本形はint a;となります。
複数宣言するには、intを何度も書くのは面倒ですから。
int a,b,c,d;
とします。
また、これらは小文なので、;が必要になります。「aを変数として宣言する!」なのです。そして、
float a;
 double a;
long double a;

は、小数の変数を宣言する方法で、それぞれ32ビット、64ビット、64ビットの数値を表すことができます。データの許容範囲はまだ深く考える必要はないと思います。なので、小数の変数の宣言の基本形は float a; ということになります。もじの変数宣言は
 char a;

で行われますがさまざまな注意ポイントがあるのでこれはしばらく封印です。

■最後に変数の大事な性質として、2つポイントがあります。
①変数=値での=は代入を意味する。
②代入された値は新しいもので上書きされる。

①について、a=234 はaに234を代入せよ!という意味です。したがって、234=aはプログラムでは成り立ちません。234にaは代入できませんから。
②についてたとえば、
  int a;
a=2384
a=234
a=328
と書いたならこの時点でaは328です。
> カレンダー
02 2024/03 04
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
> FLASH
> 最新コメント
(10/30)
(10/22)
(10/14)
(10/09)
(10/03)
> 最新トラックバック
> profile
HN:
川端悦子
年齢:
36
HP:
性別:
男性
誕生日:
1988/01/12
職業:
大学生
趣味:
釣り
> QRコード
> ブログ内検索