금융 경제 보험 정보

C++ 기초공부 - 4. 'for' 문 사용법 본문

카테고리 없음

C++ 기초공부 - 4. 'for' 문 사용법

정보캣 2023. 11. 3. 09:13

이번글에서는 C++의 기초 문법 중의 하나인 For 의 사용법에 대해 알아보자

1. For 문이란

For는 어떤 조건에 해당하는 명령을 반복적으로 수행 할 때 사용한다. 예를 들어서
1을 쓰세요
2를 쓰세요
3을 쓰세요....10을 쓰세요

이런 명령이 있다면 그냥 1에서 10까지 쓰세요 라고 명령을 한번만 내려도 수행하는 결과는 똑같이 나오니까 코드를 더욱더 효율적으로 짤 수 있는 것이다.

#include <iostream>

int main() {
    for (int i = 1; i <= 10; ++i) {
        std::cout << i << std::endl;
    }

    return 0;
}

예시 코드를 살펴보자

" for (int i = 1; i <= 10; ++i) { "

이 줄이 For문을 실행하는 코드이다
코드블록 안에서 처음에 'for'라고 쓰고 소 괄호를 열어서 명령을 할 내용을 적는다

int i = 1 는 int 정수라는 타입을 사용하고, 'i'라는 변수를 쓴다. i=1 의 시작은 1로 할당한다

i <= 10; 실행되는 조건으로 변수가 10보다 같거나 작을 때 까지 반복해서 연속적으로 진행한다

++i 는 '++' 가 연속적으로 증가시키는 부호이다.

그래서 코드를 실행해보면 결과 값이

이렇게 나오는 것을 알 수 있다.

2. For문 코드퀴즈

Q1. 구구단: 사용자가 입력한 숫자에 대한 구구단을 출력하는 프로그램을 작성하십시오. 예를 들어 사용자가 5를 입력하면 프로그램은 1부터 10까지 5에 대한 구구단을 인쇄해야 합니다.

정답

#include <iostream>

int main(){


    int N;
    std::cout << "your number? " << std::endl; 
    std::cin >> N;

    for(int i=1; i < 10; ++i ){
        std::cout << N * i <<  std::endl; 
    }

    return 0;

}

이 문제를 풀 때, 어디에 For를 둬야 하는지가 좀 헷갈렸다. 그런데 문제를 천천히 생각해보니 결국 연속적으로 증가하는 것은 구구단을 곱해주는 수 이기 때문에 유저의 입력 숫자가 아니라 구구단을 곱해주는 수를 For로 설정하면 된다.

Q2.
패턴 인쇄: 사용자로부터 정수 입력 'n'을 받아 다음과 같은 방식으로 별표(*) 패턴을 인쇄하는 프로그램을 작성하십시오. n=4이면 출력은 다음과 같아야 합니다.

정답

#include <iostream>

int main() {
    int N;
    std::cout << "Enter your number: ";
    std::cin >> N;

    for (int i = 0; i < N; ++i) {
        // Print leading spaces
        for (int j = 0; j < N - i - 1; ++j) {
            std::cout << ' ';
        }

        // Print asterisks
        for (int k = 0; k < 2 * i + 1; ++k) {
            std::cout << '*';
        }

        std::cout << std::endl;
    }

    return 0;
}

코딩문제라기 보다는 연산 (산수)같은 느낌인데..
별표의 공간을 만들어주는 공식은
for (int j = 0; j < N - i - 1; ++j) {

별표를 찍는 공식은
for (int k = 0; k < 2 * i + 1; ++k) {

숫자를 하나씩 넣어보면서 디버깅해보면 이해가 된다

이처럼 For 에서 중요한 것은 어떤 명령을 몇번씩 반복하는다는 것을 이해하는 것이다

Comments