C언어 코딩 도장
[C] C언어 코딩 도장 10.8 심사문제: 리터럴 사용하기
다음 소스 코드를 완성하여 Hello, world! 76 -2147483647 4.528172가 출력되게 만드세요. 표준 출력 Hello, world! 76 -2147483647 4.528172 judge_literal.c #include int main() { printf("%s %o %lld %Lf\n", "Hello, world!", ___________________); return 0; } 정답 076, -2147483647ll, 4.528172l 풀이 %o는 printf에서 8진수를 출력하기 위해 사용하는 서식 지정자이다. 따라서 8진수는 10진수와 구별하기 위해 숫자 앞에 0을 붙여 076으로 표현한다. 물론 8진수 76을 10진수로 변환하여 62로 제출해도 된다. %lld는 long lon..
[C] C언어 코딩 도장 9.8 심사문제: 알파벳 소문자를 대문자로 변환하기
다음 소스 코드를 완성하여 "A"가 출력되게 만드세요. 표준 출력 A judge_lowercase_to_uppercase.c #include int main() { char c1 = 'a'; printf("%c\n", c1 ___); return 0; } 정답 -32 풀이 ASCII Code를 검색해보자. 'A'의 ASCII 코드 값은 65이고, 'a'의 ASCII 코드 값은 97이다. 따라서 c1 - 32를 %c로 나타내면 'A'가 출력되는 것이다.
[C] C언어 코딩 도장 9.7 심사문제: 제어 문자 사용하기
다음 소스 코드를 완성하여 "Hello world"가 각 줄에 두 번 출력되게 만드세요("Hello"와 "world" 사이는 탭으로 띄웁니다). 표준 출력 Helloworld Helloworld judge_char_control.c #include int main() { char c1; char c2; char c3; _____________ _____________ _____________ printf("Hello%cworld%cHello%cworld\n", c1, c2, c3); return 0; } 정답 c1 = '\t'; c2 = '\n'; c3 = '\t'; 풀이 문자 자료형에는 숫자나 알파벳을 저장할 수 있지만 제어 문자도 저장할 수 있다. "Hello"와 "world" 사이는 탭으로 띄워져있..
[C] C언어 코딩 도장 8.12 심사문제: 오버플로우
주의! 책에는 세미 콜론까지 공백으로 나오는데 온라인은 세미 콜론이 공백이 아니다. 이 답은 온라인 기준의 정답이다. 다음 소스 코드를 완성하여 -inf가 출력되게 만드세요. 표준 출력 -inf judge_real_number_overflow.c #include #include int main() { float num1 = _________; num1 = num1 * 1000.0f; printf("%f\n", num1); return 0; } 정답 -FLT_MAX 풀이 오버플로우가 일어났는데 앞에 마이너스가 붙어있다. 따라서 FLT_MAX에 -를 붙여 -FLT_MAX로 하면 된다.
[C] C언어 코딩 도장 8.11 심사문제: 최솟값과 최댓값 표현하기
다음 소스 코드를 완성하여 각 실수 자료형의 최솟값과 최댓값이 출력되게 만드세요. judge_real_number_min_max.c #include #include int main() { double doubleMin; double doubleMax; long double longDoubleMin; long double longDoubleMax; ____________________________ ____________________________ ____________________________ ____________________________ printf("%e %e\n", doubleMin, doubleMax); printf("%Le %Le\n", longDoubleMin, longDoubleM..
[C] C언어 코딩 도장 8.10 심사문제: 실수형 변수 선언과 자료형 크기 구하기
다음 소스 코드를 완성하여 1.800000 2.900000 3.700000 4 8이 출력되게 만드세요. 표준 출력 1.800000 2.900000 3.700000 4 8 judge_real_number_sizeof.c #include int main() { _____________________ _____________________ long double num3 = 3.7l; printf("%f %f %Lf\n", num1, num2, num3); printf("%d %d\n", sizeof(num1), sizeof(num2)); return 0; } 정답 float num1 = 1.8f; double num2 = 2.9; 풀이 첫 번째 printf함수로부터 변수 num1과 num2는 long doub..
[C] C언어 코딩 도장 7.14 심사문제: 크기가 표시된 정수 자료형 사용하기
다음 소스 코드를 완성하여 -128 65535 0 9223372036854775808이 출력되게 만드세요. 표준 출력 -128 65535 0 9223372036854775808 judge_integer_stdint.c #include __________________ int main() { int8_t num1 = INT8_MIN; uint16_t num2 = UINT_MAX; uint32_t num3 = 0; int64_t num4 = INT64_MAX; printf("%d %u %u %lld\n", num1, num2, num3, num4); return 0; } 정답 #include 풀이 소스 파일 속 존재하는 int8_t, uint16_t와 같이 크기와 부호의 존재 유무가 같이 표시된 정수 자료형..
[C] C언어 코딩 도장 7.13 심사문제: 최솟값 표현하기
다음 소스 코드를 완성하여 -128 0 -2147483648 0 -9223372036854775808이 출력되게 만드세요. 표준 출력 -128 0 -2147483648 -9223372036854775808 judge_integer_min.c #include __________________ int main() { char num1 = CHAR_MIN; unsigned short num2 = 0; int num3 = INT_MIN; unsigned long num4 = 0; long long num5 = LLONG_MIN; printf("%d %u %d %lu %lld\n", num1, num2, num3, num4, num5); return 0; } 정답 #include 풀이 CHAR_MIN과 INT_M..