금융 경제 보험 정보
C++ 기초공부 - 4. 'for' 문 사용법 본문
이번글에서는 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 에서 중요한 것은 어떤 명령을 몇번씩 반복하는다는 것을 이해하는 것이다