中間試験模擬問題



●問題1:test.cというソースプログラムをコンパイルするコマンドを書け。
■計5点

●問題2:問題2で作成したプログラムを実行するコマンドを書け。
■計5点

●問題3:以下の(1)〜(5)はプログラムの一部である。(1)〜(10)を実行した場合,そ
れぞれ変数
xとyの値はどのような値になるか書け。なお,整数値には小数点は付けてはならない。
また,浮動小数
点型(実数型)の値には,必ず小数点を含めて書くこと。
■各2点計20点
(1)
int x = 0;
x = 8 - 5 * 3 / 2;

(2)
int x = 0;
x = 8 - 5 * 3. / 2;

(3)
double y = 0.0;
y = 8 - 5 * 3 / 2;

(4)
double y = 0.0;
y = 8 - 5 * 3. / 2;

(5)
int x = 0;
x = 3 * 4 / 5;

(6)
int x = 0;
x = 3 * 4 / 5.0;

(7)
double y = 0.0;
y = 3 * 4 / 5;

(8)
double y = 0.0;
y = 3 * 4 / 5.0;

(9)
int x = 15;
x++;

(10)
double y = 10.5;
--y;

★答え:
(解説)
(1)
x:1
(2)
x:0
(3)
y:1.0 または 1.
(4)
y:0.5 または .5
(5)
x:2
(6)
x:2
(7)
y:2.0 または 2.
(8)
y:2.4
(9)
x:16
(10)
y:9.5


●問題4:以下は,int型変数xとdouble型変数yにキーボードから値を入れて表示する
プログラムである。
【a】〜【e】に当てはまる適切な内容を書け。
■各3点計15点

【a】

int main( void ) {

【b】

printf("整数を入力 : ");
scanf(【c】);
printf("浮動小数点数を入力 : ");
scanf(【d】);
printf(【e】); /* ここで,xとyの値を一緒に表示する */

return 0;
}

★答え:
【a】は #include <stdio.h>
【b】は int x; double y; またはそれと同意の内容
【c】"%d", &x
【d】"%lf", &y
 ※【c】と【d】の内容は入れ替わってもよい
【e】次のいずれかと同意の内容。
"%d, %f", x, y
"%d, %g", x, y
"%d, %e", x, y


●問題5:以下の(1)〜(6)はプログラムの一部である。それぞれの部分が実行された
ときに表示される内容を書け。
何も表示されない場合は,「表示されない」と書け。
■各5点計30点
(1)
int x = 10;
x = x + 2;
printf( "%d¥n", x );

(2)
int x = 53;
printf( "%d¥n", x % 7 );

(3)
int x = 50;
x = x * 3;
printf( "%d¥n", x );

(4)
int x = 20;
if( x != 20 ) {
printf( "x != 20¥n" );
}
if( x == 20 ) {
printf( "x == 20¥n" );
}
if( 20 >= x ) {
printf( "20 >= x¥n" );
}

(5)
int x = 75;
if( x < 10 ) {
printf( "x < 10¥n" );
}
else {
printf( "x >= 10¥n" );
}

(6)
int x = 25; int mod = x % 3;
if( mod == 0 ) {
printf( "mod is 0¥n" );
}
else if( mod == 1 ) {
printf( "mod is 1¥n" );
}
else {
printf( "mod is 2¥n" );
}

★答え:
(1)
12
(2)
4
(3)
150
(4)
x == 20
20 >= x
(5)
x >= 10
(6)
mod is 1



●問題6:以下の(1)か(2)のどちらか一方を選択して答えよ。なお,(1)も(2)も答え
は同じになる。
■10点
(1)以下は,プログラムの一部である。この部分が実行されたときに表示される内容
を書け。
int i = 0, n = 0, sum = 0;

i = 1; n = 6; sum = 0;
while( i <= n ) {
sum = sum + i;
i++;
}

printf( "%d¥n", sum );

(2)以下は,プログラムの一部である。この部分が実行されたときに表示される内容
を書け。
int i = 0, n = 0, sum = 0;

n = 6; sum = 0;
for( i = 1; i <= n; i++ ) {
sum = sum + i;
}

printf( "%d¥n", sum );

★答え: 21

●問題7:以下の(1)か(2)のどちらか一方を選択して答えよ。なお,(1)も(2)も答え
は同じになる。
■10点
(1)以下は,プログラムの一部である。この部分が実行されたときに表示される内容
を書け。
int i = 0, j = 0, k = 0, m = 0;

i = 0; j = 0; k = 5, m = 8;
while( i < k ) {
m = m + 3;
j = m + k + i;
i++;
}
printf( "%d¥n", j );

★答え: 32

(2)以下は,プログラムの一部である。この部分が実行されたときに表示される内容
を書け。
int i = 0, j = 0, k = 0, m = 0;

j = 0; k = 5, m = 8;
for( i = 0; i < k; i++ ) {
m = m + 3;
j = m + k + i;
}
printf( "%d¥n", j );

★答え: 32

●問題8:以下の(1)か(2)のどちらか一方を選択して答えよ。なお,(1)も(2)も答え
は同じになる。
■5点
(1)以下は,プログラムの一部である。この部分が実行されたときに表示される内容
を書け。
int i = 0, j = 0, k = 0;

i = 0; j = 20; k = 10;
while( i < k ) {
j = j + k;
if( i % 3 == 0 ) k--;
k--;
i++;
}

printf( "%d¥n", j );

★答え: 51

(2)以下は,プログラムの一部である。この部分が実行されたときに表示される内容
を書け。
int i = 0, j = 0, k = 0;

j = 20; k = 10;
for( i = 0; i < k; i++ ) {
j = j + k;
if( i % 3 == 0 ) k--;
k--;
}

printf( "%d¥n", j );

★答え: 51