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

C 조건문:IF, IF Else 및 중첩된 IF Else(예제 포함)

C에서 조건문이란 무엇입니까?

C의 조건문 프로그래밍은 조건에 따라 결정을 내리는 데 사용됩니다. 조건문은 명령문 주변에 조건이 없을 때 순차적으로 실행됩니다. 명령문 블록에 조건을 입력하면 조건에 의해 평가된 결과에 따라 실행 흐름이 변경될 수 있습니다. 이 과정을 'C'에서는 의사결정이라고 합니다.

'C' 프로그래밍 조건문은 다음 두 구조의 도움으로 가능합니다.

1. If 문

2. if-else 문

프로그램이 평가된 조건의 결과에 따라 실행할 명령문을 결정하므로 분기라고도 합니다.

이 튜토리얼에서는 배우게 될 것입니다-

If 문

강력한 조건문 중 하나입니다. If 문은 프로그램 실행 흐름을 수정하는 역할을 합니다. If 문은 항상 조건과 함께 사용됩니다. 조건은 If 본문 내에서 명령문을 실행하기 전에 먼저 평가됩니다. if 문의 구문은 다음과 같습니다.

 if (condition) 
     instruction;

조건은 true 또는 false로 평가됩니다. True는 항상 0이 아닌 값이고 false는 0을 포함하는 값입니다. 명령어는 단일 명령어이거나 중괄호 { }로 묶인 코드 블록일 수 있습니다.

다음 프로그램은 'C' 프로그래밍에서 if 구문의 사용을 보여줍니다.

#include<stdio.h>
int main()
{
	int num1=1;
	int num2=2;
	if(num1<num2)		//test-condition
	{
		printf("num1 is smaller than num2");
	}
	return 0;
}

출력:

num1 is smaller than num2

위의 프로그램은 if 구문을 사용하여 두 숫자가 같은지 확인하는 방법을 보여줍니다.

  1. 위 프로그램에서 num1, num2 값을 각각 1, 2로 하여 두 개의 변수를 초기화했습니다.
  2. 그런 다음 테스트 표현식과 함께 if를 사용하여 가장 작은 숫자와 가장 큰 숫자를 확인했습니다. if 구문에서 관계식을 사용했습니다. num1의 값이 num2보다 작기 때문에 조건은 true로 평가됩니다.
  3. 따라서 If 블록 내부의 명령문을 인쇄합니다. 그 후, 제어는 블록 외부로 이동하고 프로그램은 성공적인 결과로 종료됩니다.

관계 연산자

C에는 결정을 내리고 조건을 테스트하기 위한 부울 표현식을 공식화하는 데 사용할 수 있는 6개의 관계 연산자가 있습니다. 이 연산자는 true 또는 false를 반환합니다.

<미만

<=작거나 같음

> 보다 큼

>=크거나 같음

==같음

!=같지 않음

등호 테스트(==)는 할당 연산자(=)와 다릅니다. 프로그래머가 이들을 혼동하여 직면하는 가장 일반적인 문제 중 하나이기 때문입니다.

예:

int x = 41;
x =x+ 1;
if (x == 42) {
   printf("You succeed!");}

출력:

 You succeed

0이 아닌 값으로 평가되는 조건은 참으로 간주됩니다.

예:

int present = 1;
if (present)
  printf("There is someone present in the classroom \n");

출력:

There is someone present in the classroom

If-Else 문

if-else is 문은 If의 확장 버전입니다. if-else의 일반적인 형식은 다음과 같습니다.

if (test-expression)
{
    True block of statements
}
Else
{
    False block of statements
}
Statements;

n 이 유형의 구성에서 test-expression의 값이 true이면 명령문의 실제 블록이 실행됩니다. test-expression의 값이 false이면 false 블록이 실행됩니다. 어쨌든 실행 후 제어는 If 블록 외부에 나타나는 문으로 자동으로 전송됩니다.

다음 프로그램은 if-else 구문의 사용을 보여줍니다.

어떤 값으로 변수를 초기화하고 값이 10보다 작거나 10보다 큰지 결정하는 프로그램을 작성합니다.

시작하겠습니다.

#include<stdio.h>
int main()
{
	int num=19;
	if(num<10)
	{
		printf("The value is less than 10");
	}
	else
	{
		printf("The value is greater than 10");
	}
	return 0;
}

출력:

The value is greater than 10

  1. 변수를 19로 초기화했습니다. 'C' 프로그램을 사용하여 숫자가 10보다 크거나 작은지 알아내야 합니다. 이를 위해 if-else 구문을 사용했습니다.
  2. 여기에서는 값을 10과 비교해야 하기 때문에 조건 번호<10을 제공했습니다.
  3. 보다시피 첫 번째 블록은 항상 true 블록입니다. 즉, test-expression의 값이 true이면 If인 첫 번째 블록이 실행됩니다.
  4. 두 번째 블록은 else 블록입니다. 이 블록에는 test-expression의 값이 false가 되면 실행될 명령문이 포함됩니다. 우리 프로그램에서 num의 값은 10보다 크므로 테스트 조건이 거짓이 되고 그렇지 않으면 블록이 실행됩니다. 따라서 출력은 "값이 10보다 큼"인 else 블록에서 나옵니다. if-else 후에 프로그램은 성공적인 결과로 종료됩니다.

