루아에서 어떤 조건에 따라서 수행될 명령어 집합을 지정해 줄 때 if 명령어를 사용한다. 기본적인 문법은 다음과 같다.


if 조건식 then
  명령문1
  명령문2
  ...
end


if와 then 사이에는 조건식이 오는데 이 조건식이 true 일 경우 then 과 end 사이의 명령어들을 수행하고 false일 경우는 수행하지 않는다.(조건식을 괄호로 묶어줄 필요는 없다.) 루아는 프로그램 블럭(bloc)을 지정할 때 다른 언어에서 흔히 쓰이는 {...} 를  사용하지 않는다. 대신 이 기호는 뒤어 설명할 테이블을 생성할 때 사용된다. 루아에서의 코딩 블럭은 then~end, do ~ end, 와 같이 then, do, else 등 특정한 키워드로 시작하고  end로 마감된다.

 변수에 대입된 숫자가 짝수일 경우 ‘even number’라고 출력하는 프로그램을 작성해 보면 다음과 같다. 2로 나눈 나머지가 0이라면 짝수, 1이면 홀수라는 사실을 이용한다.


a = 12
if a%2 == 0 then
   print('even number')
end

실행 결과

even number


if~then사이에는 조건식 뿐만 아니라 변수와 같은도 올 수 있으며 이 경우에도 그 표현식이 true일 경우 then ~ end 블럭이 수행된다. 루아에서 false 로 간주되는 것은 false와 nil 뿐이다. 따라서 0이나 ‘’ (빈 문자열)은 true 로 간주된다.


count = 0
if count then
   print('count = '..count)
end

실행 결과

count = 0


위 예에서 count는 0값을 가지므로 true이다. 따라서 then~end 블럭이 수행된다. 그리고 일전에 선언되지 않은 변수는 nil값을 가진다고 설명한 바 있다.


if num then
   print('num is not false nor nil.')
end

실행결과



따라서 위 예에서 num은 선언되지 않았으므로 nil이고 nil은 false로 간주되므로 아무것도 실행되지 않는다.



Posted by 살레시오

 맥시마에서 조건 검사를 하는데 if 명령어가 사용된다. 문법은 다음과 같다.


if <조건식> then <expr1> else <expr2>


만약 조건식이 참이면 <expr1>이 실행되고 거짓이면 <expr2>가 실행된다. 조건식을 구성하는데 사용되는 조건 연산자는 다음과 같다.


[표 1] 조건식에 사용되는 연산자들

연산자

의미

비고

a = b, equal(a,b)

같다

관계 연산자

a # b, notequal(a,b)

다르다(≠)

a < b

크다

a > b

작다

a <= b

크거나 같다

a >= b

작거나 같다

and

and

논리 연산자

or

or

not

not


예를 들면 다음과 같다.

변수 a에 %pi 값이 들어있으니 조건은 거짓이 되므로 b:0 이 실행된다. 위의 예제는 다음과 같이 조금 더 간단하게 바꿀 수 있다.


위에서 (if a<%e else 0)가 단일 표현식이며 그 값은 조건에 따라서 1이거나 0이 된다. 따라서 조건에 따라 그 값을 변수 b에 저장시키는 것이다. and연산자를 이용한 예를 들어보면 다음과 같다.


또한 elseif 명령을 이용하여 if문을 중첩하여 쓸 수 있다.


if <조건식1> then <expr1>
elseif <조건식2> then <expr2>
elseif <조건식3> then <expr3>
...
else <exprN>


이 문법에서 만약 <조건식1> 이 참이라면 <expr1>을 수행하고 빠져나간다. <조건식1>이 거짓이고 <조건식2>가 참이라면 <expr2>를 수행한다. <exprN>은 모든 조건이 거짓일 때 수행된다. 다음 예를 보자.

이 예제에서 변수 b에는 2가 대입된다.



Posted by 살레시오

 scilab에서 어떤 조건이 참인지 거짓인지 판별한는데 if 명령이 사용되며 만약 if 문 바로 뒤의 조건문이 참이라면 명령문들을 수행한다. if 문은 반드시 end문과 쌍을 이루어야 한다. 간단한 예를 들면 다음과 같다.


>> if %t then
     disp(“True!”)
  end


이 예는 if 문 뒤의 진리값이 항상 참이므로 then과 end 사이의 명령이 항상 실행될 것이다. else 문을 이용하면 진리값이 거짓일 경우 수행될 코드를 처리할 수 있다.


