본문 바로가기

Studying

(36)
[정보처리기사 실기]_C언어 특강(4) 31번#include#includeint main(int argc, char* argv[]) { int n, i; char p[] = "korea seoul"; n = strlen(p); for (i = n - 1; i >= 0; i--) printf("%c", p[i]); printf("%d", n); return 0;} 문자열 출력과 그 문자열의 길이를 출력하는 코드 1) #include : strlen 함수 사용하기 위해 헤더 포함. 2) int n, j; : 정수형 변수 n, j 선언. 3) char p[] = "korea seoul"; : 문자열 배열 p 선언하면서 초기화. 배열의 크기는 마지막에 널문자(\0)가 자동으로 포함되므로 11 + 1 = 12.pkorea seoul\0 p[0]..
[정보처리기사 실기]_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로 나눈..