문자 또는 숫자를 입력 받거나 출력을 할 수 있는 기능을 제공합니다.
대표적으로 printf, scanf 문이 있습니다.
printf
C언어에서 printf 문 항상 나오는 예제가 있습니다.
printf("Hello C World ! \n");
#include <stdio.h>
void main()
{
printf("Hello World\n");
}
C언어 세상에 온 걸 환영한다고 하는데 과연 어떨런지는 계속 공부해보시면 아실 것입니다.
printf 문의 기본 Format 은 아래와 같습니다.
int printf(const char *format, ...)
printf("따옴표 안에 문자가 보여지고 : %d %f %c", 10, 10.0, 'A');
앞에서 배운 1장의 자료형에서 표를 보시면 참고 목록에 %c %d %f 와 같은 내용을 보셨을겁니다.
%d, %c, %f, %s...
따옴표 안에 있는 문자들을 그대로 보여줄 수가 있고, 변수에 있는 값을 출력해주고 싶을 때 사용합니다.
서식 | 출력 |
%d | 부호 있는 정수형 |
%f | 부호 있는 실수형 |
%c | 문자형(글자 한 개) 'A', 'B' ... |
%s | 문자열 |
%x | 16진수 소문자 |
%X | 16진수 대문자 |
%o | 8진수 |
%u | 부호 없는 정수 |
예제를 보시면 이해가 빠릅니다.
#include<stdio.h>
void main()
{
int num1 = 10;
char str = 'B';
char str_array[32] = "yys630";
double num2 = 10.123;
printf("num1[%d], str[%c], str_array[%s], num2[%lf]\n", num1, str, str_array, num2);
}
위와 같이 프로그래밍을 하고 실행을 하면, 아래와 같은 결과가 나옵니다.
\n 은 개행 문자를 출력 즉, 한 줄 띄어 쓰기 입니다.
\t 은 Tab 문자이고, 다른 내용도 있으나 요즘 콘솔 프로그램으로 printf 출력을 잘하지 않으니 생략하겠습니다.
문자를 입력 받을 때 쓰는 함수 입니다.
scanf 를 하기 전에 & 에 대해 소개하겠습니다.
C언어에서 & 는 두 가지의 의미를 가집니다. 한 개는 연산의 용도 1 & 0 => 1 and 0 (AND 연산자를 나타냅니다.)
또 한개는, 변수앞에 붙을 때 "주소값"을 의미합니다.
int a; // a 변수를 선언
&a 이렇게 쓰게되면 변수 a 의 주소값을 의미합니다.
이것을 설명드리는 이유는, scanf 에서 바로 이 & 가 사용되기 때문입니다.
scanf
int scanf(const char *format, ...);
예제로 보여드리겠습니다.
예제로 보통 설명을 많이 하는데요.
저도 초반에는 뭣도 잘 모르고 예제 무작정 따라하면서 한 줄 한 줄 코드의 의미를 이해할 때까지 봐서 실력을 쌓기 시작했습니다. 아마 다른 분들도 많이 그러시지 않을까 예상해봅니다.
#include<stdio.h>
void main()
{
int num = 0; // num 변수 선언 후 0으로 초기화
printf("숫자를 입력하세요 : "); // 입력받기 위한 기본 출력문
scanf("%d", &num); // 사용자한테 정수형 숫자를 입력 받음
printf("당신이 입력한 숫자는 : %d\n", num); // 입력받은 것을 출력
}
이전포스팅 - 제1장 C언어 자료형
- 요약
글자 또는 숫자를 출력하고 싶을 때는 printf 문을, 숫자를 입력 받을 때는 scanf 를!
printf 문 안에 %d %c 다양한 형태의 변수 형태를 출력할 수 있고, scanf 로 입력받을 때는 꼭 주소값 & 을 기억하세요.
자 오늘은 여기까지 C언어의 기본 printf 와 scanf 사용법에 관해서 정리하였습니다.
C언어를 처음 시작할 때, 내가 프로그래밍한 명령어들이 창에 보여지고 입력한 게 막 더해지고 하는 재미에 C언어가 재밌어졌던 것 같습니다.
제가 코딩한 결과물이 눈에 바로바로 보이니깐요. 또 컴퓨터는 거짓말을 하지 않습니다. 뭔가 잘못된거면 제가 잘못한거죠.
다음 장에서는 제어문 if 문 , for 문에 관해서 정리하도록 하겠습니다.
그럼 20000.
6강 C언어 포인터의 개념과 사용 (0) | 2020.01.28 |
---|---|
5강 C언어 배열의 개념과 사용 (0) | 2020.01.23 |
4강 C언어 반복문, for문, while문, do~while문 (0) | 2020.01.21 |
3강 C언어 조건문, C언어 if~else문, C언어 switch문 (0) | 2020.01.17 |
1강 C언어 자료형(int, char, double..) (0) | 2020.01.13 |