코딩 도장

    [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..

    [C] C 언어 코딩 도장 7.11 심사문제: 정수형 변수 선언과 오버플로우

    다음 소스 코드를 완성하여 0 0 -128이 출력되게 만드세요. 표준 출력 0 0 -128 judge_integer_overflow.c #include int main() { __________________ __________________ __________________ num1 = 65536; num2 = 4294967296; num3 = 128; printf("%u %u %d\n", num1, num2, num3); return 0; } 정답 unsigned short int num1; unsigned long int num2; char num3; 풀이 num1과 num2에 값을 할당할 때 분명 0이 아닌 수로 할당했는데, 출력에 0으로 나왔다. 아! 이것은 오버플로우구나! 그렇다. 근데 음수가..

    [C] C언어 코딩 도장 5.6 심사문제: 변수를 선언하고 값 할당하기

    다음 소스 코드를 완성하여 10 20 30이 출력되게 만드세요. 표준 출력 10 20 30 judge_variable.c #incldue int main() { int num1; ___________________ ___________________ printf("%d %d %d\n", num1, num2, num3); return 0; } 정답 num1 = 10; int num2 = 20, num3 = 30; 풀이 printf 함수로 num1, num2, num3의 값이 10, 20, 30으로 출력되니, num1에는 10, num2에는 20, num3에는 30을 할당해야 한다. 먼저 int형 변수 num1이 먼저 선언되어 있으니 num1 = 10;으로 10을 할당해주고, 글쓴이는 num2와 num3을 ..

    [C] C언어 코딩 도장 3.10 심사문제: 서식 지정자 사용하기

    다음 소스 코드를 완성하여 "Hello, C Language"가 출력되게 만드세요. 정답에는 밑줄 친 부분에 들어갈 코드만 작성해야 합니다. 표준 출력 Hello, C Language judge_hello_with_format.c #include int main() { printf("%s, %s %s\n",_____________); return 0; } 정답 "Hello", "C", "Language" 풀이 첫 번째 %s에 ,가 붙어있는 것을 확인할 수 있는데 %s 공부를 제대로 하지 않았다면 "Hello,"라 하는 실수를 할 수 있다. 그러니, 문제를 풀 때 출력을 확인하고 %s가 있는 부분에 공백, 기호들을 꼼꼼히 확인해야 한다.

    [C] C언어 코딩 도장 3.9 심사문제: 문자열 출력하기

    다음 소스 코드를 완성하여 "Hello, world!" 두 개가 각 줄에 출력되게 만드세요. 정답에는 밑줄 친 부분에 들어갈 코드만 작성해야 합니다. 표준출력 Hello, world! Hello, world! judge_hello.c #include int main() { ____________________ ____________________ return 0; } 정답 printf("Hello, world!\n"); printf("Hello, world!"); 풀이 처음 printf 함수 안에 \n을 넣는 것이 이 문제의 핵심이다. 두 번째 printf 함수 안에는 넣거나 안넣어도 정답에 영향 없다.