상세 컨텐츠

본문 제목

#03. C_printf()와 scanf()

코딩 공부/C

by 코딩연습중 2022. 6. 30. 01:18

본문

 printf와 scanf함수는 어느 프로그래밍 언어에서든지 기본이 되는 함수이다. 

 printf

 예를 들어, "사과"라는 단어를 출력하고 싶다면 아래와 같이 코드를 짤 수 있다.

#include <stdio.h>
int main(void){
	printf("사과");
    return 0;
    }

 이와 같이 printf()함수에 큰따음표를 사용하여 원하는 결과를 출력할 수 있다. 또는 변수를 사용하여 print하는 방법도 있다. 먼저 예를 들자면 아래와 같다.

#include <stdio.h>
int main(void){
	int n = 10;
    	float n2 = 0.1;
    	printf("%d\n", n); //정수형의 변수 n을 출력하기 위해서 %d를 사용.("\n"은 개행을 위함)
        //결과값 : 10
        printf("%f\n", n2);
        //결과값 : 0.100000
        return 0;
        }

 위의 코드에서 %d는 출력 형식이다. 변수를 사용하여 값을 출력할 때, 변수의 자료형이 무엇인지에 따라 출력 형식이 달라진다. char는 %c를, int는 %d(10진수일 경우), float는 %f, double은 %f의 출력형식을 갖는다. 여기서 주의할 점은 정수형과 다르게 실수형은 소수점 여섯번째자리까지 나타낸다는 것이다. 위의 코드에서 n2의 값을 출력했을 때 결과값이 0.100000이 아닌 0.1이 되려면 "%0.1f"라고 써주어야한다. 이와 같이 실수를 출력할 때 소수 n 번째자리까지 출력하기 위해서 "%.nf"(n은 정수)와 같이 작성하면 된다.

 예제1) 각각 10, 20의 값을 갖는 정수형 변수 n1과 n2를 만들고 n2와 n1의 값을 바꾸어라. 단, 0의 값을 갖는 temp를 이용.

#include<stdio.h>
int main(void){//답
	int n1 = 10;
    	int n2 = 20;
        int temp = 0;
        temp = n1; //temp = 10
        n1 = n2; //n1 = 20
        n2 = temp; //n2 = 10
        return 0;
}

scanf

 만약 사용자에게 숫자를 입력받고 싶다면 어떻게 해야할까? scanf는 값을 입력받는 방법 중 하나이다.

 예를 들어, 3이라는 숫자를 입력받아 출력하고 싶다면 다음과 같이 할 수 있다.

#include <stdio.h>
int main(void){
	int n;
    	scanf("%d", &n); //"," 뒤에 "&"는 필수로 와야함.
        printf("%d", n);
        return 0;
    }

 일단 입력값을 저장할 공간을 먼저 만들어야하기 때문에 변수를 선언해준다. 그 다음, scanf를 통해 값을 변수에 대입해준다. "%d"는 printf에서의 출력 형식과 비슷한 것으로, 여기서는 입력할 값의 형식이라고 생각하면 된다. 종류는 printf에서 설명한 것과 같다. 

 

'코딩 공부 > C' 카테고리의 다른 글

#06. C_증감연산자  (1) 2022.07.06
#05. C_제어문 (switch문)  (0) 2022.07.02
#04. C_제어문( if문 )  (0) 2022.07.01
#02. C_변수와 자료형  (0) 2022.06.29
#01. C_Visual Studio 설치 및 C 기초  (0) 2022.06.28

관련글 더보기