상수란(const)?

 

변하지 않는 값

 

 

언제든지 변경될 수 있는 정보를 나타낼 때는 상수를 만들지 말자

특히 서비스의 가격, 제품 버전 번호 또는 브랜드 이름을 저장하지 말자

 왜냐하면 시간이 지남에 따라 변경될 수 있다.

 

 

상수는 const 키워드로 선언

 

ex) const int hp = 10;

var과 마찬가지로 선언만 할수 없다

ex) const int maxHp;

 

선언과 값 할당을 동시에 하자

 

초기화 : 선언 후 값을 할당

 

const는 생성과 동시에 값 할당 해야

 

올바른 예

 

 

namespace Step12
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //int maxHp = 100;
            //maxHp = 120;
            //Console.WriteLine(maxHp);

            const int MaxHp = 100;
            Console.WriteLine(MaxHp);

            //상수는 선언과 동시에 할당
            const string Monday = "Monday";
            Console.WriteLine(Monday);

            const float PI = 3.14f;
            Console.WriteLine(PI);
        }
    }
}

'Study > C#' 카테고리의 다른 글

[C#] 형식 변환  (0) 2024.05.25
[C#] 열거형식  (0) 2024.05.25
[C#] Var 키워드  (0) 2024.05.25
[C#] 오류와 디버깅  (0) 2024.05.24
[C#] 컴파일과 빌드  (0) 2024.05.24

 

변수 선언

형식을 직접 선언한 것처럼

컴파일러가 형식을 결정한다.

 

컴파일러란????????????

 

 

https://eunjinii.tistory.com/4

 

 

변수 선언시 변수명 앞에

변수 타입을 명시 해줘야하지만

 

var 키워드를 사용하면

 

변수에 할당되는 값에 따라

컴파일러가 형식을 결정

 

ex)

var hp = 10;

var damage = 12.3f;

var name = "홍길동";

var obj = new object();

 

var 키워드 사용 시 주의 사항

 

※다음과 같이 정의만 해서는 안된다.

 

ex) var armor;

반드시 값을 할당해 줘야 한다.

 

object obj = new object();
Console.WriteLine(obj); //System.Object ??

 

 

지금 정리할 내용은 아니지만 궁금하여 검색을 해보았다.



 

 

var로 입력후 변수명에 커서를 가져다 대면 변수의 타입을 볼 수 있다.

 

 

namespace Step11
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var hp = 10;
            Console.WriteLine(hp);

            var damage = 12.3f;
            Console.WriteLine(damage);

            var name = "홍길동";
            Console.WriteLine(name);

            var word = 'A';
            Console.WriteLine(word);

            var isTest = true;
            Console.WriteLine(isTest);

            var obj = new object();
            Console.WriteLine(obj);
        }
    }
}

'Study > C#' 카테고리의 다른 글

