728x90
0. 증가/감소 연산자
/*잠깐
* - 증가연산자
* - 감소연산자
* => 반복문의 카운터에 구현하면 유리함*/
int a = 10;
int b = 10;
cout << "a는 " << a << " b는 " << b << endl;
cout << "a++는 " << a++ << endl; //변수의 값을 판단한 후 증가시킴 -> 10 출력
cout << "++b는 " << ++b << endl; //증가시킨 후 변수의 값 판단 -> 11 출력
cout << "다시 a는 " << a << endl; //11
for(int j = 5; j>0; j--){ //부등식은 관계표현식의 일종
cout << j << endl;
}
1. 반복문 for
#include <iostream>
using namespace std;
int main(){
/*반복문 for*/
for(int i = 0; i < 5; i++) {
cout << i << "번째" << endl;
}
/*반복문의 네 가지 규칙
* 1. 반복문에 사용할 카운터(반복 횟수에 대한 변수)의 값을 초기화 (여기서 i=0)
* 2. 반복문을 진행할 것인지 '조건 검사' (여기서 i < 5)
* 3. 반복문 몸체를 수행
* 4. 카운터의 값을 변화시킴(여기서 i++) */}
2. 반복문 while, do while
#include <iostream>
using namespace std;
int main(){
/*반복문 while
* while(조건) {카운터변화}
* 조건에 true나 false와 같은 bool형도 들어갈 수 있음
* while로 짠 것을 for문으로도 짤 수 있고, vice versa, 둘 사이 복잡도 차이도 없음
* 단, while문은 bool데이터만으로, 관계표현식 없이도, 실행할 수 있음
* 또한, for문은 카운터 초기화, 카운터 변화 모두 for문 행에서 한꺼번에 정의할 수 있는데
* while문은 카운터 초기화를 while문 바깥에서 미리 선언해야 하며, 이는 while문을 벗어나서도 해당 변수를 사용할 수 있음을 의미.
*
*/
int k = 0;
while (k<3) {
cout<<k<<"번째"<<endl;
k++; //while문 내부에 반드시 '카운터변화' 행을 포함해야 함
}
string str = "panda"; //string은 명시적으로 개행문자'\0'를 포함
int l = 0;
while (str[l] != '\0'){
cout << str[l] << endl;
l++;
}
//일반 while문: 조건 검사 후 -> 반복 실행
//do while문: 반복을 실행 후 -> 조건 검사 //따라서 어떤 조건이든 최소한 1회는 실행 됨
int m = 0;
do{
cout << "while문 입니다.\n";
m++;
} while (m < 3);
}
3. 예제
3-1. 배열과 반복문
#include <iostream>
using namespace std;
int main(){
/*배열 기반 반복문*/
int a[10] = {1, 3, 5, 7, 9};
//1: index로 배열 원소 접근
for (int i = 0; i<5; i++){
cout << a[i];
} //13579
cout << "\n";
//2: 배열 자체로 원소 접근 //for (int 원소: 배열 이름) {}
//간결하지만, 실제 원소 개수보다 선언한 원소 개수가 많을 경우, 0으로 채워져 선언한 만큼 출력됨
for (int k : a) {
cout << k;
} //1357900000
}
3-2. 중첩 Loop
#include <iostream>
using namespace std;
int main(){
/*중첩루프
* 2차원 배열에서 많이 활용됨*/
int temp[4][5] = {
{1,2,3,4,5},
{11,22,33,44,55}
}; // 배열[행개수][열개수]
// 2차원 배열 생성 시 {{}}의 이중 중첩 활용 & 행 간 콤마로 연결
for (int row = 0; row < 4; row++) {
for (int col = 0; col < 5; col++) {
cout << temp[row][col] << " ";
} cout << endl;
}
/*
1 2 3 4 5
11 22 33 44 55
0 0 0 0 0
0 0 0 0 0 */
728x90
'개발 > c++' 카테고리의 다른 글
[c++ 프로그래밍 입문] 5-1. 함수의 기초 (0) | 2023.08.30 |
---|---|
[c++ 프로그래밍 입문] 4. Branch Syntax (분기 구문, 조건문) (1) | 2023.08.23 |
[c++ 프로그래밍 입문] 2-3. 포인터 연산 (0) | 2023.08.20 |
[C++ 프로그래밍 입문] 2-2. Complex Data (포인터) (0) | 2023.08.19 |
[C++ 프로그래밍 입문] 2-1. Complex Data(배열, 문자열, 입력 cin, string, struct, union, enum) (0) | 2023.08.19 |