본문 바로가기

Studying/정보처리기사

(27)
[정보처리기사 실기]_C언어 특강(3) 21번f(5) { if (n > 0) f(n - 2); printf("%d ", n);}함수는 재귀적으로 n이 0 이하가 될 때까지 n을 2씩 감소시키며 자신을 호출.n > 0인 경우에만 재귀호출 하고, 그 후에 printf("%d ", n);을 실행.재귀 함수는 함수가 자기 자신을 직접 또는 간접적으로 호출하는 함수를 의미. 이러한 호출은 함수 호출 스택 사용하여 처리되고, 함수가 호출될 때마다 새로운 인스턴스가 스택에 푸시(PUSH)되고, 함수가 반환되면 스택에서 팝(POP) 됨. 재귀 함수는 특정 종료 조건을 충족할 때까지 반복적으로 자신을 호출하여 문제 해결함. 1) f(5) 함수가 호출되면서 함수 안에 if문 조건 확인.2) if(n > 0) 조건이 참이면 f(n - 2) 실행. 현재 n = 5..
[정보처리기사 실기]_C언어 특강(2) 11번#includeint f(int a, int b) { int s; s = a + b + 1; return s;}void main() { int x, y, i, j; x = 10; y = ++x; i = --x / 2; j = y % 7 + i++; printf("%d\n", f(y, j));} 1) 프로그램은 main 함수가 먼저 시작되니 main 함수 먼저 보기. 2) int x, y, i, j; : 정수형 변수 x, y, i, j 선언. 3) x = 10; : x에 10을 저장. 4) y = ++x;   : y = ++x에서 ++가 전위연산자이므로 x에 1 증가 후 y에 대입하면 y = 11. (x = 11) 5) i = --x / 2; : i = --x / 2에서 현재 x는 11이지만 --가 ..
[정보처리기사 실기]_C언어 특강(1) 01번#includevoid main() { float a = 3 / 2; float b = 3.0 / 2; int c = (int)b; printf("%7.3f %7.3f %3d\n", a, b, c);} 1) #include : 표준 입력 및 출력 함수 사용하기 위해 필요한 헤더파일 포함. 2) void main() : C 프로그램은 main 함수에서 실행 시작하므로 main 함수 정의하는데 void는 아무 값도 반환하지 않음. 3) float a = 3 / 2; : 3을 2로 나눈 결과의 몫을 변수 a에 저장. 기억해야 할 것은 정수/정수는 정수로 반환   정수/실수, 실수/정수 그리고 실수/실수는 실수로 반환. 따라서 a는 1을 저장. 4) float b = 3.0 / 2; : 3.0을 2로 나눈..