2 ¶
모르 , 념리 ¶
- 블: 문들
- 루불변(loop invariant): while문 는 매 대 는 . 보, 런 념 냐 . 루불변 는 며, while문 면 while문 루 내 대 돌 를 문.(말 명 매 듯...) 는 는 루문 대 . 는, 는 , 불변 .
~cpp //불변: r int r=0; //r 0 면 불변 만 while(r!=rows) { // 불변 // 면 불변 (바 랫) std::cout<<std::endl; //r 면 불변 만 ++r; } // 불변
- (short-circuit): 러 if(a==0||b==0){...} a==0면 b==0는 보 는 . 바 || |를 . 마 는 부 , 는 .
- 복대: 복 무 말 는데, a+=b럼, a=a+b를 는 .
- 범: 루 범를 , for(i=0;i<3;i++)처럼, 시작인 0은 포함하나 3은 포함하지 않고 2에서 끝난다. 이것을 [0,3)으로 표현하는데, 3은 루프 범위에 표현되지 않는 "끝을 벗어난 값"이다.
string ¶
- 1 배 string 내. SeeAlso Yggdrasil//1
~cpp std::string::size_type//unsigned 멤변, 는 대 문 를 . 맞는 type 는 듯.
- 루 1 0부 는
- 밍 배 "밍 면 를 1부 0부 "는 말 들 , 러 막 는 .
- 대 범(범)를 므, [0,5)면 루 5번 돈는 . 1,5면 5번 돈는 들.
- 루 불변 .
- 밍 배 "밍 면 를 1부 0부 "는 말 들 , 러 막 는 .
문 ¶
2-1 ¶
- pad를 0 면 .
2-2 ¶
- pad를 , 른 변 리. , rows, cols 변.
2-3 ¶
~cpp #include<iostream> #include<string> using std::cin; using std::cout; using std::endl; using std::string; int main() { int pad_rows, pad_cols; cout<<"Please input blank of rows and cols:"; cin>>pad_rows; cin>>pad_cols; cout<<"Please enter your first name: "; string name; cin>>name; const string greeting="Hello, "+name+"!"; const int rows=pad_rows*2+3; const string::size_type cols=greeting.size()+pad_cols*2+2; cout<<endl; for(int r=0;r!=rows;++r) { string::size_type c=0; while(c!=cols) { if(r==pad_rows+1&&c==pad_cols+1) { cout<<greeting; c+=greeting.size(); } else { if(r==0||r==rows-1||c==0||c==cols-1) cout<<"*"; else cout<<" "; ++c; } } cout<<endl; } return 0; }
2-6 ¶
- 1부 10 .
2-7 ¶
- for(int i=10;i>-6;i--) std::cout<
2-8 ¶
~cpp #include<iostream> #include<string> int main() { int sum=1; for(int i=1;i<10;i++) sum*=i; std::cout<<sum; return 0; }