반응형

---- 01 ----

입력한 정수에 대해 홀 or 짝 판단하기
ex)
정수 입력 : 8  >> 결과 : 짝수
정수 입력 : 9  >> 결과 : 홀수
--활용--
int.Parse(Console.ReadLine());
Console.Write("정수입력  : ");   # 정수입력 :  이라는 문자가 띄워짐

int a, b ;     # 정수 변수 a 와 b를 만듬

a = int.Parse(Console.ReadLine())    # a의 값을 사용자에게 입력 받도록 만듬
b = a % 2;   # b는 a 가 2로 나눴을때 나머지

if (b == 0)  # 만약 b가 0이면
{
Console.WriteLine("짝수");  # 짝수이고
}
else  # 아니면 즉, 나머지가 생기면
{
Console.WriteLine("홀수");  # 홀수이다
}

---- 02 ----

정수 2 개를 입력 받아 해당 데이터를 교환하기
단, 단순히 출력 순서만 변경하는 것이 아니라 실제 변수에 있는 데이터가 서로 교환되어야한다

ex)
정수 (2 개) 입력 : 5 10
=====> 교환 전 <=====
5, 10
=====> 교환 후 <=====
10, 5
밑에있는 코드 사용할것
int.Parse(Console.ReadLine());
int a, b ;    # 정수 변수 a 와 b를 만듬
a = int.Parse(Console.ReadLine());       # a의 값을 사용자에게 입력 받도록 만듬
b = int.Parse(Console.ReadLine());       # b의 값을 사용자에게 입력 받도록 만듬


Console.WriteLine(" 교환 전 ");
Console.Write(a);
Console.Write(",");
Console.Write(b);
Console.WriteLine();

int c ;   # 정수 변수 c를 만듬              # ex) a=3,  b=6,  c= x
c = b ;  # c의 값은 b와 같아지고       # a=3, b=6, c=6
b = a ;  # b의 값은 a와 같아지고       # a=3, b=3, c=6 
a = c ;  # a의 값은 c와 같아진다        # a=6, b=3, c=6

Console.WriteLine(" 교환 후 ");
Console.Write(a);
Console.Write(",");
Console.Write(b);
Console.WriteLine(); 

---- 03 ----

점수를 입력 받아 해당 점수에 해당하는 학점 출력하기
(단, 1 자리 수에 따라 -, 0, + 출력)

-, 0, + 점수 범위
- 0 ~ 3 : -
- 4 ~ 6 : 
- 7 ~ 9 : +
- 100점은 알파벳 표시만

ex)
점수 입력 : 63 결과 : D
점수 입력 : 100 결과 : A

--활용--
int.Parse(Console.ReadLine());
Console.Write("점수 입력 : ");
int a = int.Parse(Console.ReadLine());

Console.Write("너의 학점은  ");

if (a >= 100)
{
Console.Write("A");
}
else
{
     if (a >= 90)
     {
     Console.Write("B");
     }
     else if (a >= 80)
     {
     Console.Write("C");
     }
     else if (a >= 70)
     {
     Console.Write("D");
     }
     else
     {
     Console.Write("F");
     }

     //a를 10으로 나누었을때
     //나머지의 값이 7보다 크면 무언가를 실행해라
     if (a % 10 >= 7)
     {
     Console.Write("+");
     }
     else if (a % 10 <= 4)
     {
     Console.Write("");
     }
     else
     {
     Console.Write("-");
     }
     }

 

반응형

'언어 C#' 카테고리의 다른 글

연산자  (2) 2023.01.07
변수 & 상수  (0) 2023.01.03
C# 자료형  (0) 2023.01.03
Visual Studio 기본설정 & 폴더 생성 | 작은 팁  (0) 2023.01.03
반응형

++ 글쓴이의 공부 기록용이라 내용이 계속 수정될 수 있습니다
만약 이글에 문제점이 있다면 의견 남겨주시면 글쓴이의 공부에 도움이 될 거 같습니다!! ++

연산지란?

주어진 역할을 수행하는 특별한 의미를 지니는 부호를 의미
즉, 연사자를 활용하면 데이터를 프로그램에 목적에 맞게 제어 및 처리하는 것이 가능하다.

C# 연산자 종류

산술 연산자 + 덧셈
- 뺄셈
* 곱셈
/ 나눗셈
% 나머지

