C : printf 상수 데이터 출력

SOOYEON·2022년 7월 28일
0

데이터 출력

printf()

print formatted 라는 뜻으로, 일정한 형식에 따라 출력
printf()를 사용하기 위해 반드시

#include <stdio.h>

를 먼저 작성해주어야 한다.

stdio.h 파일의 내용을 프로그램 안에 복사한다는 의미

stdio.h

standard input output을 의미하며
C언어에서 기본적으로 사용하는 입출력 함수가 들어있다.

printf()함수는 main()함수 안에 호출하면 여러 형태의 값을 출력할 수 있다.

printf("문자열");

문자열 출력 예시

#include <stdio.h>

int main(void)
{
	printf("Sooyeon");
    return 0;
}

제어 문자

문자는 아니지만 출력 방식에 영향을 주는 문자

개행 문자 \n

\t

백스페이스 \b

\b는 백스페이스(한 칸 왼쪽으로 이동)

#include <stdio.h>

int main(void)
{
	printf("Be happy\n");
    //Be happy
    printf("12345678901234567890\n");
	//12345678901234567890
    printf("My\tfriend\n");
	//My      friend
    printf("Goot\bd\tchance\n");
	//Good    chance
    printf("Cow\rW\a\n");
	//Wow
    
	return 0;

정수, 실수 출력

printf()는 기본적으로 문자열을 출력하는 함수이므로, 숫자를 출력할 때는 변환 문자를 사용해서 문자열로 변환하는 과정이 필요하다.

변환 문자

변환 문자는 데이터의 형태에 따라 다르다.

  • 정수 : %d
  • 실수 : %lf
printf("%d\n", 10);
//10이 %d 위치에 출력

printf("%lf\n", 3.4);
//3.4가 %lf 위치에 출력

printf("%.1lf\n", 3.45);
//소수점 이하 첫째자리까지만 출력(둘째 자리에서 반올림)

printf("%d과 %d의 합은 %d입니다. \n", 10, 20, 10+20);
//변환 문자의 개수와 출력할 값의 개수가 일치해야 하며 앞에서부터 차례로 출력

QA.

#include <stdio.h>

int main(void)
{
    //1. %d를 사용해서 10을 출력하세요.
	printf("%d\n", 10);
    
	//2. %lf를 사용해서 3.4를 출력하세요.
    printf("%lf\n", 3.4);
    
	//3. %lf를 사용해서 3.45를 소수점 이하 첫째 자리까지 출력하세요.
    printf("%.1lf\n", 3.45);
    
	//4. %lf를 사용해서 3.4를 소수점 이하 10 자리까지 출력하세요.
    printf("%.10lf\n", 3.4);
    
    //5. %d를 사용해서 “10과 20의 합은 10+20입니다.\n”를 출력하세요.
	printf("%d과 %d의 합은 %d입니다. \n", 10, 20, 10+20);
    
	//6. %lf를 사용해서 “3.4 - 1.2 = 3.4-1.2\n”를 소수점 이하 첫째 자리까지 출력하세요.
    printf("%.1lf - %.1lf = %.1lf\n", 3.4, 1.2, 3.4-1.2);

	return 0;
}    

정수 상수 표현법

프로그래밍 언어에서는 8진수는 숫자 앞에 0(영),
16진수는 0x(영엑스)를 붙여 구분

10진수8진수16진수
120140xc

QA.

#include <stdio.h>

int main(void)
{
	//1. %d를 사용해서 12을 출력하세요.
	printf("%d\n", 12);

	//2. %d를 사용해서 014을 출력하세요.
    printf("%d\n", 014);

	//3. %d를 사용해서 0xc을 출력하세요.
    printf("%d\n", 0xc);

	return 0;
}

실수 상수 표현법

실수는 소수점 형태지수 형태로 표현할 수 있다.

  • 소수점 형태로 표현할 때 실수는 아라비아 숫자 0~9, +, -기호와 소수점을 사용하여 표현,
  • e는 밑 수 10을 의미하며 대문자로 쓸 수도 있습니다. 소수점 부분에서 무의미한 0이나 소수점은 생략할 수 있다.
  • 지수 형태는 지수 값의 크기에 따라 무수히 많은 방법으로 표현이 가능하지만 그중 소수점 앞에 0이 아닌 유효 숫자 한 자리를 사용하여 지수 형태로 바꾼 것을 정규화표기법이라고 한다.
  • printf() 함수가 실수를 지수 형태로 출력할 때는 기본적으로 정규화 표기법을 사용
  • 실수를 지수형태로 출력하는 방법은 %le를 사용
#include <stdio.h>

int main(void)
{
	//1. %lf를 사용해서 1e6를 소수점 이하 1자리까지 출력하세요.
	printf("%.1lf\n", 1e6);
    
    //2. %lf를 사용해서 3.14e-5를 소수점 이하 7자리까지 출력하세요. 
    printf("%.7lf\n", 3.14e-5);
  
    //3. %le를 사용해서 0.0000314를 출력하세요.
    printf("%le\n", 0.0000314);
    
    //4. %le를 사용해서 0.0000314를 소수점 이하 둘째 자리까지 출력하세요.
    printf("%.2le\n", 0.0000314);

	return 0;
}

문자와 문자열 상수 표현법

문자는 작은따옴표로 묶고 문자열은 큰따옴표로 묶는다.

#include <stdio.h>

int main(void)
{
  printf("%c\n", 'A');
  // 문자 상수

  printf("%s\n", "A");
  // 문자열 상수
  
  return 0;
}

QA

#include <stdio.h>

int main(void)
{
    //1. %c를 사용해서 A를 출력하세요.
	printf("%c\n", 'A');
    
	//2. %s를 사용해서 A를 출력하세요.
    printf("%s\n", "A");

	//3. %c와 %s를 사용해서 “1은 first입니다.\n”를 출력하세요.
    printf("%c은 %s입니다.\n", '1', "first");
    

	return 0;
}

0개의 댓글