#include <stdio.h> int main(void) { float radius; // 원의 반지름 /* 원의 면적을 계산하는 프로그램 */ #include <stdio.h> int main(void) { float radius; // 원의 반지름 float area; // 원의 면적 printf("원의 면적을 입력하시요:"); scanf_s("%f", &radius); area = 3.141592 * radius * radius; printf("원의 면적: %f \n", area); return 0; } 원의 면적을 입력하시요:10 원의 면적: 314.159210
#include <stdio.h> int main(void) { int x; printf("변수 x의 크기: %d", sizeof(x)); printf("char형의 크기: %d", sizeof(char)); printf("int형의 크기: %d", sizeof(int)); printf("short형의 크기: %d", sizeof(short)); printf("long형의 크기: %d", sizeof(long)); printf("float형의 크기: %d", sizeof(float)); printf("double형의 크기: %d", sizeof(double)); return 0; } 변수 x의 크기: 4 char형의 크기: 1 int형의 크기: 4 short형의 크기: 2 long형의 크기: 4 float형의 크기: 4 double형의 크기: 8
/* 정수형 자료형의 크기를 계산하는 프로그램*/ #include <stdio.h> int main(void) { short year = 0; // 0으로 초기화한다. int sale = 0; // 0으로 초기화한다. long total_sale = 0; // 0으로 초기화한다. year = 10; // 약 3만2천을 넘지 않도록 주의 sale = 200000000; // 약 21억을 넘지 않도록 주의 total_sale = year * sale; // 약 21억을 넘지 않도록 주의 printf("total_sale = %d \n", total_sale); return 0; } Total sale = 200000000
assasa #include <stdio.h> #include <limits.h> int main(void) { short s_money = SHRT_MAX; // 최대값으로 초기화한다. 32767 unsigned short u_money = USHRT_MAX; // 최대값으로 초기화한다. 65535 s_money = s_money + 1; printf("s_money = %d", s_money); u_money = u_money + 1; printf("u_money = %d", u_money); return 0; } assasa s_money = -32768 u_money = 0
#include <stdio.h> int main(void) { /* 정수 상수 프로그램*/ #include <stdio.h> int main(void) { int x = 10; // 10은 10진수이고 int형이고 값은 십진수로 10이다. int y = 010; // 010은 8진수이고 int형이고 값은 십진수로 8이다. int z = 0x10; // 010은 16진수이고 int형이고 값은 십진수로 16이다. printf("x = %d", x); printf("y = %d", y); printf("z = %d", z); return 0; } x = 10 y = 8 z = 16
#include <stdio.h> #define TAX_RATE 0.2 int main(void) { const int MONTHS = 12; int m_salary, y_salary; // 변수 선언 printf( "월급을 입력하시요: "); // 입력 안내문 scanf("%d", &m_salary); y_salary = MONTHS * m_salary; // 순수입 계산 printf("연봉은 %d입니다.", y_salary); printf("세금은 %f입니다.", y_salary*TAX_RATE); return 0; } 월급을 입력하시요: 100 연봉은 1200입니다. 세금은 240.000000입니다.
실습: 태양빛 도달 시간 태양에서 오는 빛이 몇 분 만에 지구에 도착하는 지를 컴퓨터로 계산해보고자 한다. 빛의 속도는 1초에 30만 km를 이동한다. 태양과 지구 사이의 거리는 약 1억 4960만 km이다.
실행 결과 빛의 속도는 300000.000000km/s 태양과 지구와의 거리 149600000.000000km 도달 시간은 8.311111초
힌트 문제를 해결하기 위해서는 먼저 필요한 변수를 생성하여야 한다. 여기서는 빛의 속도, 태양과 지구 사이의 거리, 도달 시간을 나타내는 변수가 필요하다. 변수의 자료형은 모두 실수형이어야 한다. 왜냐하면 매우 큰 수들이기 때문이다. 빛이 도달하는 시간은 (도달 시간 = 거리/ (빛의 속도))으로 계산할 수 있다. 실수형을 printf()로 출력할 때는 %f나 %lf를 사용한다.
소스 #include <stdio.h> int main(void) { double light_speed = 300000; // 빛의 속도 저장하는 변수 double distance = 149600000; // 태양과 지구 사이 거리 저장하는 변수 // 149600000km로 초기화한다. double time; // 시간을 나타내는 변수 time = distance / light_speed; // 거리를 빛의 속도로 나눈다. time = time / 60.0; // 초를 분으로 변환한다. printf("빛의 속도는 %fkm/s \n", light_speed); printf("태양과 지구와의 거리 %fkm \n", distance); printf("도달 시간은 %f초\n", time); // 시간을 출력한다. return 0; }
도전문제 위의 프로그램의 출력은 8.3333...초로 나온다. 이것을 분과 초로 나누어서 8분 20초와 같은 식으로 출력하도록 변경하라. 필요하다면 형변환을 사용하라. 추가적인 정수 변수를 사용하여도 좋다.