[C++]C++문법공부 제어문-선택문(if/if-else-/switch)반복문(for문/다중for문) -1
본문 바로가기

C#

[C++]C++문법공부 제어문-선택문(if/if-else-/switch)반복문(for문/다중for문) -1

728x90
반응형

오늘은 C++ 선택문 / 반복문(for문)을 공부했습니다.

 

책은 C++하이킹 책을 보고 공부했습니다.

 

먼저 제어문의 종류에 대해 알아보겠습니다.

1.선택문

-if문

-if-else 문

- 다중 if-else문

- switch문

 

반복문

- for문

- while문

- do-while문

 

보조제어문

-break문

-continue문

 

먼저 선택문을 보겠습니다.

if문 기본 형식

[문장]

if(조건){

조건에 만족되면 수행되는 문장;

}

[다음 문장]

 

if문을 사용해서 절댓값 구하기

#include<iostream>
using namespace std;

void main() {
int x;
cout << "정수값을 입력하시오";
cin >> x;

if (x < 0) //음수일 경우에만
x = -x; //부호변경

cout << "절댓값=>" << x << "\n";

}

결과창

 

if-else문 기본형식

[문장]

if(조건){

조건에 만족할 때 수행되는 문장;

}

else{

조건에 만족하지 않을 떄 수행되는 문장;

}

[다음 문장]

 

if-else문을 사용해서 짝수 홀수 판별하기

#include<iostream>
using namespace std;

void main() {
int x;
cout << "정수값을 입력하시오";
cin >> x;

if (x % 2 == 1) {
cout << "홀수다";
}
else {
cout << "짝수다";
}
}

다중 if-else문 기본형식

[문장]

if(조건1){
조건1에 만족할 때 처리할 문장}

else if(조건2){

조건1에 만족하지 않지만 조건2에 만족할 때 처리할 문장}

*****

else if(조건 n){

조건부터 조건 n-1에 만족하지 않지만 조건n에 만족 할 때 처리할 문장;}

else{

위에서 언급한 모든 조건에 대해서 만족하지 않을 떄 처리할 문장;

}

[다음 문장]

 

다중 if-else문을 이용해서 학점 계산하기

#include<iostream>
using namespace std;

void main() {
int score;
char grade;
cout << "점수를 입력하시오";
cin >> score;
//조건검사
if (score >= 90)
grade = 'A';
else if (score >= 80)
grade = 'B';
else if (score >= 70)
grade = 'C';
else if (score >= 60)
grade = 'D';
else
grade = 'F';
cout << "입력한 점수" << score << "은" << grade << "학점입니다.\n";

}

동등 연산자 대신 대입 연산자를 사용했을 경우 발생하는 문제점

#include<iostream>
using namespace std;

void main() {
int i = 200;
cout << "i가 300이냐?";
if (i == 300)
cout << "true\n";
else cout << "false\n";

cout << "i가300이냐?";
if (i = 300)
cout << "true\n";
else
cout << "false\n";
}

지금if문에 =대입연산자가 있어서 원래는 false가 나와야하는데 true가나옴

 

switch문 기본형식

문장1;

switch<정수식>{

case 정수값1 : 문장2;[break;]

case 정수값2 : 문장3;[break;]

****

case 정수값n : 문장n;[break;]

****

[default:]문장m;

} 다음문장;

 

default값은 위에 case문에 해당하는 조건이 없을 때 사용하는 문장입니다.

그리고 정수식과 일치하는 값이 없을 경우 아무런 처리도 하지 않는다면 default를 생략해도됩니다.

 

switch문으로 학점 판별하기

#include<iostream>
using namespace std;

void main() {
int score;
char grade;
cout << "점수를입력하세요 ==>";
cin >> score;

switch (score / 10) {
case 10:grade = 'A'; break;
case 9:grade = 'A'; break;
case 8:grade = 'B'; break;
case 7:grade = 'C'; break;
case 6:grade = 'D'; break;
default:grade = 'F';
}
cout << "입력한 점수" << score << "은" << grade << "학점입니다.\n";
}

break문이 없는 switch문으로 학점 판별하기

#include<iostream>
using namespace std;

void main() {
int score;
char grade;
cout << "점수를입력하세요 ==>";
cin >> score;

switch (score / 10) {
case 10:cout << "A학점입니다." << endl;
case 9: cout << "A학점입니다." << endl;
case 8: cout << "B학점입니다." << endl;
case 7: cout << "C학점입니다." << endl;
case 6: cout << "D학점입니다." << endl;
default: cout << "F학점입니다." << endl;
}
}

break문이 없어서 C부터 끝까지 값이 출력됩니다..

 

for문 기본형식

for<초기식>;<조건식>;<증감식>){

문장1;

}

 

for문을 이용해서 1부터5까지의 합계 구하기

#include<iostream>
using namespace std;

void main() {
int total = 0;
int i;
for (i = 1; i <= 5; i++) {
cout << "i=" << i << endl;
total += i;
cout << "total=" << total << endl;
}
cout << "1부터" << i - 1 << "까지의 합계는" << total << "입니다." << endl;
}

1부터 5까지의 홀수 합계 구하기

#include<iostream>
using namespace std;

void main() {
int total = 0;
for (int i = 1; i <= 5; i+=2) {
cout << "i=" << i << endl;
total = total + i;
cout << "total=" << total << endl;
}
cout << "1부터5까지의 홀수 합계는 " << total << "입니다" << endl;
}

for문을 이용해서 구구단 출력하기

#include<iostream>
using namespace std;

void main() {
int dan;
cout << "원하는 단을 입력하세요==>";
cin >> dan;
for (int j = 1; j < 10; j++) {
cout << dan << "*" << j << "=" << dan * j << "\n";
}
}

 

다중 for문을 이용해서 특정 구구단 출력하기

#include<iostream>
using namespace std;

void main() {
for(int dan=2;dan<=9;dan++){
for (int j = 1; j < 10; j++) {
cout << dan << "*" << j << "=" << dan * j << "\n";
}
}
}

 

 

이상으로 제어문 포스팅-1을 마치겠습니다.

반응형