전체 글
[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..
[C] C언어 코딩 도장 7.12 심사문제: 자료형 크기 구하기
다음 소스 코드를 완성하여 11이 출력되게 만드세요. 표준 출력 11 judge_integer_sizeof.c #include int main() { _______________ _______________ printf("%d\n", sizeof(num1) + sizeof(num2) + sizeof(long long)); return 0; } 정답 char num1; short num2; 풀이 먼저 변수가 아닌 long long을 보자. long long의 자료형 크기는 8바이트이다. 따라서 11이 나오려면 변수 num1과 num2의 자료형 크기의 합이 3이어야 한다. 그러면 하나는 1바이트, 다른 하나는 2바이트이어야 하므로 하나는 char형, 하나는 short형이어야 한다. num1이 short, n..