산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C++ if, if...else 및 중첩 if...else

C++ if, if...else 및 중첩 if...else

이 자습서에서는 예제를 통해 의사 결정 프로그램을 만드는 if...else 문에 대해 알아봅니다.

컴퓨터 프로그래밍에서는 if...else를 사용합니다. 특정 조건에서 한 코드 블록을 실행하고 다른 조건에서 다른 코드 블록을 실행하는 명령문입니다.

예를 들어, 학생이 얻은 점수를 기반으로 등급(A, B, C)을 할당합니다.

<시간>

if...else에는 세 가지 형식이 있습니다. C++의 문.

  1. if 성명서
  2. if...else 성명서
  3. if...else if...else 성명서
<시간>

C++ if 문

if 구문 성명:

if (condition) {
  // body of if statement
}

if 문은 condition을 평가합니다. 괄호 ( ) 안 .

참고: { } 안의 코드 if의 본문입니다. 성명서.

<그림> <시간>

예제 1:C++ if 문

// Program to print positive number entered by the user
// If the user enters a negative number, it is skipped

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  // checks if the number is positive
  if (number > 0) {
    cout << "You entered a positive integer: " << number << endl;
  }

  cout << "This statement is always executed.";

  return 0;
}

출력 1

Enter an integer: 5
You entered a positive number: 5
This statement is always executed.

사용자가 5을 입력하면 , 조건 number > 0 true로 평가됩니다. if 본문 내부의 문 실행됩니다.

출력 2

Enter a number: -5
This statement is always executed.

사용자가 -5을 입력하면 , 조건 number > 0 false로 평가됩니다. 그리고 if 본문 안에 있는 문장 실행되지 않습니다.

<시간>

C++ if...else

if 명령문에는 선택적 else가 있을 수 있습니다. 절. 구문은 다음과 같습니다.

if (condition) {
  // block of code if condition is true
}
else {
  // block of code if condition is false
}

if..else 문은 condition를 평가합니다. 괄호 안.

<그림>

condition true 평가 ,

condition false 평가 ,

<시간>

예제 2:C++ if...else 문

// Program to check whether an integer is positive or negative
// This program considers 0 as a positive number

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number >= 0) {
    cout << "You entered a positive integer: " << number << endl;
  }
  else {
    cout << "You entered a negative integer: " << number << endl;
  }

  cout << "This line is always printed.";

  return 0;
}

출력 1

Enter an integer: 4
You entered a positive integer: 4.
This line is always printed.

위의 프로그램에서 number >= 0 조건이 있습니다. . 0보다 크거나 같은 숫자를 입력하면 , 조건은 true를 평가합니다. .

여기에 4를 입력합니다. . 따라서 조건은 true입니다. . 따라서 if 본문 내부의 명령문은 실행됩니다.

출력 2

Enter an integer: -4
You entered a negative integer: -4.
This line is always printed.

여기에 -4를 입력합니다. . 따라서 조건은 false입니다. . 따라서 else 본문 내부의 명령문은 실행됩니다.

<시간>

C++ if...else...else if 문

if...else 문은 두 가지 대안 중에서 코드 블록을 실행하는 데 사용됩니다. 그러나 둘 이상의 대안 중에서 선택해야 하는 경우 if...else if...else을 사용합니다. 성명서.

if...else if...else 구문 성명:

if (condition1) {
  // code block 1
}
else if (condition2){
  // code block 2
}
else {
  // code block 3
}

여기,

<그림>

참고: 둘 이상의 else if가 있을 수 있습니다. 문이지만 하나의 ifelse 진술.

<시간>

예시 3:C++ if...else...else if

// Program to check whether an integer is positive, negative or zero

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number > 0) {
    cout << "You entered a positive integer: " << number << endl;
  } 
  else if (number < 0) {
    cout << "You entered a negative integer: " << number << endl;
  } 
  else {
    cout << "You entered 0." << endl;
  }

  cout << "This line is always printed.";

  return 0;
}

출력 1

Enter an integer: 1
You entered a positive integer: 1.
This line is always printed.

출력 2

Enter an integer: -2
You entered a negative integer: -2.
This line is always printed.