[C#] 열거형식  (0) 2024.05.25
[C#] 상수  (0) 2024.05.25
[C#] 오류와 디버깅  (0) 2024.05.24
[C#] 컴파일과 빌드  (0) 2024.05.24
[C#] 주석  (0) 2024.05.24

오류 또는 에러 또는 버그

 

프로그램이 얘기치 않게 동작하게 만드는 프로그램안의 실수 또는 결함

 

디버그, 디버깅이란?

 

프로그램에서 버그를 제거하는 과정

 

 

 

 

오류의 종류

 

Syntax Error : 구문 오류

 

잘못된 문법의 사용으로 발생하는 오류

구문 오류는 컴파일 과정에서 검사 되기 때문에

오류를 수정하지 않으면 실행 불가

; 빠짐

 

} 빠짐

 

 

 

 

Logical Error : 논리 오류

 

프로그램이 부정확하게 동작하게 하지만

비정상적으로 종료 또는 충돌시키지는 않는 버그

계산식 안에 ( ) 가 생략됨

 

 

 

 

 

Run-time Error : 실행 오류

 

구문 오류도 논리 오류도 아니지만

프로그램이 실행 시 오류가 생겨 종료 됨

(즉, 프로그램이 비정상적인 동작 또는 종료)

ex) 0으로 나누기, 없는 파일 접근 하기 등

 

오류의 내용과 해당 줄을 알려줌

 

'Study > C#' 카테고리의 다른 글

[C#] 상수  (0) 2024.05.25
[C#] Var 키워드  (0) 2024.05.25
[C#] 컴파일과 빌드  (0) 2024.05.24
[C#] 주석  (0) 2024.05.24
[C#] 데이터 타입 bool, char, object  (0) 2024.05.24

컴퓨터는 0과 1로만 명령어를 처리

컴파일 : 사람이 이해하는 언어를 컴퓨터가 이해할 수 있도록 바꿔 주는 것

https://www.youtube.com/watch?v=9_7qrjQIbgw&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=8

 

빌드 : 소스 코드 파일을 실행 할 수 있는 소프트웨어로 변환하는 과정 또는 결과물

 

콘솔 프로젝트에서 빌드를 하면 .exe파일이 생성됨

 

 

빌드 성공이라고 나오진 않았지만 문제가 없으므로 넘어가도 됨.

 

여기에서 우클릭 -> 파일탐색기 -> 파일탐색기에서 폴더열기 -> bin -> debug 안에 들어가면 있다.

exe파일을 더블클릭하면 실행과 동시에 꺼짐

 

 

Console.Read(); 입력

그 후 키를 입력 받을때가지 기다리기 ( 깜빡 거림)

그러다 멈추고 계속하려면 아무키나 누르십시오 누르면 완료가 된 상태

 

다시 폴더로 들어가면 튕기지 않고 깜빡거리면서 잘 실행됨

'Study > C#' 카테고리의 다른 글

[C#] Var 키워드  (0) 2024.05.25
[C#] 오류와 디버깅  (0) 2024.05.24
[C#] 주석  (0) 2024.05.24
[C#] 데이터 타입 bool, char, object  (0) 2024.05.24
[C#] 변수와 값, 데이터 타입 (int, float, string)  (0) 2024.05.23

주석 : 프로그래밍에 있어서 내용을 메모하는 목적

소스 코드를 더 쉽게 이해할수 있도록 만듬

주석의 종류


1. // : 한 줄 주석
2. /* */ : 여러 줄 주석

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Step08
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //한줄 주석
            /* => 계속 엔터를 치면 늘어난다.
             * => 여러줄 주석에 사용
             *  
             * 따라서 이 사이에 메모를 하면 된다.
             * 
             * 
             */

            /**/     // 를 입력하고 사이에 메모를 남긴다.


            /*
             여러줄 주석입니다.
                여러줄 주석입니다.    <= 이렇게 탭을 눌러 들여쓰기
             
             
             
             */  //=> 여기서 이 줄의 *에 커서를 붙인 후 space로 공간 확보

            Console.WriteLine("Hello World");
            //Console.WriteLine("Hello World");


        }
    }
}

 

 

한줄은 주석처리가 되어 한 줄만 실행됨

 

 

단축키 : 드래그 후

 

Ctrl + K + C                   => 주석

         Ctrl + K + U                   => 주석 해제

 

 

 

단축키 변경하는 법

도구 -> 옵션

검색 창에 => 키보드

'Study > C#' 카테고리의 다른 글

[C#] 오류와 디버깅  (0) 2024.05.24
[C#] 컴파일과 빌드  (0) 2024.05.24
[C#] 데이터 타입 bool, char, object  (0) 2024.05.24
[C#] 변수와 값, 데이터 타입 (int, float, string)  (0) 2024.05.23
[C#] Start  (0) 2024.05.23

bool : 논리형식

true 혹은 false값

 


char: 문자형식
'a'와 같이 작은 따옴표 안에 문자 하나의 값을 나타내는 형식

 


object : 오브젝트형식
아무거나 넣을수 수 있는 형식

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Step7
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //bool형식 변수 선언 및 할당
            bool isLucky = true;

            //변수에 값 할당
            isLucky = false;

            //출력
            Console.WriteLine(isLucky);
            //변수에 값을 넣으면 이전에 있던 값은 사라진다.

            //char형식 변수 선언
            char word;
            //값 할당
            word = 'a';

            //출력
            Console.WriteLine(word); // a

            //object형식 변수 선언
            object obj;
            //모든 값을 할당 가능
            obj = 100;      //정수 int
            obj = 12.3f;    //소수점 float
            obj = "홍길동";  //문자열 string
            obj = true;     //논리형식 bool
            obj = '김';     //문자형식 bool


            //출력
            Console.WriteLine(obj);
        }
    }
}

 

 

하나의 변수에 값을 여러개 넣으면 같은 위치에 덮여쓰여져서 마지막의 값이 출력된다.

 

'Study > C#' 카테고리의 다른 글

[C#] 오류와 디버깅  (0) 2024.05.24
[C#] 컴파일과 빌드  (0) 2024.05.24
[C#] 주석  (0) 2024.05.24
[C#] 변수와 값, 데이터 타입 (int, float, string)  (0) 2024.05.23
[C#] Start  (0) 2024.05.23

변수란 ?

 

값이 저장된 메모리상의 위치

값에는 숫자 문자 등 다양한 종류가 있다.


키워드는 미리 정의되어 있는 예약된 식별자


이런것들이 데이터 타입

예시 3개


int : 정수(음수, 0, 양수)

float : 부동 소수점은 소수점이 있는 숫자

  string : 문자열은 문자들의 집합

 


값을 저장하기 위해 변수를 만들어야 한다

 

 



변수를 만든다 = 변수 정의 또는 변수 선언

정의 하는 법 = > 데이터타입 변수명;

int a ;
string b;



변수에 값을 저장 또는 넣는다 = 변수에 값 할당

변수에 값 할당 => 변수명 = 값;

int a = 10;
sting hello = "안녕하세요";





여기 '='는 같다가 아니라 오른쪽 값을 왼쪽 변수에 할당하는 '연산자'

 



Console.WriteLine은 괄호안에 값을 콘솔창에 출력해주는 기능

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Step2
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //주석 : 프로그램이 실행될 때 주석부분은 실행하지 않음

            //변수 선언 또는 변수 정의
            //정수형 체력 변수를 정의
            int hp;
            //int hp; 같은 이름의 변수를 다시 정의 할 수 없다. 값이 저장된 메모리상의 위치 -> 변수

            //변수에 값 할당
            //= 연산자를 사용 => =는 같다X 오른쪽 값을 왼쪽 변수에 넣는 연산자
            hp = 10;

            //다음과 같이 변수를 정의하고
            //할당하는 것을 한번에 할 수 있다
            int damage = 5;
            //변수에 할당된 값을 출력
            Console.WriteLine(hp);
            Console.WriteLine(damage);

            //소수점형식 변수 방어수치를 선언
            float armor;

            //변수에 값을 할당

            armor = 3.5f;

            Console.WriteLine(armor);

            //문자열 형식 변수 이름을 정의
            string name;
            //name변수에 값을 할당
            name = "홍길동";
            //변수의 값을 출력
            Console.WriteLine(name);
        }
    }
}



실행 단축키 => Ctrl + F5

 

 


소수점 형식은 접미사f를 값뒤에 붙여줘야 한다.

float a = 10.2f;

'Study > C#' 카테고리의 다른 글

[C#] 오류와 디버깅  (0) 2024.05.24
[C#] 컴파일과 빌드  (0) 2024.05.24
[C#] 주석  (0) 2024.05.24
[C#] 데이터 타입 bool, char, object  (0) 2024.05.24
[C#] Start  (0) 2024.05.23

변수란?

 

값이 저장된 메모리상의 위치

 

 

 

메모리에 값이 담기는 과정?

 

 

 

 

 

 

 

키워드란?

값이 미리 정의되어 있는 예약된 식별자

 

식별자란?

식별자는 변수명을 포함한 다양한 프로그램 요소에 부여된 이름

식별자는 변수뿐만 아니라 함수명, 클래스명, 상수명 등과 같은 프로그램의 여러 요소들에 사용됨

 

 

 

 

값의 종류?

 

  1. 리터럴(Literal): 코드에서 직접적으로 사용되는 고정된 값. 예를 들어, 정수, 부동 소수점 숫자, 문자, 문자열 등 있다. 예를 들어, 42, 3.14, 'a', "Hello"와 같은 것들이 리터럴입니다.
  2. 변수(Variable): 프로그램이 실행될 때 값이 할당되는 메모리의 위치를 가리키는 이름. 변수는 프로그램 실행 중에 값이 변경될 수 있습니다.
  3. 상수(Constant): 프로그램에서 값이 고정된 것을 나타내는 식별자입니다. 상수는 변수와 달리 한 번 정해지면 그 값을 변경할 수 없습니다.
  4. 표현식(Expression): 변수, 상수 및 연산자를 포함하여 값을 계산하기 위한 구조입니다. 예를 들어, x + y와 같은 것은 두 변수 x와 y의 값을 더한 결과를 나타내는 표현식입니다.
  5. 함수(Function) 호출 결과: 함수를 호출할 때 반환되는 값입니다. 함수는 입력을 받아서 계산을 수행하고 그 결과를 반환할 수 있습니다.
따라서 데이터 타입이라 말하는 int, float, string 등은 값의 종류가 되는 것이다.

 

 

즉 변수에 값을 할당할때 작동되는 과정은..

 

따라서 int a = 10;

bool isTrue = true;

const a = 10;

public void Start() {값}

이 모든 겂은 값의 종류가 될 수 있다.

'Study > CS' 카테고리의 다른 글

[CS] 키보드의 특수문자 이름  (0) 2024.05.27
[CS] 메모리  (0) 2024.05.23

메모리란?

 

컴퓨터에서 정보를 처리하기 위해 일시적으로 보관하는 기억장치

 

게임이 실행되는 동안 값은 메모리에 저장된다.

 

 

 

 

RAM( Random Access Memory )이란?

사용자가 자유롭게 내용을 읽고 쓰고 지울 수 있는 기억장치

컴퓨터에서 데이터를 일시적으로 저장하고 빠르게 읽고 쓰는 데 사용되는 기억 장치

 

여기 Random이란 무작위가 아닌

어느 위치를 뜻하며

즉, 어느 위치에든 똑같은 속도로 접근하여 읽고 쓸 수 있다.

 

RAM(Random Access Memory)은 주소 버스(Address Bus)를 통해 접근된다.

주소 버스는 컴퓨터의 메모리 주소를 전송하는 데 사용되며,

주소 버스의 크기는 시스템이 지원하는 메모리의 양을 결정

RAM은 행(row)과 열(column)이 있는 배열 형태로 데이터를 저장

이러한 배열에서 데이터에 접근하기 위해 행 번호와 열 번호를 사용

이러한 행과 열의 개념은 주로 DRAM(Dynamic RAM)과 관련이 있다.

 

캐시 메모리(Cache Memory)는 RAM과 CPU(Central Processing Unit) 사이에 위치하여

CPU가 RAM에 접근하는 시간을 단축시키는 데 사용되는데,

캐시 메모리는 RAM에서 빈번하게 사용되는 데이터나 명령을 저장하여 CPU가 이에 빠르게 접근할 수 있도록 한다.

이러한 캐시 메모리는 RAM보다 빠르고 비용이 비싸지만, 전체 시스템의 성능을 향상시킨다.

병렬 처리는 한 번에 여러 작업을 동시에 처리함으로써 성능을 향상시키는 기술

RAM은 병렬 처리 기술을 사용하여 데이터를 읽거나 쓸 수 있다.

이는 시스템의 성능을 향상시키는 데 도움이 된다

 

하드디스크에 보관된 정보는 전원이 꺼져도 사라지지 않고 보관되지만
휘발성 메모리에 올라간 정보는 전원이 꺼지면 모두 사라진다.
속도는 느리지만 전원이 끊어져도 정보를 저장할 수 있는

비휘발성 메모리인

자기 테이프, 플로피 디스크, 하드 디스크같은 보조 기억 장치가 나오게 되었다.

 

https://namu.wiki/w/RAM

 

RAM

R andom A ccess M emory 사용자가 자유롭게 내용을 읽고 쓰고 지울 수 있는 기억장치 . 컴퓨

namu.wiki

 

 

 

 

 

ROM( Read Only Memory  )란?

첫 내용 작성에 특수 기기가 필요

특성 상 동적으로 쓸 수 없는 장비

한번 기록한 정보가 전원 유지와 상관없이 (반)영구적으로 기억됨 -> 삭제 , 수정 불가능한 기억장치

비휘발성 메모리

https://namu.wiki/w/ROM

 

ROM

Read-only memory의 약자로 첫 내용 작성에 특수 기기가 필요하고 특성 상 동적으로 쓸 수가 없는 장비.

namu.wiki

 

 

 

 

메모리에 값이 담기는 과정?

 

https://codingsmu.tistory.com/140

 

[Combinational Logic Circuit] 디코더(Decoder)

해당 강의노트는 S. Brown and Z. Vranesic, McGraw-Hill의 [Fundamentals of Digital Logic with VHDL Design, 3rd Edition] 책을 기반으로 작성되었습니다 Decoder - Decoder - An n-to-$2^n$ binary decoder - Tri-state Buffer - Read-only Memory,

codingsmu.tistory.com

 

 

 

'Study > CS' 카테고리의 다른 글

[CS] 키보드의 특수문자 이름  (0) 2024.05.27
[CS] 변수와 값, 메모리에 담기는 과정  (0) 2024.05.23

새 프로젝트는 .Net Framework로 만드는데 없으면


Visual Studio Installer에서 수정을 누르고 


.Net 데스크 톱 선택 후 설치하면 생성됨

Tab : 오른쪽 들여쓰기(4개의 공백문자로 치환)


Shift + Tab : 왼쪽 들여쓰기

메서드 : 일련의 문을 포함하는 코드 블록

메인 메서드 : 프로그램이 시작되면 실행이 되는 첫번째 메서드(프로그램 제어가 시작되고 끝나는 곳)

프로그램 생성 시 자동 완성되고 지우면 안된다

Main을 main으로 바꾸면 안된다.

코드 작성시 에러가 나면 Main메서드를 지웠거나 수정했을 수 있다

'Study > C#' 카테고리의 다른 글

[C#] 오류와 디버깅  (0) 2024.05.24
[C#] 컴파일과 빌드  (0) 2024.05.24
[C#] 주석  (0) 2024.05.24
[C#] 데이터 타입 bool, char, object  (0) 2024.05.24
[C#] 변수와 값, 데이터 타입 (int, float, string)  (0) 2024.05.23

+ Recent posts