본문 바로가기
책./C언어 콘서트

4장(수식과 연산자) 연습문제 #C언어 콘서트

by 낭람._. 2022. 7. 18.
반응형

1. 수식에서 어떤 연산자들이 먼저 계산되는지를 결정하는 것을 무엇이라고 하는가?
- 우선순위

 

2. C프로그램에서 수식 7/9*9은 얼마로 계산되는가?
- 0

 

3. 변수 x, y는 int x=10; int y=20;으로 선언되어 있다고 하자. 다음 중 올바른 수식이 아닌 것은?
- 30 = x + y;

 

4. 다음 코드의 실행결과는?
#include<stdio.h>
int main(void)
{
    int i = 5;
    i = i /3;
    printf("%d \n", i);
    return 0;
}
- 1

 

5. 다음 코드의 실행결과는?
#include<stdio.h>
int main(void)
{
    int x = 2 * 9 / 3 + 9;
    printf("%d \n", x);
    retrun 0;
}
- 15

 

6. 다음 코드의 실행결과는?
#include<stdio.h>
int main(void)
{
    int x = 5 % 2 * 3 / 2;
    printf("%d \n", x);
    return 0;
}
- 1

 

7. 다음 코드의 실행결과는?
int x = 10;
int y = 29;
printf("%d\n", x < y);
printf("%d\n", x == y);
printf("%d\n", x = y);
printf("%d\n", x != y);
printf("%d\n", x++);
- 1
  0
  20
  0
  20

 

8. 잠시 컴파일러가 되었다고 가정하자. 다음 소스 파일이 컴파일되어 실행되는 것인지를 말하고 컴파일이 되지 않는다면 어디가 문제인지를 오른쪽 빈칸에 적으시오.
#include<stdio.h>
int main(void)
{
    const integer MAX=1000;
    integer i = 10;
    unsigned double d = .2;
    
    return 0;
}
- 실행되지 않는다.
  integer 자료형은 없고, unsigned는 정수형에만 붙는다.

 

9. 다음은 100에 1/2을 곱하여 50을 계산하려는 코드이다. 항상 0이 출력된다. 어디에 문제가 있는가?
#include<stdio.h>
int main(void)
{
    int x = 100;
    int y;
    
    y = (1/2) * x;
    pritnf("%d \n", y);
    return 0;
}
- y = (1/2) * x 부분에서 1/2는 0이므로 항상 0이 출력된다.
  y = (1.0/2.0) * x 로 수정해야 한다.

 

반응형

댓글