#include <stdio.h>
int main() {
/* a를 b로 나눈 몫은 / 를 이용해서, 나머지는 %를 이용해서 구한다. */
int n;
printf("정수 를 입력하시오 : ");
scanf("%d", &n);
printf("10을 더한 값 : %d \n", n + 10);
printf("10을 뺸 값 : %d \n", n - 10);
printf("10을 곱한 값 : %d \n", n * 10);
printf("10으로 나눈 값의 몫 : %d \t 10으로 나눈 값의 나머지 : %d \n", n / 10, n%10);
return 0;
}
#include <stdio.h>
int main() {
/* 형식 문자열이 아닌 %를 표시하고 싶은 경우에는 %%를 쓴다. 그 경우 printf("%%") 를 입력하면 %로 출력된다.
단, puts 함수는 형식 문자열 기능이 없기 때문에 %%가 그대로 %%로 출력됨! */
int n;
printf("정수 를 입력하시오 : ");
scanf("%d", &n);
printf("n / 5 = %d 이고, n %% 5 = %d 이다. \n", n / 5, n%5);
return 0;
}
#include <stdio.h>
int main() {
int x,y;
printf("정수 x 를 입력하시오 : ");
scanf("%d", &x);
printf("정수 y 를 입력하시오 : ");
scanf("%d", &y);
printf("\n");
// printf("백분율 : %d \n ", x / y * 100);
printf("백분율 : %d \n ", 100 * x / y );
// x / y * 100 하는 경우 앞에서부터 계산해서 0 * 100 으로 계산 될 여지가 있으므로 주의!
return 0;
}
#include <stdio.h>
int main() {
int x,y;
printf("정수 x 를 입력하시오 : ");
scanf("%d", &x);
printf("정수 y 를 입력하시오 : ");
scanf("%d", &y);
printf("\n");
printf("합 : %d , 곱 : %d\n ", x+y, x*y );
return 0;
}
#include <stdio.h>
int main() {
int x,y;
printf("정수 x 를 입력하시오 : ");
scanf("%d", &x);
printf("정수 y 를 입력하시오 : ");
scanf("%d", &y);
printf("\n");
printf(" >> %d\n ", -1*(x+y)/2 );
return 0;
}
#include <stdio.h>
int main() {
/* double 형 변수로 값을 읽어 들일 때 scanf 함수에 부여할 형식 지정사는 %lf이고,
printf 함수에 부여할 형식 지정자는 %f 이다. */
double a;
printf("실수 값을 입력해주세요 : ");
scanf("%lf", &a);
printf("입력한 실수 값 : %f \n", a);
return 0;
}
#include <stdio.h>
int main() {
double r;
printf("반지름을 입력해주세요 : ");
scanf("%lf", &r);
printf("원의 넓이 : %f \n", r*r*3.14);
return 0;
}
/* 양쪽 피연산자의 자료형이 같은 경우 얻어지는 결과는
연산 대상인 피연산자와 같은 자료형이지만,
양쪽이 다른 경우 작은 쪽의 자료형 피연산자가 더 큰 쪽의 자료형으로 변환된 다음 연산이 수행된다.
따라서 int형 자료형과 double형 자료형끼리 연산을 수행하면
int형 피연산자의 값이 double 형으로 변환되는 암묵적 형 변환이 수행된다.
*/
#include <stdio.h>
int main() {
double a, b;
printf("a값을 입력하시오 : ");
scanf("%lf", &a);
printf("b값을 입력하시오 : ");
scanf("%lf", &b);
printf("답 : %lf %% \n", a / b * 100);
return 0;
}
#include <stdio.h>
int main() {
int a, b;
printf("a값을 입력하시오 : ");
scanf("%d", &a);
printf("b값을 입력하시오 : ");
scanf("%d", &b);
printf("답 : %lf %% \n", (double)a / b * 100);
return 0;
}
'정수 / 정수' 연산에서는 소수부를 버린 몫(값)을 얻지만, 부동소수점수끼리의 연산에서는 버리기가 수행되지 않는다. 따라서 double형 a와 b의 값을 구하는 a/b 연산에서
- a,b 가 정숫값 일떄는 100 x a / b와 a / b x 100 이 서로 다를 수 있다.
- a,b가 실숫값일때는 a / b x 100 으로 해도 결과가 달라지지 않는다.
#include <stdio.h>
int main() {
int a, b, c;
printf("윗변의 길이를 입력하시오 : ");
scanf("%d", &a);
printf("밑변의 길이를 입력하시오 : ");
scanf("%d", &b);
printf("높이를 입력하시오 : ");
scanf("%d", &c);
printf("답 : %lf \n", (a + b) * c / 2.0);
return 0;
}
#include <stdio.h>
int main() {
int a;
printf("키를 입력하시오 : ");
scanf("%d", &a);
printf("표준체중은 %.1f입니다 \n", (a - 100) * 0.9);
return 0;
}
#include <stdio.h>
int main() {
double a, b;
printf("키를 입력하시오 : ");
scanf("%lf", &a);
printf("몸무게를 입력하시오 : ");
scanf("%lf", &b);
printf("BMI는 %.2f입니다 \n", b / (( a/100.0)* (a / 100.0)));
return 0;
}