>> n=%e;
>> if n==%pi then
       a=1
   else
       a=2
   end


위의 조건 검사문은 if문 뒤의 조건이 거짓이므로 변수 a는 2값을 가질 것이다. 또한 elseif 명령을 이용하여 여러 조건 검사를 한꺼번에 수행할 수도 있다.


>> n=2;
>> if n==%pi then
     a=1
  elseif n==%e then
     a=2
  else
     a=3
  end


위의 예에서 변수 a는 3값을 가지게 될 것이다.


 조건검사에 쓰이는 비교 연산자를 다음 표에 정리하였다.


[표 1] 조건 검사에 사용되는 비교/논리연산자

비교연산자

설명

a==b

(비교연산자) 같다

a~=b 혹은 a<>b

(비교연산자) 다르다

a<b

(비교연산자) 크다

a>b

(비교연산자) 작다

a<=b

(비교연산자) 크거나 같다

a>=b

(비교연산자) 작거나 같다

a & b

(논리연산자) and

a | b

(논리연산자) or

~a

(논리연산자) not


‘같다’를 검사하는 연산자는  == 이며 = 가 아님에 주의해야 한다. 조건식에 대입연산자 =를 사용하면 에러를 발생하게 된다.


 대소비교를 하는 <, >, <=. >= 네 개의 연산자는 피연산자로 오직 실수(행렬)만이 허용됨을 유의해야 한다. 복소수는 수학적으로도 대소 관계가 정의되어 있지 않으므로 Scilab에서도 그것이 허용되지 않는다.


>>1+2*%i < 3
        !--error 144
Undefined operation for the given operands.
check or define function %s_1_s for overloading.

단 ==, ~= (혹은 <>) 연산은 허용된다. 복소수의 경우 실수부와 허수부가 모두 같아야 참(%t)이 반환될 것이다.


 논리 연산자를 사용할 때 한가지 알아두어야 할 점은 피 연산자가 벡터(행렬)인 경우이다. 다음 예들을 보자.


>> [1 2 3] == 1
ans  =
 T F F  

>>[1 2 3] == [1 2]
ans  =
 F  

>>[1 2;3 4] == [1 2; 3 5]
ans  =
 T T  
 T F  


위의 예들에서 보듯이 다음과 같이 정리할 수 있다.


       ➊ 하나가 스칼라, 다른 하나가 행렬일 경우 스칼라와 행렬의 모든 요소를 비교한다.

       ➋ 둘 다 행렬이고 크기가 다를 경우 거짓 (%f)가 반환된다.

       ➌ 둘 다 행렬이고 크기가 같을 경우 같은 위치의 요소끼리 비교한다.


만약 행렬의 상동을 if 문으로 비교할 경우 크기와 모든 요소가 같아야 참으로 간주된다.


>>a=0
>>A=[1 2; 3 4]
>>B=[1 2;3 5]
>>C=[1 2;3 4]
>> if A==B then // [T T; T F]
     a=1;
  elseif A==C then // [T T;T T]
     a=2;
  else
     a=3;
  end


위의 예에서 변수 a는 2값을 가질 것이다.



Posted by 살레시오

 많은 경우에 있어서 명령어들은 어떤 관계의 참, 거짓 여부를 따져서 조건부로 실행시켜야 되는 경우들이 있다. 여기에서는 이런 경우에 사용되는 if문과 switch문에 대해서 살펴보겠다.

 if문의 가장 간단한 사용법은 다음과 같다.


if 조건문
   명령집합
end


여기서 조건문이 참(0이 아닌값)이면 if명령어와 end 사이의 명령집합을 실행시키고 거짓(0)이면 명령집합을 실행시키지 않는다. 간단한 예제를 작성해 보자. 사과를 구입하는데 사과 하나에 500원이고 만약 사과를 10개 이상 구입을 하면 가격의 20%를 깎아준다고 한다. 사과의 개수를 입력받아서 가격을 구하는 프로그램은 다음과 같이 작성할 수 있다.


clear all
n = input('사과의 개수는?');
cost = n*500;
if (n>=10)
   cost = 0.8*cost;
end
sprintf('사과의 개수는 %d개이고 가격은 %d입니다.',n,cost)