관계 연산자 < 작다
> 크다
<= 작거나 같다
>= 크거나 같다
== 같다
!= 같지 않다

할당 연산자 = 다른 연산자와
조합할 수 있다
+=
-=
*=
...

논리 연산자 && and(전부 참)
|| or(하나라도 참)
! not(부정)

증감 연산자 ++ 증가
--- 감소

부호 연산자 + 양수
- 음수

비트 연산자 & and
| or
^ xor
~ not
<< 왼쪽(쉬프트)
>> 오른쪽(쉬프트)

조건 연산자 (?:) 삼항 연산자라고도 함
기타 연산자 (sizeof, 형 변환 연산자, 우선순위 연산자)
그 외에도 있음

 

ex)
/** 초기화 */
public static void Start(string[] args)
{
  Console.Write("정수 (2개) 입력 :");  # 정수 10 과 20을 입력한경우
  var H = Console.ReadLine().Split(); 

  int A = int.Parse(H[0]);  # int - 정수
  int B = int.Parse(H[1]);

  Console.WriteLine("\n산술 연산자");
  Console.WriteLine("{0} + {1} = {2}", A, B, A + B);
  Console.WriteLine("{0} - {1} = {2}", A, B, A - B);
  Console.WriteLine("{0} * {1} = {2}", A, B, A * B);
  Console.WriteLine("{0} / {1} = {2}", A, B, A / (float)B);   
        # (float - 실수) 형 번환 연산자로 정수를 실수으로 인식

  Console.WriteLine("{0} % {1} = {2}", A, B, A % B);
}
----결과----
산술 연산자
10 + 20 = 30
10 - 20 = -10
10 * 20 = 200
10 / 20 = 0.5  # 실수값
10 % 20 = 10

Console.WriteLine("\n관계 연산자");
Console.WriteLine("{0} < {1} = {2}", A, B, A < B);
Console.WriteLine("{0} > {1} = {2}", A, B, A > B);
Console.WriteLine("{0} <= {1} = {2}", A, B, A <= B);
Console.WriteLine("{0} >= {1} = {2}", A, B, A >= B);
Console.WriteLine("{0} == {1} = {2}", A, B, A == B);
Console.WriteLine("{0} != {1} = {2}", A, B, A != B);
----결과----
관계 연산자
10 < 20 = True
10 > 20 = False
10 <= 20 = True
10 >= 20 = False
10 == 20 = False
10 != 20 = True
Console.WriteLine("\n논리 연산자");
Console.WriteLine("{0} && {1} = {2}", A, B, A !=0 && B != 0);
Console.WriteLine("{0} || {1} = {2}", A, B, A !=0 || B != 0);
Console.WriteLine("!{0} = {1}", A, !(A != 0));
----결과----
논리 연산자
10 && 20 = True
10 || 20 = True
!10 = False

Console.WriteLine("\n증감 연산자");   # 변수안에 저장된 값을 바꿀수있다
Console.WriteLine("{0}, {1}", ++A, --B);   # 전이 증감 연산자 (선증감 후연산)
Console.WriteLine("{0}, {1}", A--, B++);   # 후이 증감 연산자 (선연산 후증감)
----결과----
증감 연산자
11, 19
11, 19

Console.WriteLine("\n증감 연산자 후");
Console.WriteLine("{0}, {1}", A, B);
----결과----
증감 연산자 후
10, 20

}

 

반응형

'언어 C#' 카테고리의 다른 글

연습문제  (0) 2023.01.09
변수 & 상수  (0) 2023.01.03
C# 자료형  (0) 2023.01.03
Visual Studio 기본설정 & 폴더 생성 | 작은 팁  (0) 2023.01.03
반응형

++ 글쓴이의 공부 기록용이라 내용이 계속 수정될 수 있습니다
만약 이글에 문제점이 있다면 의견 남겨주시면 글쓴이의 공부에 도움이 될 거 같습니다!! ++

변수란?

변수는 특정 데이터를 저장하거나 읽어 들일 수 있는 공간
즉, 변수를 활용하면 프로그램이 구동 중에 필요에 따라 재사용할 수 있는 데이터를 처리하는 것이 가능하다.

++ C# 이름 작성 시 주의 사항 ++
- 첫 문자는 숫자가 불가능하다
- 대소문자 구분   
   #  A  와 a 는 다름

- 동일한 공간에 동일한 변수는 존재할 수 없다 
   # { 이 안에 동일한 변수가 있어서는 안 됨 } 
