-Part3- 제2장 문자열 표준 함수와 기타 표준 함수

Slides:



Advertisements
Similar presentations
Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
Advertisements

6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
프로그래밍1 및 실습 (C언어) - 3장 기본자료형 (3.6부터 끝까지) -
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express Slide 1 (of 27)
Part 11 문자열 ©우균, 창병모 ©우균, 창병모.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
8. 배열.
쉽게 풀어쓴 C언어 Express 제12장 문자와 문자열 C Express Slide 1 (of 28)
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express.
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express.
Linux System Programming
컴퓨터 프로그래밍 기초 [Final] 기말고사
-Part2- 제3장 포인터란 무엇인가.
C 10장. 함수의 활용 #include <stdio.h> int main(void) { int num;
C 8장. 포인터 #include <stdio.h> int main(void) { int num;
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
3. printf()와 데이터 형식.
제15장 파일 입출력 문자열을 출력하는 여러가지 방법 (15-2쪽) 문자열만 처리하는 입출력 함수
Chapter 13 문자 데이터와 문자열 문자 데이터 문자열.
Part 11 문자열 ©우균, 창병모 ©우균, 창병모.
C 7장. 배열과 문자열 #include <stdio.h> int main(void) { int num;
C 프로그래밍.
Heesang kim PL/SQL 3 Heesang kim.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Chapter 06. printf 함수와 scanf 함수 정리하기
임베디드 실습 # LED, 7’Segment 제어
Chapter 11 Strings.
11 표준 입출력과 파일 입출력 데이터를 읽고 쓰는 다양한 방법 익히기!.
6장. printf와 scanf 함수에 대한 고찰
프로그래밍 랩 – 7주 리스트.
14장. 포인터와 함수에 대한 이해.
2019년 1월 16일 오후 6시 15분 제 6 장 함수
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
11장. 1차원 배열.
C 8장. 포인터 #include <stdio.h> int main(void) { int num;
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
24장. 파일 입출력.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
연산자 (Operator).
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
5장 배열과 문자열 C 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
8주차: Strings, Arrays and Pointers
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
C언어 (8) 정명희.
^^ Computer Programming 2 dmpr.cnu.ac.kr/~daygax.
제 7장 배열과 포인터 Hello!! C 언어 강성호 김학배 최우영.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
1학기 정리 지난 학기에 배운 내용을 복습해 본다..
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
구조체(struct)와 공용체(union)
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
17장. 문자열 01_ 문자열 사용의 기본 02_ 문자열의 사용.
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
개정판 누구나 즐기는 C언어 콘서트 제10장 문자열 출처: pixabay.
Chapter 16. 메모리 동적 할당.
어서와 C언어는 처음이지 제21장.
윈도우에서의 유니코드.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
C 프로그래밍은 매우 도전적인 작업이다. 도전의 이면에 철저한 준비와 체계적인 노력
13. 포인터와 배열! 함께 이해하기.
배열.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

-Part3- 제2장 문자열 표준 함수와 기타 표준 함수

학습목차 2.1 문자열 처리 함수 1 2.2 문자열 처리 함수 2 2.3 기타 표준 함수

2.1 문자열 처리 함수 1

2.1 문자열 처리 함수 1 배울 내용 ① gets( ) 함수와 puts( ) 함수 ② strlen( ) 함수 – 문자열의 길이를 알려준다 ③ strcpy( ) 함수와 strncpy( ) 함수 – 문자열을 복사한다 ④ strcat( ) 함수와 strncat( ) 함수 – 문자열을 결합한다 ⑤ strcmp( ) 함수와 strncmp( ) 함수 – 문자열을 비교한다

2.1 문자열 처리 함수 1 (1/18) gets()함수와 puts()함수 헤더파일 : stdio.h EOF(End Of File) 파일의 끝을 의미 stdio.h 에 -1로 매크로 상수 정의 [ctr+z]를 입력하면 EOF로 인식 함수의 원형 예제 설명 #include<stdio.h> char* gets (char* s) char array[10]; gets(array); 전달된 메모리 주소에 문자열 저장 성공: 입력된 문자열 반환 실패: NULL 포인터 반환 int puts (const char* s) char array[10] = “Good luck”; puts(array); 전달된 메모리 주소의 문자열 출력 성공: 0값 또는 0이 아닌값 반환 실패: EOF 반환

