Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- () (+) 차이
- +연산자 의미
- 백엔드 개발자 #로드맵
- 원 면적
- 합
- 실습예제
- 연습문제
- eslint 쉼표필요 오류
- 정답
- 쉼표필요
- Chapter3
- c
- 원 둘레
- perpectC
- 풀이
- ㅔㄴ트 안잉
- 3강
- getchar()
- perpect C
- 오류
- 3장
- 점프 투 파이썬 #패키지 # 비전공자
- eslint
- 티스토리 커버이미지 변경
- PERPECT
- 비트마스크
- 평균
- putchar()
- 3판
- JavaScript
Archives
- Today
- Total
옥수수와 식빵 그리고 코딩
5장 실습예제 본문
p.6
#include <stdio.h>
int main(void)
{
int amount = 4000 * 3 + 10000;
printf("총금액 %d 원\n", amount);
printf("오천원권 %d 개\n", amount / 5000);
printf("천원권 %d 개\n", (amount % 5000) / 1000);
return 0;
}
p.7
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int cred2, cred3;
cred2 = cred3 = 0;
printf("2학점, 3학점 수강 과목 수 각각 입력: ");
scanf("%d %d", &cred2, &cred3);
cred2 = 2 * cred2;
printf("2학점 과목 총 학점: %d\n", cred2);
printf("3학점 과목 총 학점: %d\n", cred3 = cred3 * 3);
printf("총 학점: %d\n", cred2 + cred3);
return 0;
}
p.8
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int x = 0, y = 0;
printf("두 정수를 입력: ", x, y);
scanf("%d%d", &x, &y);
printf("%d\n", x += y);
printf("%d %d\n", x, y);
printf("%d\n", x -= y);
printf("%d %d\n", x, y);
return 0;
}
p.10
#include <stdio.h>
int main(void)
{
int m = 1, n = 5;
printf("%d %d\n", m++, ++n);
printf("%d %d\n", m, n);
printf("%d %d\n", m--, --n);
printf("%d %d\n", m, n);
return 0;
}
p.11 지폐계산 방법
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int amount;
printf("총 금액 입력: ");
scanf("%d", &amount);
printf("계산 금액: %d\n", amount);
int cnt50000 = amount / 50000;
int changes = amount % 50000;
printf("오만원권 %d개 ", cnt50000);
int cnt10000 = changes / 10000;
changes %= 10000;
printf("만원권 %d개 ", cnt10000);
int cnt5000 = changes / 5000;
changes %= 5000;
printf("오천원권 %d개 ", cnt5000);
printf("나머지 %d원", changes);
return 0;
}
p.12 관계연산 활용
#include <stdio.h>
int main(void)
{
int speed = 80;
printf("%d ", (60 <= speed)); //참
printf("%d\n", (60 > speed)); //거짓
printf("%d ", ('a' > 'b')); //거짓
printf("%d\n", ('Z' <= 'a')); //참
printf("%d ", (4 == 4.0)); //참
printf("%d\n", (4.0F != 4.0)); //거짓
return 0;
}
p.13 논리연산자 && || !
#include <stdio.h>
int main(void)
{
double grade = 4.21;
printf("%d ", (4.0 < grade) && (grade <= 5));
printf("%d ", 0.0 || (4.0 > grade));
printf("%d\n", (4.2 < grade) || !0.0);
printf("%d ", 'a' && 3.5);
printf("%d ", '\0' || "C");
printf("%d\n", "java" && '\0');
return 0;
}
p.14 &&연산자로 일정액 이상의 구매액에 쿠폰 발행과 할인 계산
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int amount = 0;
int coupons = 10;
printf("총 금액: ");
scanf("%d", &amount);
int sale = (amount >= 10000) && (coupons++ >= 10);
printf("할인: %d, 쿠폰 수: %d\n", sale, coupons);
return 0;
}
p.15 조건연산자
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int a = 0, b = 1;
printf("두 정수 입력: ");
scanf("%d%d", &a, &b);
printf("최댓값: %d ", (a > b) ? a : b);
printf("최솟값: %d\n", (a < b) ? a : b); // (a > b) ? b : a
printf("절댓값: %d", (a > 0) ? a : -a);
printf("절댓값: %d\n", (b > 0) ? b : -b);
((a % 2) == 0) ? printf("짝수 ") : printf("홀수 ");
printf("%s\n", ((b % 2) == 0) ? "짝수" : "홀수");
return 0;
}
p.17 비트연산자 & | ^ ~
#include <stdio.h>
int main(void)
{
int x = 15;
printf("%9x\n", -1);
printf("%3d\n", 10 & -1);
printf("%3d\n\n", 10 | 0);
printf("%3d %08x\n", x, x);
printf("%3d %08x\n", 1, x & 1);
printf("%3d %08x\n", 15, x | 1);
printf("%3d %08x\n", 14, x ^ 1);
printf("%3d %08x\n", ~x, ~x);
return 0;
}
p.19 비트 이동 연산자
#include <stdio.h>
int main(void)
{
int x = 0xffff;
printf("%6d %08x\n", x, x);
printf("%6d %08x\n", x >> 1, x >> 1);
printf("%6d %08x\n", x >> 2, x >> 2);
printf("%6d %08x\n", x >> 3, x >> 3);
printf("%6d %08x\n", x << 1, x << 1);
printf("%6d %08x\n", x << 2, x << 2);
return 0;
}
p.21 오류남 다시 - 오타때문 ;를 :로 입력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int key = 12345678;
int origin;
printf("ID로 사용할 8자리 의 정수를 입력하세요: ");
scanf("%d", &origin);
int encode = origin ^ key;
printf("입력한 ID: %d\n", origin);
printf("암호화하여 저장된 ID: %d\n", encode);
int input;
printf("로그인할 ID 입력하세요: ");
scanf("%d", &input);
int result = encode ^ key;
printf("로그인 성공 여부: %d\n", input == result);
return 0;
}
p.23 결과 이상 다시 - %lf를 %d로 적어서 0이 나옴
#include <stdio.h>
int main(void)
{
int a = 7.8;
double b = 5;
printf("%d %f ", a, b);
printf("%d %lf ", (int)3.56, (double)3);
printf("%f %d\n ", 3.56 + 7.87, (int)(3.56 + 7.87));
printf("%d %f %f\n", 5 / 2, (double)5 / 2, (double)(5/2));
return 0;
}
p.25
#include <stdio.h>
int main(void)
{
int a, x;
a = x = 0;
x = 3 + 4, 2 * 3;
printf("x = %d", x);
x = (3 + 4, 2 * 3);
printf("x = %d\n", x);
int byte = sizeof(double);
printf("double 형: %d bytes, %d bits\n", byte, byte * 8);
int bit = (byte = sizeof a, byte * 8);
printf("int 형: %d bytes, %d bits\n", byte, bit);
size_t sz = sizeof(short);
printf("%zu\n", sz);
return 0;
}
p.28
#include <stdio.h>
int main(void)
{
int speed = 90;
int x = 1, y = 2, z = 3;
printf("%d ", 60 <= speed && speed <= 80 + 20);
printf("%d ", ((60 <= speed) && (speed <= (80 + 20))));
printf("%d ", x % 2 == 0 ? y + z : y * z);
printf("%d ", (x % 2 == 0) ? (y + z) : (y * z));
printf("%d ", speed += ++x && y - 2);
printf("%d\n", speed += ((++x) && (y - 2)));
return 0;
}
p.29
#include <stdio.h>
int main(void)
{
int m = 5, n = 10;
printf("%d\n", m += n /= 3);
printf("%d %d\n", m, n);
printf("%d ", 3 > 4 ? 3 - 4 : 3 > 4 ? 3 + 4 : 3 * 4);
printf("%d\n", 3 > 4 ? 3 - 4 : (3 > 4 ? 3 + 4 : 3 * 4));
printf("%d ", 10 * 3 / 2);
printf("%d\n", 10 * (3 / 2));
return 0;
}
p.30 섭씨온도를 화씨온도로 변환해 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
double celsius, fahrenheit;
printf("변환할 섭씨 온도를 입력: ");
scanf("%lf", &celsius);
fahrenheit = (9.0 / 5.0) * celsius + 32.0;
printf("섭씨 %.2f: 화씨 %.2f\n", celsius, fahrenheit);
return 0;
}
'C > 2021겨울계절 - 프로그래밍 이해' 카테고리의 다른 글
if else를 이용한 연봉 계산 (0) | 2021.12.29 |
---|---|
7장 실습예제 (0) | 2021.12.29 |
6장 실전예제 (0) | 2021.12.28 |
4장 실습예제 (0) | 2021.12.27 |
3장 실습예제 (0) | 2021.12.24 |
Comments