1 / 18

printf() 함수 p.69

printf() 함수 p.69. 표준 출력 함수 printf () 사용 형식 " 형식 지정 제어 문자열“ 이 안의 내용은 화면에 그대로 출력된다 . 예외 ) % 로 시작하는 변환 명세는 오른쪽 인수와 1:1 차례로 적용되며 반드시 인수의 자료 형에 맞는 것을 사용해야 함. 변환명세 (conversion specification). printf (“ … %d … %f …“, 정수표현식 , 실수표현식 ); . printf() 에서의 형식 지정 제어 문자 p.71. % 변환명세

miyo
Download Presentation

printf() 함수 p.69

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. printf() 함수 p.69 • 표준 출력 함수 printf() 사용 형식 • "형식 지정 제어 문자열“ • 이 안의 내용은 화면에 그대로 출력된다. • 예외) %로 시작하는 변환 명세는 오른쪽 인수와 1:1 차례로 적용되며 반드시 인수의 자료 형에 맞는 것을 사용해야 함 변환명세 (conversion specification) printf (“ … %d … %f …“, 정수표현식, 실수표현식);

  2. printf()에서의 형식 지정 제어 문자 p.71 • %변환명세 • 자료형마다 정해져 있다. • 표 3.2 : 출력 형식 지정 제어 문자의 종류와 출력 결과

  3. 예제 3.1 p.69  2 :  #include <stdio.h>  4 :  main()  5 :  {  6 :     int su1 = 5, su2 = 6, gop; double ave=97.53;  8 :     gop = su1 * su2;  9 :     printf("*** 연산 결과 ***\n");                             10 :     printf("%d와 %d의 곱은 %d입니다.\n", su1, su2, gop); printf("평균 : %lf \n", ave); 11 :  }

  4. 이스케이프 시퀀스(탈출 문자) p.70 • escape sequence • 원래의 의미를 벗어나 특별한 의미를 가짐 • ‘\’로 시작 • 예 : ‘\n’ 은 두 문자가 아니라 줄 바꿈 문자 한 개를 의미 • 표 3.1 : ESCAPE 문자의 종류와 기능 p.71 • \n : 새 줄로 이동 기능 • \t : tab 키 기능 • \’ , \\, \” : 각각 ’, \, ” 문자 • 예) printf(“홍길동\t21 \n”); printf(“성룡\t42 \n”); printf(“제갈공영\t25 \n”); printf(“우리의 \”경북대학교\”는”);

  5. 출력 제어 문자열에서 필드 폭과 정렬 • 출력하려는 정수 값의 필드 폭(width)을 지정하기 • ‘%’와 ‘d’ 사이에 폭을 나타내는 정수를 명시 • %3d  전체 3자리, 우측정렬 • 필드 폭 앞의 ‘–’ : 좌측정렬 지정 • printf(“%3dcm”, 20);

  6. 출력 제어 문자열에서 필드 폭과 정렬 • 실수 필드 폭 • %5.2f • (소수이하자리포함한) 전체 폭은5 • 소수점 이하 자리수의 폭은 2 • %10f • 전체 폭은 10 • 소수점 이하 자리수의 폭은 기본(default)인 6으로 • %.2f • 소수점 이하 자리수의 폭만 2로 설정, 소수점 위의 폭은 필요한 만큼만 • %6.f • 소수점 이하 값은 출력하지 않음 1.234를 출력하기

  7. 필드폭의 필요성 예 (노트) • 다음의 결과는? • 각 줄의 점수를 오른쪽 끝이 맞게 출력하려면? %d 대신%3d를 사용하면? std1 = 90; std2 = 50; std3 = 100; printf(“1:%d(P)\n”, std1); printf(“2:%d(F)\n”, std2); printf(“3:%d(P)\n”, std3);

  8. 실수의 출력 예와 실행 결과 p.74  4 :  main() {  6 :     float su1  = 123.456f;  7 :     float su2  = 12.3456789f; 8 :     double su3 = 1.23456789;  9 : 10 :     printf("su1 = %f\n", su1);                  11 :     printf("su2 = %f\n", su2); 12 :     printf("su1 = %6.2f\n", su1);                13 :     printf("su3 = %11.8f\n", su3);             14 :     printf("su3 = %-11.8f\n", su3);            15 :  }

  9. 예제 문자와 문자열의 출력 방법 p.76  6 :     char ch ='A‘;  ①  7 :  8 :     printf("문자   = %3c\n", ch);       ②  9 :     printf("문자열 = %-20s\n", "character string");  %3d로 하면?

  10. 예제 지수형 실수의 출력 예 p.77 su = 1.234568e+006 su = 1.2346e+006 Press any key to continue  2 :  #include <stdio.h>  4 :  main()  5 :  {  6 :     float su = 1234567.89;  7 :  8 :     printf("su = %e\n", su);             ①  9 :     printf("su = %12.4e\n", su);       ② 10 :  } %12.4e에서 4자리 %9.4e로 지정했다면  최소 11자리가 필요한데 9자리로 지정했으므로 오른쪽으로 더 자리를 확보하여 출력해준다.

  11. 4.1 산술 연산자 • 표 4.1 : 산술 연산자의 종류 p.95

  12. 4.1산술 연산자 • '%’ • 좌측의 피연산자를 우측의 피연산자로 나눈 나머지를  구한다. 16%2  0, 16 % 5  1 정수형 자료에 대해서만 사용 가능 • 주의 • 정수형/정수형  결과 값이 정수형이 된다. • 정수형과 정수형간의 연산 결과는 정수이기 때문 • 그러나 피연산자 중 하나라도 실수라면 결과 값은 실수형 • 6/2  • 6/4  • 6/4.  • 1/2 

  13. 예제 p.95 6 :     int su1 = 20, su2 = 3;    7 :  8 :     printf("%d + %d = %d\n",  su1, su2, su1 + su2);  9 :     printf("%d - %d = %d\n",  su1, su2, su1 - su2); 10 :     printf("%d * %d = %d\n",  su1, su2, su1 * su2); 11 :    printf("%d / %d = %d\n",  su1, su2, su1 / su2); 12 :     printf("%d %% %d = %d\n", su1, su2, su1 % su2); %d와 같은 변환명세가 아닌 실제로 %를 출력하기 위해 (p.96의 <NOTE> 참조하기)

  14. 4.2 관계 연산자 • 두 피연산자간의 대소 관계를 비교하여 참(1) 또는 거짓(0) 결과값을 얻는다. • 표 5.2 관계 연산자의 종류 • 주의 • 논리값 참과 거짓이 수치로 평가될 때는 다음과 같다. • 참  1 • 거짓  0

  15. 예제 4.2 • 관계 연산자의 사용 예와 실행 결과 p.99 float su1 = 3.01, su2 = 3.0;       printf("변수 su1과 su2의 크기 비교 결과 : %d\n", su1 <= su2); printf("변수 su1과 su2의 크기 비교 결과 : %d\n", su1 >= su2);    printf("변수 su1과 su2의 크기 비교 결과 : %d\n", su1 == su2);   printf("변수 su1과 su2의 크기 비교 결과 : %d\n", su1 != su2);    odd = n % 2; if (odd) printf(“%d는 홀수”, n); else printf(“%d는 짝수”, n);

  16. 4.4논리 연산자 p.102 • 참과 거짓에 대한 논리 연산을 수행하여 결과값으로 참(1) 또는 거짓(0)을 구함 • 주의 : 수치값을 논리값으로 평가해야 한다면 0  거짓 0외의 다른 모든 수치  참

  17. kor가 80과 90사이라면 참 그렇지 않다면 거짓을 갖는 식을 표현하시오. 80 <= kor <=90 ? 잘못 kor에 85가 저장된 경우 kor에 100이 저장된 경우

  18. yy년이 윤년이라면 참이 되는 논리식을 표현하시오. • 400으로나눠 떨어지면 윤년 • 4로 나눠 떨어지지만 100으로 나눠 떨어지지 않아야 윤년

More Related