삼항연산자
조건에 따라서 다른 명령을 수행하는 연산자
구조: 조건 ? 참 : 거짓
int a = 10 > 5 ? 10 : 5;
printf("%d", a); // 10
연습문제
#include <stdio.h>
void main() {
int a, b;
a = 20;
b = (a > 10) ? a+a : a*a;
printf("b=%d\n", b); // b=40
}
if 문
조건에 따라서 다른 명령어들을 수행
switch 문
주어진 값에 맞는 명령어들을 수행
연습문제
#incldue <stdio.h>
int main() {
int a = 0, b = 1;
switch(a) {
case 0 : printf("%d\n", b++); break; // 1
case 1 : printf("%d\n", ++b); break;
default : printf("%d\n", b); break;
}
return 0;
}
만약 위 연습문제에서 break; 가 없다면?
해당 case 로 들어온 다음 그 아래에 case 문을 모두 들어가게 됨.
ex) a = 0 인데 break 가 없다면
1
3
3
이 출력됨
ex) a = 1 인데 break 가 없다면
case 0은 안들어가고, 바로 1로 들어감
2
2
가 출력됨
헷갈리게 내면 break를 쓰고 안쓰고 이런식으로 장난질을 많이 침. break 를 만날때까지 쭉 실행해줄 것.
반복문
(1) for : 정해진 횟수만큼 반복
(2) while: 조건이 만족하는 동안 반복
(3) do ~ while: 무조건 한번 수행 후 조건이 만족하는 동안 반복
연습문제
#include <stdio.h>
int main() {
int j;
int sum = 0;
for ( j = 2; j <= 70; j += 5)
sum += 1;
printf("%d", sum); // 14, j = 72
}
// j = 72 까지 올라감을 명심하자!, 72까지 올라가니까 반복문을 빠져 나올수 있었던 것
while 문
int j = 0;
while (i < 3)
{
printf("i = : %d\n", i); // 0 1 2
i++;
}
printf("sum = : %d\n", i); // 3
// i++가 마지막까지 실행됨 주의!
연습문제
#include <stdio.h>
int main() {
int count = 2;
int sum = 0;
while (count <= 10) {
sum += count; // 2 6 12 20 30
count += 2; // 4 6 8 10 12
}
printf("%d", sum); // 30
}
// 조건에 맞으면 반복문 끝까지 수행하기, 써보면서 풀기
do while 연습문제
int i = 3;
do
{
printf("i = %d\n", i); // 3
i++;
} while(i<3);
printf("sum = %d\n", i); // 4
// 제발 반복문 끝까지 수행하기 (i++ 결과를 반영하기), 만약 while 문이었으면 sum = 3 만 출력
연습문제
#incldue <stdio.h>
void main() {
int a, b;
a = 2;
while (a-- > 0) { // 후치증감연산자 -> 일단 2가 0보다 큰지 먼저 비교하고 -- 수행, 마지막으로 a-- > 0 을 비교할때 -- 이 수행되니까 a = -1인 상태로 반복문 빠져나옴
printf("a = %d\n", a); // a = 1, a = 0
}
// a = -1
for (b = 0; b < 2; b++) {
printf("a = %d\n", a++); // 후치증감연산자 이므로 a 값을 먼저 출력하고 ++ 수행
}
// a = 1, b = 2
}
// 1
// 0
// -1
// 0
'정보처리기사' 카테고리의 다른 글
[정보처리기사] C언어 특강 21~22강 정리(배열) (0) | 2024.10.04 |
---|---|
[정보처리기사] C언어 특강 18 ~ 1강 정리(복잡한 제어문, 반복문 ) (0) | 2024.10.03 |
[정보처리기사] C언어 특강 12강 정리(메크로, 비트연산) (0) | 2024.09.28 |
[정보처리기사] C언어 특강 11강 정리 (0) | 2024.09.26 |
[정보처리기사] C언어 특강 10~11강 정리 (0) | 2024.09.19 |