형변환
int iNum = (int)3.7; // 소숫점 아래는 모두 버린다.
Console.WriteLine(iNum); // 3 출력
- 실수를 정수형으로 캐스팅시 소숫점 아래를 버림
double dNum;
int iNum;
Console.WriteLine("실수를 입력하세요");
dNum = double.Parse(Console.ReadLine()); // double 형으로 변환
Console.WriteLine(dNum);
dNum = dNum+0.5; // 소숫점 첫째자리 반올림
iNum = (int)dNum; // 소숫점 밑 버림
Console.WriteLine(iNum);
- 이를 이용해 소숫점 첫째 자리에서 반올림을 할 수 있음.
C# 산술 연산자( / , % )
int iNum1;
int iNum2;
int iNum3;
Console.WriteLine("정수 1을 입력하세요");
iNum1 = int.Parse(Console.ReadLine());
Console.WriteLine("정수 2을 입력하세요");
iNum2 = int.Parse(Console.ReadLine());
iNum3 = iNum1 / iNum2;
Console.WriteLine("{0}/{1} = {2}",iNum1, iNum2,iNum3); // 소숫점 이하는 버림
Console.WriteLine("{0}%{1} = {2}", iNum1, iNum2, iNum1%iNum2); // 소숫점 이하는 버림
' / '는 몫연산
'%'는 나머지 연산
double dNum1;
double dNum2;
Console.WriteLine("실수를 입력하세요");
dNum1 = double.Parse(Console.ReadLine()); // double 형으로 변환
Console.WriteLine("실수를 입력하세요");
dNum2 = double.Parse(Console.ReadLine()); // double 형으로 변환
Console.WriteLine("{0}/{1} = {2}", dNum1, dNum2, dNum1/dNum2); // 실수는 % 쓸필요 없음
실수도 연산 가능
제어문 if
if는 조건문으로 코드를 실행할지 실행하지 않을지 정할 수 있다.
if(true) // if()사이에 조건문이 들어감 true 일때 실행, false일땐 실행하지 않음
{
Console.WriteLine("참입니다");
}
if(false)
{
Console.WriteLine("거짓입니다");
}
예제1)
if문 중복
int iNum1;
Console.WriteLine("정수를 입력하세요");
iNum1 = int.Parse(Console.ReadLine());
if (0 == (iNum1 % 10)) // 우선순위를 ()로 표시해준다.
{
if (0 == (iNum1 % 3)) // if문 중복
Console.WriteLine("입력하신 정수는 10의 배수이면서 3의 배수 입니다");
}
//한문장으로 표현할 수 있다.
if ( ( (0 == (iNum1 % 10)) && (0 == (iNum1 % 3)) ) ) // 우선순위를 ()로 표시해준다., AND연산자
{
Console.WriteLine("입력하신 정수는 10의 배수이면서 3의 배수 입니다");
}
'=='은 비교 연산자, 좌우 값이 같을때 true를 반환, 다르면 false를 반환.
'&&'은 AND 연산자, 좌우 값이 true 일때만 true를 반환.
예제2)
else 이용 홀짝 판별
int iNum1;
Console.WriteLine("정수를 입력하세요");
iNum1 = int.Parse(Console.ReadLine());
if(0 == (iNum1%2))
{
Console.WriteLine("짝수");
}
else
{
Console.WriteLine("홀수"); // if 조건문안의 값이 false 일때 실행
}
if의 조건문의 값이 false 일땐 if를 뛰어넘고 else를 실행
예제3)
else if로 점수에 따른 학점
int iScore;
Console.Write("점수를 입력하세요 : ");
// iScore에 점수를 아래에 작성 -> 슈도코드(의사표현, 가이드 역할 하는 코드)
iScore = int.Parse(Console.ReadLine());
Console.Write("학점은 ");
if (90 <= iScore)
{
Console.Write("A");
}
else if(80 <= iScore)
{
Console.Write("B");
}
else if (70 <= iScore)
{
Console.Write("C");
}
else if (60 <= iScore)
{
Console.Write("D");
}
else
{
Console.Write("F");
}
Console.WriteLine("입니다");
else if는 if 조건에 해당되지 않을때 실행.
예제4)
윤년 계산하기
Console.WriteLine("년도를 입력하세요");
int iYear = int.Parse(Console.ReadLine());
//400으로 나누어 떨어지는 해 : 윤년
if (iYear%400 == 0)
{
Console.WriteLine("{0}은 윤년입니다.", iYear);
}
//400으로 나누어 떨어지는 않는 해 : 평년과 윤년이 섞여 있음
else
{
//4로 나누어 떨어지는 해는 윤년 후보(평년과 윤년이 섞여 있음)
if (iYear % 4 == 0)
{
//100으로 나누어 떨어지지 않는 해는 윤년
if (iYear % 100 != 0)
{
Console.WriteLine("{0}은 윤년입니다.", iYear);
}
//100으로 나누어 떨어지는 해는 평년
else
{
Console.WriteLine("{0}은 평년입니다.", iYear);
}
}
//4로 나누어 떨어지지 않는 해 : 평년
else
{
Console.WriteLine("{0}은 평년입니다.", iYear);
}
}
윤년의 조건
1. 400으로 나누어 떨어져야 한다.
2. 4로 나누어 떨어져야 한다.
3. 100으로 나누어 떨어지지 않아야 한다.
// &&와 ||를 사용하면 한줄로 조건문이 가능하다
if ( ((0 == iYear%4) && (0 != iYear%100)) || (0==(iYear%400)))
{
Console.WriteLine("{0}는 윤년입니다.", iYear);
}
else
{
Console.WriteLine("{0}는 평년입니다.", iYear);
}
'||'는 OR 연산자, 좌우 값이 하나라도 true일때 true를 반환한다.
switch 문
switch로 값을 연산한 다음 그 값에 따라 case를 나눠 실행시킬 수 있다.
예제) 점수에 따라 학점 출력하기
int iNum;
Console.Write("점수를 입력하세요 : ");
iNum = int.Parse(Console.ReadLine());
switch(iNum/10)
{
// case 옆엔 값만 쓸 수 있다.
case 10:
case 9:
Console.WriteLine("A");
break;
case 8:
Console.WriteLine("B");
break;
case 7:
Console.WriteLine("C");
break;
case 6:
Console.WriteLine("D");
break;
default:
Console.WriteLine("F");
break;
}
switch()사이엔 참 거짓이 아니라 값을 들어오게 해야하며 값에따라 case가 실행된다.
'컴퓨터 > C#' 카테고리의 다른 글
[C#] 반복문 (0) | 2020.05.26 |
---|---|
[C#] 연산자 (0) | 2020.05.26 |
[C#] 문자형 기본타입과 형변환, 문법 요소 , 콘솔창에서 값 입력받아 출력하기 (0) | 2020.05.23 |
[C#] 보수법과 자료형 (0) | 2020.05.22 |
[C#] 비주얼 스튜디오 2019 설치와 "지옥으로 키티" 출력하기 (0) | 2020.05.21 |