둘째 줄에서 input()함수를 이용하여 사과의 개수를 입력받아 변수 n에 저장하였고 네째 줄에서 입력받은 개수가 10보다 크거나 같은지를 조건검사한다. 그래서 10이상이면 계산된 가격에 0.8을 곱해서 가격을 다시 계산한 후 일곱 번째 줄에서 가격을 화면에 표시하게 된다.


 위의 프로그램에 대해서 한번만 더 생각하면 더 간단하게 작성할 수 있다. 조건문 (n>=10)을 생각해보면 이 조건은 변수 n이 10이상이면 1값을 가지고 10보다 작으면 0을 갖는다. 이 사실을 이용해서 다음과 같이 간단하게 줄일 수 있다.


clear all
n = input('사과의 개수는?');
cost = (1-0.2*(n>=10))*n*500;
sprintf('사과의 개수는 %d개이고 가격은 %d입니다.',n,cost)


여기서 세 번째 줄에서 사용된 조건식 (1-0.2*(n>=10))를 살펴보면 만약 변수n이 10이상이면 (n>=10)이 1값을 가지므로 (1-0.2*(n>=10))는 0.8의 값을 가지게 되고 변수n이 10보다 작으면 (n>=10)이 0값을 가지므로 (1-0.2*(n>=10))는 1.0의 값을 가지게 된다. 이 예제는 앞의 프로그램과 완전히 동일한 결과를 생성하며 if문을 사용한 예는 아니지만 조금만 생각해 보면 프로그램을 훨씬 간결하고 효율적으로 작성할 수 있음을 보여준다.

 여러 가지 조건을 한꺼번에 검사하기 위해서는 else명령어나 elseif명령어를 if문에 사용한다. if 뒤의 조건이 참(0 이외의 값)이면 뒤에 따라오는 명령문을 수행하고, 거짓(0)이면, 뒤에 나오는 나 elsief문 뒤의 조건을 판별하여 명령문을 수행한다. 문법은 다음과 같다.


if (조건1) %조건 1이 참이면 명령집합1을 수행하고 끝냄
   명령집합1
elseif (조건2) %조건2가 참이면 명령집합2를 수행
   명령집합2
else % 조건1,2 모두 거짓이면 명령집합 3을 수행
   명령집합3
end


예를 들면 다음과 같다.


if (a>1)
   k = 1;
elseif (a<-1)
   k = 100;
else
   k = 1000;
end


이 예제를 실행하고 나면 a>1 이면 k=1, a<-1 이면 k=100, -1≤a≤1 이면 k=1000 의 값을 갖게 된다. 이 예제의 경우도 다음과 같이 작성할 수 있다.


k = (a>1) + 100*(a<-1) + 1000*(a>=-1 & a<=1)


 이제 if-else-end문을 이용하여 2차 방정식의 해를 구하는 프로그램 예제를 작성해 보자. 2차 다항식 ax2+bx+c 의 세 계수를 입력받아서 판별식 D=b2-4ac를 계산한 후 이 판별식의 부호에 따라서 각각 다른 메시지를 출력하는 프로그램을 작성해보도록 하겠다. 다항식의 근을 구하기 위해 앞에서도 소개되었던 roots()함수를 이용하도록 한다. 판별식의 부호에 따라서 두 개의 실근을 가지는지, 중근을 가지는지 그리고 허근을 가지는지를 화면에 출력해보도록 하겠다.


clear all
a=input('x^2의 계수:')
b=input('x의 계수:')
c=input('상수 계수:')
D = b^2-4*a*c;
s = roots([a b c]);
if (D>0)
   sprintf('서로 다른 실근')
elseif (D==0)
   sprintf('중근')
else
   sprintf('허근')
end
s


여기에서 if-elseif-else문이 사용되었다. D가 양수냐, 음수냐, 0이냐에 따라서 다른 명령이 실행이 된다는 것을 알 수 있다.



Posted by 살레시오

C/C++ 의 if 문 예제 1

C,C++ 2015.06.25 17:11

4.1.1 조건문을 사용한 예제 1     [doc]    [smts]

여기에서는 if 문을 사용한 예제를 풀어보도록 하겠다.


1. 세 개의 float 형 숫자를 사용자에게 입력 받아서 가장 큰 수를 출력하는 프로그램을 작성하라.


