下記変数宣言文a - e に最も適切な説明1〜5を選んで,記号で答えなさい。(各3点、合計15点)
- float v; 2
- long int v; 5
- short int v; 4
- double v; 3
- int v; 1
- int(整数)型変数の宣言文
- 浮動小数点型変数の宣言文
- 倍精度浮動小数点型変数の宣言文
- short型変数の宣言文
- long型変数の宣言文
下のプログラムはキー入力を関数scanf()で変数iまたはdに代入する文である。
(1)〜(4)の中で正しいものを記号で答えなさい ________________
又、正しいもの以外は正しく書き直しなさい(各5点、合計25点)
int i;
double d;
/*(1)*/ scanf("%f", &i); scanf("%d", &i);
/*(2)*/ scanf("%d", &i); (変更の必要なし)
/*(3)*/ scanf("%d", i); scanf("%d", &i);
/*(4)*/ scanf("%f", &d); scanf("%lf", &d); /* %lf は %le, %lgでも可 */
以下はscanfを用いて,float型変数aにキー入力をし、printfを用いて、
出力するプログラムである。下線部を埋めて完成させなさい。(各5点、合計45点)
(実行例)
% ./a.out
aを入力してください : 12.45
a=12.450000
#include <stdio.h>
main()
{
float a;
printf("aを入力してください : ");
scanf("%f", &a);
printf("a=%f\n",a);
}
/*
float を doubleにしても良い。ただし、その場合、scanfの%fは
%lf, %lg等のdoubleに対応した書式指定でなくてはならない。
printfの書式については%f, %lfのどちらでも構わない。また、
printfで%g, %lgを使用した場合、余分な0は表示されなくなり、
実行例と完全には一致しないが対応関係は間違いではないので、
正解とする。
*/