3강

목차

  • 반복문 활용예제

  • 중첩 반복문

  • 1차원 배열

  • 문자열 처리

반복문 활용 예제

do~while 입력값 검사

int main()
{
    int n;
    do
    {
        printf("1 과 10 사이의 정수를 입력해 주세요 : ");
        scanf("%d", &n);
    } while (n <= 0 || n>10);

    printf("%d", n);
}

하지만 이렇게쓰는게 더 좋습니다.

while문 활용

수 뒤집기

십진수 이진수로 바꾸기

for문 활용

소수 판별 알고리즘

최대공약수 알고리즘

중첩 반복문

반복문 내부에 반복문을 사용하는 구조입니다.

중첩 반복문의 구조

사실 그렇게 새로울 것은 없고 예제를 보며 여러번 사용하면서 구조를 익히는 것이 가장 좋습니다.

정렬 알고리즘(버블 소트)

for문과 배열

변수를 사용할 때와 마찬가지로 배열에는 원하는 값을 저장하면 되고 단일 변수와 다른 점은 그 값을 인덱싱할 수 있다는 점이 좋습니다.

1차원 배열

배열은 값을 연속적으로 저장하는 공간을 말합니다. 자료형 배열의 이름[배열의 크기] 로 선언합니다. 배열의 크기에는 항상 상수가 들어가야 합니다. 배열을 선언할 때 메모리 상에 연속적으로 공간을 할당합니다. 배열의 이름은 그 자체로 주소를 나타냅니다. 이는 메모리상의 배열의 시작 주소와 같습니다. 배열의 값을 얻을 때 연속적으로 인덱싱을 할 수 있다는 것이 굉장히 중요한 속성입니다. 이러한 연속적인 성질 때문에 배열은 99% for문과 함께 사용합니다. for문은 반복과 인덱싱을 하기에 편하기 때문입니다.

이러한 성질을 활용하는 것 역시 실습을 통해 익혀가는 것이 가장 빠릅니다.

배열의 입력과 출력

두 배열이 같은지 체크

배열이 오름차순인지 체크

문자열 처리

우리는 실생활에서 문자열을 굉장히 많이 사용합니다. 배열의 자료형을 char로 선언함으로써 문자열을 만들 수 있습니다. 배열과 똑같이 사용할 수 있지만 문자열을 다룰 때 배열보다 편합니다. 조금 특이한 것은 문자열의 마지막에는 무조건 \0(널) 값이 들어가야 한다는 것입니다. 따라서 arr[5] 는 4글자의 문자열만 입력받을 수 있습니다.

문자열의 입력

문자열은 보통 %s 라는 서식문자로 입력받습니다.

하지만 입력 중간에 공백이 있으면 한번에 받지 못합니다. 그럴때는 다음과 같이 입력받으면 됩니다.

한 줄 입력받기 (공백 포함)

문자열의 출력

출력 역시 %s 서식문자로 출력합니다. 특이한 것은 문자열의 시작 주소부터 \0을 만날 때 까지 출력합니다.

Last updated

Was this helpful?