세 float형 변수를  f1, f2, f3 라고 하고 가장 큰 수를 저장하는 변수를 fMax 라고 하 하자. 간단한 알고리듬을 다음과 같이 생각해 볼 수 있다.


(a) f1과 f2 중 큰 것을 fMax에 저장한다.

(b) f3이 fMax보다 크다면 fMax 값을 f3 값으로 갱신한다.

(c) fMax를 화면에 출력한다.


이것을 그대로 프로그램으로 구현하면 다음과 같다.


ex04-06.c
#include  <stdio.h>
int main() {
float f1, f2, f3;
printf("Input three numbers : ");
scanf("%f,%f,%f",&f1, &f2, &f3);
float fMax = (f1>f2)? f1:f2; //(a)를 구현
if (f3 > fMax) //(b)를 구현
fMax = f3;
printf("The maximum value is %f.", fMax);//(c)를 구현
}

실행 예는 다음과 같다.


Input three numbers : 11,22.5,-10
The maximum value is 22.500000.

이 프로그램을 조금만 바꾸면 최소값을 구하는 프로그램으로 변경할 수 있다.


Posted by 살레시오

 if 명령은 그 뒤에 오는 조건식의 참/거짓 여부에 따라 속한 블럭을 수행할지 말지를 결정하는 명령이다. 가장 기본 문법은 다음과 같다.


if 조건식:
   실행문1
   실행문2
   …


여기에서 조건식이 참(True)이면 실행문1, 실행문2 … 가 수행되고 그렇지 않으면 실행되지 않는다. 주의할 점은 if 문에 속한 모든 실행문은 들여쓰기가 같아야 한다는 것이다. 한 칸이라도 틀리면 문법 오류를 발생하게 된다. (보통 한 수준의 들여쓰기는 공백문자 4칸으로 한다.) 또한 조건식 뒤의 콜론(:)도 처음에는 빠뜨리기 쉬우니 조심하자.


 조건식에는 보통 관계연산자와 논리연산자가 사용된다.


[표 1] 조건식에서 사용되는 관계/논리 연산자들

분류

연산자들

관계연산자

==, !=, <, >, <=, >=, is, is not, in, not in

논리연산자

and, or, not


예를 들면 다음과 같다.


n = int(input("integer:"))
if n%2==0:
   print("even number!")

#실행:
integer:12
even number!


이 예는 입력 받은 정수가 짝수일 경우 화면에 ‘even number’라고 출력하고 홀수일 경우는 아무런 일도 하지 않는 것이다.


좀 더 일반적인 if 명령의 문법은 else 와 짝을 이루는 것이다.


if 조건식 :
   실행문1
   실행문2
   …
else :
   실행문3
   실행문4
   …


이 경우 조건식이 거짓이면 else 블럭(실행문 3, 실행문4…)을 수행하게 된다.


age = int(input("나이:"))
if age<30:
   print("청년")
else:
   print("중년")

#실행:
나이:44
중년


사용자의 나이 입력을 받아서 나이가 30 미만으면 ‘청년’, 30 이상이면 ‘중년’이라고 출력하는 간단한 예제이다.


 일반적인 if 명령의 구조는 다음과 같다.


if 조건식1 :
   실행문1
   ...
elif 조건식2
   실행문2
   …
elif 조건식3
   실행문3
   …
else :
   실행문n
   …


키워드 elif 는 else if 를 줄인 단어이다. 이 구조에서 조건식1이 참이라면 실행문1을 수행하고 if 블럭을 완전히 빠져나간다. 만약 조건문1이 거짓이라면 조건식2를 판별한다. 그래서 조건식2가 참이면 실행문2를 실행하고 if 블럭을 빠져나간다. 모든 조건이 거짓일 경우 else 문에 속한 실행문n이 실행된다.


s = 'hello'
if 'a' in s:
   print("'a' is contained")
elif 'b' in s:
   print("'b' is contained")
else:
   print("both 'a' and 'b' are not contained")

#실행결과:
both 'a' and 'b' are not contained


파이썬에는 C/C++/JAVA/C# 등에는 있는 switch - case 명령문이 없다. 따라서 비교적 많은 수의 다중 조건을 판단해야 할 경우에도 if - elif- else 문을 조합하여 구성해야 한다.


 가끔 조건문을 판단하고 참 거짓에 따라 행동을 정의 할 때 아무런 일도 하지 않도록 설정을 하고 싶을 때가 생기게 된다. 다음의 예를 보자.


