[C언어] 입출력 함수

이가영·2023년 8월 10일
0

C언어

목록 보기
5/16

printf함수

  • printf함수는 출력할 데이터를 괄호 안에 넣어주는데 이것을 전달인자라고 한다.
  • 전달인자 수는 출력되는 값에 따라 가변적이지만 첫번째는 반드시 문자열을 사용해야 한다.
printf("%d인치는 %lfcm입니다.", inch, inch*2.54);

전달인자가 문자열 하나인 경우

  • 문자열을 그대로 화면에 출력하는 경우에 사용한다.
printf("C언어는 1972년 데니스리치가 개발했다.");
-> c언어는 1972년 데니스리치가 개발했다.
  • 서식문자를 사용하면 다양한 형태로 출력할 수 있다.
printf("C언어는\n1972년\n데니스리치가 개발했다.);
-> c언어는
   1972년
   데니스리치가 개발했다.

다양한 서식문자

  • 서식문자에는 줄바꿈문자 외에도 여러 가지가 있다.
\n   newline            출력 위치를 다음 줄의 첫번째 칸으로 옮긴다
\t   tab                출력 위치를 다음 탭 위치로 옮긴다
\r   carriage return    출력 위치를 현재 줄의 첫번째 칸으로 옮긴다
\b   backspace          출력 위치를 한 칸 뒤로 옮긴다
\a   alert              경보음을 낸다(삑 소리가 난다)
  • 큰 따옴표나 백슬래시 자체를 출력할 때도 백 슬래시를 사용
큰따옴표출력 -> \"           백슬래시 출력 -> \\
printf("학생들은 모두\"아~ 집에가고싶다~\"를 외쳤다.");

확장문자열

  • 아스키문자를 표현하는 3가지 방법
    -> 문자 상수로 표현 -> 'A'
    -> 8진수 세자리로 표현 -> '\101'
    -> 16진수 두 자리로 표현 -> '\x41'
  • 특수 문자는 문자 상수로 표현하기 어렵기 때문에 8진수 또는 16진수로 표현
printf("what a wonderful world. \102");  -> 복잡함
  • 그래서 서식문자 사용
printf("what a wonderful world. \n");

예시문제

문자열 외에 출력할 데이터가 있는 경우

  • 단순한 문자열 외에 출력할 데이터가 있는 경우 출력할 데이터의 개수에 맞게 변환문자열을 사용한다.
printf("키:%lfcm, 몸무게:%dkg", 161, 49);
->:161.000000cm, 몸무게:49kg

변환문자열 정리

예시문제2

  • 다양한 변환문자열 실행
※출력형태
-10
10
3

2.500000
1.680000e+001
4.200000

F
A
황금 박쥐
날아라 태극호

변환문자열의 정확한 사용법

  • 컴파일러는 변환문자열과 출력할 데이터가 일치하는지 확인하지 않는다. 따라서 자료형에 맞게 정확한 변환문자열을 사용해야 한다.
printf("%d", 3.4); //출력결과:858993459

정수형 변환문자열의 선택(%d, %u)

  • %d와 %u는 출력할 데이터를 각각 다르게 해석
%d : 부호가 있는 양의 정수, 음의 정수
%u : 양의 정수만을 표현함

정수형과 문자열 변환문자열의 선택(%d, %c)

  • 문자상수와 그에 해당하는 아스키코드 값은 크기가 같으므로 어떤 변환문자열을 사용하느냐에 따라 정수값이 출력되거나 문자가 출력된다.
정수값 65    ->  0100 0001 -> %d사용 -> 65
문자상수 'A" ->            -> %c사용 -> A
  • 특정 아스키코드값에 해당하는 문자를 확인하는 코드
int a;  //char형 변수 사용 가능
printf("아스키코드값을 입력 : ");
scanf("%d", &a);
printf("아스키문자는 %c이다.\n", a);
-출력결과-
아스키코드값을 입력 : 97
아스키문자는 a이다.
  • %문자를 출력할 때는 %기호를 두 번 사용
    printf("%%"); -> %출력됨

예시문제3

  • 정수값과 문자열 출력

예시문제4

  • BMI 측정 프로그램
profile
gy’s portfolio

0개의 댓글