5章 演算のはなし
http://www.geocities.jp/ky_webid/c/005.html
変数と変数での計算方法。演算子の話等。
int main() { int num = 100; char c = 'A'; float f = 0.1f; double pi = 3.14; }
float型に整数定数を代入する場合はfをつける。fをつけることで明示的にfloat型だと指定。
char型には単一の文字を代入できる。文字定数を代入する場合はシングルクォートでくくる。
ダブルクォートだと「文字」ではなく「文字列」と認識されるので誤りらしい。ややこしいな。
問題1
次のプログラムを実行すると、画面に何と表示されるか答えてください。
#include <stdio.h> int main(){ int num = 100; int ans; ans = num; ans = num * 2; num = ans / 2; printf( "答えは%d\n", ans ); /* ここで何と表示されるでしょう? */ return 0; }
見たまんま。ansにnum代入で100に→numかける2代入で200に上書き→ans割る2してるけどansに代入してないのでそのまま
よって200。
問題2
次のプログラムを実行すると、画面に何と表示されるか答えてください。
#include <stdio.h> int main(){ int num = 4; int ans; ans = ( (10 * num) - (num * 2) ) / num; printf( "答えは%d\n", ans ); /* ここで何と表示されるでしょう? */ return 0; }
括弧で優先順位つけてるけど数学と同じで掛け算の方が足し算よりも優先されるので実質括弧必要ないように思える。
「(40 - 8) / 4」で答えは8。