이번 문제는 시프트 연산자 문제이다. 시프트 연산자는 > 오른쪽으로 시프트 후 할당 문제에서 요구하듯 unsigned long long으로 변수 a를 선언해준다. 그리고 scanf로 변수 a의 값을 받아준다. 다음 출력할 때도 마찬가지로 주어진 서식지정자로 a의 값을 왼쪽으로 20번 오른쪽으로 4번 시프트해주고 출력해주면 된다. a > 4 이렇게 해주면 된다. 답은 #define _CRT_SECURE_NO_WARNINGS #include int main() { unsigned long long a; scanf("%llu", &a); printf("%llu", a > 4); }
비트 연산자는 바이트 단위보다 더 작은 비트를 사용하는 연사자이다. 비트 연산자의 종류는 & AND | OR ^ XOR ~ NOT 먼저, 값을 unsigned int형으로 선언하고 scanf로 받아준다. 출력을 할 때는 문제에서 요구하듯 서식지정자를 %u로 해준다. 출력 값은 문제에 맞춰 비트 연산자를 사용해주면 된다. 답은 #define _CRT_SECURE_NO_WARNINGS #include int main() { unsigned int num1, num2; scanf("%d %d", &num1, &num2); printf("%u\n", num1 ^ num2); printf("%u\n", num1 | num2); printf("%u\n", num1 & num2); printf("%u\n", ~num..
먼저 두 정수를 입력 받기 위해 int a,b; 를 선언해주자 다음으로 두 값을 논리 연산자를 이용해 비교해주고 삼항연산자로 참, 거짓을 출력하도록 해주자 논리 연산자 AND -> && OR -> || NOT -> ! 를 이용해주면 된다. 답은 #define _CRT_SECURE_NO_WARNINGS #include int main() { int a, b; scanf("%d %d", &a, &b); printf("%s\n", a&&b ? "참" : "거짓"); printf("%s\n", a||b ? "참" : "거짓"); printf("%s\n", !a ? "참" : "거짓"); return 0; }
물론, if문으로 짜도 되는 문제이지만 삼항연산자를 배웠기때문에 이번에는 삼항 연산자를 이용해서 코딩을 해보자. 삼항 연산자와 조건식이 함께 사용될 때는 조건식 ? 참 : 거짓; 이러한 형태로 사용된다는 것을 알아둬야 한다. 코딩을 해보면 먼저 문자를 입력 받기 위해서 char a; 를 선언해주자. 그리고 각각의 값을 비교 연산자를 이용해서 풀어주자. 먼저 입력받은 a의 값이 'k'와 다른지 비교하기 위해서 != (같지 않다) 연산자를 사용해주자. 다음으로 a가 'h'보다 큰지 비교하기 위해서 > (크다) 연산자를 사용해주자. 마지막으로 a가 'o'보다 작거나 같은지 비교하기 위해서 'h' ? "참" : "거짓"); printf("%s\n", a
#define _CRT_SECURE_NO_WARNINGS #include int main() { int c; int a, b; printf("원하는 연산자를 골라주세요.\n1.+\n2.-\n3.*\n4./\n"); scanf("%d", &c); if (c != 1 && c != 2 && c != 3 && c != 4) { printf("잘못된 연산자입니다"); } else { printf("정수 두 개를 입력해주세요"); scanf("%d %d", &a, &b); if (c == 1) { printf("%d + %d = %d", a, b, a + b); } else if (c == 2) { printf("%d - %d = %d", a, b, a - b); } else if (c == 3) { printf..
if문으로 어린이 범위를 설정해준다. 그리고 else if문을 이용해 청소년과 성인 범위를 설정해주고 각 조건마다 값을 balance에 저장해준다. 답은 if (age >= 7, 12 >= age) { balance = balance - 450; } else if (age >= 13, 18 >= age) { balance = balance - 720; } else if (age >= 19) { balance = balance - 1200; }
- Total
- Today
- Yesterday