"집에 돈이 있으면 가만히 있고 집에 돈이 없으면 노트북을 팔아라"


위의 예를 pass를 적용해서 구현해 보자.


>>> home = [‘money’, 'TV', 'radio', 'notebook']
>>> if 'money' in home:
...    pass
... else:
...    print("sell notebook.")


home이라는 리스트 안에 'money'라는 문자열이 있기 때문에 if 문 다음 문장인 pass가 수행되었고 아무 일도 수행하지 않는 것을 확인 할 수 있다.


위의 예를 보면 if문 다음의 수행할 문장이 한 줄이고 else문 다음에 수행할 문장도 한 줄이다. 이렇게 수행할 문장이 한 줄일 때 조금 더 간편한 방법이 있다. 위에서 알아본 pass를 사용한 예는 다음처럼 간략화할 수 있다.


>>> home = [‘money’, 'TV', 'radio', 'notebook']
>>> if 'money' in home: pass
... else:
...    print("sell notebook.")


if 문 다음의 수행할 문장을 ':'뒤에 바로 적어 주었다. else 문 역시 마찬가지이다. 이렇게 하는 이유는 때로는 이렇게 하는 것이 보기에 편하게 때문이다.


파이썬 강좌 전체 목록 (TOP) >>>

c{pyt},n{py019}


Posted by 살레시오

4.1 조건 분기문    [doc]    [smts]

프로그램에서 어떤 조건에 따라서 수행해야 하는 행동이 달라지는 경우는 매우 빈번하게 발생한다. 따라서 프로그램언어라면 보통 명령 수행의 흐름을 바꾸는 제어 명령어가 마련되어 있으며 C/C++언어도 이를 위해서 조건 검사 명령과 반복 명령어가 있다.


if 명령문은 조건을 제어하기 위해서 사용된다. 문법은 다음과 같다.


if (조건식) {
  실행문1;
  …
   실행문n;
}

보다시피 아주 간단한 문장으로 조건문이 참인지 거짓인지 판별하여 조건이 참이면 바로 뒤의 중괄호 {}로 묶인 실행문들을 수행하고, 참이 아니면 수행하지 않고 다음으로 넘어간다.


 만약 실행문이 하나라면 굳이 중괄호로 묶을 필요는 없으나 가독성을 높이기 위해서 중괄호를 항상 사용한다. 예를 들면 다음과 같다.


if (ca == cb)
  cx = 10;
if (cd > 10) {
  ce = 100;
}

 if 문을 사용할 때는 몇 가지 주의할 점이 있다. 먼저 조건은 반드시 괄호로 감싸야 한다는 점이고 괄호 안의 조건은 참과 거짓을 판별할 수 있어야 한다. C언어는 내부적으로 정수 0을 거짓으로 취급하고 그 이외의 수는(보통은 1값) 모두 참으로 취급한다는 점을 유의하자. 아래의 예에서 sa=10이라는 대입문은 무조건 수행되고 예2에서 sb=sc라는 대입문은 절대로 수행되지 않는다. (왜?)


if (1) {
  sa = 10; // sa=10과 동일
}

if (0) {
  sb = sc;
}

또한 조건문에서 가장 하기 쉬운 실수가 ‘==’를 ‘=’로 잘 못 사용하는 경우인데 이 경우 논리적인 버그가 발생하게 된다. 예를 들면


long la = 1, lb = 1, lc;
if (la = lb) {
  lc = 10;
}

위와 같은 경우에는 la=lb라는 표현식은 변수 la에 변수 lb값을 대입하고 그 자체로 변수 lb값인 1을 갖게 된다. 따라서 의도와 다르게 lc=10이라는 명령은 무조건 수행되게 된다. 만약 lb변수값이 0이라면 lc=10이라는 명령은 절대로 수행되지 않는다. 따라서 아래와 같이 프로그램을 수정해야 할 것이다.


long la=1, lb=1, lc;
if (la == lb) {
lc = 10;
}

또한 실수하기 쉬운 예가 다음과 같다.


if (la == 10);
  lb = lc;

이 예의 경우 if 조건 다음의 세미콜론 ‘;’에 의해 수행문이 종료되기 때문에 조건과 관계없이 lb=lc명령이 수행된다. 실제 프로그래밍을 하다보면 쉽게 하는 실수이니 눈여겨보기 바란다.