2.1 문자열 처리 함수 1 (2/15) gets( ) puts( ) 문자열 입력 [Enter]키(개행 문자 \n)를 입력 받으면… ‘문자열 끝에 자동으로 종료 문자(NULL 문자 \0)를 붙인다.’ 주의 : 메모리 오버플로우가 발생하지 않게 문자열의 크기를 잘 할당 해야하자! 에러가 발생하면 NULL 포인터 반환 puts( ) 문자열 출력 출력하면서 자동으로 [Enter]키(개행 문자 \n)를 삽입 에러가 발생하면 EOF(-1) 반환

2.1 문자열 처리 함수 1 (3/15)---[2-1.c 실습] #include<stdio.h> int main(void) { char array1[10]; char array2[10] = "Good luck";   puts("문자열을 입력하세요"); gets(array1); // 문자열 입력 puts(array1); // 문자열 출력 puts(array2); // 문자열 출력 puts("Good luck"); // 문자열 출력 return 0; }

2.1 문자열 처리 함수 1 (4/15)---[2-2.c 실습] #include<stdio.h> int main(void) { char array1[20]; char array2[20];   gets(array1); // what is your name? 입력 puts(array1); // what is your name? 출력 scanf ("%s",array2); // what is your name? 입력 printf("%s\n", array2); // what 출력 return 0; }

2.1 문자열 처리 함수 1 배울 내용 ① gets( ) 함수와 puts( ) 함수 ② strlen( ) 함수 – 문자열의 길이를 알려준다 ③ strcpy( ) 함수와 strncpy( ) 함수 – 문자열을 복사한다 ④ strcat( ) 함수와 strncat( ) 함수 – 문자열을 결합한다 ⑤ strcmp( ) 함수와 strncmp( ) 함수 – 문자열을 비교한다

2.1 문자열 처리 함수 1 (5/15) strlen()함수 헤더파일 : string.h 문자열의 길이를 알려주는 함수 주의 사항 ‘문자열의 끝을 알리는 종료문자(‘\0)는 길이에 포함되지 않는다.’ 함수의 원형 예제 설명 #include<string.h> size_t strlen (const char* s) char array[10] = “Good luck”; strlen(array); 전달된 메모리 주소 array 부터 종료문자를 만날때 까지 저장된 문자열의 길이를 반환

2.1 문자열 처리 함수 1 (6/15)---[2-3.c 실습] #include<stdio.h> #include<string.h>   int main(void) { char array1[] = "Hello C"; char array2[] = "안녕하세요"; printf("영문 문자열의 길이: %d \n", strlen(array1) ); // 7 출력 printf("한글 문자열의 길이 %d \n", strlen(array2) ); // 10 출력 printf("영문 문자열의 길이: %d \n", sizeof(array1) ); // 8 출력 printf("한글 문자열의 길이: %d \n", sizeof(array2) ); // 11 출력 return 0; }

2.1 문자열 처리 함수 1 배울 내용 ① gets( ) 함수와 puts( ) 함수 ② strlen( ) 함수 – 문자열의 길이를 알려준다 ③ strcpy( ) 함수와 strncpy( ) 함수 – 문자열을 복사한다 ④ strcat( ) 함수와 strncat( ) 함수 – 문자열을 결합한다 ⑤ strcmp( ) 함수와 strncmp( ) 함수 – 문자열을 비교한다

2.1 문자열 처리 함수 1 (7/15) strcpy( )함수와 strncpy( )함수 – ‘문자열을 복사한다.’ 헤더파일 : string.h strcpy( )함수 두 번째 인자의 문자열을 첫 번째 인자의 메모리 주소에 복사 strncpy()함수: 세 번째 인자는 복사해야 할 크기 함수의 원형 예제 설명 #include<string.h> char* strcpy (char* dest, const char* src) char array1[10] = “Good luck”; char array2[10]; strcpy(array2, array1); array1의 문자열을 array2에 복사, 성공: 복사된 문자열의 시작 주소 반환 char* strncpy (char* dest, const char* src, size_t n) strncpy(array2, array1, 3); array1의 문자열을 array2에 3byte 만큼 복사,

