Vienna

1일차 본문

언어/이것이 C#이다

1일차

아는개발자 2021. 11. 22. 17:56

오늘부터는 C#도 공부하기로 했다. 교재는 "이것이 C#이다"를 구매했다. 게임잡을 둘러보니 온코테는 C++로 보고 실무는 C#으로 진행되는 경우도 흔하게 볼 수 있었다. 그리고 아무래도 유니티를 쓰려면 C#을 쓸 줄 알아야하니 공부하기로 했다.

이전에도 C#으로 간단한 프로그램을 만든 적이 있었지만 본격적으로 공부하는 건 이번이 처음이다.

 

1. 실습_Hello World

C#의 기초적인 부분은 대강 알고 있기는 하지만, 새 언어를 배울 때마다 Hello World 파일을 만들지 않으면 뭔가 빼먹은 기분이 들어서 패스하지 않고 따라해보았다. 

using System;
using static System.Console;

namespace Hello
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                WriteLine("사용법: Hello.exe <이름>");
                return;
            }
            WriteLine("Hello, {0}!",args[0]);
        }
    }
}

새 언어를 배울 때, Hello World 를 출력해내면 좀 벅차오른다.

 

2. 연습문제1

using System;

namespace 연습문제1_35page
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("여러분, 안녕하세요?");
            Console.WriteLine("반갑습니다!");
        }
    }
}

 

3. 실습_IntegralTypes

using System;

namespace _3장_IntegralTypes_49page
{
    class Program
    {
        static void Main(string[] args)
        {
            sbyte a = -10;
            byte b = 40;

            Console.WriteLine($"a={a},b={b}");

            short c = -30000;
            ushort d = 6000;

            Console.WriteLine($"c={c},d={d}");

            int e = -10_000_000;
            uint f = 300_000_000;

            Console.WriteLine($"e={e},f={f}");

            long g = -500_000_000_000;
            ulong h = 2_000_000_000_000_000_000;

            Console.WriteLine($"g={g},h={h}");

        }
    }
}

 

4. 실습_IntegerLiterals

using System;

namespace _3장_IntegerLiterals_51page
{
    class Program
    {
        static void Main(string[] args)
        {
            byte a = 240;         // 10진수 리터럴
            Console.WriteLine($"a={a}");

            byte b = 0b1111_0000; // 2진수 리터럴
            Console.WriteLine($"b={b}");

            byte c = 0XF0;        // 16진수 리터럴
            Console.WriteLine($"c={c}");

            uint d = 0x1234_abcd;        // 16진수 리터럴
            Console.WriteLine($"d={d}");
        }
    }
}

 

5. 실습_SignedUnsigned

using System;

namespace _3장_SignedUnsigned_54page
{
    class Program
    {
        static void Main(string[] args)
        {
            byte a = 255;
            sbyte b = (sbyte)a;

            Console.WriteLine(a);
            Console.WriteLine(b);
        }
    }
}

 

6. 실습_Overflow

using System;

namespace _3장_Overflow_55page
{
    class Program
    {
        static void Main(string[] args)
        {
            uint a = uint.MaxValue;
            Console.WriteLine(a);
            a++;
            Console.WriteLine(a);
        }
    }
}

 

7. 실습_FloatintPoint

using System;

namespace _3장_FloatintPoint_58page
{
    class Program
    {
        static void Main(string[] args)
        {
            float a = 3.1415_9265_3589_7932_3846f;
            Console.WriteLine(a);

            double b = 3.1415_9265_3589_7932_3846;
            Console.WriteLine(b);
        }
    }
}

 

8. 실습_Decimal

using System;

namespace _3장_Demical_60page
{
    class Program
    {
        static void Main(string[] args)
        {
            float a = 3.1415_9265_3589_7932_3846_2643_3832_79f;
            double b = 3.1415_9265_3589_7932_3846_2643_3832_79;
            decimal c = 3.1415_9265_3589_7932_3846_2643_3832_79m;

            Console.WriteLine(a);
            Console.WriteLine(b);
            Console.WriteLine(c);
        }
    }
}

 

9. 실습_Char

using System;

namespace _3장_Char_61page
{
    class Program
    {
        static void Main(string[] args)
        {
            char a = '안';
            char b = '녕';
            char c = '하';
            char d = '세';
            char e = '요';

            Console.Write(a);
            Console.Write(b);
            Console.Write(c);
            Console.Write(d);
            Console.Write(e);
            Console.WriteLine();
        }
    }
}

 

10. 실습_String

using System;

namespace _3장_String_63page
{
    class Program
    {
        static void Main(string[] args)
        {
            string a = "안녕하세요?";
            string b = "김팁입니다.";

            Console.WriteLine(a);
            Console.WriteLine(b);
        }
    }
}

 

11. 실습_Bool

using System;

namespace _3장_Bool_65page
{
    class Program
    {
        static void Main(string[] args)
        {
            bool a = true;
            bool b = false;

            Console.WriteLine(a);
            Console.WriteLine(b);
        }
    }
}

 

12. 실습_Object

using System;

namespace _3장_Object_67page
{
    class Program
    {
        static void Main(string[] args)
        {
            object a = 123;
            object b = 3.141592653589793238462643383279m;
            object c = true;
            object d = "안녕하세요";

            Console.WriteLine(a);
            Console.WriteLine(b);
            Console.WriteLine(c);
            Console.WriteLine(d);
        }
    }
}

 

13. 실습_BoxingUnboxing

using System;

namespace _3장_BoxingUnboxing_69page
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 123;
            object b = (object)a;
            int c = (int)b;

            Console.WriteLine(a);
            Console.WriteLine(b);
            Console.WriteLine(c);

            double x = 3.1414213;
            object y = x;
            double z = (double)y;

            Console.WriteLine(x);
            Console.WriteLine(y);
            Console.WriteLine(z);
        }
    }
}

 

14. 실습_IntegralConversion

using System;

namespace _3장_IntegralConversion_71page
{
    class Program
    {
        static void Main(string[] args)
        {
            sbyte a = 127;
            Console.WriteLine(a);

            int b = (int)a;
            Console.WriteLine(b);

            int x = 128;
            Console.WriteLine(x);

            sbyte y = (sbyte)x; // 오버 플로 발생
            Console.WriteLine(y);
        }
    }
}

 

15. 실습_FloatConversion

using System;

namespace _3장_FloatConversion_73page
{
    class Program
    {
        static void Main(string[] args)
        {
            float a = 69.6875f;
            Console.WriteLine("a: {0}", a);

            double b = (double)a;
            Console.WriteLine("b: {0}", b);
            Console.WriteLine("69.6875==b:{0}", 69.6875 == b);

            float x = 0.1f;
            Console.WriteLine("x: {0}", x);

            double y = (double)x;
            Console.WriteLine("x: {0}", y);
            Console.WriteLine("0.1==y:{0}", 0.1 == y);
        }
    }
}

 

'언어 > 이것이 C#이다' 카테고리의 다른 글

6일차  (0) 2021.12.03
5일차  (0) 2021.11.30
4일차  (0) 2021.11.25
3일차  (0) 2021.11.24
2일차  (0) 2021.11.23
Comments