논리연산자
and = &&
or = ||
not = !
<조건 연산자>
조건식 ? 참일_경우_값 : 거짓일_경우_값;
ex)
#include <stdio.h>
int main() {
int a = 10, b = 5;
// a가 b보다 크면 "a가 크다" 출력, 아니면 "b가 크다" 출력
a > b ? printf("a가 크다\n") : printf("b가 크다\n");
return 0;
}
-
// 문제4
// 문제2를 조건연산자 사용하여 풀기
int num1,num2;
printf("정수 2개를 입력하세요.");
scanf("%d %d", &num1, &num2);
num1 > num2 ? printf("%d",num1-num2):printf("%d",num2-num1);
return 0;
< 기타 제어문 >
continue & break
// p.193
// 문제1
// 짝수의 구구단만 출력
// 2x2, 4x4, 6x6, 8x8 까지만 출력되도록
int dan=0, is=0;
for (dan=0; dan<10; dan++)
if (dan%2!=0)
continue;
for (is=1; is<10; is++)
if (dan<is)
break;
printf("%dx%d=%d \n", dan, is, dan*is);
printf("\n");
return 0;
}
내가 짠거 (실행 안됨) 10x10=100 나옴..
// 정답
int dan,is;
for (dan=1; dan<10; dan++){
if (dan % 2 != 0)
continue;
for (is=1; is<10; is++){
if (dan<is)
break;
printf("%dx%d=%d ", dan, is, dan * is);
}
printf("\n");
}
return 0;
}
이게 정답인데 뭐가 다른거냐~~
int dan,is;
for (dan=1; dan<10; dan++){
if (dan % 2 != 0) // 홀수는 건너뛰고
continue; // 짝수가 맞으면
// 아래 종속된 for문 실행 가능
for (is=1; is<10; is++){
if (dan<is) // is가 1부터 시작해서 dan보다 커지면 종료
break;
// 종료하고 다음 프린트 실행
printf("%dx%d=%d ", dan, is, dan * is);
}
printf("\n"); // 단 하나 끝나면 줄바꾸기
}
return 0;
}
해설 써봄
'C언어' 카테고리의 다른 글
복겟몬 리뷰 (0) | 2025.03.19 |
---|---|
로또 - 사용자가 뽑는 코드 - 숫자인지 아닌지 판별 (0) | 2025.03.15 |
자료형(data type) (0) | 2025.03.09 |
진수 (0) | 2025.03.07 |
Unsigned를 사용하는 이유 (0) | 2025.03.07 |