'C' 프로그래밍에서는 if-else 문의 중첩이라고 하는 여러 if-else 구문을 서로 사용할 수 있습니다.

조건식

if-else 문을 표현하는 또 다른 방법은 ?:를 도입하는 것입니다. 운영자. 조건식에서 ?: 연산자에는 if 및 else와 연결된 명령문이 하나만 있습니다.

예:

#include <stdio.h>
int main() {
  int y;
  int x = 2;
   y = (x >= 6) ?  6 : x;/* This is equivalent to:  if (x >= 5)    y = 5;  else    y = x; */
   printf("y =%d ",y);
  return 0;}

출력:

y =2

중첩된 If-else 문

일련의 결정이 필요한 경우 중첩된 if-else가 사용됩니다. 중첩이란 하나의 if-else 구문을 다른 구문 내에서 사용하는 것을 의미합니다.

중첩된 if-else의 사용을 설명하는 프로그램을 작성해 보겠습니다.

#include<stdio.h>
int main()
{
	int num=1;
	if(num<10)
	{
		if(num==1)
		{
			printf("The value is:%d\n",num);
		}
		else
		{
			printf("The value is greater than 1");
		}
	}
	else
	{
		printf("The value is greater than 10");
	}
	return 0;
}

출력:

The value is:1

위의 프로그램은 숫자가 10보다 작거나 큰지 확인하고 중첩된 if-else 구문을 사용하여 결과를 인쇄합니다.

  1. 먼저 값이 1인 변수 num을 선언했습니다. 그런 다음 if-else 구문을 사용했습니다.
  2. 외부 if-else에서 제공된 조건은 숫자가 10보다 작은지 확인합니다. 조건이 true인 경우에만 내부 루프를 실행합니다. 이 경우 조건이 참이므로 내부 블록이 처리됩니다.
  3. 내부 블록에는 변수에 값 1이 포함되어 있는지 여부를 확인하는 조건이 있습니다. 조건이 참이면 If 블록을 처리하고 그렇지 않으면 else 블록을 처리합니다. 이 경우 조건은 참이므로 If 블록이 실행되고 값이 출력 화면에 출력됩니다.
  4. 위의 프로그램은 변수의 값을 출력하고 성공적으로 종료됩니다.

변수 값을 변경하여 프로그램이 어떻게 작동하는지 확인하십시오.

참고: 중첩된 if-else에서는 여러 if-else 구문이 이 과정에 포함되므로 들여쓰기에 주의해야 하므로 개별 구문을 파악하기가 어렵습니다. 적절한 들여쓰기를 통해 프로그램을 쉽게 읽을 수 있습니다.

중첩된 Else-if 문

다중 경로 결정이 필요할 때 중첩된 else-if가 사용됩니다.

else-if 래더가 'C' 프로그래밍에서 구성되는 일반적인 구문은 다음과 같습니다.

 if (test - expression 1) {
    statement1;
} else if (test - expression 2) {
    Statement2;
} else if (test - expression 3) {
    Statement3;
} else if (test - expression n) {
    Statement n;
} else {
    default;
}
Statement x;

이러한 유형의 구조를 else-if 사다리라고 합니다. 이 체인은 일반적으로 사다리처럼 보이기 때문에 else-if 사다리라고도 합니다. 테스트 표현식은 위에서 아래로 평가됩니다. true test-expression이 발견될 때마다 이와 관련된 명령문이 실행됩니다. n개의 테스트 표현식이 모두 거짓이 되면 기본 else 문이 실행됩니다.

프로그램의 도움으로 실제 작업을 보자.

#include<stdio.h>
int main()
{
	int marks=83;
	if(marks>75){
		printf("First class");
	}
	else if(marks>65){
		printf("Second class");
	}
	else if(marks>55){
		printf("Third class");
	}
	else{
		printf("Fourth class");
	}
	return 0;
}

출력:

First class

위의 프로그램은 테스트에서 채점한 점수에 따라 성적을 인쇄합니다. 위의 프로그램에서 else-if 사다리 구조를 사용했습니다.

  1. 표시가 있는 변수를 초기화했습니다. else-if 사다리 구조에서는 다양한 조건을 제공했습니다.
  2. 변수 표시의 값은 첫 번째 조건이 true이므로 첫 번째 조건과 비교되며 관련된 명령문이 출력 화면에 인쇄됩니다.
  3. 첫 번째 테스트 조건이 거짓으로 판명되면 두 번째 조건과 비교됩니다.
  4. 이 프로세스는 all 표현식이 평가될 때까지 계속됩니다. 그렇지 않으면 제어가 else-if 래더를 벗어나 기본 문이 인쇄됩니다.

값을 수정하고 출력의 변화를 확인하십시오.

요약


C 언어

  1. C# 식, 문 및 블록(예제 포함)
  2. C# if, if...else, if...else if 및 중첩된 if 문
  3. C++ if, if...else 및 중첩 if...else
  4. C if...else 문
  5. 자바 if...else 문
  6. 예제가 있는 C++의 연산자:정의, 유형 및 프로그램
  7. EXAMPLE이 있는 C++ Switch Case 문
  8. 예제가 있는 C++ 구조체
  9. 예제가 있는 C++의 std::list
  10. 구조체와 클래스의 차이점:C++ 예제로 설명