관리 메뉴

hye-_

3. 제어문 - 53. 제어문 본문

정처기/프로그래밍언어 활용

3. 제어문 - 53. 제어문

hyehh 2023. 6. 12. 15:28
728x90
반응형
SMALL
728x90
반응형
SMALL
 

53. 제어문

1. if

2. 삼항연산자

3. 반복문


1. if문

분기문

if문을 보통 분기문이라고 이야기한다.

분기라는 것의 사전적 의미는 나뉘어서 갈라짐, 또는 그런 갈래이다. 

 

if문

if(조건식)
   조건식의 결과가 참일 때 실행하는 명령문;

예 ) 점수

if 점수 >= 90 이면 합격을 준다.

 

if / else문

if(조건식)
   조건식의 결과가 참일 때 실행하는 명령문;
else
   조건식의 결과가 거짓일 때 실행하는 명령문; 

예 ) 점수

if 점수 >= 90 이면 합격을 준다.

else 90점이 안되면 불합격 

 

if / else if / else문

다중조건 분기문이라고 이야기한다.

if(조건식1)
   조건식1의 결과가 참일 때 실행하는 명령문;
else if(조건식2)
    조건식2의 결과가 참일 때 실행하는 명령문;
else
    조건식1과 조건식2의 결과가 거짓일 때 실행하는 명령문;  

예 ) 점수

if 점수 >= 90 이면 '수'라고 하고

else if 점수 >= 80 이면 '우'라고 하고

else 둘 다 안되면 '미'라고 한다.


2. 삼항 연산자에 의한 조건문

조건식 ?  참일 때 명령문 : 거짓일 때 명령문 

예) big = a> b? a : b;

a와 b 중에서 큰 수가 big에 저장된다. 

 

삼항 연산자는 어떤 것인가?

if문을 압축해서 표현한 것이다.라고 생각하면 된다. 

한 라인에 3가지 조건이 들어간 것이다. 

 

구분자

? : (물음표와 콜론이 구분자이다.)


switch ~ case문

조건문 

switch(조건값)
{
    case 값1:
       조건값이 1일 때 실행하는 명령문;
       break;
    case 값2:
       조건값이 2일 때 실행하는 명령문;
       break;
    ...
    default:
       조건값이 모든 case에 해당되지 않을 때 실행하는 명령문;
       break;
}

 

스위치 똑딱 누르는 것이고, 또 그것에 대한 상황

집을 보면 스위치 3개짜리가 있는데 1번째 스위치를 누르면 첫 번째 꺼에 해당하는 불이 들어오고

2번째 스위치를 누르면 두 번째 거에 해당하는 불이 들어오는 것처럼, 어떤 스위치를 줬을 경우에

그 케이스에 해당하는 값을 즉, 그 값이 1일 때 명령문을 실행한다.


3. 반복문

While문

조건식의 결과가 참이면 while문 내의 명령을 실행하고 다시 조건식을 검사한다.

조건의 초기값이 거짓이면 while문 내의 명령문은 한 번도 실행되지 않는다.

while(조건식)
{
   명령문 1;
    ...
   명령문 n;
}

 

조건 초기값 거짓 예) 점수 >=100

100점 넘는 애들만의 조건인데, 반에 100점 넘는 애들이 한 명도 없을 경우 (99, 98, 95점) 에는 

while문 내의 명령문을 처리하지 못하고 그냥 반복을 벗어나게 된다.


do ~ while문

명령문을 일단 실행하고 나서 조건식을 검사하여 반복 실행 여부를 결정한다.

- 명령문이 적어도 한 번은 실행된다.

- 보통 선처리 후 반복이라고 이야기한다.

do
{
   명령문 1;
    ...
   명령문 n;
} while(조건식);


for문

반복 변수를 초기화하는 초기식은 한 번만 수행되고 조건식을 만족하면 하위 명령문을 수행한 후 증감식을 수행하고 조건식을 검사하면서 반복한다.

for(초기식; 조건식; 증감식)
{
   명령문 1;
   ...
   명령문 n;
}

문제 풀이

1. 다음 자바 프로그램 조건문에 대해 삼항 조건 연산자를 사용하여 옳게 나타낸 것은?

int i = 7, j = 9;
int k;
if (i > j)
   k = i - j;
else
   k = i + j;

① int i = 7, j = 9;

    int k;

    k = (i > j) ? (i - j) : (i + j);

② int i = 7, j = 9;

    int k;

    k = (i < j) ? (i - j) : (i + j);

③ int i = 7, j = 9;

    int k;

    k = (i > j) ? (i + j) : (i - j);

④ int i = 7, j =9;

    int k;

    k = (i < j) ? (i + j) : (i - j);

1번

 

2. 다음 C 프로그램의 결괏값은?

main(void){
     int i;
     int sum = 0;
     for(i = 1; i <= 10; i = i+2)
     sum = sum +i;
     printf("%d",sum);
}

① 15

② 19 

③ 25

④ 27

3번


 

728x90
반응형
LIST