3월 11일 #프로그래밍 언어 활용 기술

sejun-Lee·2025년 3월 11일
post-thumbnail

✅ 프로그래밍 언어 기초 및 활용

-Visual Studio 2022를 실행하여 준 후, 새 프로젝트 만들기를 눌러줍니다.

-드롭다운 리스트에서 각각 C#, Windows, 콘솔을 눌러주신 후 나오는 두 개의 옵션 중, 닷넷 프레임워크가 적힌것을 클릭 후 ‘다음’을 눌러줍니다.

-솔루션 및 프로젝트를 같은 디렉터리에 배치를 체크!

-제대로 준비가 되었다면 현재 화면이 출력됩니다.



Hello World !!

// 주석 : 소스 코드에서 의도를 설명하기 위한 용도의 작성글

/*  범위 주석 : 시작(/*)에서 끝(* /) 까지 주석으로 취급
    프로그램은 위에서 부터 차례로 실행한다. 
    오타를 알아서 수정하지 않는다. 
    명령의 마지막은 ; 으로 표시해야 한다.
*/

Console.WriteLine("안녕하세요.");
Console.Write("이름 : ");
Console.WriteLine("이세준");
//Console.WriteLine("아직 만들고 있는 중인 코드인데 실행되면 안되는데....");
Console.WriteLine(""); //줄바꿈을 위한 빈줄 작성

// 여러열을 Alt 드래그 하면 동시에 작성 및 수정 가능
Console.WriteLine("내용작성");
Console.WriteLine("내용작성");
Console.WriteLine("내용작성");
Console.WriteLine("내용작성");
Console.WriteLine("");

//  \ : 이스케이프 시퀸스
//  나는 "경고"를 했다.

**역슬레쉬가 안될때는 도구->옵션->글꼴 에서 Consolas로 변경!!**

Console.WriteLine("나는 다섯줄 뒤에 \n\n\n\n\n \"경고\"를 했다.");
Console.WriteLine("");

// 프로그램은 0부터 시작한다.  0,1,2,3,4
//자리표시자 0 : 몬스터 이름, 1: 공격력 2: 방어력
Console.WriteLine("{0}는/은 공격력 {1}을 가지고, 공격을 하면 {0}이/가 {1}의 데미지를 주며, {1}이 띄워집니다.", "오크", 10, 20);
Console.WriteLine("{0}는/은 공격력 {1}을 가지고, 공격을 하면 {0}이/가 {1}의 데미지를 주며, {1}이 띄워집니다.", "슬라임", 3, 30);
Console.WriteLine("{0}는/은 공격력 {1}을 가지고, 공격을 하면 {0}이/가 {1}의 데미지를 주며, {1}이 띄워집니다.", "드래곤", 100, 50);
Console.WriteLine("");
//Console.WriteLine("오크는 공격력 10을 가지고, 공격을 하면 오크가 10의 데미지를 주며, 10이라고 하는 데미지 숫자를 표현해 줍니다.");
//Console.WriteLine("슬라임는 공격력 3을 가지고, 공격을 하면 슬라임가 3의 데미지를 주며, 3이라고 하는 데미지 숫자를 표현해 줍니다.");
//Console.WriteLine("드래곤는 공격력 10을 가지고, 공격을 하면 드래곤가 100의 데미지를 주며, 100이라고 하는 데미지 숫자를 표현해 줍니다.");


변수 !!

/*********************************************************************************
<변수 (variable)>

1. 데이터를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간
2. 데이터를 저장할 수 있는 메모리 공간을 의미하며, 저장된 값은 변경 가능
 *********************************************************************************/

//정수(integer) : 0, 1, 2, -10, -30, 80
int attack = 0;   //공격력
int defense = 200;  //방어력

attack = 100;

Console.WriteLine("공격력 {0}으로 공격합니다", attack);
Console.WriteLine("");

/*********************************************************************************
<변수 선언 및 초기화>
1. 자료형의 선언하고 빈칸 뒤에 변수이름을 작성하여 변수 선언
2. 선언한 변수에 값을 처음 할당하는 과정을 초기화라고 함
3. 변수 선언과 초기화 과정을 동시에 진행할 수 있음
*********************************************************************************/

