Notice
Recent Posts
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
관리 메뉴

도슐랭스타

C언어-표준 라이브러리 함수 본문

C언어

C언어-표준 라이브러리 함수

도도.__. 2023. 7. 25. 21:30

표준 라이브러리 함수(standard library function)

  • 컴파일러에서 지원하는 이미 만들어진 함수들의 집합이다. ex) printf()
  • 표준 라이브러리 함수를 사용하기 전에는 반드시 선언을 해야 한다.
    • 표준 라이브러리 함수들을 미리 선언해 둔 stdio.h(표준 헤더 파일)을 프로그램에 포함시킨다.

printf() 함수

  • 출력하는 함수이다.
  • printf("%[정렬][폭][.정밀도][크기]서식지정자");
  • (" ") : 사이에 출력 문장을 입력한다.
  • [정렬] :  "-" : 왼쪽 정렬(디폴트는 오른쪽 정렬이다.), "+" : + 부호 표시, "#" : 특별한 형태로 값 출력.
    • %#0 : 8진수 앞 0
    • %#x : 16진수 앞 0x
    • %#e, %#f : 소수점이 없어도 소수점 출력
    • %#0n : 공백을 0으로 채움  ex) printf("%#05d", 12) 출력-> 00012
  • [폭] : 숫자나 *로 출력값 최소폭을 지정한다. 
    ex) printf("%*d,3,12") 와 printf("%3d," 12) 둘 다  12(3칸)로 출력됨.
  • [.정밀도] : 소수점 이하 자릿수를 지정한다. ※소수점도 한 자리를 차지함.
    ex) %5.2f -> 전체 자릿수는 5자리이며 소수점 이하의 자릿수는 2자리이다.
  • [크기] : "ll" : int형이 long long , "L" : 실수형이 long double
  • 서식지정자 : d(정수형), c(문자형), s(문자열), f(실수형), lf(double 실수형) 등

scanf() 함수

  • 데이터를 입력받아 저장하는 함수이다.
  • scanf("%[*][폭][크기]서식지정자")
  • [*] : 입력한 내용을 버린다.
  • [폭] : 정수값을 지정하여 최대 길이를 지정한다.
    ex) %3d로 1234입력 -> 처음 3개인 123만 입력받음. 
  • [크기] : "ll" : int형이 long long, "l" : 정수형은 long, 실수형은 double, "L" : 실수형이 long double
  • scanf는 %f가 아니라 %lf로 받아야 한다.
  • scanf("%d",&num); 의미-> 키보드로 10진 정수 하나를 입력받아 변수 num에 저장한다.
    scanf는 꼭 저장하는 곳 앞에 "&"를 붙여줘야 한다! "&(엠퍼샌드)"는 변수의 주소를 얻을 때 사용하는 연산자이다.

visual studio에서  scanf() 오류

error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 라는 오류가 뜨는데 보안 문제로 2004년부터 추가된 것이다. 해결방법은

  1. 코드 맨 첫 번째 줄에 #define _CRT_SECURE_NO_WARNINGS을 추가한다.
  2. scanf()를 scanf_s()로 변경하여 사용한다.

도슐랭스타
★★★☆☆ : 이것도 다 규칙이 있구만!
머리가 아프지만 규칙이 있는 것은 재미가 있다. 그리고 printf에서 공백을 0으로 채우는 건 어떤 상황에서 쓰는 것인지 궁금하여 알아보니 scanf를 쓸 때 공백이 필요하면 사용하기도 한다고 한다.

출처: https://youtube.com/@smilehan8416?feature=shared

 

Smile Han

 

www.youtube.com

 

반응형

'C언어' 카테고리의 다른 글

C언어-제어문  (0) 2023.09.16
C언어-연산자  (0) 2023.09.08
C언어-전처리기  (0) 2023.09.03
C언어 자료형  (2) 2023.05.24
C 프로그램의 기본 틀  (0) 2023.05.23
Comments