2.1 문자열 처리 함수 1 (8/15)---[2-4.c 실습] #include<stdio.h> #include<string.h>   int main(void) { char array1[12] = "Hello world"; char array2[12]; char array3[12]; strcpy(array2, array1); strncpy(array3, array1, 12 ); //strncpy(array3, array1, strlen(array1)+1 ); puts(array2); puts(array3); return 0; }

2.1 문자열 처리 함수 1 (9/15)---[2-5.c 실습] #include<stdio.h> #include<string.h>   int main(void) { char array1[6] = "Hello"; char array2[3]; strncpy(array2, array1, 3); array2[2] = '\0'; // 종료 문자 삽입 puts(array2); return 0; }

2.1 문자열 처리 함수 1 배울 내용 ① gets( ) 함수와 puts( ) 함수 ② strlen( ) 함수 – 문자열의 길이를 알려준다 ③ strcpy( ) 함수와 strncpy( ) 함수 – 문자열을 복사한다 ④ strcat( ) 함수와 strncat( ) 함수 – 문자열을 결합한다 ⑤ strcmp( ) 함수와 strncmp( ) 함수 – 문자열을 비교한다

2.1 문자열 처리 함수 1 (10/15) strcat()함수와 strncat()함수 – ‘문자열을 결합한다.’ 헤더파일 : string.h strcat( ) 두 번째 인자의 문자열을 첫 번째 인자의 메모리 주소에 결합 strncat( ) 세 번째 인자는 결합해야 할 크기 함수의 원형 예제 설명 #include<string.h> char* strcat (char* dest, const char* src) char array1[10] = “Good”; char array2 [5] = “luck”; strcat(array1, array2); array1 에 array2 문자열을 결합 성공: 결합된 문자열의 시작 주소 반환 char* strncat (char* dest, const char* src, size_t n) strncat(array1, array2, 3); array1에 array2 문자열을 3byte 만큼 결합,

2.1 문자열 처리 함수 1 (11/15)---[2-6.c 실습] #include<stdio.h> #include<string.h>   int main(void) { char array1[100]; char array2[50]; printf("첫 번째 문자열 입력: "); gets(array1); printf("두 번째 문자열 입력: "); gets(array2); strcat(array1, array2); // 문자열 결합 printf("결합된 문자열 출력: "); puts(array1); return 0; }

2.1 문자열 처리 함수 1 (12/15)---[2-7.c 실습] #include<stdio.h> #include<string.h>   int main(void) { char array1[100]; char array2[50]; printf("첫 번째 문자열 입력: "); gets(array1); printf("두 번째 문자열 입력: "); gets(array2); strncat(array1, array2, 6); // 6 byte 만큼의 문자열 결합 printf("전체 문자열 출력: "); puts(array1); return 0; }

2.1 문자열 처리 함수 1 배울 내용 ① gets( ) 함수와 puts( ) 함수 ② strlen( ) 함수 – 문자열의 길이를 알려준다 ③ strcpy( ) 함수와 strncpy( ) 함수 – 문자열을 복사한다 ④ strcat( ) 함수와 strncat( ) 함수 – 문자열을 결합한다 ⑤ strcmp( ) 함수와 strncmp( ) 함수 – 문자열을 비교한다

2.1 문자열 처리 함수 1 (13/15) strcmp()함수와 strncmp()함수 – ‘문자열을 비교한다.’ 헤더파일 : string.h strcmp( ) 첫 번째 인자의 문자열과 두 번째 인자의 문자열을 비교 strncmp( ) 세 번째 인자는 비교해야 할 크기 함수의 원형 예제 설명 #include<string.h> int strcmp (const char* s1, const char* s2) char array1[10] = “Good”; char array2[10] = “luck”; strcmp(array1, array2); array1의 문자열과 array2의 문자열을 비교합니다. 성공: array1 과 array2의 비교 결과를 반환 int strncmp (const char* s1, const char* s2, size_t n) strncmp(array1, array2, 3); array2의 문자열을 3개까지 비교합니다.

