<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 2

1. 다음 예에서 올바르지 않은 변수명을 찾아내고 그 이유를 간단히 설명하시오

①$COLOR : 특수문자 사용 불가

②My name : 공백 사용 불가

③_Park : O

④Tax_Rate : O

⑤printf : printf를 C 언어에서 제공하는 표준 출력 함수로 사용할 수 없게 됨.

⑥index_1 : O

⑦2013Expo : 숫자로 시작할 수 없음.

⑧weight_kg : O

 

 

2. 다음의 자료 값을 10진 정수형으로 출력하는 프로그램을 작성하여 결과 값을 구하시오.

#include <stdio.h>
 
int main(void)
{
    printf("%d\n", 0261);
    printf("%d\n", 'e');
    printf("%d\n", 0xA2C);
    printf("%d\n", 0x98BA);
 
    return 0;
}
①0261 : 177
②'e' : 101
③0xA2C : 2604
0x98BA : 39098

 

3. 다음 중 기본 자료형에 밑줄을 그으시오.

문자:    char    signed char     long (int) char

정수:    short   (signed) int     long (int)

실수:    float    double           long double

 

4. float height 177.7; 과 같이 선언하면 경고 메시지가 나타난다. 경고 메시지가 나타나는 이유와 해결 방법을 적으시오.

warning C4305: '초기화 중': 'double'에서 'float'(으)로 잘립니다.

 

177.7은 8바이트 double형 상수로 간주한다. 문제에선 177.7을 4바이트 float형으로 정의하려 했다. 이러면 값이 잘릴 수 있기 때문에 경고 메시지가 나타난다.

double height 177.7; 이나 float height 177.7f; 로 선언해야 한다.

 

5. 25인치(inch)의 길이를 센티미터(cm)로 계산하여 출력하는 프로그램을 완성하시오.

   hint : 1인치는 2.54cm이다. 그러므로 cm ← inch×2.54

#include <stdio.h>
 
int main(void)
{
    int inch = 25;
    double centi = inch * 2.54;
    printf("%dinch는 %fcm입니다.\n", inch, centi);
 
    return 0;
}