본문 바로가기
문제풀이/문제풀이 중심의 C 언어 연습

[C] [문제풀이 중심의 C 언어 연습] 2장 실습 문제

by 민됴리 2020. 8. 3.
반응형

1999년 9월 1일에 발행된

김용일, 강문설 저자의

문제풀이 중심의 C언어 연습

2장 실습 문제입니다.

 

책에 오타나 오류가 있는 문제가 적지 않게 있는데

그런 부분에 대해서는 언급해 드리겠습니다.

 

궁금한 점은 댓글로 남겨주세요.

 


 

2-1. 정수형 변수를 초기화한 후 두 변수의 합을 출력

#include <stdio.h>

int main(void) {

    int a = 20;
    int b = -5;

    printf("%d + %d = %d", a, b, a + b);

    return 0;
}

 

2-2. 실수형 변수를 초기화하고 두 변수의 합과 차를 출력

#include <stdio.h>

int main(void) {

    double ave = 10.25;
    double sum = 4.32;

    printf("%.2f + %.2f = %.2f\n", ave, sum, ave + sum);
    printf("%.2f - %.2f = %.2f", ave, sum, ave - sum);

    return 0;
}

자료형이 double이기 때문에 서식 지정자를 %d로 착각하는 경우가 있습니다. %d의 d가 10진법(decimal)으로 나타내어진 정수라는 걸 꼭! 기억하세요.

 

2-3. 변수 초기화한 후 두 변수의 합을 출력

#include <stdio.h>

int main(void) {

    int no = 40000;
    int count = 13000;

    printf("%d + %d = %d", no, count, no + count);

}

 

2-4. 변수 초기화한 후 두 변수의 합을 출력

#include <stdio.h>

int main(void) {

    int no = 12;
    double ave = 324.1234;

    printf("%d + %.4f = %.4f", no, ave, no + ave);

}

정수형 변수 no에 실수형 변수 ave를 더하면 no에 자동형변환이 일어나서 컴파일러는 실수형 변수의 연산으로 인식합니다. 따라서 type casting을 굳이 해줄 필요는 없습니다.

 

2-5. 영문자로 초기화된 변수의 ASCII값 출력

#include <stdio.h>

int main(void) {

    char ch = 'A';

    printf("%c의 %s 값은 %d입니다.", ch, "ASCII", ch);

    return 0;
}

 

2-6. 정수의 ASCII값에 해당하는 문자 출력

#include <stdio.h>

int main(void) {

    int ch = 97;

    printf("ASCII값 %d의 영문자는 %c입니다.", ch, ch);

    return 0;
}

 

2-7. 자료형에 대한 크기 출력

#include <stdio.h>

int main(void) {

    printf("char  : %d byte\n", sizeof(char));
    printf("short : %d byte\n", sizeof(short));
    printf("int   : %d byte\n", sizeof(int));
    printf("long  : %d byte\n", sizeof(long));
    printf("float : %d byte\n", sizeof(float));
    printf("double: %d byte", sizeof(double));

    return 0;
}

이 책이 발행됐을 때 대중적으로 자주 사용된 16bit 컴퓨터에서는 int가 2byte였으나 현재 우리가 사용하고 있는 32bit 또는 64bit 컴퓨터에서는 int가 4byte입니다. C 언어에서 데이터형의 크기는 플랫폼의 종류에 따라 달라지기 때문입니다. 따라서 어떤 컴퓨터로 해당 코드를 돌리느냐에 따라서 출력 결과가 다를 수 있습니다.

반응형