2.1 문자열 처리 함수 1 (14/15) strcmp( ) strncmp( ) 비교 결과 첫 번째 인자의 문자열과 두 번째 인자의 문자열을 비교 strncmp( ) 세 번째 인자는 비교해야 할 크기 비교 결과 반환값 설명 양수(0보다 큰 값) array1의 문자열이 array2의 문자열보다 크다. array1의 문자열이 array2의 문자열과 같다. 음수(0보다 작은 값) array1의 문자열이 array2의 문자열보다 작다.

2.1 문자열 처리 함수 1 (15/15)---[2-8.c 실습] #include<stdio.h> #include<string.h>   int main(void) { char array1[20] = "Good-morning"; char array2[20] = "Good-afternoon"; char array3[20] = "Good-evening"; int result1, result2, result3; result1 = strcmp(array1, array2); // 1 출력 result2 = strncmp(array1, array2, 5); // 0 출력 result3 = strcmp(array2, array3); // -1 출력 printf("%d %d %d \n", result1, result2, result3); return 0; }

2.2 문자열 처리 함수 2

2.2 문자열 처리 함수 2 배울 내용 ① strchr( ) 함수와 strstr( ) 함수 – 문자와 문자열의 위치를 찾는다 ② strupr( ) 함수와 strlwr( ) 함수 – 문자열을 대문자로 바꾸거나 소문자로 바꾼다 ③ sscanf( ) 함수와 sprintf( ) 함수 – 메모리로부터 문자열을 입력받고 출력한다

2.2 문자열 처리 함수 2 (1/9) strchr()함수와 strstr()함수 헤더파일 : string.h 함수의 원형 예제 성공 #include<string.h> char* strchr (const char* s, int c ) char array1[10] = “Good”; strchr(array1, ‘d’); array1에서 문자 ‘d’의 메모리 주소를 찾는다. 성공: 찾은 문자의 메모리 주소를 반환 char* strstr (const char* s1, const char* s2) char array1[10] = “Good-morning”; char array2[10] = “morning”; strstr (array1, array2); array1에서 array2에 저장된 문자열을 찾는다. 성공: 찾은 문자열의 메모리 주소를 반환

2.2 문자열 처리 함수 2 (2/9)---[2-9.c 실습] #include<stdio.h> #include<string.h>   int main(void) { char array1[50] = "Good-morning, Good-afternoon, Good-evening"; char array2[10] = "morning"; char* p1=NULL; char* p2=NULL; p1 = strchr(array1, 'a'); p2 = strstr(array1, array2); printf("문자 a의 위치 : %x \n", p1); printf("문자열 : %s \n", p1); printf("---------------------------------------\n"); printf("문자열의 시작 문자 위치: %x \n", p2); printf("문자열 : %s \n", p2); return 0; }

2.2 문자열 처리 함수 2 배울 내용 ① strchr( ) 함수와 strstr( ) 함수 – 문자와 문자열의 위치를 찾는다 ② strupr( ) 함수와 strlwr( ) 함수 – 문자열을 대문자로 바꾸거나 소문자로 바꾼다 ③ sscanf( ) 함수와 sprintf( ) 함수 – 메모리로부터 문자열을 입력받고 출력한다

2.2 문자열 처리 함수 2 (3/9) strupr()함수와 strlwr()함수 헤더파일 : string.h 함수의 원형 예제 설명 #include<string.h> char* strupr (const char* s ) char array1[10] = “good”; strupr(array1); array1에서 저장된 문자열을 대문자로 변환 성공: 변환된 문자열의 시작 주소를 반환 char* strlwr (const char* s ) char array1[10] = “GOOD”; strlwr(array1); array1에서 저장된 문자열을 소문자로 변환

2.2 문자열 처리 함수 2 (4/9)---[2-10.c 실습] #include<stdio.h> #include<string.h>   int main(void) { char array1[50] = "good-morning,good-afternoon,good-evening"; char array2[50] = "GOOD-MORNING,GOOD-AFTERNOON,GOOD-EVENING"; char* p1=NULL; char* p2=NULL; p1 = strupr(array1); p2 = strlwr(array2); puts(p1); puts(p2); return 0; }

