본 내용은 C언어의 조건문과 반복문에 대한 기초를 공부하고 정리한 내용을 담음.
목차
C언어
반복문
- 어떤 행동을 반복적으로 수행하는 문장
1.1. 반복문의 종류
- while 문
- for 문
- do ~ while 문
1.2. while 문
while (조건식)
{
반복할 내용
}
- 조건식이 참인 동안 반복할 내용을 반복해라
- 즉 조건이 True면 무한히 실행될 수도 있음.
- while문 안에도 또 다른 while문이 존재할 수 있음.
- 중첩 while문일 때 안 쪽 반복에서 다시 초기화해주는 것이 필요하니 주의!
- 도식화하여 반복하는 걸 수동 디버깅하면서 익힐 것!
1.3. for 문
for (초기값; 조건값; 증감값)
{
반복할 내용
}
조건값이 참인 동안 반복할 내용을 반복적으로 수행할 것
- 조건값을 True로 주면 무한히 실행
- 중첩 for 문도 가능
1.4. do ~ while 문
do
{
반복할 내용
} while(조건식)
- {} 내용을 먼저 실행
- while 문 안에 있는 조건의 참과 거짓을 판단
- 참이면 다시 반복
- 거짓이면 반복 탈출
- while문과 do~while문 비교
- while문 : '조건이 만족하지 않으면 반복할 내용을 실행하지 않는다.'
- do ~ while 문 : '최소한 한번은 반복할 내용을 실행한다.'
2. 조건문
2.1. if 문
if (조건식)
{
코드
}
else if (조건식)
{
코드
}
else
{
코드
}
- if (조건식) 뒤에 세미콜론 붙이면 안됨!
- 조건문으로 실행할 코드가 하나이면 중괄호 생략가능하지만 중괄호를 써버릇 하자
2.2. switch ~ case문
- 조건문을 표현하는 방식
- if else문을 간결하게 표현
- if else문보다 가독성이 높지만 제약이 있음.
switch(변수)
{
case 값1 :
코드;
break;
case 값2 :
코드;
break;
case 값3 :
코드;
break;
default :
코드;
}
변수의 값과 동일한 값을 갖는 case로 가서 실행문을 실행
존재하지 않는 값을 실행하면 default에 해당하는 실행문을 실행
2.2.1. switch문의 한계 1
- 관계 연산이 올 수 없다.
- '실수' 자료형을 사용할 수 없다.
2.3. break와 continue
- break문
- 조건문을 종료
- 반복문을 종료
- continue문
- 반복을 끝내는 게 아니라 continue를 만난 순간 continue문 아래에 있는 실행해야하는 코드를 건너뛰고 다음 반복을 시작한다.
3. 함수
3.1. 함수
- 함수란?
- 특정 작업을 수행하는 코드의 집합
- C 언어에서 제공해주는 표준 라이브러리 함수
- 사용자가 직접 만든 함수인 사용자 정의 라이브러리 함수
- 특정 작업을 수행하는 코드의 집합
- 함수 사용의 장점
- 코드의 안정성 향상
- 에러 수정이 쉬움
- 재사용성 향상
3.2. 함수의 기본 요소
- 입력 형태 : 함수가 입력 받을 형태
- 함수 이름 : 함수의 이름을 표현
- 출력 형태 : 함수의 출력을 나타냄
- 함수의 기능 : 함수가 수행할 기능 정
우에서 좌방향으로 해석
3.2.1. 함수의 형태
- 11형태
- 입력값을 받고 그것을 출력하는 형태가 존재하는 형태의 함수
- 출력 형태가 있으니 함수 내에서 반드시 return문 존재해야함
- 10형태
- 출력이 있고 입력이 존재하지 않는 형태의 함수
- 마찬가지로 출력이 있으니 함수 내에서 반드시 return 문이 존재해야함
- 다만 위와의 차이는 입력받는 값이 없다는 점.
- 01형태
- 입력값은 있지만 출력값이 없는 형태의 함수
- 값 하나를 입력받아 기능을 처리하지만 출력 형태가 void라 return문 없어도 됨.
- 00형태
- 입력도 없고 출력도 없는 형태의 함수라 내부 기능만 수행하고 종료되는 함수
3.3. 함수 적용 방법
1) 함수를 먼저 정의하고 나중에 호출하는 방법
2) 함수를 선언 → 함수를 호출 → 함수의 정의
컴파일은 처음부터 만들어진 내용은 컴파일하는데 함수를 호출하려는데 함수가 존재하지 않으면 에러가 발생하므로
함수를 정의를 하고 호출하거나 선언해둔 다음 나중에 정의하는 방법 두 가지가 존재.
4. 변수의 종류와 범위
4.1. 지역 변수 (LocaL Variable)
사용 범위
- 함수 내부에서 사용되는 변수
- 조건문 또는 반복문의 중괄호 내부에서 사용
- 함수의 매개 변수로 사용
- 각각 함수마다 독립적으로 사용되는 변수라고 생각
4.2. 전역 변수(Gloval Variable)
사용 범위
- 중괄호 외부에서 사용
- 전역에서 사용되는 변수라고 생각
4.3. 정적 변수(Static Variable)
static int num;
- 자료형 앞에 static 키워드를 붙여서 사용
- 프로그램이 종료되지 않는 한 메모리가 소멸되지 않음
- 초깃값을 지정하지 않아도 자동으로 0을 가짐
- 프로그램이 시작되면 초기화는 딱 한 번만 수행
- 정적 변수는 중괄호가 있는 지역에서 전역 변수의 기능이 필요할 때 사용!
4.4. 외부 변수 (External Variable)
- 외부 파일에 선언된 변수를 참조하는 변수
- 자료형 앞에 extern 키워드를 사용
- 다른 파일에 있는 전역 변수를 참조
5. 재귀함수
5.1. 재귀함수란?
- 함수 내에서 자기 자신을 호출하는 함수
※ 문제점 : 시간과 메모리 공간 효율이 저하되므로 신중히 사용
자기 자신을 호출하다보니 끝날때까지 탈출하지 못하므로 램이 오버플로우 될때까지 돌아감.
마무리
메모리 구조를 생각하면서 배우니 좀 더 직접적으로 알 수 있었던 게 이해에 도움이 됨.
'IT > C' 카테고리의 다른 글
[C언어] 기초 내용 정리 (배열, 포인터 변수) (0) | 2023.03.24 |
---|---|
[C언어] 기초 내용 정리 (변수, 연산자) (0) | 2023.03.23 |
[C언어] 기초 내용 정리 (C 언어의 기본 구조, 표준 입출력) (0) | 2023.03.22 |
댓글