728x90
1. if, else if, if 조건문
#include <iostream>
using namespace std;
int main(){
//분기 구문: if & switch
/*if(조건)
* 코드*/
if (true) {
cout << "참";
cout << "입니다." << endl; }
if (false)
cout << "거짓" << endl;
// if - else if - else 구문은 하나의 덩어리로 인식함
if (false)
cout << "거짓" << endl;
else {
cout << "참이라구요~!" << endl;}
// if 하나에 else 여러 개 가능
// 이때 else: 앞단 것의 차집합이 연쇄로 계산됨
// 양끝 말고는 else if를 사용하는 게 더 나을 듯.
cout << "종료됨" << endl;
/*
참입니다.
참이라구요~!종료됨*/
}
2. 논리연산자
#include <iostream>
using namespace std;
int main(){
/*논리 표현식: 논리합, 논리곱, 논리부정 연산자*/
//논리합(or): 좌항 || 우항
//논리곱(and): 좌항 && 우항
//논리부정 연산자: !(표현식)
//e.g. !(True) => False
cout << "당신의 나이는?" << endl;
int age;
cin >> age;
if (age<0 || age>100)
cout << "거짓말 마세요!" << endl;
else if (age>=20 && age<30)
cout << "20대시군요!" << endl;
else
cout << "당신의 나이를 모르겠어요."<< endl;
}
3. switch, break, continue
#include <iostream>
using namespace std;
int main(){
/*switch 구문*/
//선택할 수 있는 경우의 수가 3개 이상으로 넘어가면, if-else보다 switch 구문이 훨씬 효율적.!
// integer-expression에 해당하는 값의 case로 이동 -> 해당 값에 있는 코드가 실행됨
// e.g.
// switch (integer-expression) {
// case label1:
// code1 / break;
// case label2:
// code2 / break;
// ... }
int a;
cin >> a;
switch(a){
case 1:
cout << "1\n";
break; //switch 구문을 바로 종료시킴 //*break* 는 모든 반복문에서 사용 가능
case 2:
cout << "2\n";
continue; //이하 코드를 무시하고, 다음 loop를 돈다 //*continue* 는 반복문에서만 사용가능하다
case 3:
cout << "3\n";
break;
default:
cout << "case 이외의 수를 입력하셨습니다.\n";
}
cout << "switch 구문이 끝났습니다.";
//지정한 case 이외의 경우는,
//default 지정 시 해당 구문이 실행되거나, 그렇지 않을 경우 별다른 실행 없이 종료됨.
}
4. 예제
#공백 제외한 글자 수 세기
#include <iostream>
using namespace std;
const int SIZE = 30;
int main(){
char line[SIZE]; //문자 배열, string의 끝에는 개행문자 \0가 포함돼있음
cin.get(line, SIZE); //get을 통해 입력 받기
int word_cnt = 0;
for(int i = 0; line[i]!='\0'; i++){
if(line[i]==' ')
continue;
word_cnt++;
};
cout << "공백 제외 총 글자 수는 " << word_cnt <<"입니다~";
//영어로 하니까 괜찮은데 한글은 개수 처리가 애매하다, 다른 설정이 필요한 듯.
}
728x90
'개발 > c++' 카테고리의 다른 글
[c++ 프로그래밍 입문] 5-2. 함수와 배열&구조체&포인터 (0) | 2023.08.30 |
---|---|
[c++ 프로그래밍 입문] 5-1. 함수의 기초 (0) | 2023.08.30 |
[c++ 프로그래밍 입문] 3. 반복문 (0) | 2023.08.22 |
[c++ 프로그래밍 입문] 2-3. 포인터 연산 (0) | 2023.08.20 |
[C++ 프로그래밍 입문] 2-2. Complex Data (포인터) (0) | 2023.08.19 |