2.2 문자열 처리 함수 2 (5/9) 참고 ctype.h에 있는 문자 분류 함수 함수의 원형 설명 int isalnum (int c); 알파벳인지 숫자인지를 검사 int isalpha (int c); 알파벳인지 아닌지를 검사 int isdigit (int c); 숫자인지 아닌지를 검사 int islower (int c); 소문자인지 아닌지를 검사 int isupper (int c); 대문자인지 아닌지를 검사 int isspace (int c); 공백 문자인지 아닌지를 검사 int isxdigit (int c); 16진수인지 아닌지를 검사

2.2 문자열 처리 함수 2 (6/9) ctype.h에 있는 문자 분류 함수 #include <stdio.h> #include <ctype.h> int main(void) { char a1='A', a2='a', a3='B'; int result1, result2, result3;   result1=isalnum(a1); result2=isupper(a2); result3=islower(a3); printf("%d %d %d \n", result1, result2, result3); return 0; }

2.2 문자열 처리 함수 2 배울 내용 ① strchr( ) 함수와 strstr( ) 함수 – 문자와 문자열의 위치를 찾는다 ② strupr( ) 함수와 strlwr( ) 함수 – 문자열을 대문자로 바꾸거나 소문자로 바꾼다 ③ sscanf( ) 함수와 sprintf( ) 함수 – 메모리로부터 문자열을 입력받고 출력한다

2.2 문자열 처리 함수 2 (7/9) sscanf()함수와 sprintf()함수 헤더파일 : string.h 함수의 원형 설명 #include<string.h> int sscanf ( const char * s1, const char * s2, ...); 메모리에서 데이터를 입력 받는다. 성공: 데이터의 개수 반환 int sprintf (char * s1, const char * s2, ...); 메모리에 데이터를 출력한다. 성공: 문자열의 길이 반환

2.2 문자열 처리 함수 2 (8/9)---[2-10.c 실습] #include<stdio.h> #include<string.h>   int main(void) { char array[50] = "100 3.14 good-morning"; int num1; double num2; char str[50]; //scanf("%d %lf %s",&num1, &num2, str); // 키보드로부터 입력 받음 sscanf(array,"%d %lf %s",&num1, &num2, str); // 배열로부터 입력 받음 puts("출력"); printf("%d, %lf, %s \n", num1, num2, str); sprintf(array,"%d %lf %s",num1+2, num2+5, str); // 배열로부터 입력 받음 printf("%s \n", array); return 0; }

2.2 문자열 처리 함수 2 (9/9)---[2-12.c 실습] #include<stdio.h> #include<string.h>   int main(void) { char array[50]; int num1 = 100; double num2 = 3.14; char str[50] = "good-morning"; printf("%d, %lf, %s \n", num1, num2, str); // 모니터에 출력 sprintf(array, "%d, %lf, %s \n", num1, num2, str); // 배열에 출력 printf("%s \n",array); // 모니터에 출력 return 0; }

2.3 기타 표준 함수

2.3 기타 표준 함수 배울 내용 ① 데이터 변환 표준 함수 ② 수학 관련 표준 함수

2.3 기타 표준 함수 (1/11) 데이터를 변환하는 함수 헤더파일 : stdlib.h 함수의 원형 설명 double atof (const char* str); 문자열을 double형 데이터로 변환 int atoi (const char* str); 문자열을 int형 데이터로 변환 long atol (const char* str); 문자열을 long형 데이터로 변환

2.3 기타 표준 함수 (2/11)---[2-13.c 실습] #include<stdio.h> #include<stdlib.h> int main(void) { char* str1 = "3.14"; char* str2 = "100"; char* str3 = "10000000";   double num1; int num2; long num3; num1 = atof(str1); num2 = atoi(str2); num3 = atol(str3); printf("%lf, %d, %ld \n", num1, num2, num3);  return 0; }

2.3 기타 표준 함수 (3/11) 데이터를 변환하는 함수 헤더파일 : ctype.h int toascii (int num); 함수의 원형 설명 int toascii (int num); 문자를 ASCII 문자로 변환 int tolower (int num); 문자를 소문자로 변환 int toupper (int num); 문자를 대문자로 변환

