본문 바로가기

250610_C# 기초 학습 #1

@코야딩구2025. 6. 10. 22:45

1. 데이터 만들기 실습

// 1번, 2번
int level = 1, count = 15;
float percentage = 0.1f, speed = 20.9f;
string nickname = "Lee", description = "gg";

 

// 3번
int iTen = 9;
float fTen = Convert.ToSingle(iTen); // 컨버트 방식
float fFive = 2.7f;
int iFive = (int)fFive; // 기본 방식

// 4번
int n = 10;
float f = 0.5f;
string s = Convert.ToString(n) + "_" + f.ToString(); // 방식 2개

// 5번
string strTen = "10";
string strSix = "6.2";
int n1 = int.Parse(strTen); // 방식1
float n2 = Convert.ToSingle(strSix); // 방식2

 

C# Convert, Parse와 TryParse

Lv1. 데이터와 연산자 - 1. 데이터 다루기 중 6번 문제▶ Convert 와 Parse의 차이 (+TryParse)1. Convert는 기본 데이터 형식을 다른 기본 데이터 형식으로 변환한다. 형변환 실패시 오류가 뜬다.// Convert ==

gyro-code-game.tistory.com


2. 연산자 실습

// 1. 숫자의 사칙연산
int ten = 10;

// 7 더하기
int ret1 = ten + 7;
// 3 빼기
int ret2 = ten - 3;
// 2 곱하기
int ret3 = ten * 2;
// 1.5 곱하기
float ret4 = ten * 1.5f; // ret4가 float형인 이유는 int형에서는 int * float이 불가능함(오류)
// 3 으로 나누기
int ret5 = ten / 3;
// 4 로 나눴을때 나머지
int ret6 = ten % 4;

// 2. 문자의 계산
string name = "LEE"; 
int year = 2025;
// **문자열을 쓸 때 " <-표시는 string 안에 쓸 수 없다.
// string을 구분해 주는 문법의 일종이기 때문이다. 이때는 그 앞에 \ (역슬래시) 를 써주면 된다.
// ex)  string hello = "안녕\"하\"세요"; -> 출력: 안녕"하"세요
string introduce = "안녕하세요. 제 이름은 \"" + name + "\" 입니다.";
string thisYear = "올해는 '" + year + "' 입니다."; 
Console.WriteLine(introduce + '\n' + thisYear);
// 안녕하세요. 제 이름은 "LEE" 입니다.
// 올해는 '2025년' 입니다.

 

// 3. 논리 연산
int ten = 10;
//아래의 결과값이 전부 true 가 되도록 논리연산을 만들어 보세요.
bool ret1 = ten == 10;    // ten 이 10 이랑 같다
bool ret2 = ten != 11;    // ten 이 11 이랑 같지 않다
bool ret3 = ten < 20;    // ten 이 20 보다 작다
bool ret4 = ten > 5;    // ten 이 5 보다 크다
Console.WriteLine("ret1: " + ret1 + ", ret2: " + ret2 + ", ret3: " + ret3 + ", ret4: " + ret4);
// ret1: True, ret2: True, ret3: True, ret4: True

// 4. 사칙연산간 우선 순위
float test1 = 10f + 2f * 3f;
float test2 = 12f - 2f / 6f;
float test3 = 7f - 6f + 5f;
float test4 = 7f - 1 % 4;
Console.WriteLine("test1: " + test1 + ", test2: " + test2 + ", test3: " + test3 + ", test4: " + test4);
// test1: 16, test2: 11.666667, test3: 6, test4: 6

// 결론 
// %, *, /의 연산자 우선순의가 상대적으로 높고
// +, - 의 연산자 우선순위가 상대적으로 낮다

3. 본격 프로그래밍 시작해보기

// 1.입력받은 데이터가 숫자인지 문자열인지 판단
Console.Write("1번: ");
string s_in = Console.ReadLine();
float num;
if (float.TryParse(s_in, out num))
{
    Console.WriteLine("숫자입니다.");
}
else // {} 생략가능
    Console.WriteLine("문자입니다.");

