[C언어] :: 기본 입출력(printf, 특수 문자, 서식 문자, scanf)

2024. 1. 18. 16:19·[Programming Language]/[C언어]

◎ printf()

  화면에 데이터를 출력하기 위해서는 printf 함수를 사용해야 한다. printf 함수는 stdio.h 헤더파일에 들어있다. 아래는 printf 함수의 예시이다.

#include <stdio.h> // printf 함수의 사용을 위해서 반드시 포함
int main() {
    printf("Hello C World! \n");
    
    return 0;
}

  printf문은 큰 따옴표 안에 출력할 내용을 적으면 된다. 위 예시를 보면 출력할 문장의 맨 끝에 \n을 볼 수 있는데 이는 개행 문자로써 다음 출력될 부분은 아래 줄에 출력되도록 한다.

#include <stdio.h>
int main() {
	printf("안녕하세요.");
	printf("반갑습니다.");
	
	return 0; 
}

  줄 바꿈을 하지 않을 경우 위와 같이 문장이 한 줄로 출력되게 된다. 따라서 개행 문자는 printf 함수와 하나라고 보면 된다.

#include <stdio.h>
int main() {
	printf("안녕하세요. \n");
	printf("반갑습니다. \n");
	
	return 0; 
}

 

  ● 특수 문자

  개행 문자와 같이 역슬래시(\)와 사용되는 문자를 특수 문자라고 하며 아래는 특수 문자의 종류이다. 이들을 모두 외울 필요는 없고 사용할 때만 참고하면 된다.

\a 경고음 소리 발생
\b 백스페이스(Backspace)
\f 폼 피드(Form Feed)
\n 개행(New Line)
\r 캐리지 리턴(Carriage Return)
\t 수평 탭
\v 수직 탭
\\ 역슬래시(\)
\' 작은 따옴표
\" 큰 따옴표

 

  ● 서식 문자

  특수 문자와 달리 서식 문자라는 것도 존재한다. 서식 문자란 출력 형태를 지정해주는 문자이다. 먼저 예시를 통해 확인해보자.

#include <stdio.h>
int main() {
	int a = 3;
	int b = 5;
	
	printf("%d \n", a+b); // a+b 출력
	printf("%c \n", 97); // 아스키 코드 97에 해당하는 문자 출력
	printf("%x, %o \n", 100, 100); // 100을 16진수와 8진수로 출력 
	
	return 0; 
}

  printf 함수 내부 큰따옴표에 서식 문자를 사용하고 큰따옴표 뒤에다가 서식 문자에 출력할 값을 사용하면 된다. 아래는 서식 문자의 종류이다.

서식 문자 출력 형태
%d, %i 10진수 정수(양수와 음수 모두 표현 가능)
%x, %o 16진수 정수, 8진수 정수(양수만 표현 가능)
%f, %lf 10진수 실수(양수와 음수 모두 표현 가능)
%c 한 개의 문자
%s 문자열
%u 10진수 정수(양수만 표현 가능)
%e e 표기법에 의한 실수
%E E 표기법에 의한 실수
%g 소수점 이하 자리 수에 따라 %f, %e 둘 중 하나를 선택
%G 소수점 이하 자리 수에 따라 %f, %E 둘 중 하나를 선택
%% % 기호 출력

 

  ● 자리 수 지정

  printf 함수를 사용하여 출력을 할 때 자리 수를 통일 시킬 필요가 있을 때가 있다. 예를 들어 1자리 정수와 3자리 정수를 출력할 때 자리수를 지정하지 않으면 다음과 같이 출력이 된다.

#include <stdio.h>
int main() {
	printf("1자리 정수: %d \n", 1);
	printf("3자리 정수: %d \n", 100);
	
	return 0; 
}

  만약 3자리를 확보하여 출력을 하고 싶다면 아래와 같이 출력하면 된다.

  • %03d, %.3d : 3자리를 확보하고 오른쪽 정렬해서 출력. 빈 자리는 0으로 채움
  • %+3d : 3자리를 확보하고 오른쪽 정렬해서 출력. 부호도 함께 출력

 

#include <stdio.h>
int main() {
	printf("1자리 정수: %03d \n", 1);
	printf("1자리 정수: %.3d \n\n", 1);
	
	printf("1자리 정수: %+3d \n", 1);
	printf("3자리 정수: %d \n", 100);
	
	return 0; 
}

 

 

◎ scanf()

  화면에 데이터를 출력할 때 printf를 사용했었다. 반대로 데이터를 입력받을 때 사용하는 함수는 scanf이다. scanf 함수 역시 stdio.h 헤더 파일에 들어있다. scanf 함수는 다음과 같이 사용한다.

#include <stdio.h>
int main() {
	int a; // 입력 값을 저장하기 위한 변수
	scanf("%d", &a);
	
	printf("입력 값 : %d \n", a); 
	
	return 0; 
}

  printf 함수에서 사용했던 서식 문자를 사용하여 어떠한 형태로 입력을 받을지 정해야 한다. 또한 어떤 변수에 저장을 할 지도 정해야 한다. 위 코드에서는 변수 a에 저장을 하고 있는데 scanf 함수 내부를 보면 변수 앞에 & 기호를 사용하고 있는 것을 볼 수 있다.

저작자표시 비영리 변경금지 (새창열림)

'[Programming Language] > [C언어]' 카테고리의 다른 글

[C언어] :: %d와 %i의 차이점  (0) 2024.02.12
[C언어] :: 연산자(대입, 산술, 복합 대입, 증감, 관계, 논리, 조건, 비트 논리, 비트 이동)  (1) 2024.01.31
[C언어] :: 상수(리터럴 상수, 심볼릭 상수, const, define)  (0) 2024.01.26
[C언어] :: 변수, 변수 선언 방법 및 주의사항, 변수의 사용, 변수의 시작 주소 및 & 연산자  (0) 2024.01.25
[C언어] :: C언어 기본 구조(주석, 전처리기, 헤더파일, main 함수, 세미콜론, return)  (1) 2024.01.16
'[Programming Language]/[C언어]' 카테고리의 다른 글
  • [C언어] :: 연산자(대입, 산술, 복합 대입, 증감, 관계, 논리, 조건, 비트 논리, 비트 이동)
  • [C언어] :: 상수(리터럴 상수, 심볼릭 상수, const, define)
  • [C언어] :: 변수, 변수 선언 방법 및 주의사항, 변수의 사용, 변수의 시작 주소 및 & 연산자
  • [C언어] :: C언어 기본 구조(주석, 전처리기, 헤더파일, main 함수, 세미콜론, return)
Semincolon
Semincolon
It seems small, that semicolon is a big deal.
  • Semincolon
    Semincolon
    Semincolon
  • 전체
    오늘
    어제
    • 분류 전체보기 (133)
      • [Programming Language] (78)
        • [JSP] (6)
        • [Swift] (23)
        • [SwiftUI] (16)
        • [Python] (22)
        • [C언어] (6)
        • [Kotlin] (4)
        • [C#] (1)
      • [Frame Work] (5)
        • [Flutter] (4)
        • [Spring Boot] (1)
      • [Projects] (3)
        • [Android][Kotlin] 공유 캘린더(20.. (1)
        • [Unity] 인내의 숲(2024.03) (2)
      • [DB] (15)
        • - Oracle (15)
      • [Programmers] (25)
        • - SQL (25)
      • [ETC] (2)
      • Today's Learning (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Semincolon
[C언어] :: 기본 입출력(printf, 특수 문자, 서식 문자, scanf)
상단으로

티스토리툴바