이 장에서는 scanf()함수를 사용하여 사용자로 부터 입력받고 printf() 함수를 사용하여 사용자에게 출력을 표시하는 방법을 배우는 단계이다
1. Input/Output에 대한 형식지정자
- int 유형 => %d
- float 유형 => %f
- double 유형 => %lf(long float 줄임)
- char 유형 => %c
*C언어 데이터 유형 및 해당 형식지정자 목록
데이터형식 | 형식지정자 |
char | %c |
int | %d |
float | %f |
double | %lf |
short int | %hd |
unsigned int | %u |
long int | %li |
long long int | %lli |
unsinged long int | %lu |
unsigned long long int | %llu |
signed char | %c |
unsigned char | %c |
long double | %Lf |
2. C언어 출력 = printf()문
- C언어 프로그래밍에서 printf() 는 주요 출력 기능 중 하나이다 이함수는 포맷된 출력을 화면으로 출력한다
ex) C programming 출력
#include <stdio.h>
int main()
{
printf("C programming");
return 0;
}
output) C programming
* 모든 유효한 C언어 프로그램은 main() 함수를 포함해야 한다. 코드 실행은 main() 함수부터 시작된다.
* printf() 함수는 화면에 포맷 출력을 보낼수 있는 라이브러리 기능이다. 함수는 따옴표 안에 문자열을 출력한다.
* printf() 함수를 사용하려면 C언어 프로그램에 #include <stdio.h> 헤어파일을 포함해야 한다
(stdio.h 헤더파일 내부에 printf() 함수를 확인해 보길 바란다)
* 코딩 내부 함수에 return 명령문은 프로그램 종료상태 말하고, 선택사항이다
ex) int문 출력
#include <stdio.h>
int main()
{
int testInteger = 5;
printf("Number = %d", testInteger);
return 0;
}
output) Number = 5
* %d 형식지정자를 사용하여 int 유형을 출력한다 여기에 %d 내부 값은 testInteger 값으로 대체된다
ex) float / double문 출력
#include <stdio.h>
int main()
{
float number1 = 13.5;
double number2 = 12.4;
print("number1 = %f\n", number1);
print("number2 = %lf\n", number2);
return 0;
}
output) number1 = 13.500000
number2 = 12.400000
* 형식지정자를 float는 소수자리를 나타내기에 %f를 사용하고 double도 소수자리를 나타내기에 %lf 형식지정자를 사용한다
ex) char문 출력
#include <stdio.h>
int main()
{
char chr = 'a';
print("character = %c\n", chr);
return 0;
}
output) character = a
* char문을 출력하려면 형식지정자를 %c를 사용해야 한다
3. C언어 입력 = scanf() 문
- C언어 프로그래밍 scanf() 문에서 사용자로 부터 입력을 받기 위해 일반적으로 사용되는 함수 중 하나이다.
- scanf() 함수는 키보드와 같은 표준 입력에서 형식화된 입력을 출력한다.
ex) int 문 입력 / 출력
#include <stdio.h>
int main()
{
int testInteger;
printf("Enter an integer : ");
scanf("%d", &testInteger);
printf("output number = %d", testInteger);
return 0;
}
output) Enter an integer : 5
output number = 5
* 위 int문 변수에서 %d 형식지정자를 사용하여 scanf() 함수에서 testInteger값을 사용자로부터 입력을 받고, 사용자가 int문에 대한 정수를 입력하면 scanf() 함수에서 입력된 testInteger 값을 출력한다
* scanf()문에서 형식지정자는 &testInteger를 사용했다
* scanf()문은 &testInteger라는 주소를 가지게 되고 입력한 값은 &testinteger에 데이터가 저장된다
ex) 부동 소수점 및 이중 입력 / 출력
#include <stdio.h>
int main()
{
float num1;
double num2;
printf("Enter an number : ");
scanf("%f", &num1);
printf("Enter another number : ");
scanf("%lf", &num2);
printf("num1 = %f\n",num1);
printf("num2 = %lf\n",num2);
return 0;
}
output) Enter an number : 3.14
Enter another number : 3.1
num1 = 3.140000
num2 = 3.100000
* float / double에 맞는 %f / %lf 형식지정자를 사용한다
ex) C 언어 문자 input/ output
#include <stdio.h>
int main()
{
char chr;
printf("Enter a character : ");
scanf("%c", &chr);
printf("you entered %c.", chr);
return 0;
}
output) Enter a character : g
you entered g
* 위 코딩 프로그램에서 사용자가 문자를 입력하면 문자 자체는 저장되지 않는다 대신 정수값(ASCII 값) 이 저장된다
* %c 텍스트형식을 사용하여 해당값을 표시하면 입력된 문자가 표시된다
* %d 를 사용하여 문자를 표시하면 해당 ASCII 값이 표시된다
ex) ASCII 값
#include <stdio.h>
int main()
{
char chr;
printf(Enter a character : ");
scanf("%c", &chr);
printf("you entered %c. \n", chr);
printf("ASCII value is %d." chr);
return 0;
}
output) Enter a character : g
you entered g
ASCII value is 103
4. Input / Output 다중 값
- 사용자로 부터 여러입력을 받아 표시하는 법
ex) #include <stdio.h>
int main()
{
int a;
float b;
printf("Enter integer and then a float : ");
scanf("%d%f", &a, &b);
printf("you entered %d and %f", a, b);
return 0;
}
output) Enter integer and then a float : -33.4
you entered -3 and 3.4
'Program > C' 카테고리의 다른 글
7. C언어 if~else 문 (0) | 2021.10.13 |
---|---|
6. C언어 프로그래밍 연산자 (0) | 2021.10.12 |
4. C언어 데이터 유형 (0) | 2021.10.11 |
3. c언어 변수, 상수 및 리터럴 (0) | 2021.10.11 |
2. C언어 키워드 및 식별자 (0) | 2021.10.06 |
댓글