1. C언어 문법(혼공C) / 선택문(if, switch ~ case)
1) if문
(1) 기본형태
선언 -> if
조건 -> ()
실행문 -> {}
#include<stdio.h>
int main(){
int a = 20;
int b = 0;
if (a > 10)
{
b = a;
}
printf("a : %d, b : %d\n",a,b);
return 0;
}
(2) 여러가지 사용형태
출력은 다 똑같이 나옴
if (a > 10)
{
b = a;
}
if (a > 10){
b = a;
}
if (a > 10)
b = a;
if (a > 10) b = a;
※ 주의사항
아래의 두 형태는 실행 문장이 한 문장일 때만 사용할 수 있고,
두 문장 이상이면 반드시 중괄호로 묶어야 함 !
2) switch ~ case문
더보기
(1) 기본형태
#include<stdio.h>
int main(){
int rank = 2, m = 0;
switch (rank) // switch 문 선언
{
case 1 : // case -> rank가 1인 경우 아래를 실행
m = 300;
break; // switch문 탈출
case 2 : // case -> rank가 2인 경우 아래를 실행
m = 200;
break; // switch문 탈출
case 3 : // case -> rank가 3인 경우 아래를 실행
m = 100;
break; // switch문 탈출
default : // case와 rank가 일치하는 경우가 하나도 없다면 아래를 실행
m = 10;
break; // switch문 탈출
}
printf("m : %d\n", m);
return 0;
}
(2) break 생략 여부(필요에 따라)
#include<stdio.h>
int main(){
int rank = 2, m = 0;
switch (rank)
{
case 1 :
m = 300;
case 2 : // rank가 2이므로 case가 2인 경우의 실행문장을 실행
m = 200;
case 3 : // 위 case 2의 break이 없어서 case 3의 문장도 실행됨
m = 100;
}
printf("m : %d\n", m);
return 0;
}
2. C언어 문법(혼공C) / 반복문
1) while문
(1) 기본형태
선언 : while
조건 : ()
실행 : {}
#include<stdio.h>
int main(){
int a = 1;
while (a < 10)
{
a = a * 2;
}
printf("a : %d\n", a);
return 0;
}
2) for문
(1) 기본형태
선언 : for
조건 : (시작식 ; 조건식 ; 증감식)
실행 : {}
#include<stdio.h>
int main()
{
int a = 1;
int i;
for (i = 0; i < 3; i++)
{
a = a * 2;
}
printf("a : %d\n", a);
return 0;
}
3) do ~ while 문
(1) 기본형태
선언 : do, while
실행 : {}
조건 : ()
#include<stdio.h>
int main()
{
int a = 1;
do // 아래 중괄호를 먼저 실행
{
a = a * 2;
} while (a < 10); // 조건이 충족되면 do를 반복
printf("a : %d\n",a);
return 0;
}
4) 중첩 반복문
(1) 예제를 통해 알아보기
외부 for문은 총 3번 반복
내부 for문은 총 15번 반복(외부 for문 1번당 5번이므로)
for i(1) -> for j(5) -> printf("*") -> printf("\n") = *****
for i(2) -> for j(5) -> printf("*") -> printf("\n") = *****
for i(3) -> for j(5) -> printf("*") -> printf("\n") = *****
이 됨
#include<stdio.h>
int main()
{
int i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 5; j++)
{
printf("*");
}
printf("\n");
}
return 0;
}
(2) for문의 제어변수 사용할 때 주의점
#include<stdio.h>
int main()
{
int i, j;
for (i = 0; i < 3; i++)
{
for (i = 0; i < 5; i++)
{
printf("*");
}
printf("\n");
}
return 0;
}
이 코드는 위 코드의 j를 i로만 바꾼 것인데,
출력결과는 *****가 끝이다.
이유는 내부 for문이 5번 반복되면 i가 5가 되고, 외부 for문의 조건을 확인할 때 이미 범위가 종료되며 실행되지 않는 경우가 발생하기 때문임.
5) break 분기문
break은 자신을 포함하는 반복문 하나만을 벗어날 수 있다.
#include<stdio.h>
int main()
{
int i;
int sum = 0;
for (i = 1; i <= 10; i++)
{
sum = sum + i;
if (sum > 30) // sum이 30을 초과하는 경우
{
break; // for 반복문을 탈출한다
}
}
printf("누적한 값 : %d\n",sum);
printf("마지막으로 더한 값 : %d\n",i);
return 0;
}
6) continue 분기문
#include<stdio.h>
int main()
{
int i;
int sum = 0;
for (i = 1; i <= 100; i++)
{
if (i % 3 == 0) // i가 3의 배수면
{
continue; // continue 분기문을 실행, for문의 마지막 블록으로 이동함
}
sum = sum + i;
} // for문 다시 반복
printf("누적한 값 : %d\n",sum);
printf("마지막으로 더한 값 : %d\n",i);
return 0;
}'LMS 7 > 개발일지' 카테고리의 다른 글
| 25.06.15 학습개발일지 / C언어 (0) | 2025.07.22 |
|---|---|
| 25.06.13 학습개발일지 / C언어 (0) | 2025.07.22 |
| 25.06.10 (0) | 2025.06.10 |
| 25.06.09 개발일지 / C언어 (0) | 2025.06.09 |
| 25.06.08 개발일지 / C언어 예습하기 (0) | 2025.06.09 |