C 언어에서는 printf() 함수를 사용하여 형식화된 출력을 표준 출력으로 인쇄합니다. 표준 출력 (일반적으로 콘솔 화면입니다). printf 함수는 C 표준 라이브러리의 일부입니다. stdio.h> 다양한 방법으로 출력 형식을 지정할 수 있습니다.
printf의 구문
printf ( ' formatted_string ', arguments_list);>
매개변수
- formatted_string: 인쇄할 데이터를 지정하는 문자열입니다. 또한 문자 및 정수와 같은 변수의 값을 인쇄하는 형식 지정자를 포함할 수도 있습니다. 인수_목록: 형식 지정자에 해당하는 변수 이름입니다.
반환 값
- printf()는 성공적인 실행 후 인쇄된 문자 수를 반환합니다.
- 오류가 발생하면 음수 값이 반환됩니다.
printf의 예
이 예에서는 Hello Geek!라는 문자열을 인쇄하고 있습니다. printf() 함수를 사용하여 출력합니다. printf() 함수에서는 큰따옴표( ) 안에 쓸 내용이 출력에 인쇄됩니다.
씨
// C program to illustrate the use of printf function> #include> int> main()> {> >// using printf to print 'Hello Geek!'> >printf>(>'Hello Geek!'>);> >return> 0;> }> |
>
>산출
Hello Geek!>
C printf에서 형식 지정
C에서 값은 문자 유형, 정수 유형, 부동 소수점 유형 등이 될 수 있습니다. printf를 사용하여 이러한 값을 표시하고 형식을 지정하기 위해 형식이 지정된 문자열에 사용되는 형식 지정자가 있습니다. 이러한 형식 지정자는 백분율 기호로 시작합니다. '%'.
형식 지정자의 구문
%[flags][width][.precision][length]specifier>
1. 지정자
데이터의 종류를 나타내는 문자입니다. 일반적으로 사용되는 일부 지정자는 다음과 같습니다.
- %d : 정수 인쇄용 %f : 부동 소수점 숫자 인쇄용 %c: 문자 인쇄용 %s: 문자열 인쇄용 %p: 메모리 주소 인쇄용 %x : 16진수 값 인쇄용
예
printf(' %c ', char_variable );> 2. 폭
인쇄될 최소 문자 수를 나타내는 하위 지정자입니다.
문자 수가 지정된 너비보다 적으면 공백이 나머지 문자 자리를 채우는 데 사용됩니다. 그러나 문자 수가 지정된 너비보다 크면 모든 문자가 잘리지 않고 계속 인쇄됩니다.
예
printf('% 25 s', some_string );> 또는
printf('% * s', 25 , some_string );> 3. 정밀도
정밀도 하위 지정자의 의미는 함께 사용되는 형식 지정자에 따라 다릅니다.
배우 제나 아만
- 적분 데이터(d, i, u, o, x, X)의 경우: 인쇄할 최소 자릿수를 지정합니다. 그러나 너비 하위 지정자와 달리 공백 대신 이 하위 지정자는 숫자 앞에 0을 추가합니다. 숫자의 자릿수가 정밀도보다 많으면 숫자가 그대로 인쇄됩니다. Float 또는 Double Data(f, e, a, A)의 경우 : 소수점 이하의 자릿수를 지정합니다. 문자열의 경우: 인쇄할 문자열의 길이를 지정합니다.
예
printf('% .10 d', some_integer ); printf('% .3f ', some_float ); printf('% .25 s', some_string) ;> 또는
printf('% .* d', 10 , some_integer ); printf('% .* f', 3 , some_float ); printf('% .* s', 25 , some_string );> 4. 길이
메모리에 있는 데이터 유형의 길이를 지정합니다. C에 대응하여 사용됩니다.
// C program to print a variable> #include> int> main()> {> >int> num1 = 99;> >int> num2 = 1;> >printf>(>'The sum of %d and %d is %d
'>, num1, num2,> >num1 + num2);> >return> 0;> }> |
>
>산출
The sum of 99 and 1 is 100>
예제 2: 지정된 너비의 printf
이 예에서는 printf() 함수에 의해 인쇄될 출력의 너비를 지정합니다.
씨
// C program to illustrate the use of printf with width> // specifier> #include> int> main()> {> >// number to be printed> >int> num = 123456;> >// printing the num with 10 width and getting the> >// printed characters in char_printed> >printf>(>'Printing num with width 10: '>);> >int> chars_printed =>printf>(>'%10d'>, num);> >printf>(>'
Number of characters printed: %d'>,> >chars_printed);> >// specifying with using other method> >printf>(>'
Printing num with width 3: '>);> >chars_printed =>printf>(>'%*d'>, 3, num);> >printf>(>'
Number of characters printed: %d'>,> >chars_printed);> >return> 0;> }> |
>
>산출
Printing num with width 10: 123456 Number of characters printed: 10 Printing num with width 3: 123456 Number of characters printed: 6>
보시다시피 현재 문자보다 작은 너비를 정의하더라도 모든 문자가 여전히 인쇄됩니다. 또한 너비를 정의할 수 있는 두 가지 방법을 살펴보았습니다.
예제 3: 정밀도 하위 지정자를 사용한 printf
이 예에서는 printf() 함수의 정밀도 하위 지정자를 보여줍니다.
씨
// C program to illustrate the use of precision> // sub-specifier> #include> int> main()> {> >int> num = 2451;> >float> dec = 12.45126;> >char>* str =>'techcodeview.com'>;> >// precision for integral data> >printf>(>'For integers: %.10d
'>, num);> >// precision for numbers with decimal points> >printf>(>'For floats: %.2f
'>, dec);> >// for strings> >printf>(>'For strings: %.5s'>, str);> >return> 0;> }> |
>
>산출
For integers: 0000002451 For floats: 12.45 For strings: Geeks>
예제 4: 길이 하위 지정자를 사용한 printf
씨
// C program to illustrate the length modifier> #include> int> main()> {> >long> var = 3000000000;> >// printing var using %d> >printf>(>'Using %%d: %d'>, var);> >// printing var using %ld> >printf>(>'
Using %%ld: %ld'>, var);> >return> 0;> }> |
>
>산출
Using %d: -1294967296 Using %ld: 3000000000>