언어 자료구조 알고리즘/디딤돌 C언어

[정답] 디딤돌 C언어 38. 정리하기 (연산자)

언제나휴일 2016. 4. 30. 13:16
반응형

[정답] 38. 정리하기 (연산자)


연산자 정리하기


1. 다음 리터럴 상수로 초기값을 설정하는 선언문 중에서 오류가 있는 것을 고르시오.
   a. char c = "hello";   b. int i = 'a';      c. char c = 38;      d. char c = 0xC;
: a
"hello"
문자열이며 char 형식을 원소로 하는 배열이나 포인터 형식 변수로 사용할 있습니다.
 

2. 다음 코드를 수행했을 출력 결과를 예측하시오.
printf("%d\n", 8^8);
:
^
연산은 비트 자리별로 같으면 0이고 다르면 1 계산하는 연산입니다.
좌항과 우항이 같은 수이므로 모든 자리는 같으며 따라서 결과도 모든 자리가 0입니다.
 

3. 다음 코드를 수행했을 출력 결과를 예측하시오.
printf("%d\n", 2<1<3);
:
1
2<1<3
연산은 2<1 수행한 후에 수행 결과인 0<3 비교합니다.
따라서 결과는 참인 1입니다.
 

4. 다음 코드는 부호없는 정수 형식의 변수 a 상위 2바이트의 값을 변수 b 대입하는 구문으로 밑줄 곳에 채우시오.
b = a ___16;
:
>>
연산은 오른쪽으로 자리 이동하는 연산입니다.
상위 2바이트를 16자리 오른쪽으로 이동하면 원하는 값을 얻을 있습니다.
 

5. 다음 코드에서 문법적 오류를 찾고 이유를 설명하시오.
#include <stdio.h>
int main()
{
   
int i = 0;
   
int num = 0;
    printf(
"정수를 입력:");
    scanf(
"%d",&num);
    fflush(stdin);
    i + 3 = num;
    printf(
"i:%d num:%d \n",i, num);
   
return 0;
}
:
i+3=num;
i+3
연산 결과이므로 상수입니다.
상수는 대입 연산자 좌항에 없습니다.


29. 산술 연산자
30. 논리 연산자 
31. 비교 연산자 
32. 비트 연산자 
33. 비트 연산자 ^를 이용한 암호화 
34. 쉬프트 연산자 
35. 대입 연산자 
36. 증감 연산자 
37. 기타 연산자 

38. 정리하기


반응형