- C#은 변수를 한글로 작성가능   

   # 한글은 잘 사용하지 않기 때문에 가능하면 대소문자, 숫자, _(언어스코어) 로만 조합해서 작성할 것 

++ C# 변수 선언 방법 ++
자료형  +  변수 이름
ex)
int   a   =   0   ;
float   b   =   0.0f   ;

++ 변수를 선언할 때 초기화하는 습관 필요 ++
변수 선언   = 값 ;
ex)

int    a    =  0 ;    # 당장에 값이 없다면 보통 0을 넣어둔다.
int    a    =     ;    # 초기화하지 않을 경우 알 수 없는 값이 들어가 있으므로 쓰레기값, 의미 없는 값이라고 한다.

상수란?

상수는 일반적인 변수와 달리 한번 데이터가 할당되고 나면 더 이상 해당 데이터를 변경하는 것은 불가능하고 해당 데이터를 읽어 들일 수만 있는 공간

++ C# 상수 선언 방법 ++
const 자료형  +  상수 이름
반응형

'언어 C#' 카테고리의 다른 글

연습문제  (0) 2023.01.09
연산자  (2) 2023.01.07
C# 자료형  (0) 2023.01.03
Visual Studio 기본설정 & 폴더 생성 | 작은 팁  (0) 2023.01.03
반응형

++ 글쓴이의 공부 기록용이라 내용이 계속 수정될 수 있습니다
만약 이글에 문제점이 있다면 의견 남겨주시면 글쓴이의 공부에 도움이 될 거 같습니다!! ++

자료형이란?

데이터를 해석하는 방법을 의미
즉, 동일한 형태의 데이터라 하더라도 자료형에 의해서 데이터를 처리하는 결과가 달라질 수 있다는 것을 의미한다.

또한, 자료형은 특정 데이터를 저장하거나 읽어 들일 수 있는 공간의 크기를 제한하는 역할을 수행한다.
즉, 자료형에 따라 처리 가능한 데이터의 크기가 달라진다는 것을 의미한다.

C# 자료형은 데이터 형식에 따라 값 형식 참조 형식으로 구분된다.

값 형식  &  참조형식

++ 값형식 ++
시스템에 의해서 자동으로 관리되는 자료형을 의미
즉, 해당 자료형의 데이터가 더 이상 사용되지 않을 경우 시스템에 의해서 자동으로 정리된다.

값 형식 자료형은 해당 데이터를 직접 처리하는 특징이 존재하기 때문에 해당 형식 자료형 데이터를 다른 공간에 할당(복사) 할 경우 사본이 만들어지는 특징이 존재

++ 참조 형식 ++

가비지 컬렉션에 의해서 관리되는 자료형을 의미
즉, 해당 자료형의 데이터가 더 이상 사용되지 않을 경우 가비지 컬렉션에 의해서 자동으로 정리된다.

참조 형식 자료형 데이터는 값 형식과 달리 데이터를 직접 처리하는 것이 아니라 해당 데이터를 지니고 있는 공간에 대한 참조 값 (메모리 주소)를 제어하는 특징이 존재
즉, 참조 형식 데이터를 다른 공간에 할당할 경우 사본이 만들어지는 것이 아니라 데이터를 지니고 있는 공간에 대한 참조 값만 복사된다는 것을 알 수 있다.

C# 자료형 종류

++ 값 형식 ++
> 정수
- byte (1 바이트)
- sbyte (1 바이트) 

- short (2 바이트)
- ushort (2 바이트)

- int (4 바이트)
- uint (4 바이트)

- long (8 바이트) 
- ulong (8 바이트)

> 실수
- float (4 바이트)
- double (8 바이트)
- decimal (16 바이트)

> 논리 
- bool (1 바이트)

> 문자 (=정수와 같다)
- char (2 바이트)

++ 참조 형식 ++
> 문자열
- string

> 객체 
- object

 

자료형 + 변수  =  값
byte nByte01 = byte.MaxValue;
sbyte nByte02 = sbyte.MaxValue;

short nShort01 = short.MaxValue;
ushort nShort02 = ushort.MaxValue;

int nInt01 = int.MaxValue;
uint nInt02 = uint.MaxValue;

long nLong01 = long.MaxValue;
ulong nLong02 = ulong.MaxValue;

