1-1. 배열 선언과 인덱스

문제설명

정수 3개를 저장하는 배열을 선언하고, 각각 10, 20, 30을 저장한 뒤 첫 번째 원소와 마지막 원소를 출력하시오.

 

목표

  • 배열 선언
  • 인덱스가 0부터 시작함을 이해

요구사항

  • int arr[3] 형태로 선언할 것
  • arr[0], arr[2]를 출력할 것

출력예시

첫 번째 값: 10
마지막 값: 30

 

코드예시

더보기
더보기
#include <stdio.h>

int main(void)
{
    int arr[3] = {10, 20, 30};

    printf("첫 번째 값: %d", arr[0]);
    printf("마지막 값: %d", arr[2]);

    return 0;
}

 

1-2. 배열과 반복문

 

문제설명

배열에 저장된 5개의 정수를 반복문으로 모두 출력하시오.

 

목표

  • 배열과 for문의 결합
  • arr[i] 형태의 접근 이해

요구사항

  • 배열: {3, 6, 9, 12, 15}
  • for문으로 출력할 것

출력예시

3
6
9
12
15

 

코드예시

더보기
더보기
#include <stdio.h>

int main(void)
{
    int arr[5] = {3, 6, 9, 12, 15};

    for (int i = 0; i < 5; i++) {
        printf("%d", arr[i]);
    }

    return 0;
}

 

1-3. 부분 초기화

 

문제설명

다음 배열을 선언했을 때 각 원소의 값을 출력하시오.

int arr[5] = {10, 20};

 

목표

  • 부분 초기화 시 남는 원소가 0으로 채워짐을 이해

요구사항

  • 반복문으로 5개의 원소를 모두 출력할 것

출력예시

arr[0] = 10
arr[1] = 20
arr[2] = 0
arr[3] = 0
arr[4] = 0

 

코드예시

더보기
더보기
#include <stdio.h>

int main(void)
{
    int arr[5] = {10, 20};

    for (int i = 0; i < 5; i++) {
        printf("arr[%d] = %d", i, arr[i]);
    }

    return 0;
}

 

1-4. char 배열과 문자열

 

문제설명

문자 배열에 "CAT"을 저장하고 문자열로 출력하시오.

 

목표

  • char 배열과 문자열의 차이 이해
  • 문자열 끝에는 '\0' 이 필요함을 이해

요구사항

  • char word[4] = {'C', 'A', 'T', '\0' };
  • %s로 출력할 것

출력예시

CAT

 

코드예시

#include <stdio.h>

int main(void)
{
    char word[4] = {'C', 'A', 'T', '\0'};

    printf("%s", word);

    return 0;
}

 

1-5. 잘못된 인덱스 찾기

 

문제설명

다음 코드의 문제점을 설명하시오.

int arr[3] = {1, 2, 3};
printf("%d", arr[3]);

 

목표

  • 배열 범위를 벗어난 접근이 잘못됨을 이해

요구사항

  • 왜 잘못되었는지 서술할 것
  • 올바른 코드로 수정할 것

설명예시

더보기
더보기

배열의 인덱스는 0번부터 (배열의 크기-1)번까지 할당된다. 

int arr[3] = {1,2,3}; 에서는, 마지막 원소는 arr[2]이고, arr[3]은 배열 범위를 벗어난 위치이다.

 

따라서, 

int arr[3] = {1, 2, 3};
printf("%d", arr[2]);  // 3을 2로 수정한다. 

 

1-6. 배열 크기 구하기

 

문제설명

배열의 전체 바이트 수와 원소개수를 출력하시오.

 

목표

  • sizeof()를 이용한 배열 크기 계산

요구사항

  • 배열: int arr[5] = {10, 20, 30, 40, 50};
  • 배열의 전체 크기와 원소개수를 각각 출력할 것

출력예시

배열 전체 크기: 20
원소개수: 5

 

코드예시

더보기
더보기
#include <stdio.h>

int main(void)
{
    int arr[5] = {10, 20, 30, 40, 50};
    int total_size = sizeof(arr);
    int count = sizeof(arr) / sizeof(arr[0]);

    printf("배열 전체 크기: %d", total_size);
    printf("원소개수: %d", count);

    return 0;
}

 

1-7. 문자열 입력받기

 

문제설명

사용자의 이름을 문자열로 입력받아 그대로 출력하시오.

 

목표

  • char 배열에 문자열 저장
  • scanf("%s", ...) 사용

요구사항

  • char name[20];으로 선언할 것
  • 이름을 입력받아 다시 출력할 것
 
출력예시
이름 입력: Luna
입력한 이름: Luna

 

코드예시

더보기
더보기
#include <stdio.h>

int main(void)
{
    char name[20];

    printf("이름 입력: ");
    scanf("%s", name);

    printf("입력한 이름: %s\n", name);

    return 0;
}
 

+ Recent posts