[C 언어의 기초]연산자 4부






기타 연산자 - 3




6. 대입 연산자 : =, +=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |=
"변수 = 변수 op 수식;" 인 경우에 아래에 설명문에 있는 것처럼 =op로 줄여서 사용 가능하다.

i += 10; /* i = i+ 10; */

x -= y + 5; /* x =x - y + 5; */

c |= 0x20; /* c =c | 0x20; */


/* number *= k + 5와 number = number * k + 5는 서로 다르다 */

#include<stdio.h>

main()

{

int number, k;

number = 10; k = 2;

number = number * k + 5;

printf("\"number = number * k + 5\" is %d\n", number);

number = 10;

number *=k+5;

printf(" \"number *= k + 5\"is %d\n", number);

}



7. 조건 연산자 : A ? B : C에서 A의 결과가 참이면 B를 취하고, 거짓이면 C를 취한다. 따라서 아래의 문은 설명문에 있는 의미를 가진다.

i = (i> 0) ? i : -i;/* i 절대값 */

max =(x > y) ? x : y;/* x,y 중에서 */


/* 조건 연산자를 사용한 최소최대값 구하는 프로그램 */

#include<stdio.h>

main()

{

int a, b, c, d, max, min;

printf("4 개의정수를 입력하시오: ");

scanf("%d%d%d%d", &a, &b, &c, &d);

max=(a > b)? ((a > c)? ((a > d)? a : d) : ((c > d)? c : d))

:((b > c)? ((b > d)? b : d) : ((c> d)? c : d));

printf("max=%d\n",max);

min=(a < b)? ((a < c)? ((a < d)? a : d) : ((c < d )? c : d))

:((b < c)? ((b< d)? b : d) : ((c<d)? c : d));

printf("min=%d\n", min);

}



※ 한글 사용
터보C 컴파일러를 사용하다가 한글을 사용하고 싶으시면 DOS shell로 나가서 도스 프롬프트 에서 "hcode /k" 라고 입력하시면 됩니다. 그리고 DOS shell에서 통합개발환경으로 복귀하시려면 "exit"를 입력하시면 됩니다. 한영 변환키는 alt 또는 한/영키 또는 shift + space 등 다양하니 한영변환이 안되시면 차례대로 하나씩 해보시면 됩니다. 

그리고 한글은 2바이트 영문은 1바이트를사용하기 때문에 한글모드로 사용하면 통합개발환경 테두리가 깨져서 나오게 됩니다. 선 대신 글씨가 나오게 됩니다.(궥궥궥궥궥궥궥궥궥궥궥궥 <== 이런 글씨가 나옵니다.) 그럴 때에는 차라리 영어로만 프로그램을 작성 하는게 편하다고 생각할 수도 있습니다. 한글모드에서 영문모드로 바꾸시려면 "hcode /e"라고 입력하시면 됩니다.





Reactions

댓글 쓰기

0 댓글