자격증/정보처리기사 실기
정보처리기사[실기] 기출문제_C언어(2020년도)
김엉배
2023. 9. 19. 23:14
728x90
반응형
※ 참고(printf 서식 문자)
- %c : 문자 표기
- %s : 문자열 표기
- %f, %lf : 실수 표기
- %u : 10진 정수 (부호 없음)
- %d : 10진 정수 (부호 있음)
- %o : 8진 정수 (부호 없음)
- %x : 16진 정수 (부호 없음)
- %lu : long 타입 (부호 없음)
- %ld : long 타입 (부호 있음)
- %llu : long long 타입 (부호 없음)
- %lld : long long 타입 (부호 있음)
- %p : 메모리 주소 표기
- %% : 기호 % 표기
◎ 2020년 1회 12번
#include <stdio.h>
void main() {
int i, j;
int temp;
int a[5] = {75, 95, 85, 100, 50};
for(i=0; i<4; i++) {
for(j=0; j<4-i; j++) {
if(a[j] > a[j+1]) {
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for(i=0; i<5; i++) {
printf("%d ", a[i]);
}
}
더보기
* 거품 정렬(Bubble Sort): 두 인접한 원소를 검사하여 정렬하는 방법
1) i는 3만큼 반복 / j는 4-i 만큼 반복
2) 현재 요소의 값과 다음 요소 값을 비교하여 큰값을 다음 요소로 보냄
3) 0~4번째까지의 값을 출력
♣ 정답 -> 50 75 85 95 100
◎ 2020년 3회 02번
#include <stdio.h>
void main() {
int i = 0, c = 0;
while(i < 10) {
i++;
c*=i;
}
printf("%d", c);
}
더보기
1) while이 10이므로 i < 10 일때까지 계속 반복
2) while 안에 c *= i => c = c*i가 있는데 c는 이미 0으로 선언되어있으므로 while이 끝나고 c는 0이 된다.
♣ 정답 -> 0
◎ 2020년 3회 13번
#include <stido.h>
int r1() {
return 4;
}
int r10() {
return (30 + r1());
}
int r100() {
return (200 + r10());
}
int main() {
printf("%d\n", r100());
return 0;
}
더보기
1) r100() => 200 + r10()
2) 200 + r10() => 200 + 30 + r1()
3)200 + 30 + r1() => 200 + 30 + 4
♣ 정답 -> 234
◎ 2020년 4회 18번
#include <stdio.h>
void main() {
char *p = "KOREA";
printf("%s \n", p);
printf("%s \n", p+3);
printf("%s \n", *p);
printf("%s \n", *(p+3);
printf("%s \n", *p+2);
}
더보기
1) char *p = "KOREA"라고 선언되면 p라는 포인터에 KOREA라는 저장 공간이 할당된 곳을 가리키게 된다.
주솟값 |
K (p) |
O (p+1) |
R (p+2) |
E (p+3) |
A (p+4) |
NULL(자동으로 마지막 Null) |
2) printf("%s \n", *p+2); 을 보면 *p는 K인데 여기에 +2를 하니 다다음 스펠링 M이 나온다.
♣ 정답 ->
KOREA
EA
K
E
A
728x90
반응형