/ * / / 삼 항 연산자 의 쓰임 # include < stdio . h > int main ( void ) { int x ; char ch ; printf ( " 정수 입력 : "); scanf ( "% d ",& x ) ; ch = ( x < 0 ) ? '-' : '+'; / / 삼 항 연산자 : ( 조건 ) ? ( 출력 1 ) : ( 출력 2 ) => 조건 만족 하 면 출력 1 , 조건 만족 하 지 않 으면 출력 2 를 대입 ( ch =='+') ? printf ( " 양수 \ n ") : printf ( " 음수 \ n "); / / printf ( " 절대값 : % d \ n ", ( x < 0 ) ? - 1 * x : x ) ; if ( x < 0 ) ch = '-'; / / 위 의 3 줄 을 if 문 으로 바꾸 면 아래 의 6 줄 이 됨 else ch = '+'; if ( ch =='+') printf ( " 양수 \ n "); else printf ( " 음수 \ n "); if ( x < 0 ) printf ( " 절대값 : % d \ n ",- 1 * x ) ; else printf ( " 절대값 : % d \ n ", x ) ; return 0 ;}*//* / / switch 문과 case # include < stdio . h > int main ( void ) { int n ; printf ( " 정수 를 하나 입력 하 세요 ( 1 ~ 5 ) : "); scanf ( "% d ",& n ) ; switch ( n ) { case 1 : printf ( " 1 은 onE . \ n "); break ; case 2 : printf ( " 2 는 TWO . \ n "); break ; case 3 : printf ( " 3 은 THREE . \ n "); break ; case 4 : printf ( " 4 는 FOUR . \ n "); break ; case 5 : printf ( " 5 는 FIVE . \ n "); break ; default : printf ( " I don ' t know ! \ n "); } if ( n == 1 ) printf ( " 1 은 onE . \ n "); / / 이 코드 역시 위 의 코드 와 똑같 은 일 을 함 else if ( n == 2 ) printf ( " 2 는 TWO . \ n "); else if ( n == 3 ) printf ( " 3 은 THREE . \ n "); else if ( n == 4 ) printf ( " 4 는 FOUR . \ n "); else if ( n == 5 ) printf ( " 5 는 FIVE . \ n "); else printf ( " I don ' t know ! \ n "); return 0 ;}*//* / / switch 문 의 제약 사항 : case 에 비교 연산 이나 논리 연산 을 할 수 없 고 값 만 들어갈 수 없 음 ( 응용 력 이 떨어짐 ) # include < stdio . h > int main ( void ) { char sel ; printf ( " 오전 ( M ) , 오후 ( A ) , 저녁 ( E ) \ n "); printf ( " 확인 ( q to quit ) : "); scanf ( "% c ", & sel ) ; switch ( sel ) { case ' M ': case ' m ': printf ( " Morning . \ n "); break ; case ' A ': case ' a ': printf ( " Afternoon . \ n "); break ; case ' E ': case ' e ': printf ( " Evening . \ n "); break ; } if ( sel == ' M ' || sel == ' m ') printf ( " Morning . \ n "); / / 이 3 줄 의 코드 는 위 switch 문 과 같 은 일 을 한다 . else if ( sel == ' A ' || sel == ' a ') printf ( " Afternoon . \ n "); else if ( sel == ' E ' || sel == ' e ') printf ( " Evening . \ n "); return 0 ;}*//* / / goto 함수 # include < stdio . h > int main ( void ) { int num ; printf ( " 숫자 입력 ( 1 , 2 , 3 ) : "); scanf ( "% d ",& num ) ; if ( num == 1 ) goto label 1 ; / / goto 를 만나 면 그 goto 다음 함수 로 점프 함 else if ( num == 2 ) goto label 2 ; / / goto 는 왠만 하 면 쓰 지 않 는 것 이 좋 다 . C 언어 의 장점 은 순차 적 으로 명령어 를 실행 하 는 것 인데 굳이 소스 를 복잡 하 게 얽히 게 할 필요 가 없 다 . else goto label 3 ; label 1 : printf ( " 1 을 입력 하 였 습니다 ! \ n "); return 0 ; label 2 : printf ( " 2 를 입력 하 셨 습니다 ! \ n "); return 0 ; label 3 : printf ( " 3 혹은 다른 값 을 입력 하 셨 군요 ! \ n "); return 0 ;}*//* / / while 문 ( 반 복문 : 반 복문 의 종류 는 3 가지 가 있 다 . while , for , do while ) . while 문 은 3 가지 부분 이 필요 ( 초기 화 , 조건 , 증감 ) # include < stdio . h > int main ( void ) { int i = 0 ; / / 초기 화 부분 while ( i < 10 ) / / 조건 부분 조건 부분 은 다양 하 게 비교 연산 , 논리 연산 을 넣 을 수 있 음 . while 문 을 빠져나가 게 하 는 조건 을 항상 생각 . { printf ( " Hello World ! \ n "); i ++; / / 증감 부분 } return 0 ;}*//* / / 구구단 # include < stdio . h > int main ( void ) { int val ; int i = 1 ; printf ( " 출력 하 고자 하 는 구구단 , 몇 단 ? "); scanf ( "% d ",& val ) ; while ( i < 10 ) { printf ( "% d * % d = % d \ n ", val , i , val * i ) ; i ++; } return 0 ;}*//* / / 실습 1 # include < stdio . h > int main ( void ) { int n ; int i = 0 ; printf ( " 문장 을 출력 할 수 : "); scanf ( "% d ",& n ) ; while ( i < n ) { printf ( " Hello World ! \ n "); i ++; } return 0 ;}*//* / / 실습 2 # include < stdio . h > int main ( void ) { int n ; int i = 9 ; printf ( " 숫자 를 입력 하 세요 : "); scanf ( "% d ",& n ) ; while ( i > 0 ) { printf ( "% d * % d = % d \ n ", n , i , n * i ) ; i --; } return 0 ;}*//* / / 실습 3 # include < stdio . h > int main ( void ) { int n ; int i = 1 ; printf ( " 숫자 를 입력 하 세요 : "); scanf ( "% d ",& n ) ; while ( i < n + 1 ) { printf ( "% d ", 3 * i ) ; i ++; } return 0 ;}*//* / / 실습 4 # include < stdio . h > int main ( void ) { int n = 1 ; int sum = 0 ; while ( n ! = 0 ) { printf ( " 더 할 정수 를 입력 하 세요 : "); scanf ( "% d ",& n ) ; sum = sum + n ; } printf ( " 총합 은 % d \ n ", sum ) ; return 0 ;}*//* / / 중첩 된 while 문 # include < stdio . h > int main ( void ) { int i = 0 , j = 0 ; while ( i < 3 ) { printf ( "*** 현재 i 는 % d *** \ n ", i ) ; while ( j < 2 ) / / while 문 안 의 while 문 은 안 의 while 문 이 다 끝 날 때 까지 계속 반복 한 뒤 밖 의 while 문 을 실행 한다 . { printf ( " 현재 j 는 % d \ n ", j ) ; j ++; } i ++; j = 0 ; } return 0 ;}*//* / / for 문과 중첩 된 for 문 # include < stdio . h > int main ( void ) { int i , j ; for ( i = 0 ; i < 3 ; i ++) / / while 문 에서 처럼 for 문도 초기 화 , 조건 , 증감 이 필요 . { / / 형식 은 for ( 초기 화 ; 조건 ; 증감 ) . printf ( "*** 현재 i 는 % d ***\ n ", i ) ; / / for 문 의 실행 순서 : 1 . 값 을 초기 화 2 . 조건 비교 3 . for 문 실행 4 . 값 증감 5 . 조건 비교 . .... ( 조건 이 만족 하 지 않 을 때 까지 ) / / for 문과 while 문 을 비교 했 을 때 for 문 의 장점 : 초기 화 , 조건 , 증감 을 while 문 보다 확인 하 기 가 더 쉬움 . for ( j = 0 ; j < 2 ; j ++) / / for 문 역시 비교 연산자 와 논리 연산자 를 자유 롭 게 쓸 수 있 고 증감 식도 ++ 뿐 아니 라 2 만큼 증가 시킬 수 도 , 감소 시킬 수 도 있 음 . { / / , 연산자 를 이용 하 면 다른 값 의 초기 화 도 가능 하 다 . ex ) for ( i = 0 , j = 0 ; i < 3 || i > 3 ; i ++, j = 0 ) printf ( " 현재 j 는 % d \ n ", j ) ; } } return 0 ;}*//* / / 중첩 된 while 문 을 이용 한 구구단 출력 - 2 차원 배열 이용 할 때 주로 사용 # include < stdio . h > int main ( void ) { int i = 2 ; int j = 0 ; while ( i < 10 ) { j = 1 ; while ( j < 10 ) { printf ( "% d * % d = % d \ n ", i , j , i * j ) ; j ++; } i ++; } return 0 ;}*//* / / 위 구구단 을 for 문 으로 출력 하 기 . # include < stdio . h > int main ( void ) { int i ; int j ; for ( i = 2 ; i < 10 ; i ++) { for ( j = 1 ; j < 10 ; j ++) { printf ( "% d * % d = % d \ n ", i , j , i * j ) ; } } return 0 ;}*//* / / do while 문 # include < stdio . h > int main ( void ) { int total = 0 ; int val = 0 ; do / / 조건 비교 하 지 않 고 do 다음 의 명령 들 을 무조건 실행 한 후 while 을 만나 서 조건 비교 . { printf ( " 숫자 입력 ( 0 to quit ) : "); scanf ( "% d ",& val ) ; total += val ; fflush ( stdin ) ; / / fflush ( stdin ) : 입력 버퍼 를 비워 버림 . val 에 는 처음 사용 자 가 입력 한 값 이 들어가 있 으므로 } while ( val ! = 0 ) ; printf ( " Total : % d \ n ", total ) ; return 0 ;}*//* / / if 문과 for 문 의 활용 # include < stdio . h > int main ( void ) { int i ; for ( i = 1 ; i < 100 ; i ++) { if ( i % 3 == 0 && i % 4 == 0 ) printf ( " 3 의 배수 이 자 4 의 배수 : % d \ n ", i ) ; } return 0 ;}*//* / / break 의 이해 # include < stdio . h > int main ( void ) { int sum = 0 ; int num = 0 ; while ( 1 ) { sum += num ; if ( sum > 5000 ) break ; / / break 를 만난 순간 바로 반 복문 을 빠져 나옴 . num ++; } printf ( " sum : % d \ n ", sum ) ; printf ( " num : % d \ n ", num ) ; return 0 ;}*//* / / continue 의 이해 # include < stdio . h > int main ( void ) { int i ; printf ( " start ! \ n "); for ( i = 0 ; i < 20 ; i ++) { if ( i % 2 == 0 || i % 3 == 0 ) continue ; / / 아래 문장 을 무시 하 고 다시 반 복문 으로 돌아감 . printf ( "% d \ n ", i ) ; } printf ( " end ! \ n "); return 0 ;}*/