2.3 기타 표준 함수 (4/11)---[2-14.c 실습] #include <stdio.h> #include <ctype.h> int main(void) { char a1='A'; char a2='a'; printf("아스키 코드 : %d \n", toascii(a1) ); // ASCII 값 65 출력 printf(“ 소문자 : %c \n", tolower(a2) ); // 소문자 a 출력 printf(“ 대문자: %c \n", toupper(a2) ); // 대문자 A 출력 return 0; }

2.3 기타 표준 함수 배울 내용 ① 데이터 변환 표준 함수 ② 수학 관련 표준 함수

2.3 기타 표준 함수 (5/11) 수학 관련 함수 헤더파일 : math.h xy 함수의 원형 설명 double ceil (double x); X보다 큰 정수 반환 double floor (double x); X보다 작은 정수 반환 double fabs (double x); X의 절댓값 반환 double pow (double x, double y); xy double sqrt (double x); double exp (double x); ex e는 자연 상수 (오일러의 수) double log (double x); logex double log10 (double x); log10x

2.3 기타 표준 함수 (6/11)---[2-15.c 실습] #include<stdio.h> #include<math.h> int main(void) { double a1 = 3.14; double a2 = -3.14;   printf(" %.2lf \n", ceil(a1) ); printf(" %.2lf \n", floor(a1) ); printf("---------\n"); printf(" %.2lf \n", fabs(a2) ); printf(" %.2lf \n", pow(2,8) ); printf(" %.2lf \n", sqrt(2) ); printf(" %.2lf \n", exp(1) ); printf(" %.2lf \n", log(exp(1)) ); printf(" %.2lf \n", log10(10) ); return 0; }

2.3 기타 표준 함수 (7/11) math.h에 있는 여러 삼각함수 함수의 원형 설명 double sin (double x); 삼각함수에서 x의 sin 값 double cos (double x); 삼각함수에서 x의 cos 값 double tan (double x); 삼각함수에서 x의 tan 값 double sinh (double x); 삼각함수에서 x의 sinh 값 double cosh (double x); 삼각함수에서 x의 cosh 값 double tanh (double x); 삼각함수에서 x의 tanh 값 double asin (double x); 삼각함수에서 x의 asin 값 double acos (double x); 삼각함수에서 x의 acos 값 double atan (double x); 삼각함수에서 x의 atan 값

2.3 기타 표준 함수 (8/11) rand()함수와 srand()함수 – ‘난수를 생성 시킨다.’ 헤더파일 : stdlib.h rand()함수: 난수를 생성시키는 함수 ‘한가지 패턴으로 난수를 생성 시킨다.’ srand()함수: 난수의 패턴을 생성시키는 함수 ‘여러 가지 패턴으로 난수를 생성 시킨다.’ 함수의 원형 설명 int rand (void); 난수를 생성 int srand (unsigned int seed); seed를 지정하여 난수를 생성 (seed: 난수 생성 패턴)

2.3 기타 표준 함수 (9/11)---[2-16.c 실습] #include<stdio.h> #include<stdlib.h>  int main(void) { int i=0; puts("10개의 난수를 발생시킵니다.");   while(i<10) printf("%d \t", rand() ); i=i+1; } return 0;

2.3 기타 표준 함수 (10/11)---[2-17.c 실습] #include<stdio.h> #include<stdlib.h>   int main(void) { int i=0; puts("10개의 난수를 발생시킵니다."); srand(1); // 정수 값을 1~3까지 변경해 보자(패턴 발생) while(i<10) printf("%d \t", rand()); i=i+1; } return 0;

2.3 기타 표준 함수 (11/11)---[2-17.c 분석] srand(1)일 때 srand(2)일 때 srand(3)일 때 실행 결과 >> 41 18467 6334 26500 19169 15724 11478 29358 26962 24464 실행 결과 >> 45 29216 24198 17795 20494 10650 14590 26431 10705 18316 실행 결과 >> 48 7196 9294 9091 7031 23577 17702 23503 27217 12168

공부한 내용 떠올리기 다양한 문자열 처리 함수들 기타 표준 함수 데이터 변환 함수 수학함수