◈ 이 글은 강의를 위하여 제가 직접 작성한 내용입니다. 따라서 퍼가실 경우, 출처를 명확히 해주시기 바랍니다!!
◈ This ariticle was written by me for teaching. So if you want to copy this article, please clarify the source!!
◈ This ariticle was written by me for teaching. So if you want to copy this article, please clarify the source!!
논리 연산자는 조건(bool형값)들을 서로 묶어서 또 하나의 bool형 값으로 만들어주는 연산자이다.
#includeusing namespace std; void main( ) { cout << "-------- bool 연산자-------------" << endl; // ()를 이용 우선 순위 설정 cout << "\n-------- && == &-------------" << endl; cout << true << " && " << true << " = " << (true && true) << endl; cout << true << " && " << false << " = " << (true && false) << endl; cout << false << " && " << true << " = " << (false && true) << endl; cout << false << " && " << false << " = " << (false && false) << endl; cout << "\n-------- || == |------------" << endl; cout << true << " || " << true << " = " << (true || true) << endl; cout << true << " || " << false << " = " << (true || false) << endl; cout << false << " || " << true << " = " << (false || true) << endl; cout << false << " || " << false << " = " << (false || false) << endl; cout << "\n-------- ! ------------" << endl; cout << " ! " << true << " = " << (!true) << endl; cout << " ! " << false << " = " << (!false) << endl; // 비트연산자 활용. cout << "\n-------- ^ ------------" << endl; cout << true << " ^ " << true << " = " << (true ^ true) << endl; cout << true << " ^ " << false << " = " << (true ^ false) << endl; cout << false << " ^ " << true << " = " << (false ^ true) << endl; cout << false << " ^ " << false << " = " << (false ^ false) << endl; }
# 연습문제
#includeusing namespace std; void main( ) { // 사용자로부터 국어, 영어, 수학점수를 입력받고, // 국영수 모두 60점 이상일 경우에 "합격" 아니면 "불합격"이라고 출력하시오. int a, b, c; cout << "국어 점수 : "; cin >> a; cout << "영어 점수 : "; cin >> b; cout << "수학 점수 : "; cin >> c; if(a>=60 && b>=60 && c>=60) cout << "합격입니다." << endl; else cout << "불합격입니다." << endl; // 평균이 60점 이상이면서 각 과목당 점수가 40점 이상이면 "합격", // 평균이 60점 이상이지만 한 과목이라도 40점 미만일 경우 "과락", // 평균이 60점 미만이면 "불합격"이라고 출력하시오. int average = (a+b+c)/3; if (average >= 60) { if(a<40 || b<40 || c<40) cout << "과락입니다." << endl; else cout << "합격입니다." << endl; } else { cout << "불합격입니다." << endl; } // if(average >= 60 && (a>=40 && b>=40 && c>=40)) // cout << "합격입니다." << endl; // else if(average >= 60) // cout << "과락입니다." << endl; // else // cout << "불합격입니다." << endl; // if(average >= 60 && (a<40 || b<40 || c<40)) // cout << "과락입니다." << endl; // else if(average >= 60) // cout << "합격입니다." << endl; // else // cout << "불합격입니다." << endl; // if(average >= 60 && !(a<40 || b<40 || c<40)) // cout << "합격입니다." << endl; // else if(average >= 60) // cout << "과락입니다." << endl; // else // cout << "불합격입니다." << endl; }
#includeusing namespace std; /* >> 관계연산자(==, !=)와 논리연산자(&&) 이용하여 아래와 같이 출력되도록 하시오. -- 1 ~ 100 범위의 정수에 대하여 2의 배수는 50개 3의 배수는 33개 6의 배수는 16개 -- 2의 배수도 아니고 3의 배수도 아닌 수는 1 5 7 11 13 17 19 23 25 29 31 35 37 41 43 47 49 53 55 59 61 65 67 71 73 77 79 83 85 89 91 95 97 (으)로 모두 33개 이다. */ void main( ) { cout << "-- 1 ~ 100 범위의 정수에 대하여 " << endl; int count2=0; int count3=0; int count6=0; for(int i=1 ; i<=100; i++) { if(i%2==0) count2++; if(i%3==0) count3++; if(i%6==0) count6++; } cout << "2의 배수는 " << count2 << "개 " << endl; cout << "3의 배수는 " << count3 << "개 " << endl; cout << "6의 배수는 " << count6 << "개 " << endl << endl; int count=0; cout << "-- 2의 배수도 아니고 3의 배수도 아닌 수는" << endl; for(int i=1 ; i<=100; i++) { if((i%2 !=0) && !(i%3 ==0)) { count++; cout << i << "\t"; } } cout << endl << "(으)로 모두 " << count << "개 이다." << endl; }