C 프로그래밍(새내기를 위한 첫 C언어 책) 연습문제 솔루션 :: chap04. 연산자(01~04번 문제)

반응형


01. 연산자 =와 ==의 차이점을 기술하시오. 

- 대입연산자 '=' : 연산자 왼쪽에 있는 변수에 오른쪽에 있는 수식 값을 저장

    ex) x = y 의 의미는 y값을 x에 저장하겠다는 의미 

- 관계연산자 '==' : 피연산자 두 개를 비교

    ex) x == y 의 의미는 x와 y의 값이 같은지를 비교하겠다는 의미




02. 다음 연산자를 우선순위가 높은 순서대로 정리하시오.

대입, 산술, 관계, 논리, 조건, 증감, 비트, 콤마

 → 증감(단항) > 산술 > 관계 > 비트 > 논리 > 조건 > 대입 > 콤마




03. 다음 프로그램을 실행한 결과를 추정하여 결과 값을 직접 적어본 후 프로그램을 실행하여 추정한 값과 실제 실행 값을 비교해보시오.

<소스 코드①>

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
int main()
{
    int x = 3, y = 4;
 
    printf("%d\n"++* 2);
    printf("%d\n", y-- % 5);
 
    return 0;
}
cs

<실행 결과>



<소스 코드②>

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int main()
{
    int x = 15, y = 21;
 
    printf("%d\n", x & y);
    printf("%d\n", x | y);
    printf("%d\n", x ^ y);
 
    return 0;
}
cs
<실행 결과>



<소스 코드③>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
int main()
{
    int x, y, z;
 
    x = -3 * 5 % 5 + 1;
    y = 1;
    z = 1;
    y = x && y || z;
    z += x << 1 + y++;
 
    printf("x = %d\n", x);
    printf("y = %d\n", y);
    printf("z = %d\n", z);
 
    return 0;
}
cs

<실행 결과>



<소스 코드④>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
int main()
{
    int x = 5, y;
    double z;
 
    y = x / 2;
    printf("y = %d\n", y);
    y = (double)x / 2;
    printf("y = %d\n", y);
    z = x / 2;
    printf("z = %.1lf\n", z);
    z = (double)x / 2;
    printf("z = %.1lf\n", z);
    z = (double)(x / 2);
    printf("z = %.1lf\n", z);
 
    return 0;
}
cs

<실행 결과>






04. 다음 코드 옆 밑줄 부분에 변수의 값을 적으시오.

<소스 코드>

1
2
3
4
5
6
7
int int1, int2, int3 = 8;
double r1, r2;
 
int1 = int3 / 5;                    // int1 값: 1
int2 = int3 / 5.0;                 // int2 값: 1
r1 = (double) (int3 / 5);      // r1 값: 1.0
r2 = (double) int3 / 5;        // r2 값: 1.6
cs


반응형

댓글

Designed by JB FACTORY