using System;
class aaaaaa
{
    static void Main()
    {
        double x, y;

        byte b;
        int i;
        char ch;

        x = 10.0;
        y = 3.0;

        i = (int)(x / y);//double型からint型へのキャスト
        Console.WriteLine("Integer outcome of x / y:" + i);

        i = 100;
        b = (byte)i;
        Console.WriteLine("Value of b:" + b);

        i = 257;
        b = (byte)i;
        Console.WriteLine("Value of b: " + b);
        b = 88;
        ch = (char)b;
        Console.WriteLine("ch:" + ch);
    }
}

わからないのは最後の行です 
ここでビルドすると ch:xになるのですが、なぜxになるのでしょうか?

また、charは文字を一文字だけ保持する役割だと知りましたが、これの存在意義はあるのでしょうか。