본문 바로가기
언어/C

[C] 조건문

by merona99 2018. 8. 31.
반응형

D-3

C 조건문




<삼 항 연산자> (in조건 연산자)



<형식>

(num1>num2) ? (num1) : (num2);

    ->조건    


조건이 ''이면 연산결과로 num1이 반환되고, 조건이 '거짓'이면 연산결과로 num2가 반환 됨.



앞에 int a = (num1>num2) ? (num1) : (num2); 이렇게 되있다면

'참'이면 a는 num1이 되고 

'거짓'이면 a는 num2가 됨.


*간단한 if~else문을 대신할 수 있는 연산자






<if-else>


Q1) 1이상 100미만의 정수 중에서 7의 배수와 9의 배수를 출력하는 프로그램을 작성

<조건>

7의 배수이면서 9의 배수인 정수는 한번만 출력




(내가 푼 방법)




break;


반복문을 탈출할 때 사용하는 키워드

break문을 가장 가까이서 감싸고 있는 반복문 하나를 빠져 나오게 됨.

*if문을 빠져 나오는 것으로 오해x




continue;


실행중인 위치에 상관없이 조건문의 조건검사 위치로 이동을 함.

검사결과 반복조건이 여전히 '참'이라면 반복영역을 다시 실행함





Q2) 구구단을 출력하되 짝수단만 출력(2,4,6,8)

<조건>

2단은 2X2까지, 4단은 4X4까지 이런식으로 8단까지 출력

continue와 break사용




(내가 푼 방법)

요게..짝수만 나오게하는거..음



*하나를 바꿔봤다.

j<10j<i로 바꿔봄



(이리나온다)

하나씩 부족하다... +1을 해주자?



<완성>

*소스코드


*실행 값

ㅎㅎ





switch문



(구조)


;이 아닌 상수뒤에 : 를 붙임

실행문 뒤에 break;를 써줘야함

break;를 안할시 아래에 있는 case도 실행됨.


default는 대충 if문에서 else와 비슷한 느낌


만약 두개의 case의 경우를 합치고 싶으면 두개의 case이후에 break;를 써줘야 함.



<Windows에서 입력 버퍼를 비울 때>
fflush(stdin)을 호출하여 입력 버퍼를 제법 간단히 비울 수 있는데
다만 이건 Windows에서만 가능한 것이고 다른 운영체제에선 정의되지 않은 동작임.

while (getchar() != '\n'); 를 써주면 됨.



//곧 개강이라니

반응형

'언어 > C' 카테고리의 다른 글

[C] 함수  (0) 2018.09.13
[C] 변수(C의정석_1)  (0) 2018.09.10
[C] 반복문  (0) 2018.08.28
[C] 자료형  (0) 2018.08.27
[C] 변수와 연산자  (5) 2018.08.25

댓글