본문 바로가기

전체

(363)
[C# 때려잡기] C# 강의 4. 사용자 입력과 형변환 1. 사용자 입력코드상에 때려박은 변수들말고사용자에게 입력을 받고 입력 받은 내용을 변수에 할당하는 방법을 알아보자using System; namespace HelloWorld{ class Program { static void Main(string[] args) { string input; input = Console.ReadLine(); Console.WriteLine(input); } }} WriteLine을 통하여 콘솔창에 썻듯이ReadLine을 통하여 콘솔창에서 값을 읽는다. 2. 형변환그런데 ReadLine을 통하여 읽게 되면 무조건 string형식이다즉 50 을 입력받아도 숫자 50 이 아닌 "50"을 입력받는것이다. 따라서 받은 string을 숫자 50으로 형변환 해주어여한다.using S..
[C# 때려잡기] C# 강의 3. 연산자 변수를 배웠으므로 이제 변수를 활용할 차례이다C#에서는 변수를 다루기위한 기본적인 연사자들을 제공한다. 아래내용은 2018/08/23 - [교육 노트/C++ 기초강의] - [C++ 때려 잡기] C++ 기초강의 1-4 기본문법-연산자와 사용자 입력을 고대로 복사해왔다왜냐면 C++과 거의 똑같이 사용하면 된다. 1.사칙 연산자 : +, -, *, / 2.Mod(나머지) 연산자 : % 3.대입 연산자 : = 4.사칙연산+대입 연산자 : +=, -=, *=, /= 5.증감 연산자 : ++, -- 6.Bit연산자 : &, | ^ 7.비교 연산자 : ==, , =, != 8.논리 연산자 : &&, || 1. 사칙 연산자사칙연산을 위한 연산자로 + - * / 가있다. int x = 10;x = x +10;을 하면 x..
[C# 때려잡기] C# 강의 2. 스트링 (문자열) [C# 때려잡기] C#강의 스트링 1. 문자열char가 문자 하나를 표현하는 방법이다그럼 문자 여러개를 표현하는 방법은 무엇일까 using System; namespace HelloWorld{ class Program { static void Main(string[] args) { char 문자하나 = 'A'; string 문자열 = "AAAAA"; Console.WriteLine(문자하나); Console.WriteLine(문자열); } }} ps.변수명 한글도 되는데 예제를 위해서 이렇게 한것이고 영어로 작성하도록 하자.char는 문자 1글자를 가지고있다. 또한 ' (작은따옴표) 로 둘러싸서 표현한다string 은 1개 이상의 글자를 가지고있으며 " (큰 따옴표) 로 둘러서 표현한다. ps. 문자열에..
[C# 때려잡기] C#강의 1. 변수와 자료형 [C# 때려잡기] C#강의 변수와 자료형 1. 변수수학에서 변수 x,y 할때 그 변수와 동일한 개념이다. 이를 컴퓨터 공학(c++)에서는 컴퓨터 메모리 공간에 값을 저장, 변경, 사용 할 수 있는 공간을 의미한다.값은 있으나 변경 불가능하면 이를 상수라고 부른다. 위는 X라는 변수에 5를 더한 값을 Z라는 변수에 대입한것이다. 2. 변수 타입 C#은 정적 타입 언어로 변수를 만들기 위하여 해당 변수의 타입이 정해져 있어야한다. 변수타입은 해당 변수가 어떤 종류고, 어떤 용도로 사용되는지를 의미하는데 쉽게 설명하자면 X라는 변수를 사용하려면 X가 숫자인지, 문자인지 이러한 정보를 알려주어야 한다는것이다. C#의변수 타입은 다음과 같다. 더 많은데.. 일단 int/float, double/char/bool ..
[C# 때려잡기] 0. C# Hello World using System; namespace HelloWorld{ class Program { static void Main(string[] args) { /* * Hello World 를 출력하는 프로그램 */ Console.WriteLine("Hello World"); //Hello World 출력 } }} 1. 고급언어c#은 고급언어(High-Level)로 0,1만을 이해하는 기계어와 달리 인간이 이해하기 (비교적) 쉽게 만들어진 언어이다여기서 중요한것은 인간의 이해하기쉬운 자연어와 가까울수록 High-Level 이고 기계어와 가까울수록 Low-Level 언어이다Low-Level 언어라고 "아 쉬운 프로그래밍이구나!" 라고 착각하면 안된다. 정신나간 난이도를 보여주므로..C#은 고급언어 중에서도 높은..
[C#] auto property class MyClass{ public int MyField { get; set; }}getter setter를 줄여주는 C#의 킹갓 기능property 와 그마저도 줄여주는 auto-property. get;만쓰면 setter는 없고set만 쓰면 getter는 없고getter과 setter를 좀더 자세하게 구현하고싶으면 저기다가 구현하면된다. 여기서 그냥 get;set;만 쓰는경우대체 public과 무엇이 다른가! 내부적으로 다르다고 한다.그런데 내부적으로 다른게 대체 뭐가 중요한지 결국 public과 똑같이 작동하고똑같이 사용하는데 그냥 public과 대체 무엇이 다른건가 궁금해서 찾아 보았다. 간단히 설명하자면 auto-property가 존재한다는것은 내가 MyClass.MyField를 했을때 이게..
[C++] C++ 의 RTTI, typeid RTTI란 Run Time type info의 약자로타 언어에서의 리플랙션와 유사하다(기능이 많이 떨어진다) 타언어에서 자주쓰던 리플렉션을 C++에서 사용하고싶었는데type_info 구조체를 리턴해주는 typeid라는것이 있었다. 모던 C++은 아니고 원래 C++에 있던거 같은데 있는지도 모르고있었다 ㅜtypeinfo헤더를 포함해주어야한다. int a; double b; MyClass c; cout
[모던 C++] 킹갓 auto 와 decltype auto i = 10; decltype(i) j = 10;auto는 자동으로 형추론을 한다decltype은 declared type의약자로 ()안에 들어간 녀석의 형식을 나타낸다. templateauto Test(T1 a, T2 b)->decltype(a + b) { return a + b;}리턴으로 auto는 가능하나 후행 타입형식을 지정해주어야한다.템플릿의 경우 decltype을 이용하여 후행타입을 정해주면 기가막히게 사용할수있다.