Console.WriteLine("정수");
Console.WriteLine("byte : {0}, {1}", byte.MinValue, nByte01);
Console.WriteLine("sbyte : {0}, {1}", sbyte.MaxValue, nByte02);

Console.WriteLine("\n short : {0}, {1}", short.MaxValue, nShort01);
Console.WriteLine("ushort : {0}, {1}", ushort.MaxValue, nShort02);

Console.WriteLine("\nint : {0}, {1}", int.MinValue, nInt01);
Console.WriteLine("uint : {0}, {1}", uint.MinValue, nInt02);

Console.WriteLine("\nlong : {0}, {1}", long.MinValue,
Console.WriteLine("ulong : {0}, {1}", ulong.MinValue, nLong02);

---결과---

정수
byte : 0, 255 sbyte : 127, 127
short : 32767, 32767 ushort : 65535, 65535
int : -2147483648, 2147483647
uint : 0, 4294967295
long : -9223372036854775808, 9223372036854775807
ulong : 0, 18446744073709551615

float fFloat = float.MaxValue;
double dblDouble = double.MaxValue;
decimal dmDecimal = decimal.MaxValue;

Console.WriteLine("\n실수");
Console.WriteLine("float : {0}, {1}", float.MinValue, fFloat);
Console.WriteLine("double : {0}, {1}", double.MinValue, dblDouble);
Console.WriteLine("decimal : {0}, {1}", decimal.MinValue, dmDecimal);

---결과---

실수
float : -3.402823E+38, 3.402823E+38  # E+38 = 10의 38승이라는 뜻,  여섯째 자리까지 정확한 숫자(그 뒤로는 오차발생)
double : -1.79769313486232E+308, 1.79769313486232E+308   # 15째 자리까지 정확한 숫자(그 뒤로는 오차발생)
decimal : -79228162514264337593543950335, 79228162514264337593543950335

bool bIsBool = true;   
# 참 또는 거짓 표현용
char chLetter = 'A';   
# 1개의 문자만 표현   # string 보다 포퍼머스가 좋다
string oStr = "Hello, World!"; 
# 여러문자(문장)를 표현  
object oObj = 10 ;     
# C#의 모든 자료형은 직접적 or 간접적으로 object 클래스를 상속하고 있어 모든 자료형의 데이터를 넣을 수 있다.
# 내부적으로 박싱언박싱의 퍼포머스를 저하시킴

Console.WriteLine("\n기타");
Console.WriteLine("bool : {0}", bIsBool);
Console.WriteLine("char : {0}", chLetter);
Console.WriteLine("string : {0}", oStr);
Console.WriteLine("object : {0}", (int) oObj);
Console.WriteLine("object : {0}", oObj);


---결과---

기타
bool : True
char : A
string : Hello, World!
object : 10

정수 자료형  &  실수 자료형

++ 정수자료형 ++
소수점이 포함되어있지 않은 숫자 데이터를 처리할 수 있는 자료형을 의미

> signed 자료형

양수 / 음수를 모두 처리할 수 있다

> unsigned 자료형
양수만을 처리하는 것이 가능하다
음수에 대한 처리가 불필요할 경우 사용
signed 자료형에 비해 처리할 수 있는 양수의 크기가 2배 더 크다

++ 실수 자료형 ++
소수점이 포함되어있는 수자 데이터를 처리할 수 있는 자료형을 의미

float와 double 자료형은 부동 소수점 방식으로 실수 데이터를 처리하기 때문에 처리되는 데이터는 미세한 오차를 지나고 있으며 해당 오차를 부동 소수점 오차라고 한다.

decimal 자료형은 고정 소수점 방식에 비해 높은 정밀도를 자랑하지만 부동 소수점 방식에 비해 처리되는 속도가 떨어지는 단점이 존재한다.

정수 자료형 데이터는 소수점을 처리할 수 없는 대신 빠른 속도로 데이터를 처리하는 것이 가능하기 때문에 정수 자료형과 실수 자료형 모두 사용할 수 있는 상황이라면 장수 자료형을 사용하는 것이 좀 더 좋은 성능을 지니는 프로그램을 제작할 수 있다.

 

반응형

'언어 C#' 카테고리의 다른 글

연산자  (2) 2023.01.07
변수 & 상수  (0) 2023.01.03
Visual Studio 기본설정 & 폴더 생성 | 작은 팁  (0) 2023.01.03
프로그래밍_C#기초  (0) 2023.01.02

+ Recent posts