시작점;조건식;증감식으로 구분됩니다.
조건식만 쓰면 while문처럼 작동되며, ;;
로 모두 생략시 무한 루프도 가능합니다.
i를 0부터 10까지 1씩 증가시키는 예제입니다.
반복할때마다 hello * 10
를 출력합니다.
#include<iostream>
using namespace std;
int main() {
for (int i = 0; i < 10; i++) {
cout <<"hello * 10" <<endl;
}
return 0;
}
처음 for문이 한번 수행할때마다, 그 안 for문은 주어진 반복문을 수행합니다.
#include<iostream>
using namespace std;
int main() {
for (int i = 1; i < 10; i++) {
for (int j = 1; j < 10; j++) {
cout << i << " *" << j << " = " << i * j << endl;
}
}
return 0;
}
for문 사이에 if문이 존재할 수 있습니다.
if 조건식에 부합한다면 for문을 탈출하게 할 수 있습니다.
#include<iostream>
using namespace std;
int main() {
for (int i = 1; i < 10; i++) {
for (int j = 1; j < 10; j++) {
if (i * j % 3 == 0 && i *j % 7 == 0) {
cout << i << " *" << j << " = " << i * j << endl;
}
}
}
return 0;
}
위 코드는 구구단 후 3과7의 공배수를 구한 예제입니다.
우선 아래 예시를 보고 예제없이 코딩을 해봅시다!
(hint : " "
과 "*"
은 별개의 for문으로 수행합니다.)
정답 코드는 아래에 있습니다.
*
**
***
****
*****
-----------
*****
****
***
**
*
-----------
*
***
*****
*******
*********
정답 코드 :
#include<iostream>
using namespace std;
int main() {
for (int i = 0; i < 5; i++) {
for (int j = 1; j <= i + 1; j++) {
cout << '*';
}
cout << endl;
}
cout << "-----------" << endl;
for (int i = 0; i <= 5; i++) {
for (int j = 1; j <= 5 - i; j++) {
cout << '*';
}
cout << endl;
}
cout << "-----------" << endl;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 4 - i; j++) {
cout << ' ';
}
for (int j = 0; j < i * 2 + 1; j++) {
cout << '*';
}
cout << endl;
}
return 0;
}
C++14에 들어간 컨셉으로서, for-each와 유사합니다.
반복문을 쉽게 할 수 있다는게 장점입니다.
#include<iostream>
using namespace std;
int main()
{
int array_int[5] = {1,2,3,4,5};
for (auto i : array_int) {
cout << i << endl;
}
return 0;
}
-
과제-1(1) : 구구단을 구해서 짝수만 출력하기
-
과제-1(2) : 짝수*짝수의 결과만 출력하기
-
과제-2(1) : 아래 예시 처럼 A 모양 출력하기
*
* *
* *
* *
*********
* *
* *
- 과제-2(2) : 사이즈를 입력받아 크기를 조절할 수 있는 A 모양 만들기