アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下の設問に答えよ。
型はC言語の基本型でchar型を除いたもので答えよ。


1.次の演算結果の型と値を求めよ。
100/10*5

2.次の演算結果の型と値を求めよ。
1.0f/2

3.次の演算結果の型と値を答えよ。
100/10*5.0

4.次の演算結果の値を答えよ。
54321-54321/100*100

5.次の演算結果の値を答えよ。※(int)(式)は,式の値の小数点以下を切り捨ててint型に変換する。
(int)(123/5.0+0.5)

6.次の演算結果の型と値を答えよ。
5<2

7.次の演算結果の型と値を答えよ。
5.0>2

8.変数a,b,cに関して,a<b<cの真偽を評価する論理式を書け。

9.次の文が実行された後,変数i,kの値はいくらになっているか。変数はどちらもint型とする。
i=0;
k=0;
k=5+(++i);

10.次の文が実行された後,変数kの値はいくらになっているか。変数はどちらもint型とする。
i=5;
k=5;
k *= i<0 ? (-i) : i;

11.次の文Aは実行されるか。kの型はintである。文法的な誤りはない。
if(k = 0)
 文A

A 回答 (3件)

違うところだけ指摘します。



■次の演算結果の型と値を求めよ。
1.0f/2
-------
型:double
値:0

間違いです。
1.0f の 「f」の意味を調べてください。
検索するなら、「型」と「サフィックス」


■次の演算結果の型と値を答えよ。
5.0>2
-------
型:double
値:

間違いです。
比較演算子の演算結果は、
必ず int になります。
5 < 2 の結果が 0 になることが
わかれば、 5.0 > 2 の結果も同
じように考えることができます。

■変数a,b,cに関して,a<b<cの真偽
 を評価する論理式を書け

 a < b の真偽を評価する式はそのまま
a < b です。
 
ただし、 < は2項演算子なので
 2つのものしか比較できません。
 ・ a < b < c とはどういう意味でしょうか?
 ・ a, b および、b, c それぞれの関係に
   着目します。
 ・ 2つの条件式ができますから、その2つを
   つなげるための論理演算子を調べます。

i=0;
k=0;
k=5+(++i);
-------
i=2
k=7

間違いです。
++ という演算子の意味と、
前置・後置の違いをあわせて
調べてください。


i=5;
k=5;
k *= i<0 ? (-i) : i;
-------
i=1
k=1073834952

間違いです。
「3項演算子」を調べてください

あと、結果の型が int なら、
答えも、50 でいいですが、
結果の型が double なら、50.0
としたほうが、親切ではある
でしょう。
    • good
    • 0

> 演算結果の型とはなんでしょうか?



 問題の中に、「型はC言語の基本型でchar型
を除いたもので答えよ」とあります。

・テキストの中から、「型」を挙げてみましょう。
・100 や 10 や 5 の型はどれになるか調べましょう
・調べた「型」同士の演算結果の型を調べましょう。
・そうすると、100/5*5 の型がわかります。

・10f や、5.0 の型も同じように調べましょう。
・それぞれの「型」同士の演算結果の型を調べましょう。

> 値は普通に計算して100/10*5=50
> という形でよいのでしょうか?

この場合はたまたま正解です。
テキストの中で、演算結果についての注意事項
を探してみましょう。

> このような計算の方法をしらないのですが

テキストの中から、「比較演算子」の説明を調べましょう
    • good
    • 0
この回答へのお礼

なんとかわかる範囲で解いてみました。
間違い等があるかと思います。
本日までなので、なんとか教えていただければと思います。
空欄はわからないものです。
テキストがない授業なのでこまっていたのですよ><


■次の演算結果の型と値を求めよ。
100/10*5
-------
型:int
値:50


■次の演算結果の型と値を求めよ。
1.0f/2
-------
型:double
値:0


■次の演算結果の型と値を答えよ。
100/10*5.0
-------
型:double
値:50


■次の演算結果の値を答えよ。
54321-54321/100*100
-------
型:int
値:21

■次の演算結果の値を答えよ。
(int)(式)は,式の値の小数点以下を切り捨ててint型に変換する。
(int)(123/5.0+0.5)
-------
25

■次の演算結果の型と値を答えよ。
5<2
-------
型:int
値:0


■次の演算結果の型と値を答えよ。
5.0>2
-------
型:double
値:


■変数a,b,cに関して,a<b<cの真偽を評価する論理式を書け。


■次の文が実行された後,変数i,kの値はいくらになっているか。変数はどちらもint型とする。
i=0;
k=0;
k=5+(++i);
-------
i=2
k=7


■次の文が実行された後,変数kの値はいくらになっているか。変数はどちらもint型とする。
i=5;
k=5;
k *= i<0 ? (-i) : i;
-------
i=1
k=1073834952

■次の文Aは実行されるか。kの型はintである。文法的な誤りはない。
if(k = 0)
 文A

-------
代入演算式の値と型は、代入が実行された後の左辺の値と型になる。
よって、kに0が代入されてしまい、()内が常に偽となってしまうので実行されない。

正しくは
=

==
とすべき

お礼日時:2009/05/22 03:45

補足を要求します。

いったいどこがわからないんでしょうか。
”全部”はなしで、1つ1つ、わからないところを補足願います。

この回答への補足

質問方法が不適切でした。
申し訳ございません。

>1.次の演算結果の型と値を求めよ。
100/10*5

演算結果の型とはなんでしょうか?
値は普通に計算して100/10*5=50
という形でよいのでしょうか?


>$6.次の演算結果の型と値を答えよ。
5<2

このような計算の方法をしらないのですが教えていただけますでしょうか?

補足日時:2009/05/21 14:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!