24.09.30 Day54

최지원·2024년 9월 30일

C#

용도

  • 유니티 게임/AR/VR/MR
  • WinForm (C++,C#) (한컴오피스)
  • WebApp - Node, Java, Python
  • 아두이노,라즈베리 - C/C++

기초

// 네임스페이스 : 클래스 이름의 중복 제거
namespace example
{
    // internal class : 내부클래스를 의미
    internal class Program
    {
        // static void Main() : 프로그램 시작점(Entry Point)
        static void Main(string[] args)
        {
            // Console.WriteLine : 콘솔창에 문자열 출력 함수
            Console.WriteLine("Hello, World!");
        }
    }
}

형변환

using System;
using System.Numerics;

namespace Examples
{
    internal class ex02
    {
        static void Main()
        {
            // 형변환
            // 예) int(4)  -> long(8) 문제없음
            //     long(8) -> int(4)  데이터 잘릴 수 있음
            int myInt = 10;
            long myLong = myInt;

            long myLong2 = 1234_5678_9000;
            Console.WriteLine(myLong2);
            int myInt2 = (int)myLong2; //데이터 잘릴 수 있음 강제형변환
            // 형변환 연산자 : 타입
            Console.WriteLine(myInt2);

            // byte(1) < short(2) < int,unit(4) < long,ulong(8) < float(4) < double(8)
            // int   -> float : 큰방에서 작은 방, 문제없음
            // float -> int   : 작은방에서 큰 방, 데이터 잘릴 수 있음
            int myInt3 = 10;
            float myFloat = myInt3;
            float myFloat2 = 3.14f;
            int myInt4 = (int)myFloat2; //실수 -> 정수(소숫점 잘림)

			////////////////////////////////////////////////////////////////////////////////   

            //연습문제
            // 1. 정수형 변수 100을 선언하고,
            //  실수형으로 형변환 한 후에 그 변수를 출력하시오.
            float a = 100;
            int a_change = (int)a;
            Console.WriteLine("연습문제1 : " + a_change);


            // 2. 실수형 변수 3.14를 선언하고
            // 정수형으로 형변환 한 후에 그 변수를 출력하시오.
            double py = 3.14;
            int py_change = (int)py;
            Console.WriteLine("연습문제2 : " + py_change);


            // 3. int 타입 변수에 200을 넣어 선언하고
            //  long타입으로 형변환 한 후에 출력하시오.
            int b = 200;
            long b_change = (long)b;
            Console.WriteLine("연습문제3 : " + b_change);

            // 4. long 타입 변수에 200억을 넣어 선언하고,
            // int 타입으로 형변환 한 후에 출력하시오.(잘림현상 발생!)
            long c = 20000000000;
            int c_change = (int)c;
            Console.WriteLine("연습문제4 : " + c_change);
        }
    }
}

콘솔 입력

using System;
using System.Collections.Generic;

namespace Examples
{
    internal class ex03
    {
        static void Main()
        {
            // 콘솔로부터 입력받기
            //Console.Write("입력하세요 : ");
            //string input = Console.ReadLine();
            //Console.WriteLine(input);

            //int myInt = int.Parse(input);
            //Console.WriteLine(myInt*2);


            //onsole.ReadLine()은 문자열로 입력받기 때문에 정수를 원할 경우 형변환 필요

            //////////////////////////////////////////

            // 연습문제
            // 1. 콘솔로부터 정수 1개를 입력받고, 
            //  그 수에 10을 곱한 수를 출력하시오.
            Console.Write("숫자를 입력하세요 : ");
            string input_num = Console.ReadLine();
            int num = int.Parse(input_num);
            Console.WriteLine(input_num + " X 10 = " + num * 10);

            // 2. 콘솔로부터 정수 1개를 입력받고 (1~100까지 중 하나)
            //  그 수가 짝수이면 "짝수", 홀수이면 "홀수"라고 출력하시오.
            Console.Write("1 ~ 100 사이의 숫자를 입력하세요 : ");
            string input_num2 = Console.ReadLine();
            int num2 = int.Parse(input_num2);
            if (num2 % 2 == 0)
            {
                Console.WriteLine(num2 + " = 짝수");
            }
            else
            {
                Console.WriteLine(num2 + " = 홀수");
            }

            // 3. 콘솔로부터 문자열 2개를 입력받고, 합쳐서 출력
            Console.Write("문자1를 입력해주세요 : ");
            string word1 = Console.ReadLine();
            Console.Write("문자2를 입력해주세요 : ");
            string word2 = Console.ReadLine();
            Console.Write("문자1 + 문자2 = " + word1 + word2);
        }
    }
}

조건문

using System;

namespace Examples {
    internal class ex05 {
        static void Main() {
            // 조건문 if문 swith문
            // 1) 단일 if문
            if (true) {
                Console.WriteLine("조건식이 true임");
            }

            // 2) if else문
            int num = 30;
            if (num == 10) {
                Console.WriteLine("10입니다.");
            } else if (num == 20) {
                Console.WriteLine("20입니다.");
            } else if (num == 30) {
                Console.WriteLine("30입니다.");
            } else {
                Console.WriteLine("그 외의 수 입니다.");
            }

            // 3) 중첩 if문
            if (true) {
                if (true) {

                } else {

                }
            }
        }
    }
}

연산자

  • 연산자
  • 산술연산자 : + - * / %
  • 증감연산자 : ++ --
  • 관계연산자 : == != < > <= >=
  • 논리연산자 : &&(and), ||(or), !(not)
  • 삼항연산자 : ? :
  • 대입연산자 : = 복합(+= -= *= /=)
  • null 조건부 연산자 : ?.. ?[]
  • null 병함 연산자 : ??

연습문제

using System;

namespace Examples {
    internal class ex_0930 {
        static void Main() {
            //연습문제3
            //1. 정수형 변수 하나를 선언하고 123으로 초기화한다.
            //  백의 자릿수와 십의 자릿수, 일의 자릿수를 구하여 출력하시오.
            // 출력예) 백의 자릿수: 1
            //        십의 자릿수: 2
            //        일의 자릿수: 3
            Console.WriteLine("\n<문제1>");
            int num = 123;
            Console.WriteLine("백의 자릿수 : " + num/100);
            Console.WriteLine("십의 자릿수 : " + (num%100)/10);
            Console.WriteLine("일의 자릿수 : " + num%10);

            //2. 콘솔로부터 정수 2개를 입력받고
            // 더 큰 수를 출력하시오.
            // 입력예) 10
            //        20
            // 출력예) 20

            Console.WriteLine("\n<문제2>");
            Console.Write("숫자1를 입력하세요 : ");
            string input_num1 = Console.ReadLine();
            int num1 = int.Parse(input_num1);

            Console.Write("숫자2를 입력하세요 : ");
            string input_num2 = Console.ReadLine();
            int num2 = int.Parse(input_num2);

            if(num1 > num2) {
                Console.WriteLine(num1);
            } else {
                Console.WriteLine(num2);
            }

            //3. 콘솔로부터 10자미만의 문자열을 입력받고,
            // null이 아니라면(null 조건부 연산자 사용), 그 문자열의 길이를 출력하시오.
            // string str; str.Length 문자열의 길이
            Console.WriteLine("\n<문제3>");
            Console.Write("문자를 입력하세요 : ");
            string str = Console.ReadLine();
            if (str != null) {
                Console.WriteLine(str.Length);
            }

            //4. string input = null 로 선언하고
            // input이 null이라면 기본값 "null값입니다."를 출력하는 코드를 작성하시오.
            // null 병합 연산자 사용
            Console.WriteLine("\n<문제4>");
            string input = null;
            if(input == null) {
                Console.WriteLine("null값입니다.");
            }

        }
    }
}

0개의 댓글