페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#8777
언어 제한

[속성 C언어] 연산자와 조건문 1s 1024MB

문제

연산자(Operator)는 파이썬의 연산자와 크게 다르지 않지만 아래 차이점이 존재한다.

  • C언어는 파이썬과 다르게 //** 연산자가 존재하지 않는다.

  • 전치/후치 증감연산자가 존재한다. (1을 증가하거나 감소시키는 연산이다)

int x = 10;
int y = x++;  // 후치 증가 연산자: 해당 줄의 코드를 실행시키고 변수의 값을 1 증가시킨다.
printf("x = %d, y = %d \n", x, y);  // x = 11, y = 10

int a = 10;
int b = ++a;  // 전치 증가 연산자: 변수의 값을 1 증가시키고 해당 줄의 코드를 실행시킨다.
printf("a = %d, b = %d \n", x, y);  // a = 11, b = 11
  • and는 &&, or은 ||, not은 !로 작성한다.

  • a < b < c와 같은 표현 대신 a < b && b < c라고 작성한다.

형변환(Type Casting)

  • 변수의 자료형을 바꾸는 것은 불가능하지만, 계산할 때 그 값을 순간적으로 변환해 사용하는 것은 가능하다.

double a = 3.6, b= 4.7;
double c = a + b;  // c = 8.3
double d = int(a) + int(b);  // d = 7.0
  • (자료형)변수명 혹은 자료형(변수명) 중 하나의 형태로 사용이 가능하다.

  • 단, (long long)변수명과 같이 자료형 이름에 공백이 포함되는 경우 후자의 사용법만 가능하다.

  • long long-2^{63} 이상 2^{63}-1 이하 범위의 정수를 저장할 수 있는 자료형이다.

조건문(If Statement)

  • C언어와 파이썬의 조건문은 사실상 동일한 문법 체계를 갖고 있다.

  • 다만, elif 대신 else if라고 적어야하며, 콜론(:)과 들여쓰기로 조건문 안에 들어갈 코드인지 분류하는 대신 중괄호{}를 이용한다.

if (조건) {
    코드
}
else if (조건) {
    코드
}
else {
    코드
}
  • 파이썬의 참일때 if 조건 else 거짓일때 문법은 C언어에서 조건 ? 참일때 : 거짓일때 로 사용 가능하다.

int A = 10, B = 20;
int C = A if A < B else B;
  • 또 다른 차이로는 match-case 대신 switch-case를 사용한다. (match-case: Python 3.10부터 사용 가능한 문법)

switch (변수명) {
case 값1:
    코드1
    break;
case 값2:
    코드2
    break;
default:
    코드3
}
  • switch에 넣을 수 있는 변수는 오직 정수와 문자만 가능하다. 실수나 문자열은 넣을 수 없다.

[연습 문제]

네 정수 A, B, C, D 중 최댓값이 홀수라면 "ODD"를 출력하고, 아니라면 "EVEN"을 출력하는 프로그램을 작성하시오.


입력

첫 줄에 네 정수 A,B,C,D가 공백으로 구분되어 주어진다. (-2^{31} \le A,B,C,D < 2^{31})


출력

첫 줄에 네 정수 중 최댓값이 홀수라면 "ODD"를 출력하고, 아니라면 "EVEN"을 출력한다.


예제 #1

1 2 3 4
EVEN

예제 #2

10 7 31 6
ODD

출처

klee
로그인해야 코드를 작성할 수 있어요.