구조화 프로그래밍의 탄생
사람이 프로그램을 보다 편하게 쓰고 읽을 수 있도록 규칙을 만들자는 흐름을 타고
‘구조화 프로그래밍'이 태어났다.
(else나 else if 없는) 어셈블리어 표현 방법
만약 oo 이면 xx를 해 라고 표현하고 싶지만 만약 oo 가 아니면 어디로 점프해 , 그리고 xx 를해 라고 뒤집어서
표현해야하기 때문에 혼란수러울수 있다.
(c언어) if else는 왜 있는 걸까?
if 문을 배웠을때는 분명 else나 else if 등과 함께 배웠을 것이다.
else나 else if 가 없으면 프로그램을 짤수 없을까??
C 언어의 표현 방법부터보자
void not_use_if(int x){
if(x <= 0) goto NOT_POSITIVE;
printf("플러스 숫자 \\n");
goto END;
NOT_POSITIVE:
if(x >=0) goto NOT_NEGATIVE;
printf("마이너스 숫자\\n");
goto END;
NOT_NEGATIVE:
printf("제로 \\n");
END:
}
if else 사용의 장점
C 언어로 프로그래밍을 할때 else 를 사용할 필요가 없다. 대신 goto가 사용되고 있지만,
goto 기능은 ‘지정한 행으로 점프' 라는 기능이있다.
그럼 앞에있는 코드가 알기쉬웠나? 조금 복잡하다. 그렇다면 if else를 사용하면
void use_if(int x){
if(x <= 0){
printf("플러스 숫자 \\n");
}else if(x < 0){
printf("마이너스 숫자 \\n");
}else{
printf(" 제로\\n");
}
조건이 참일경우와 거짓인 경우의 여러가지 케이스를 분배한다 패턴은 프로그래밍에 빈번히 사용된다.
- 조건이 참일때
- 조건이 거짓일때 (여러가지)
- 그렇다면 조건이 참일때 많은데이터 조건에 부합할때의 조건을 넣는다
- 참일때 로직에 타버리게되니
- 뒷부분에 타지않아도 바로 조건을 성립
- 조건이 참인 조건, 가장 큰영역을 포함하는 부분이면 훨씬 효율적일거같다.
'Book' 카테고리의 다른 글
[리액트를 다루는 기술] 4. 컴포넌트 (0) | 2022.06.27 |
---|---|
[리액트를 다루는 기술] 3. 코드이해하기 (0) | 2022.06.26 |
[리액트를 다루는 기술] 2. 작업 환경 설정 (0) | 2022.06.26 |
[리액트를 다루는 기술] 1. 왜 리액트인가? (0) | 2022.06.26 |
[코딩을 지탱하는 기술] 한 문자가 16비트인 JAVA 문자열 [수정중] (0) | 2022.03.27 |