본문 바로가기
Drill/프로그래밍언어

[프로그래밍언어]쉽게 풀어쓴 C언어 Express 2장 프로그램 작성 과정 Programming

by wintercamo3482 2024. 11. 12.

01 자신의 이름과 나이, 주소 등을 3줄에 걸쳐서 다음과 같이 출력하는 프로그램을 작성하여 보자.

#include <stdio.h>

int main(void)
{
    printf("이름: 홍길동\n");
    printf("나이: 21살\n");
    printf("주소: 서울 200번지\n");

    return 0;
}

 

printf와 \n을 사용하면 쉽게 풀리는 문제.

02 다음과 같은 형태로 출력하는 프로그램을 작성하여 보자. 단 printf()는 한번만 호출하여야 한다.

#include <stdio.h>

int main(void)
{
    printf("Hello\nC\nProgrammers!\n");

    return 0;
}

 

printf()를 굳이 여러 개를 안 써도 \n으로 줄바꿈을 할 수 있다는 것을 보여주려는 예제인 듯 하다.

 

저렇게 하면 pritnf()가 한 번만 호출되기 때문에 연산속도가 빠르긴 하겠지만, 그리 큰 차이가 나는 것은 아니고 오히려 가독성이 떨어지기 때문에 참고만 하는 게 좋다.

03 리포트 표지를 추력하는 프로그램을 작성하여 보자.

#include <stdio.h>

int main(void)
{
    printf("*****************************************\n");
    printf("\t\t리포트\n");
    printf("*****************************************\n");
    printf("\n");
    printf("*****************************************\n");
    printf("\t\t\t학과: 컴퓨터공학과\n");
    printf("\t\t\t학번: 20180001\n");
    printf("\t\t\t성명: 홍길동\n");
    printf("*****************************************\n");

    return 0;
}

 

*과 공백(space bar) 노가다인데, \t를 누르면 편리하고 깔끔하게 간격을 띄울 수가 있다.

 

텍스트 에디터 등에서 Tab키를 누른 것과 같은 결과를 출력할 때 \t를 사용한다.

04 다음과 같이 출력되는 프로그램을 작성하여 보자.

#include <stdio.h>

int main(void)
{
    printf("일\t월\t화\t수\t목\t금\t토\n");
    printf("1\t2\t3\t4\t5\t6\t7\n");
    printf("8\t9\t10\t11\t12\t13\t14\n");
    printf("15\t16\t17\t18\t19\t20\t21\n");
    printf("22\t23\t24\t25\t26\t27\t28\n");
    printf("29\t30\t31\n");

    return 0;
}

 

마찬가지로 \t를 사용하면 결과를 이쁘게 출력할 수 있다.

 

단, 이건 for문을 같은 반복문을 사용하는 게 더 적합한데, 교재에서 반복문, 조건문을 다룰 때 사용하게 되므로 일단은 노가다로 코드를 작성했다.

05 7과 8을 가지고 사칙연산을 한 결과를 다음과 같이 출력하는 프로그램을 작성하라. 본문의 Lab 문제를 참조한다.

#include <stdio.h>

int main(void)
{
    printf("7+8=%d \n", 7 + 8);
    printf("7-8=%d \n", 7 - 8);
    printf("7*8=%d \n", 7 * 8);
    printf("7/8=%d \n", 7 / 8);

    return 0;
}

%d는 정수(int)형 데이터를 추력하기 위한 형식 지정자이다.

 

정수형은 소수점을 표현할 수가 없기 때문에 7과 8을 사용한 사칙연산 중 나눗셈만 제대로 표현하지 못했다.

이를 해결하려면 float이나 double 같은 자료형을 사용해야한다.