말좀 물읍시다
내가 여차여차  많은 사연이 있어서 지방사립대 문과를다닌다.
이게 졸업만 하면 취직은 잘되고 보건직 공무원으로 철밥통으로 평생 편하게 살 수 있긴 있단 말이야.
근데 내가 적성도 안맞고 내가 생각한 꿈이 이런게 아니어서
컴퓨터 공학과 쪽으로 편입을 생각하고 있다.
편입에서 필요한데 전적대, 토익, 전공소양 인데
우선 토익은 현재 850나오고 전적대는 좀 암울하지만 3점대는 유지하고 있다.
문제는 전공 소양인데 서울 소재 모대학 소양시험을 보니 C언어에 관련된 프로그래밍 문제가 나왔더라고
암튼 3가지 중에 2개는 내가 할 수 있는건데
내가 기본 컴퓨터는 잘하지만 C언어는 생소한데 이거 어떻게 하면 배울 수 있을까?
주변에 국비지원학원인가 그것도 없는거 같고 동영상 강의도 생각하고 있긴한데

다음은 문제 전문


1. 절차형 언어인 C언어와 객체지향언어인 Java언어의 공통점과 차이점을 설명하시오 (10점).

2. 다음 2가지 C언어 문장의 차이점을 설명하시오 (10점).
[1] int *f(); [2] int (*f)();

3. C언어에서 다음과 같이 선언된 2개의 변수 sch와 uch가 가질 수 있는 수의 범위의
차이를 설명하시오(10점).

signed char sch;
unsigned char uch;

4. 다음의 식을 빅오 O()의 정의를 이용하여 성립되는지 또는 성립되지 않는지 증명하시오(10점).

11n3 - 7n2 + 20 = O(n3)

5. C언어에서 다음의 문장을 실행하면 정수형 변수 num에 어떤 값이 대입되는지 보이고, 아래 문장과 같은 일을 하는 문장을 사칙연산만 사용하여 구성하시오 (10점).

num = 5 << 2 + 1;

6. 오름차순 퀵 정렬(quick sort) 알고리즘의 최악의 경우(worst case)는 어떤 것인지 8개 숫자로 이루어진 입력 예를 보이고, 최악의 경우 시간 복잡도(time complexity)를 보이시오(10점).

7. 8개의 숫자 N=(n1, n2, ..., n8) 중 최대값과 최소값을 둘 다 구하는 알고리즘을 만들려고 한다. 적은 횟수의 비교를 통하여 최대값과 최소값을 둘 다 구하는 알고리즘을 보이고 알고리즘이 동작하는 과정을 보이시오(10점).

8. 9개의 노드를 가진 이진 트리에 대하여 다음을 답하시오. 이진 트리의 높이가 최대가 되는 예를 구하시오. 그리고 이진 트리의 높이가 최소가 되는 예를 구하시오(10점).

9-10. C 프로그램 함수를 완성하시오. int n = atoi("-123");은 숫자 -123을 반환한다(각 10점).

int atoi(char s[]) {
int i, n, sign;
for(i=0; isspace(s[i]); i++) ;
sign = (9번)___________________________;
if(s[i]=='+' || s[i] == '-') i++;
for(n=0; isdigit(s[i]); i++)
(10번)_________________________;
return sign*n;
}