int iValue = 10;                    // int 자료형의 이름이 intValue인 변수에 10의 데이터를 초기화
float fValue;                       // float 자료형의 이름이 floatValue인 변수를 선안하지만 값을 초기화하지 않음
// int iValue;                      // error : 같은 이름의 변수는 사용 불가 
// Console.WriteLine(floatCalue);   // error : 선언한 변수에 값을 초기화가기 전까지 사용 불가

/*********************************************************************************
<변수명 규칙>
1. 변수명은 유의미한 단어를 쓰자!
2. 띄어쓰기 불가능 (카멜표기법 : 띄어쓰기 대신 단어의 시작마다 대문자로 표현을 해줌)
3. 특수문자 불가능
4. 숫자부터 시작 불가능
*********************************************************************************/
int attackDelayTime = 20; //카멜표기법

int level = 1;
Console.WriteLine("게임 시작시 레벨은 {0}입니다.", level);
Console.WriteLine("플레이어가 전투에서 승리했습니다.");
Console.WriteLine("레벨이 올랐습니다!!");
level = 2;
Console.WriteLine("레벨은 {0}입니다.", level);
Console.WriteLine("");

/*********************************************************************
<상수 (Constant)>
    
1. 프로그램이 실행되는 동안 변경할 수 없는 데이터
2. 프로그램에서 값이 변경되기를 원하지 않는 데이터가 있을 경우 사용
3. 저장된 값은 프로그램 종료시까지 변경 불가능
**********************************************************************/

const string gameName = "레전드 RPG";  // const = 바꿀 수 없는 값
int maxPlayer = 8;

// gameName = "다른 게임 이름";	//변경 불가능
maxPlayer = 7;	//변경가능

Console.WriteLine("{0} 시작!", gameName);

/*********************************************************************
<자료형 (Data Type)>

1. 자료(데이터)의 형태를 지정
2. 데이터가 메모리에 저장되는 형태와 처리되는 방식을 명시하는 역할
3. 0과 1만으로 구성된 컴퓨터에게 여러 형태의 자료를 저장하기 위함
**********************************************************************/

// 자료형의 종류

// - 논리형 -
bool connect = false; // 참, 거짓

// - 정수형 -
//  byte, sbyte 부호없는 정수형
//  short, int, long 부호있는 정수형 - +
//  ushort, uint, ulong 부호없는 정수형 0~65,535  0~4,294,967,295

//  **int가 기본!!**

// - 실수형 -
//  float, double 부동소수점 실수  -> 소수점 7자리, 15자리

//	**게임 개발에서는 float를 많이 씀!!**

float rate = 0.25f; // **소수점 쓸때는 항상 f를 붙여!!**

// - 문자형 -
//  char, string 유니코드 문자형, 문자열 -> 'a' '한' , "안녕" "abcde"
char key = 'd';
string name = "안녕하세요";

✅Escape Sequence

이스케이프 시퀀스는 역슬래시() 기호와 특정 문자의 조합으로 이뤄진다. 이를 통해 특수문자를 문자열에 포함시킬 수 있으며, 특별한 기능을 제공하기도 한다.

이스케이프 시퀀스이름설명
\n개행(New Line)새로운 줄로 이동
\r복귀(Carriage Return)커서를 현재 줄의 처음으로 이동
\t탭(Tab)일정한 간격의 공백 삽입
\b백스페이스(Backspace)이전 문자 삭제
\f폼 피드(Form Feed)프린터에서 새로운 페이지로 이동
\v수직 탭(Vertical Tab)수직 탭 삽입 (일반적으로 사용되지 않음)
\\역슬래시(Backslash)\ 문자 자체를 출력
\'작은 따옴표(Single Quote)' 문자 자체를 출력
\"큰 따옴표(Double Quote)" 문자 자체를 출력
\0널 문자(Null Character)널(Null) 문자 삽입
\uXXXX유니코드 문자(Unicode Character)16진수 코드 XXXX에 해당하는 유니코드 문자 삽입
\xXX유니코드 문자(Unicode Character)16진수 코드 XX에 해당하는 유니코드 문자 삽입 (길이 가변)

다만 역슬래시를 많이 작성해야 하는 코드의 경우 이스케이프 시퀀스와 중복될 수 있어 역슬래시를 두번씩 쓰곤 한다. 이로 인한 피로감 때문에 리터럴 문자열을 사용하는 편이 좋다. 리터럴 문자열을 사용하면 역슬래시를 여러번 작성하지 않아도 된다. 주로 파일 경로 등을 출력해야 할 때 자주 사용된다.

profile
초보 개발자

0개의 댓글