c언어에서의 연산자(operator)
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1 산술 연산자(arithmetic operator)
1.1 이항 연산자(binary operator)
1.2 단항 연산자(unary operator)
1.3 대입 연산자(assignmentoperator)
2 관계 연산자(relational operator)
3 논리 연산자(logical operator)
4 비트 연산자(bit operator)
5 기타 연산자
5.1 콤마(,) 연산자
5.2 sizeof 연산자
5.3 형 변환 연산자
5.4 열거형 연산자
5.5 조건 연산자
6 연산자의 우선 순위와 연산 방향

본문내용

y
^
비트 단위의 배타적 논리합(XOR)
x ^ y
~
비트 단위의 논리 부정(NOT)
~x
시프트(shift) 연산자의 종류
종 류
설 명

>>
오른쪽으로 비트 이동
x >> 2
<<
왼쪽으로 비트 이동
x <<2
[ 예제 4-6.C ]
#include
main()
{
unsigned short x, y, bitlogical;
x=0xa9a9;
y=0x7070;
bitlogical = x&y;
printf("%x &%x ==>
bitlogical = x | y;
printf("%x | %x ==>
bitlogical = ~x;
printf("~ (%x) ==>
bitlogical=x<<3;
printf("%x << 3 ==>
}
프로그램 해석
x=0xa9a9, y=0x7070
5 기타 연산자
4.5.1 콤마(,) 연산자(comma operator)
순차 연산자라고도 하며 연산자의 우선 순위 중 가장 낮다.
동일한 성격 또는 동일한 자격의 오퍼렌드를 나열하는데 사용한다.
결합 순서는 좌에서 우로 한다.
보 기
의 미
x= (y=1, y++);
x=2, y=2
x= (y=1, z=2);
y=1, z=2, x=2
x= (y=3, y+2);
y=3, x=5
X= (y=1, ++y);
y=1, y=2, x=2
5.2 sizeof 연산자
sizeof 연산자는 바로 다음에 나오는 변수나 데이터 형이 차지하는 메모리의 크기(byte)를 구하는 연산자이다.
결과 값은 정수형 상수이다.
메모리 할당이나 입출력 시스템간의 정보 교환에 주로 사용한다.
sizeof 연산자의 사용 방법은 다음과 같다.
[ 예제 4-7.C ]
#include
main()
{
char c, s[20];
int size, a, b[20];
size = sizeof(char); /* 형선언 연산자 사용 */
printf("sizeof(char) =
size = sizeof(double); /* 형선언 연산자 사용 */
printf("sizeof(double) =
size = sizeof(c); /* 변수 사용 */
printf("sizeof(c) =
size = sizeof(s); /* 배열 변수 사용 */
printf("sizeof(s) =
size = sizeof(b); / * 배열 변수 사용 */
printf("sizeof(b) =
}
5.3 형 변환 연산자(cast operator)
데이터의 형을 강제적으로 변환시켜 사용하는 연산자이다.
형 변환 연산자의 사용 방법은 다음과 같다.
#include
main()
{
int a=7, b=2;
float c1, c2;
c1=a/b;
c2=(float) a/b; /* float은 cast 연산자 */
}
c1 값은 3.0이 기억되고. c2는 3.5가 기억된다.
4.5.4 열거형 연산자
열거형 연산자는 열거 상수들의 모임으로 다음과 같이 표현한다.
enun 열거형 { 멤버1, 멤버2,......} 변수1, 변수2,.......;
열거형 기호 상수와 같은 의미를 갖는다. 기호 상수는 하나의 상수를 표시하는데 비해 열거형은 관련된 자료를 모아서 이루어진다. 즉 열거형은 기호 상수의 집합이다.
예) ① enun offon {off, on} ;
off는 0, on은 1로 set된다.
② enun week {sun = 1, mon, tue, wed, thu, fri, sat} ;
sun 은 1
mon 은 2
tue 은 3


sat 는 7
[ 예제 4-8.C ]
#include
main()
{
int i;
enun offon {off, on};
scanf("%d", &I);
if (I == off) printf("Switch off\n");
if (I == on) printf("Switch on\n");
}
5.5 조건 연산자(conditional operator)
조건식을 조사하여 조건식이 참이면 식 1의 결과를, 조건식이 거짓이면 식 2의 결과를 구하는 연산자이다.
조건식 ? 식1 : 식2
[ 예제 4-9.C ]
#include
main()
{
int a. b. c;
printf ("두 정수를 입력하세요.\n");
scanf("%d, %d", &a, &b);
c = (a>b) ? (a-b) : -(a - b);
printf("두 정수차의 절대값 :
}
6 연산자의 우선 순위와 연산 방향
연산자의 우선 순위가 두 가지 이상의 연산자들이 결합된 수식에서 어느 것이 먼저 계산 되어야 할 것인가를 결정하는 순서를 말한다.
연산자들은 그들이 결합될 때, 방향을 갖는다. 이것을 연산의 방향이라고 한다.
일반적인 연산의 순서
① 괄호(( )) 안의 내용이 먼저 처리된다.
② 단항 연산자가 이항 연산자보다 먼저 처리된다.
③ 좌측에서 우측으로 실행한다.
연산자의 우선 순위는 다음과 같다.
우선 순위
구 분
연 산 자 종 류
결합 규칙


괄호, 구조체, 공용체
( ) [ ] . -->
좌 -> 우
단항 연산자
! ~ ++ -- - * &
우 -> 좌





승 제
* / %
좌 -> 우
가 감
+ -
쉬 프 트
<<>>
비 교
<<= >>=
등 가
== !=
비트 AND
&
비트 XOR
^
비트 OR
|
논리 AND
&&
논리 OR
||
조 건 연 산 자
? :
우 -> 좌
대 입 연 산 자
= =+ -= *= /= %= >>= <<= &= ^= |=
우 -> 좌
나 열 연 산 자
,
좌 -> 우
[ 문제1 ] 다음 문장을 실행 했을 대 a의 값을 10진수로 답하시오.
(1) int a;
a=1+2*3-4;
(2) int a;
a=2*3
(3) int a;
a=-1-2*3+4
(4) int a=2;
a+=3*2;
(5) int a;
a<<= 1+2;
(6) int a, b,c;
a=2;
a*=b=c=3;
(7) int a, b, c;
b=2;
c=1;
a=b==c+2;
(8) int a=1, b=2, c=3;
a=a|b&c;
(9) int a=1, b=2. c=3
a=(a>b|c) * (b&a+c)
(10) int a=b=c=1;
a=-b++ + ++c;
  • 가격3,500
  • 페이지수10페이지
  • 등록일2008.01.06
  • 저작시기2007.12
  • 파일형식한글(hwp)
  • 자료번호#445994
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니