xをint型、yをfloat型の変数とするとき、次の計算の結果、値がいくらになるかを示せ。
a) x = 7 + 3 * 5 / 9 - 1;
b) x = 2.5 / 3 + 0.5;
c) y = 4 / 7 * 3;
d) y = 4 * 3 / 7;
次の2つのプログラムa), b) において、イの部分に整数型変数 a の値を代入する文を入れるとき、1)と2)の場合に、画面に出力される結果がどうなるか、回答欄に記入せよ。
a)
イ
while(a < 256){
a *= 2;
printf("ans1 = %d\n", a);
}
printf("ans2 = %d\n", a);
b)
イ
do{
a *= 2;
printf("ans3 = %d\n", a);
}while(a < 256);
printf("ans4 = %d\n", a);
1) a = 300;
2) a = 150;
次のプログラムによって画面に出力される結果を示せ。
#include <stdio.h>
main()
{
int a = 2, b = 4;
float m;
m = (float)a/4;
printf("m = %f\n", m);
b *= a++;
printf("b = %d\n", b);
printf("a = %d\n", a);
b = a*m;
printf("b = %d\n", b);
}
以下のプログラムの switch case 文の部分のみを else if 文を使って書き直せ。
#include <stdio.h>
main()
{
char a[]="c is easy, to learn.";
int i=0;
while(a[i] != '\0'){
switch(a[i]){
case ' ':
case ',':
a[i] = '_';
break;
case '.':
a[i] = '#';
break;
default:
a[i] -= 32;
}
i++;
}
printf("%s\n", a);
}
次のプログラムによって画面に出力される結果を示せ。
char a[8] = "T U I S";
int n=0;
while(a[n] != '\0'){
n++;
}
printf("n = %d\n", n);
a) 次のプログラムを実行したときに2次元配列 s の各要素に代入される値と同じ値で宣言時に初期化するように、[ア]の宣言文を書き換えよ。
b) 次のプログラムによって画面に出力される結果を示せ。
int row, col;
int s[2][4]; [ア]
for(row=0; row<2; row++)
for(col=0; col<4; col++)
s[row][col] = (row+1)*(col+1);
for(col=0; col<4; col++){
for(row=0; row<2; row++)
printf("%d ", s[row][col]);
printf("\n");
}
次のプログラムで、[イ]の部分が
a) #define N 3 b) #define N 8
のそれぞれの場合について、画面に出力される結果を示せ。
#include <stdio.h>
[イ]
main()
{
int j=3, k=1, r=3;
while(j < 100){
j *= r;
k ++;
if(k > N) break;
printf("j=%d\n", j);
}
printf("j=%d\n", j);
printf("k=%d\n", k);
}