정보처리기사 2020년도 C언어 기출문제
업데이트:
2020년 1회Permalink
void main() {
int i, j; // 정수형 변수 i와 j 선언
int temp; // 정수형 변수 temp 선언: 숫자 정렬시 임시로 보관할 장소 지정
int a[5] = {75, 95, 85, 100, 50}; // 정렬할 대상 array 선언
for(i=0; i<4; i++){ // 3) 2)를 a[0]부터 a[3], a[0]부터 a[2], a[0]부터 a[1]까지 반복. 왜냐면 j<4-i 일 때까지인데, 안에 있는 2)가 한 바퀴 돌 때까지 i를 1씩 증가하여 겉에서 돌려주기 때문임
for(j=0; j<4-i; j++){ // 2) 1)을 a[0]부터 a[3]까지 반복하되,
if(a[j] > a[j+1]){ // 1) 비교 대상 숫자가, 인접한 숫자보다 클 경우,
temp = a[j]; // 1) 임시 장소에 비교 대상 숫자를 보관하여
a[j] = a[j+1]; // 1) 인접한 숫자를 대상 숫자 자리에 대입 후
a[j+1] = temp; // 1) 비교 대상 숫자를 인접한 숫자 자리에 대입. 즉, 자리바꾸기
}
}
}
for(i=0; i<5; i++){ // 1)부터 3)까지 거쳐 정렬된 array의 값을
printf("%d ", a[i]); // a[0]부터 a[4]까지 출력해줌
}
}
50 75 85 95 100
버블정렬: 두 개의 인접한 원소를 차례대로 검사하여 정렬하는 방법
2020년 3회Permalink
#include <stdio.h>
void main() {
int i=0, c=0; // 정수형 변수 i와 c를 선언한 후, 각각 0을 지정해준다
while(i<10){ // i값이 10보다 작을 때까지(10 이상이 되기 전까지 while문으로 돌려준다
i++; // 위에서 받은 i값에 1을 더해준 후,
c *= i; // c값에 i값을 곱해준다
// 이 경우, i=0일 때 while문에 들어와서 i=1이 되고, c=0*1=0이 된다
// 다시 i=1일 때 i=2가 되고, c=0*2=0이 된다
// ... i=9일 때 i=10이 되고, c=0*10=0이 된다
}
printf("%d", c); // 위의 while문에서 도출한 c의 값은 0이므로, 0을 출력한다
}
0
C알못 주리씨의 메모
처음 변수 선언할 때, 복수의 변수를 같은 자료형으로 선언할 경우에는 ,
으로 구분한다(;
로 구분했다가 계속 에러나서 애먹음…)
2020년 3회Permalink
#include <stdio.h>
int r1() {
return 4; // 4) r1 메소드의 값으로 4를 반환하므로 r10에 대입한다
}
int r10(){
return (30 + r1()); // 3) r10의 값을 구하기 위해 r1 메소드로 거슬러 올라간다 -> 5) r10=30+4=34 의 값을 r100에 대입한다
}
int r100(){
return (200 + r10()); // 2) r100의 값을 구하기 위해 r10 메소드로 거슬러 올라간다 -> 6) r100=200+34=234 의 값을 main 메소드에 대입한다
}
int main(){
printf("%d\n", r100()); // 1) r100()의 값을 출력하기 위해 r100 메소드로 거슬러 올라간다 -> 7) 6)에서 반환된 값 234를 출력한다
return 0;
}
234
2020년 4회Permalink
#include <stdio.h>
void main(){
char *p = "KOREA";
// %s는 문자열 출력, %c는 문자 출력
printf("%s\n", p); // p 주소(처음)로부터 NULL를 만날 때까지 출력하므로, KOREA를 끝까지 출력
printf("%s\n", p+3); // p+3 주소로부터 NULL를 만날 때까지 출력하므로, EA를 출력
printf("%c\n", *p); // p가 가리키는 값(*p)는 K. K를 출력
printf("%c\n", *(p+3)); // p+3이 가리키는 값(*(p+3))은 E. E를 출력
printf("%c\n", *p+2); // p가 가리치는 값(*p=K)로부터 2개 떨어져있는 알파벳은 M이므로, M을 출력
}
KOREA
EA
K
E
M