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에서 설명한 것과 같다.
| #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 |