출력 3

Enter an integer: 0
You entered 0.
This line is always printed.

이 프로그램에서 우리는 사용자로부터 번호를 받습니다. 그런 다음 if...else if...else를 사용합니다. 숫자가 양수, 음수 또는 0인지 확인하는 래더

숫자가 0보다 큰 경우 , if 안의 코드 블록이 실행됩니다. 숫자가 0보다 작은 경우 , else if 안의 코드 블록이 실행됩니다. 그렇지 않으면 else 내부의 코드 블록이 실행됩니다.

<시간>

C++ 중첩 if...else

때로는 if을 사용해야 합니다. 다른 if 안의 문 성명. 이를 중첩된 if이라고 합니다. 성명서.

if의 여러 레이어로 생각하세요. 진술. 첫 번째 외부 if이 있습니다. 문이고 그 안에 또 다른 내부 if이 있습니다. 성명. 구문은 다음과 같습니다.

// outer if statement
if (condition1) {

  // statements

  // inner if statement
  if (condition2) {
    // statements
  }
}

참고:

<시간>

예제 4:C++ 중첩된 경우

// C++ program to find if an integer is positive, negative or zero
// using nested if statements

#include <iostream>
using namespace std;

int main() {

  int num;
    
  cout << "Enter an integer: ";  
   cin >> num;    

  // outer if condition
  if (num != 0) {
        
    // inner if condition
    if (num > 0) {
      cout << "The number is positive." << endl;
    }
    // inner else condition
    else {
      cout << "The number is negative." << endl;
    }  
  }
  // outer else condition
  else {
    cout << "The number is 0 and it is neither positive nor negative." << endl;
  }

  cout << "This line is always printed." << endl;

  return 0;
}

출력 1

Enter an integer: 35
The number is positive.
This line is always printed.

출력 2

Enter an integer: -35
The number is negative.
This line is always printed.

출력 3

Enter an integer: 0
The number is 0 and it is neither positive nor negative.
This line is always printed.

위의 예에서

참고: 보시다시피 중첩된 if...else 논리를 복잡하게 만듭니다. 가능하면 항상 중첩된 if...else을 피해야 합니다. .

<시간>

하나의 문만 있는 if...else의 본문

if...else의 본문인 경우 명령문이 하나만 있으면 { }을 생략할 수 있습니다. 프로그램에서. 예를 들어 다음과 같이 바꿀 수 있습니다.

int number = 5;

if (number > 0) {
  cout << "The number is positive." << endl;
}
else {
  cout << "The number is negative." << endl;
}

int number = 5;

if (number > 0)
  cout << "The number is positive." << endl;
else
  cout << "The number is negative." << endl;

두 프로그램의 출력은 동일합니다.

참고: { }을 사용할 필요는 없지만 if...else의 본문인 경우 { }을 사용하는 하나의 명령문만 있습니다. 코드를 더 읽기 쉽게 만듭니다.

<시간>

의사결정에 대한 추가 정보

특정 상황에서 삼항 연산자 if...else을 대체할 수 있습니다. 성명. 자세한 내용은 C++ 삼항 연산자를 참조하십시오.

주어진 테스트 조건에 따라 둘 이상의 대안 중에서 선택해야 하는 경우 switch 문을 사용할 수 있습니다. 자세히 알아보려면 C++ 스위치를 방문하세요.

<시간>

자세한 내용은 다음 예를 확인하십시오.

숫자가 짝수인지 홀수인지 확인하는 C++ 프로그램

문자가 모음인지 자음인지 확인하는 C++ 프로그램

세 수 중에서 가장 큰 수를 찾는 C++ 프로그램


C 언어

  1. C# if, if...else, if...else if 및 중첩된 if 문
  2. C++ 클래스 및 개체
  3. C++ 메모리 관리:신규 및 삭제
  4. C++ 공개, 보호 및 비공개 상속
  5. C++ friend 함수 및 friend 클래스
  6. Python 문, 들여쓰기 및 주석
  7. Java 중첩 및 내부 클래스
  8. C++ 날짜 및 시간
  9. C++ 오버로딩(연산자와 함수)
  10. C++ 파일 및 스트림