본문 바로가기
C++/기초

C++ 기초 : printf 문자 출력 / for 문 / scanf_s 문자 입력

글: 시플마 2024. 2. 24.

우리가 디버깅을 시작하면 나오는 창을 '콘솔'이라고 합니다.

 

윈도우에서는 명령 프롬프트가 바로 콘솔이죠.

 

원래는 콘솔은 하드웨어를 의미하였지만

요즘에는 명령 프롬프트와 같은 소프트웨어도 콘솔이라고 합니다.

 

 

이 콘솔에 문자를 출력하는 함수가 printf 입니다.

 

 

printf 함수를 사용하려면 전처리기인

#include <stdio.h> 를 사용해야 합니다.

 

전처리기인 #include <stdio.h> 를 입력함으로써

여러가지 함수를 사용할 수 있는데 그 중 하나가 printf 함수인 것이죠.

 

위 코드에서도 전처리기인 #include 를 입력하고

main 함수 안에 "asdf"를 넣어 printf 함수를 호출하였습니다.

 

이후 F5를 눌러 디버깅을 시작하면

콘솔에 asdf가 출력되는 것을 확인할 수 있습니다.

 

 

 

 

이번에는 출력할 문자 뒤에 %d 를 넣겠습니다.

%d 대신에 콤마 뒤에 입력한 정수로 바뀌어 출력됩니다. 

 

 

 

 

%f 를 넣어 콤마 뒤에 입력한 실수로 바꾸어 출력할 수도 있습니다.

콤마 뒤에 입력한 실수 10.f가 %f 대신에 출력되는 모습입니다.

( 10 뒤에 붙은 f는 10이 float형 숫자임을 의미하기 위해 붙인다. 이것을 붙이지 않으면 10을 정수로 인식하여 오류가 발생한다. 만약 10.123처럼 소수점 뒤 숫자까지 표현하고 아무것도 붙이지 않으면 double형 숫자로 인식한다. 이때는 같은 실수형 자료형이기 때문에 오류는 발생하지 않는다. )

 

 

 

 

 


 

 

 

 

 

반복문을 사용하여 자동으로 0에서 9까지 출력해 보겠습니다.

 

먼저 반복문 중 for 문에 대해서 알아볼게요.

 

기본적인 형태는 아래와 같습니다.

for(int i = 0; i < 10; i++) 
{
	//처음에 한 번 이곳 코드를 실행하고, 증감식이 실행될 때마다 다시 이곳 코드를 실행한다.
}

 

소괄호 안 첫 번째 구문은 초기화식, 

두 번째 구문은 조건식,

세 번째 구문은 증감식이라고 합니다.

 

위 for 문을 풀어서 쓰면 아래와 같습니다.

 

int형 변수 i는 0부터 시작합니다.

이 변수 i가 10보다 작을 때까지, 즉 10 미만일 때까지 

i의 값을 1씩 증가시킵니다.

 

그리고 1씩 증가시킬 때마다 중괄호 안 코드를 실행합니다.

 

 

그렇다면 0 ~ 9를 출력하려면 중괄호 안에 printf 함수를 넣어주면 되겠죠?

 

( \n은 줄바꿈입니다. )

일단 위와 같은 for 문이 실행되면,

처음에 중괄호 안 코드를 한 번 실행합니다.

 

처음에 변수 i는 0으로 초기화되었기 때문에 

중괄호 안 printf 함수의 콤마 뒤 i의 값이 0으로 인식될 것입니다.

%d가 0으로 치환되면서 "Output : 0" 이라는 문구가 콘솔에 출력되고

i의 값을 1 올립니다.

 

현재 i의 값은 1로, 10 미만이기 때문에 for 문을 다시 실행합니다.

중괄호 안 printf 함수의 콤마 뒤 i의 값이 1로 인식될 것입니다.

%d가 1로 치환되면서 "Output : 1" 이라는 문구가 콘솔에 출력되고

i의 값을 1 올립니다.

 

현재 i의 값은 2로, 10 미만이기 때문에 for 문을 다시 실행합니다.

중괄호 안 printf 함수의 콤마 뒤 i의 값이 2로 인식될 것입니다.

%d가 2로 치환되면서 "Output : 2" 라는 문구가 콘솔에 출력되고

i의 값을 1 올립니다.

 

위 과정을 계속 반복하다가 i의 값이 10이 되면

i가 10 미만이라는 조건식을 충족하지 못해 for 문을 빠져나가게 됩니다.

 

 

 

 

 


 

 

 

 

 

문자를 출력했으니 문자를 입력해 봅시다.

 

문자를 입력하기 위해서 scanf_s 함수를 사용해야 합니다.

 

printf 함수와 마찬가지로 전처리기 #include <stdio.h> 를 입력해야

scanf_s 함수를 사용할 수 있습니다.

 

 

 

scanf_s 함수는 아래와 같이 사용합니다. 

 

우선 입력받은 값을 넣을 변수 iInput을 선언합니다.

정수를 입력받을 것이기 때문에 int형으로 선언합니다.

 

입력받은 값을 넣을 변수를

scanf_s 함수 안 콤마 뒤에 넣습니다.

이때 앞에 '&' 표시를 붙여야 합니다.

 

정수를 입력받을 것이기 때문에

콤마 앞에는 %d를 씁니다.

 

그리고 끝에 중단점을 찍고 디버깅을 시작하면

콘솔에 커서가 깜빡거리며 입력을 기다리게 됩니다.

 

scanf_s 함수 안에는 값을 입력받을 때까지 종료하지 않고

계속 기다리는 반복문이 존재할 것입니다.

 

 

 

이 상태에서

콘솔에 정수 123을 입력하고 엔터를 누르겠습니다.

 

 

 

 

그리고 변수 iInput의 값을 확인해 보면,

입력했던 값인 123이 대입되어 있는 것을 확인할 수 있습니다.

 

 

 

 

 

 

강의 출처 : https://www.youtube.com/watch?v=PFc4g8mxOiI&list=PL4SIC1d_ab-aOxWPucn31NHkQvNPHK1D1&pp=iAQB

 


 

'C++ > 기초' 카테고리의 다른 글

C++ 기초 : 함수 (3)  (0) 2024.02.26
C++ 기초 : 함수 (2)  (0) 2024.02.25
C++ 기초 : Visual Studio 단축키 및 기능  (0) 2024.02.18
C++ 기초 : 변수 / 함수 (1)  (0) 2024.02.18
C++ 기초 : 비트 연산자 (2)  (0) 2024.02.16