[C#이 보이는 그림책] 1. 기본적인 프로그램
Key point
문자 표시
- Write()
: 모니터에 문자를 표시하는 메소드
- WriteLine()
: 모니터에 문자를 표시하고 줄을 바꾸는(Line:행을 의미) 메소드
- Main()
: 프로그램의 시작 지점(entry point:엔트리 포인트), 프로그램을 실행시키면 맨 먼저 처리된다.
- 프로그램은 클래스 안에서 작성하는 것
다양한 형, 값, 변수
- 변수
: 데이터를 저장해 두는 상자
- C# 언어에서는 형(정수형, 실수형, 문자형 등)을 지정해 변수에 저장
- C#은 숫자와 문자의 구별부터 숫자의 정밀도까지 엄밀하게 형을 지정해줘야 한다.
용어 설명
- 변수
: 임시적인 데이터 저장 공간
- 데이터형
: 데이터 구분 기준(정수형, 실수형, 문자형 등)
- 배열
: 성격이 동일한 변수의 연결, 복수의 같은 형의 변수를 모아 열거한 것
- 열거형
: 정수형에 특정 이름을 붙이고 치환하여 사용하는 방법
- 유니코드
: 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준
Hello World!
using System;
class Hello {
public static void Main() {
Console.WriteLine("Hello World!");
}
}
// 결과 : Hello World!
- 대문자, 소문자 구별 주의
Main()
: 프로그램의 시작, 이것이 없으면 컴파일이나 실행 불가능
- 문자열 표시
Console.Write();
: ()안의 문자열 화면에 표시
Console.WriteLine();
: ()안의 문자열 화면에 표시하고 줄 바꿈
변수
변수의 선언과 대입
int a; // (형) (변수명); | int형 변수 a를 선언한다.
a=2; // (변수) = (값); | 변수 a에 2를 대입한다.
변수의 표시
using system;
class Data{
public static void Main(){
// 변수 a, b 선언
int a;
int b;
// a, b에 각각 2와 3 대입
a=2;
b=3;
// 변수 a에 변수 b의 값 대입 (a 원래 값은 삭제)
a=b;
Console.WriteLine(a); // a 변수의 값 표시
}
}
: 모니터에 문자를 표시하는 메소드
: 모니터에 문자를 표시하고 줄을 바꾸는(Line:행을 의미) 메소드
: 프로그램의 시작 지점(entry point:엔트리 포인트), 프로그램을 실행시키면 맨 먼저 처리된다.
: 데이터를 저장해 두는 상자
- C# 언어에서는 형(정수형, 실수형, 문자형 등)을 지정해 변수에 저장
- C#은 숫자와 문자의 구별부터 숫자의 정밀도까지 엄밀하게 형을 지정해줘야 한다.
용어 설명
- 변수
: 임시적인 데이터 저장 공간 - 데이터형
: 데이터 구분 기준(정수형, 실수형, 문자형 등) - 배열
: 성격이 동일한 변수의 연결, 복수의 같은 형의 변수를 모아 열거한 것 - 열거형
: 정수형에 특정 이름을 붙이고 치환하여 사용하는 방법 - 유니코드
: 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준
using System;
class Hello {
public static void Main() {
Console.WriteLine("Hello World!");
}
}
// 결과 : Hello World!
- 대문자, 소문자 구별 주의
Main()
: 프로그램의 시작, 이것이 없으면 컴파일이나 실행 불가능- 문자열 표시
Console.Write();
: ()안의 문자열 화면에 표시Console.WriteLine();
: ()안의 문자열 화면에 표시하고 줄 바꿈
변수
변수의 선언과 대입
int a; // (형) (변수명); | int형 변수 a를 선언한다.
a=2; // (변수) = (값); | 변수 a에 2를 대입한다.
변수의 표시
using system;
class Data{
public static void Main(){
// 변수 a, b 선언
int a;
int b;
// a, b에 각각 2와 3 대입
a=2;
b=3;
// 변수 a에 변수 b의 값 대입 (a 원래 값은 삭제)
a=b;
Console.WriteLine(a); // a 변수의 값 표시
}
}
int a; // (형) (변수명); | int형 변수 a를 선언한다.
a=2; // (변수) = (값); | 변수 a에 2를 대입한다.
using system;
class Data{
public static void Main(){
// 변수 a, b 선언
int a;
int b;
// a, b에 각각 2와 3 대입
a=2;
b=3;
// 변수 a에 변수 b의 값 대입 (a 원래 값은 삭제)
a=b;
Console.WriteLine(a); // a 변수의 값 표시
}
}
변수 선언은 꼭 행을 나누어 쓰지 않고 한 행에 여러 개 쓸 수도 있다.
a=2; b=3;
// 두 변수 선언
int a; int b;
int a, b;
// 한 변수의 선언과 대입
int a; a = 2;
int a=2;
// 두 변수의 선언과 대입
int a; int b;
a = 2; b = 3;
int a = 2, b = 3;
수치형(정수형과 실수형)
정수형
s
: '부호가 붙는, signed'의 의미
u
: '부호가 붙지 않는, unsigned'의 의미
- 형에 따라 메모리를 사용하는 양이 다르다
- byte -(2배)-> short -(2배)-> int -(2배)-> long
s
: '부호가 붙는, signed'의 의미u
: '부호가 붙지 않는, unsigned'의 의미- byte -(2배)-> short -(2배)-> int -(2배)-> long
형의 이름 | 읽는 방법 | 들어갈 값의 범위 | 크기(비트 수) |
---|---|---|---|
sbyte | 에스바이트 | ~ | 8 |
byte | 바이트 | ~ | 8 |
short | 쇼트 | ~ | 16 |
ushort | 유쇼트 | ~ | 16 |
int | 인트 | ~ | 32 |
uint | 유인트 | ~ | 32 |
long | 롱 | ~ | 64 |
ulong | 유롱 | ~ | 64 |
실수형
- 소수점 이하를 사용할 수 있는 실수형
- float -(2배)-> double
형의 이름 | 읽는 방법 | 들어갈 값의 범위 | 크기(비트 수) |
---|---|---|---|
float | 플로트 | ~ | 32 |
double | 더블 | ~ | 64 |
- decimal형
- 컴퓨터 계산의 반올림 오차를 없애고 소수점 이하의 값을 28자리까지 정확히 표현한 형
형의 이름 | 읽는 방법 | 들어갈 값의 범위 | 크기(비트 수) |
---|---|---|---|
decimal | 데시멀 | ~ | 128 |
문자와 문자열
문자
- 유니코드(Unicode) 문자 1개
char
라는 형의 변수에 저장하고 크기는 16비트이며 문자는 '
로 묶어 표현한다.
char a = 'A';
char a = "A";
문자의 표시
// 문자 A를 그대로 지정하여 표시
Console.WriteLine('A');
// 문자 A를 문자 코드(유니 코드)로 지정하여 표시
Console.WriteLine('\u0041');
// 컴파일 에러 : 문자열을 하나의 문자형 변수에 대입할 수는 없다.
char a = "가";
char a = "abc";
문자열
- 복수의 문자를 모은 것
string
이라는 형에 저장하고 문자열은 "
로 묶는다.
string sweet = "candy";
- 문자열은
+
연산자를 사용해 연결할 수 있다. 한쪽이 수치가 대입되어 있어도 문자로 취급되어 연산이 아니라 문자열에 붙는다.
using System;
class sweets{
static void Main(){
string candy = "캔디";
int a = 3;
string basket = candy + a + "개";
Console.WriteLine(basket);
}
}
// 결과 : 캔디 3개
배열
- 같은 형의 변수 여러 개를 한 개로 모은 것
- 대량의 데이터를 취급할 때나 복수의 데이터를 차례차례 자동으로 읽어 내고자 할 때 사용
new
연산자를 이용해 선언
- 첨자 : 0부터 시작하는 배열의 인덱스 번호
- 요소 : 각 요소에 대한 참조는 a[0], a[1], ...로 표현
int [] a = new int [4];
// (형) [] (배열명) = new (형) (배열의 크기=요소 수)
// 선언과 동시에 초기화하려면 {}안에 값을 입력
int [] a = new int [] {1, 2, 3, 4};
// 이 때 []안에는 요소 수를 세지 않아도 상관X
// {}에 데이터 수에 따라 자동으로 요소 수 결정됨
// 위 코드는 아래와 같이 줄여쓸 수도 있다.
int [] a = {1, 2, 3, 4};
/*
a[0] = 1
a[1] = 2
a[2] = 3
a[3] = 4
*/
배열 요소의 참조와 대입
char
라는 형의 변수에 저장하고 크기는 16비트이며 문자는 '
로 묶어 표현한다.char a = 'A';
char a = "A";
// 문자 A를 그대로 지정하여 표시
Console.WriteLine('A');
// 문자 A를 문자 코드(유니 코드)로 지정하여 표시
Console.WriteLine('\u0041');
// 컴파일 에러 : 문자열을 하나의 문자형 변수에 대입할 수는 없다.
char a = "가";
char a = "abc";
string
이라는 형에 저장하고 문자열은 "
로 묶는다.string sweet = "candy";
+
연산자를 사용해 연결할 수 있다. 한쪽이 수치가 대입되어 있어도 문자로 취급되어 연산이 아니라 문자열에 붙는다.using System;
class sweets{
static void Main(){
string candy = "캔디";
int a = 3;
string basket = candy + a + "개";
Console.WriteLine(basket);
}
}
// 결과 : 캔디 3개
- 같은 형의 변수 여러 개를 한 개로 모은 것
- 대량의 데이터를 취급할 때나 복수의 데이터를 차례차례 자동으로 읽어 내고자 할 때 사용
new
연산자를 이용해 선언- 첨자 : 0부터 시작하는 배열의 인덱스 번호
- 요소 : 각 요소에 대한 참조는 a[0], a[1], ...로 표현
int [] a = new int [4];
// (형) [] (배열명) = new (형) (배열의 크기=요소 수)
// 선언과 동시에 초기화하려면 {}안에 값을 입력
int [] a = new int [] {1, 2, 3, 4};
// 이 때 []안에는 요소 수를 세지 않아도 상관X
// {}에 데이터 수에 따라 자동으로 요소 수 결정됨
// 위 코드는 아래와 같이 줄여쓸 수도 있다.
int [] a = {1, 2, 3, 4};
/*
a[0] = 1
a[1] = 2
a[2] = 3
a[3] = 4
*/
배열 요소의 참조와 대입
각 배열의 요소는 보통의 변수와 같이 참조와 대입이 가능하다.
int [] a = new int [4];
int n = 1;
// a[0]~a[3]에 값을 대입
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
// a[1]의 값 2 표시
Console.WriteLine(a[n]);
다차원 배열
- 두 개 이상의 차원을 가진 배열
- 배열이 요소 수에 따라 가로로 확장해 가는 1차원이었다면, 2차원은 가로와 세로로 확장해 간다.
- 차원 수에 따라
[]
안에 ,
를 사용
- 요소수는
[z, y, x]
방향의 순서대로 되어있다.
// 1차원 배열
int [] a = new int [3];
// 2차원 배열
int[ , ] a = new int [2, 3];
//3차원 배열
int[ , , ] a = new int [2, 2, 3];
- 차원 수에 따라
[]
안에,
를 사용 - 요소수는
[z, y, x]
방향의 순서대로 되어있다.
// 1차원 배열
int [] a = new int [3];
// 2차원 배열
int[ , ] a = new int [2, 3];
//3차원 배열
int[ , , ] a = new int [2, 2, 3];
1차원 배열 | 2차원 배열 | 3차원 배열 |
---|---|---|
// 다차원 배열에 대한 대입, 초기화, 참조
using System;
class Number {
static void Main() {
int[,] a= {
{10, 20},
{30, 40},
{50, 60}
};
a[1,1] = 0;
Console.WriteLine("a[0,0]="+a[0,0]+'\t'+"a[0,1]="+a[0,1]);
Console.WriteLine("a[1,0]="+a[1,0]+'\t'+"a[1,1]="+a[1,1]);
Console.WriteLine("a[2,0]="+a[2,0]+'\t'+"a[2,1]="+a[2,1]);
}
}
// 결과 : a[0,0]= 10 a[0,1]= 20
// a[0,0]= 30 a[0,1]= 0
// a[0,0]= 50 a[0,1]= 60
재그 배열
- 2차원 이상의 배열에서 각 방향의 요소 수가 일정치 않은 배열
- 재그(jag)는 '들쭉날쭉하다'는 의미
int [][] a = new int [3][];
a[0] = new int[3] {10, 20, 30};
a[1] = new int[2] {40, 50};
a[2] = new int[1] {60};
// 선언과 동시에 초기화
int [][] a = new int [][] {
new int[] {10, 20, 30},
new int[] {40, 50},
new int[] {60}
};
배열의 요소 수
length
사용
// 1차원 배열
int [] a = new int[4];
int b = a.length // 4
// 다차원 배열
int [ , ] a = new int[3, 2];
int b = a.length // 6 = 3*2
// 재그 배열 : 각 열의 요소 수 구할 수 있다.
int [][] a = new int [][] {
new int[] {1, 2, 3},
new int[] {4, 5},
};
int b = a.length; // 2
int c = a[1].length; // 2
1차원 배열 | 다차원 배열 | 재그 배열 |
---|---|---|
열거형
- 정수값에 특정 이름(식별자)을 붙인 것
enum
을 먼저 선언
enum Animal {mouse, cat, bird, dog, koala, pig, lion};
// Animal : 열거형명
// mouse, cat, bird, dog, koala, pig, lion : 열거정수(쉼표로 구분)
- 각 식별자에는 0부터 차례로 1씩 증가하는 정수값이 할당됨
enum Animal {mouse, cat, bird, dog=100, koala, pig=200, lion};
- 임의의 수를 주면 그 수로부터 1씩 증가해 감
- int형이 아닌 정수형을 기본으로 하여 열거형을 만들고 싶다면
:(콜론)
을 이용하여 형을 지정해주면 된다.
enum Animal:byte {mouse, cat, bird, dog=100, koala, pig=200, lion};
- 식별자를 참조하려면
열거형명.열거정수
와 같이 적는다.
using System;
class Enumsample
{
enum Animal { mouse, cat, bird, dog=100, koala, pig=200, lion };
static void Main() {
Animal a;
a = Animal.dog;
Console.WriteLine(Animal.cat); // cat
// (int)를 앞에 붙여 형을 변환하면 정수값을 참조할 수 있다.
Console.WriteLine((int)Animal.dog); // 100
Console.WriteLine((int)Animal.lion); // 201
Console.WriteLine(a); // dog
}
}
- 복습 : 연습문제 2번, 3번, 4번, 5번
Author And Source
이 문제에 관하여([C#이 보이는 그림책] 1. 기본적인 프로그램), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@ssu_hyun/C이-보이는-그림책-1.-기본적인-프로그램
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
enum
을 먼저 선언enum Animal {mouse, cat, bird, dog, koala, pig, lion};
// Animal : 열거형명
// mouse, cat, bird, dog, koala, pig, lion : 열거정수(쉼표로 구분)
enum Animal {mouse, cat, bird, dog=100, koala, pig=200, lion};
:(콜론)
을 이용하여 형을 지정해주면 된다.enum Animal:byte {mouse, cat, bird, dog=100, koala, pig=200, lion};
열거형명.열거정수
와 같이 적는다.using System;
class Enumsample
{
enum Animal { mouse, cat, bird, dog=100, koala, pig=200, lion };
static void Main() {
Animal a;
a = Animal.dog;
Console.WriteLine(Animal.cat); // cat
// (int)를 앞에 붙여 형을 변환하면 정수값을 참조할 수 있다.
Console.WriteLine((int)Animal.dog); // 100
Console.WriteLine((int)Animal.lion); // 201
Console.WriteLine(a); // dog
}
}
Author And Source
이 문제에 관하여([C#이 보이는 그림책] 1. 기본적인 프로그램), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ssu_hyun/C이-보이는-그림책-1.-기본적인-프로그램저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)