다음의 두 예는 서로 다른 프로그램이다. 첫 번째 예는 괄호가 없기 때문에 if 조건이 첫 번째 문장에만 적용되어서 ia의 값과는 상관없이 sc++이 수행되지만, 두 번째 예는 ia가 10값일 때에만 sc++이 수행된다.


if (ia == 10)
sb++;
sc++;
if (ia == 10) {
  sb++;
  sc++;
}

이번에는 if 문과 항상 같이 다니는 else문에 대해서 알아보자. 기본적인 문법은 아래와 같다.


if (조건문) {
  명령1;
  ...
} else {
  명령2;
  ...
}

else문에 포함된 명령어집합은 if 조건이 거짓일 경우 수행된다. 또한 if와 else를 조금 확장해 보면 if ~ else if 문이 된다.


if (조건문1) {
  명령문1;
  ...
} else if (조건문2) {
  명령문2;
  ...
} else {
  명령문3;
  ...
}

조건문1이 참이면 명령문1을 수행하고 조건문1이 거짓이고 조건문2가 참이면 명령문2가 수행되며, 두 조건 다 거짓일 경우 명령문 3이 수행된다.


 다음 예제는 하나의 정수를 입력받아서 3의 배수인지 아닌지를 판별하여 화면에 표시해주는 예제이다. 3의 배수라면 3으로 나눈 나머지가 0일 것이고 아니라면 3으로 나눈 나머지가 0이 아니라는 사실을 이용하면 쉽게 프로그램을 작성할 수 있다.


ex04-01.c
#include <stdio.h>
int main() {
  int ia;
  printf("Input an interger :");
  scanf("%d", &ia);
  if (ia%3 == 0)
      printf("%d is multiple of 3.\n", ia);
  else
      printf("%d is NOT multiple of 3.\n", ia);
}

Input an interger number :2
2 is NOT multiple of 3.

 사용자가 입력받은 수의 절대값을 출력하는 프로그램 예를 들면 다음과 같다. 입력된 수가 양수냐 아니냐에 따라서 수행되는 일이 달라진다.


ex04-02.c

#include<stdio.h>
int main() {
double da;
printf("input a number :");
scanf("%lf", &da);
printf("|%lf|=", da);
if (da>0) {
printf("%lf",da);
} else {
printf("%lf",-da);
}
}

실행 결과

input a number :-1.1
|-1.100000|=1.100000

이 프로그램에서 입력된 수가 양수이면 그대로 출력하고 음수라면 -1을 곱해서 출력하는 간단한 방법을 사용했다.


 다음 예는 입력된 정수가 음수인지, 0인지, 양수인지를 판별하는 예이다. if-else문이 중첩되어 사용되었음을 눈여겨보아야 한다.


ex04-03.c
#include <stdio.h>
int main() {
  int ia;
  printf("Input an interger number : ");
  scanf("%d",&ia);
  if (ia < 0)
      printf("%d is negative.\n", ia);
  else if (ia > 0)
      printf("%d is positive.\n", ia);
  else
      printf("%d is a zero.\n", ia);
}

Input an interger number : 0
2 is a zero.

다음은 사용자로부터 입력 받은 문자 하나가 알파벳 소문자라면 ‘lower case’ 라고 화면에 출력하는 예제이다.


ex04-04.c
#include <stdio.h>
int main() {
char ch;
scanf("%c", &ch);
if ('a'<=ch && ch<='z' ){
printf("lower case");
}
}

g
lower case

이 예제에서 비교문 (‘a’<=ch && ch<=’z’)는 (97<=ch && ch<=122) 와 동일하다. 문자는 내부적으로 아스키코드로 간주되기 때문이다.


 위 예제어서 대문자의 경우 “upper case’라고 출력하고 숫자의 경우 ‘digit’이라고 츌력하는  부분을 추가하면 다음과 같다.


ex04-05.c
#include <stdio.h>
int main() {
char ch;
scanf("%c", &ch);
if ('a'<=ch && ch<='z' ){
printf("lower case");
} else if ('A'<=ch && ch<='Z' ){
printf("upper case");
} else if (‘0’<=ch && ch<=’9’) {
printf("upper case");
} else {
printf("unknown");
}
}

이와 같이 if - else if 문은 얼마든지 중첩하여 사용할 수 있다.


Posted by 살레시오
TAG C++, c언어, Else, If