C 언어 if else 문장 상세 설명

6267 단어 C 언어ifelse
앞에서 우리 가 본 코드 는 모두 순서대로 실 행 된 것 이다.즉,첫 번 째 문장 을 먼저 집행 한 다음 에 두 번 째 문장,세 번 째 문장 이다.마지막 문장 까지.
그러나 많은 경우 에 순서 구조의 코드 는 매우 부족 하 다.예 를 들 어 한 프로그램 이 성인 만 사용 할 수 있 도록 제한 하고 어린 이 는 나이 가 부족 해서 사용 할 수 있 는 권한 이 없다.이 럴 때 프로그램 은 사용자 가 성인 인지 아 닌 지 를 판단 하고 힌트 를 줘 야 한다.
if-else 문장
C 언어 에 서 는 if 와 else 키 워드 를 사용 하여 판단 합 니 다.아래 코드 를 먼저 보 세 요.

#include <stdio.h>
int main()
{
 int age;
 printf("       :");
 scanf("%d", &age);
 if(age>=18){
 printf("  ,     ,       !
"); }else{ printf(" , , !
"); } return 0; }
가능 한 실행 결과:
나 이 를 입력 하 세 요:23
축하합니다.당신 은 이미 성인 이 되 었 습 니 다.이 소프트웨어 를 사용 할 수 있 습 니 다!
if else 문장의 구 조 는:
if(표현 식){
    구문 블록 1
}else{
    구문 블록 2
}
표현 식 의 값 이 사실 이 라면 문장 블록 1 을 실행 하고 그렇지 않 으 면 문장 블록 2 를 실행 합 니 다.그 실행 과정 은 다음 그림 으로 표시 할 수 있다.

구문 블록(Statement Block)이란{}에 둘러싸 인 하나 이상 의 문장의 집합 입 니 다.문장 블록 에 한 문장 만 있 으 면{}을 생략 할 수 있 습 니 다.예 를 들 어:
if(age>=18)printf("축하합니다.성인 이 되 었 습 니 다.이 소프트웨어 를 사용 할 수 있 습 니 다!");
else printf("죄송합니다.아직 미성년 자 이 므 로 이 소프트웨어 를 사용 하면 안 됩 니 다!");
if else 문 구 는 서로 다른 상황 에 따라 서로 다른 코드 를 실행 할 수 있 기 때문에 분기 구조 나 선택 구조 라 고도 부 릅 니 다.위의 코드 에는 두 개의 분기 가 있 습 니 다.
두 수의 비교적 큰 값 을 구하 십시오.

#include <stdio.h>
int main()
{
 int a, b, max;
 printf("      :");
 scanf("%d %d", &a, &b);
 if(a>b) max=a;
 else max=b;
 printf("%d %d     :%d
", a, b, max); return 0; }
실행 결과:
두 정수 입력:34 28
34 와 28 의 비교적 큰 수 치 는 34 이다.
이 예 에서 변수 max 를 빌려 max 로 비교적 큰 값 을 저장 하고 마지막 으로 max 를 출력 합 니 다.
if 구문
우 리 는 if 문장 만 사용 할 수 있다.즉,if else 가 동시에 나타 날 필요 가 없다 는 것 이다.if 문장의 기본 형식 은:
if(표현 식){
    구문 블록
}
표현 식 의 값 이 사실 이 라면 다음 문장 블록 을 실행 하고 그렇지 않 으 면 바로 건 너 뜁 니 다.그 과정 은 다음 그림 으로 표시 할 수 있다.

if 문 구 를 사용 하여 두 수의 큰 값 을 구 합 니 다:

#include <stdio.h>
int main()
{
 int a, b, max;
 printf("      :");
 scanf("%d %d", &a, &b);
 max=b; //   b  
 if(a>b) max=a; //   a>b,    max  
 printf("%d %d     :%d
", a, b, max); return 0; }
실행 결과:
두 정수 입력:34 28
34 와 28 의 비교적 큰 수 치 는 34 이다.
이 프로그램 에 두 개의 수 a,b 를 입력 하 십시오.b 를 변수 max 에 먼저 부여 한 다음 에 if 문 구 를 사용 하여 max 와 b 의 크기 를 판별 합 니 다.예 를 들 어 max 가 b 보다 작 으 면 b 를 max 에 부여 합 니 다.따라서 max 에 서 는 항상 큰 수 를 가지 고 마지막 으로 max 의 값 을 출력 합 니 다.
여러 if else 문장
if else 문 구 는 여러 개 를 동시에 사용 할 수 있 고 여러 개의 가 지 를 구성 할 수 있 으 며 형식 은 다음 과 같다.
if(표현 식 1){
    구문 블록 1
} else  if(표현 식 2){
    구문 블록 2
}else  if(표현 식 3){
    구문 블록 3
}else  if(표현 식 m){
    구문 블록 m
}else{
     구문 블록 n
}
표현 식 의 값 을 순서대로 판단 하고 값 이 진짜 일 때 해당 하 는 문 구 를 실행 한 다 는 뜻 이다.그리고 전체 if 문장 밖으로 뛰 어 내 려 프로그램 을 계속 실행 합 니 다.모든 표현 식 이 가짜 라면 구문 블록 n 을 실행 합 니 다.그리고 후속 절 차 를 계속 수행 합 니 다.여러 if else 문장의 실행 과정 은 다음 그림 과 같다.

예 를 들 어 입력 한 문자 의 종 류 를 판단 합 니 다.

#include <stdio.h>
int main(){
 char c;
 printf("Input a character:");
 c=getchar();
 if(c<32)
 printf("This is a control character
"); else if(c>='0'&&c<='9') printf("This is a digit
"); else if(c>='A'&&c<='Z') printf("This is a capital letter
"); else if(c>='a'&&c<='z') printf("This is a small letter
"); else printf("This is an other character
"); return 0; }
실행 결과:
Input a character:e
This is a small letter
이 예 는 키보드 입력 문자 의 분 류 를 판별 해 야 한다.입력 문자 의 ASCII 코드 에 따라 유형 을 판별 할 수 있 습 니 다.ASCII 메타 에서 알 수 있 듯 이 ASCII 값 이 32 보다 작은 것 은 제어 문자 입 니 다.'0'과'9'사 이 는 숫자 이 고'A'와'Z'사 이 는 대문자 이 며'a'와'z'사 이 는 소문 자 이 며 나머지 는 다른 문자 이다.이것 은 여러 갈래 로 선택 한 문제 입 니 다.여러 개의 if else 문 구 를 프로 그래 밍 하여 입력 문자 ASCII 코드 가 있 는 범 위 를 판단 하여 각각 다른 출력 을 제공 합 니 다.예 를 들 어'e'로 입력 하면 출력 은 소문 자로 표 시 됩 니 다.
if 문 구 를 사용 할 때 다음 과 같은 문 제 를 주의해 야 합 니 다.
1)세 가지 형식의 if 구문 에서 if 키워드 다음 에 모두 표현 식 입 니 다.이 표현 식 은 보통 논리 적 표현 식 이나 관계 표현 식 이지 만 할당 식 등 다른 표현 식 일 수도 있 고 변수 일 수도 있 습 니 다.예 를 들 면:
    if(a=5)문장;
    if(b)문장;
다 허락 한 거 야.표현 식 의 값 이 0 이 아니면'진'입 니 다.다음 과 같다:
    if(a=5)…;
중 표현 식 의 값 은 영원히 0 이 아니 기 때문에 그 후의 문 구 는 항상 실 행 됩 니 다.물론 이런 상황 은 프로그램 에서 반드시 나타 나 는 것 은 아니 지만 문법 적 으로 합 법 적 입 니 다.
또,프로그램 세그먼트 가 있 습 니 다:

if(a=b)
 printf("%d",a);
else
 printf("a=0");
이 문장의 의 미 는 b 값 을 a 에 부여 하고 0 이 아니면 이 값 을 출력 하 는 것 이다.그렇지 않 으 면'a=0'문자열 을 출력 하 는 것 이다.이런 용법 은 프로그램 에서 자주 나타난다.
2)if 구문 에서 조건 판단 식 은 괄호 로 묶 어야 합 니 다.
3)문장 블록 은{}로 둘러싸 여 있 지만 주의해 야 할 것 은}이후 에 점 수 를 더 하지 않 는 것 이다.예 를 들 면:

if(a>b){
 a++;
 b++;
}else{
 a=0;
 b=10;
}
if 문장의 끼 워 넣 기
if 구문 도 끼 워 넣 어서 사용 할 수 있 습 니 다.예 를 들 어:

#include <stdio.h>
int main(){
 int a,b;
 printf("Input two numbers:");
 scanf("%d %d",&a,&b);
 if(a!=b){
 if(a>b) printf("a>b
"); else printf("a<b
"); }else{ printf("a=b
"); } return 0; }
실행 결과:
Input two numbers:12 68
aif 문 구 를 끼 워 넣 을 때 if 와 else 의 짝 짓 기 문 제 를 주의해 야 합 니 다.C 언어 규정,else 는 항상 그 앞의 가장 가 까 운 if 와 짝 을 짓 는 다.예 를 들 어:

if(a!=b) // ①
if(a>b) printf("a>b
"); // ② else printf("a<b
"); // ③
③ ② 와 짝 짓 기 는 ① 와 짝 짓 기 가 아니다.
이상 은 C 언어 if else 지식 에 대한 상세 한 설명 입 니 다.C 언어 를 배 우 는 친구 에 게 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기