問題1.

次のプログラム中にある printf 文によって、表示される値を書け。

int i=6;
main()
{
    float x=3.0;
    int y;
    y = i++ / 2;
    printf("y = %d¥n", y);
    {
        int i=5;
        float x;
        printf("i = %d¥n", i);
        x = (float)i / 2;
        printf("x = %f¥n", x);
    }
    y = ++i;
    printf("y = %d¥n", y);
    printf("x = %f¥n", x);
}

問題2.

次の2つのプログラムa), b) において、イの部分に整数型変数 a の値を代入する文を入れるとき、1)と2)の場合に、画面に出力される結果がどうなるか、回答欄に記入せよ。

1) a = 90
2) a = 24

a) int a, i = 0; for(イ; a<=100; a+=10){ printf("ans1 = %d¥n", a); i++; if(i > 2) break; } printf("ans2 = %d¥n", a);

b) int a, i = 0; イ; do{ printf("ans3 = %d¥n", a); if(i > 2) break; i ++; a += 10; }while(a <= 100); printf("ans4 = %d¥n", a);

問題3.

次のプログラムによって画面に出力される結果を示せ。

char a[] = "Chi ba";
char *b;
int n=0;
for(b=a; *b != '¥0'; b++)
    n++;
printf("n = %d¥n", n);

問題4.

a)

以下のプログラムの実行したときに、キーボードから、次の文字列と最後に Ctrl+d(¥^d) を入力したときに、表示される文字列を書け

b = c+d/f

b)

if else 文の部分¥underline¥bf{のみ}を switch case 文を使って書き直せ。

#include 
main()
{
     int a;
     a = getchar();
     while(a != EOF){
         if(a == ' ' || a == '+'){
             a = '-';
         }
         else if(a == '/'){
             a = '*';
         }
         else{
             a = 'x';
         }
         putchar(a);
         a = getchar();
     }
}

問題5.

a)

関数 sub をポインタ引数を使わずに、戻り値によって値を返すように、次のプログラムを、プロトタイプ宣言も含めて書き換えよ。

b)

実行結果を示せ。

#include <stdio.h>
void sub(int *n);
main()
{
     int num=10;
     sub(&num);
     printf("NUM = %d¥n", num);
}
void sub(int *n)
{
     *n = *n * *n * *n;
}

問題6.

次のプログラムを、ポインタ変数を用いて書き直せ。ただし、解答欄に書かれた変数以外は使用してはならない。

     char a[] = "TUIS", b[10];
     int i=0;
     while(a[i] != '¥0'){
          b[i] = a[i];
          i++;
     }
     b[i] = a[i];