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

3장(변수와 자료형) Programming #C언어 콘서트

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

1. 사용자로부터 소수점 표기 형식으로 실수를 읽어서 지수 형식으로 출력하는 프로그램을 작성하라.
hint : printf()에서 소수점 표기 형식은 %f, 지수형식은 %e로 출력할 수 있다.
실수를 입력하시오: 89.567
지수 형식으로는 8.956700e+001입니다.
#include<stdio.h>

int main() {
    float f;

    printf("실수를 입력하시오: ");
    scanf("%f", &f);

    printf("지수 형식으로는 %e입니다.\n", f);
    return 0;
}

 

2. 사용자에게 받은 문자의 아스키 코드를 출력하는 프로그램을 작성하시오.
hint : 문자는 아스키 코드라는 숫자로 컴퓨터 내부에서 표현된다. 문자를 %c로 받아서 char형 변수에 저장한 후에 %d로 출력하면 된다.
문자를 입력하시오: a
아스키 코드: 97
#include<stdio.h>

int main() {
    char c;
    printf("문자를 입력하시오: ");
    scanf("%c", &c);

    printf("아스키 코드: %d\n", c);
    return 0;
}

 

3. 사용자로부터 x의 값을 실수로 입력받아서 다음과 같은 다항식의 값을 계산하는 프로그램을 작성하라.
hint : 다항식은 3x^3-7x^2+9이다.
x의 값을 입력하시오: 3.9
다항식의 값은 80.487008입니다.
#include<stdio.h>

int main() {
    float x;
    printf("x의 값을 입력하시오: ");
    scanf("%f", &x);

    printf("다항식의 값은 %f입니다.\n", (3*x*x*x)-(7*x*x)+9);
    return 0;
}

 

 

4. 면적의 단위인 제곱미터를 평으로 환산하는 프로그램을 작성하시오. 여기서 1평은 3.30579이다.
변수들의 자료형은 어떤 것을 선택하는 것이 좋은가? 기호 상수를 이용하여 1 제곱미터 당 평을 나타내어라.
면적을 제곱미터 단위로 입력하시오: 115
115.00제곱미터는 34.79평입니다.
#include<stdio.h>

int main() {
    float f;
    const float py = 3.30579;

    printf("면적을 제곱미터 단위로 입력하시오: ");
    scanf("%f", &f);

    printf("%0.2f제곱미터는 %0.2f평입니다.\n", f, f/py);
    return 0;
}

 

5. 이번 장에서 학습한 모든 자료형의 크기를 sizeof 연산자를 사용하여 출력하는 프로그램을 작성하여 보라.
char형의 크기는 1바이트 입니다.
short형의 크기는 2바이트 입니다.
int형의 크기는 4바이트 입니다.
long형의 크기는 4바이트 입니다.
long long형의 크기는 8바이트 입니다.
float형의 크기는 4바이트 입니다.
double형의 크기는 8바이트 입니다.
long double형의 크기는 12바이트 입니다.
#include<stdio.h>

int main() {
    printf("char형의 크기는 %d바이트 입니다.\n", sizeof(char));
    printf("short형의 크기는 %d바이트 입니다.\n", sizeof(short));
    printf("int형의 크기는 %d바이트 입니다.\n", sizeof(int));
    printf("long형의 크기는 %d바이트 입니다.\n", sizeof(long));
    printf("long long형의 크기는 %d바이트 입니다.\n", sizeof(long long));
    printf("float형의 크기는 %d바이트 입니다.\n", sizeof(float));
    printf("double형의 크기는 %d바이트 입니다.\n", sizeof(double));
    printf("long double형의 크기는 %d바이트 입니다.\n", sizeof(long double));
    
    return 0;
}

 

반응형

댓글