// 2. 입력받은 데이터가 숫자인지 문자열인지 불리언인지 판단
Console.Write("2번: ");
string s_in = Console.ReadLine();
bool b1;
float num;
if (bool.TryParse(s_in, out b1))
{
    Console.WriteLine("불리언 입니다.");
}
else if (float.TryParse(s_in, out num))
{
    Console.WriteLine("숫자입니다.");
}
else // {} 생략가능
    Console.WriteLine("문자입니다.");

// 3. 입력받은 데이터가 숫자라면 100 보다 큰지 작은지 알려주는 프로그램 만들기
Console.Write("3번: ");
string s_in = Console.ReadLine();
float num;
if(float.TryParse(s_in,out num))
{
    if (num >= 100)
    {
        Console.WriteLine(num + " 은(는) 100 보다 크거나 같은 수 입니다.");
    }
    else
    {
        Console.WriteLine(num + " 은(는) 100 보다 작은 수 입니다.");
    }
}
else
{
    Console.WriteLine("숫자가 아닙니다.");
}

// 4.입력받은 데이터가 숫자라면 짝수인지 홀수인지 알려주는 프로그램 만들기
Console.Write("4번: ");
string s_in = Console.ReadLine();
int num;
if (int.TryParse(s_in, out num))
{
    if (num % 2 == 0)
    {
        Console.WriteLine(num + " 은(는) 짝수 입니다.");
    }
    else
    {
        Console.WriteLine(num + " 은(는) 은(는) 홀수 입니다.");
    }
}
else
{
    Console.WriteLine("숫자가 아닙니다.");
}

// 5.언제 if 를 쓰고 언제 case 를 쓸까요?
// 조건이 복잡하거나 논리 연산이 필요한 경우 -> if
// 변수 값이 명확히 구분되며 각 경우를 처리하는 경우 -> case
// ex)(score1 >= 90 && score1 > score2) -> if
// ex)(score1 == 1), (score1 == 2) -> case

4. 숫자..인가요?

// 1. 숫자를 두번 입력받아서 두번 다 숫자인지 확인
Console.Write("첫번째 수를 입력해 주세요: ");
string s1 = Console.ReadLine();
Console.Write("두번째 수를 입력해 주세요: ");
string s2 = Console.ReadLine();
int n1, n2;
if(int.TryParse(s1, out n1) && int.TryParse(s2, out n2))
{
    Console.WriteLine("두 데이터는 모두 숫자입니다.");
}
else
{
    Console.WriteLine("숫자가 아닙니다.");
}

// 2. 숫자를 두번 입력받아서 두번 다 숫자인지 하나만 숫자인지 확인
Console.Write("첫번째 수를 입력해 주세요: ");
string s1 = Console.ReadLine();
Console.Write("두번째 수를 입력해 주세요: ");
string s2 = Console.ReadLine();
int n1, n2;
if (int.TryParse(s1, out n1) && int.TryParse(s2, out n2))
{
    Console.WriteLine("두 데이터는 모두 숫자입니다.");
}
else if (int.TryParse(s1, out n1) || int.TryParse(s2, out n2))
{
    Console.WriteLine("하나의 데이터만 숫자입니다.");
}
else
{
    Console.WriteLine("두 데이터 모두 숫자가 아닙니다.");
}

// 3. 숫자를 두번 입력받아서 두 수를 비교
Console.Write("첫번째 수를 입력해 주세요: ");
string s1 = Console.ReadLine();
Console.Write("두번째 수를 입력해 주세요: ");
string s2 = Console.ReadLine();
int n1, n2;
if (int.TryParse(s1, out n1) && int.TryParse(s2, out n2))
{
    if(n1 == n2)
    {
        Console.WriteLine(n1 + " 와(과) " + n2 + " 은(는) 같습니다.");
    }
    else if(n1 > n2)
    {
        Console.WriteLine(n1 + " 은(는) " + n2 + " 보다 큽니다.");
    }
    else
    {
        Console.WriteLine(n1 + " 은(는) " + n2 + " 보다 작습니다.");
    }
}
else
{
    Console.WriteLine("두 개의 숫자를 입력해주세요.");
}
목차