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<10을 j<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 |
댓글