2 번째 계단에서 알아야 할 사항

1. if 문

프로그램 실행은 아무 말 없으면 물 흐르듯이 아래에서 위로 실행이 이루어진다. 이 흐름을 바꾸는 것을 제어문이라 한다.

제어문 중에서 흐름을 두 갈래 중 하나를 선택하는 문장을 선택문이라 하고 , if 문이 대표적인 선택 문이다.

우리가 생활하는 일상 생활에서도 선택을 하는 경우가 흔히 나타난다.

머리가 맑으면 공부를 하고 아니면 논다.

머리가 맑다... 이 부분을 조건식이라 하고 조건식은 참 혹은 거짓인 상태로 나타난다. 즉 조건식이 참이면 공부를 한다,아니면 논다.

if ( 머리가 맑다 ) {
   공부를 한다
}else {
   논다
}

(1) if .. else

참인 경우 한 문장 s2 를 아니면 두 문장 s3,s4 를 수행.

(2)else 없는 if ..

else 없는 if 문은 참인 경우에 어떤 동작을 수행하고 , 거짓인 경우 수행되는 문장이 없는 구조이다.

(3)if ... else if ...


if ( 머리가 맑다 ) {
   공부를 한다;
}else if ( 비가 온다 ) {
   tv 시청을 한다;
}else {
   농구를 한다;
}
여러개의 else if 와도 관계가 없다.

  1. 조건식은 반드시 () 로 묶어야 한다.

    ( 조건식 )

  2. 조건 식에서 부등식을 연속해서 3 개 사용하지 못한다. 즉 a < x < b 인 표현은 a < x && x < b 로 사용해야 한다.
(샘플 예제 I) 수를 입력으로 받아 이 수가 3 의 배수이거나 7 의 배수이면 yes 아니면 no 를 출력하는 프로그램.
#include <stdio.h>

int main()
{
   int n;
   
   scanf("%d",&n);

   if ( n % 3 == 0 || n % 7 == 0 ) {
      printf("yes");
   }else {
      printf("no");
   }
}
(샘플 예제 II) 두 수를 a , b 를 입력으로 받아 a 가 b 보다 크면 두 수를 교환하는 프로그램. 즉 항상 두 수 중 큰 수를 b 로 유지.
#include <stdio.h>

int main()
{
   int a,b;
   int t;
   
   scanf("%d %d",&a,&b);

   if ( a > b ) {
      t = a;
      a = b;
      b = t;
   }

   printf("%d %d\n",a,b);

}

2. 산술,관계 ,논리 연산자

산술 연산자 관계 연산자 논리 연산자
* (곱) >(크다) !(아니면 즉 not )
/ (나누기) >=(크거나 같다) &&(이고 즉 and )
% (나머지) <(작다) ||(이거나 즉 or )
+ (더하기) <=(작거나 같다)
- (빼기) ==(같다)
!=( 같지 않다)

(1) 산술 연산자

나머지 연산자 % 는

(2) 관계 연산자

두 수와의 관계로 항상 참 혹은 거짓 값을 가진다.

숫자 0 이면 거짓으로 1 이면 참을 의미한다. 정확하게 이야기 하면 0 이외의 수는 모두 참으로 인식하고 시스템에서는 참은 1 을 돌려 준다.

(3) 논리 연산자

몇가지 예를 들어보면

논리 연산자는 단락(short circuit)성질이 있다.

아래 보기를 실행해보면 이해할 수 있다.( makecode 님 답변해 주신 소스입니다)

#include <stdio.h> 

int main()
{
  int a = 3;

  a > 1 && printf("1번\n");
  a < 1 && printf("2번\n");
  a > 1 || printf("3번\n");
  a < 1 || printf("4번\n");

 return 0;
}

* 다음 프로그램은 수를 입력으로 받아 절대값을 구하는 프로그램이다. 틀린곳은 어딜까요?
#include <stdio.h>

int main()
{
   int num;

   scanf("%d",&num);
   if ( num < 0);
      num = -num;
   printf("%d\n",num);
}
* 아래 코드를 실행 결과 눈 퓨터로 예상한 후 컴퓨터로 실행해서 결과가 맞는지 확인해보세요.
#include <stdio.h>

int main()
{
   int a;

   a = 0;
   if ( a = 0 ) {
      printf("true\n");
   }else {
      printf("false\n");
   }
}

[질/답]
[홈으로]  [뒤 로]
[푼 후(0)]