Programming Language/C언어 15

[C언어] strtok 함수 알아보기 (문자열 자르기)

[C언어] strtok 함수 알아보기 (문자열 자르기) strtokstring을 tokenize한다. header file- C언어 : - C++ :  strtok 함수 정의char* strtok(char* str, char* delimiters); 문자열 str을 첫 번째 parameter로 받아서두 번째 parameter로 들어온 char* type의 구분자를 기준으로문자열을 잘라 문자열의 pointer를 하나씩 반환하는 함수 사용법char str[] = "Block D Mask."; // 구분할 문자열char *ptr = strtok(str, " "); // 첫 번째 strtok 사용while (ptr != NULL) // ptr이 NULL일 때까지 = strtok 함수가 NULL을 return할..

[C언어] 토큰(Token)이란?

C언어에서 Toekn이란? C Program을 구성하는 최소 단위를 말한다.Toeken은 일반적으로 데이터 처리 과정에서 문자열을 더 관리하기 쉽고 의미 있는 부분으로 나누기 위해 사용된다.여기에서 Token은 6가지로 나뉜다. 1. 키워드 (예약어)2. 식별자3. 상수4. 문자열 리터럴5. 연산자6. 구두점 No.이름설명1키워드이미 특별한 의미가 정해진 단어2식별자Programmer가 의미를 정한 단어3상수Program이 실행되는 동안 변하지 않는 값4문자열 레터럴문자열 상수5연산자연산에 사용되는 기호 문자6구두점의미를 강조하는 기호 문자   1. 키워드 (Keyword, 예약어)Compiler에 의해서 이미 의미가 정해져 있는 단어이름설명종류기억분류변수의 생존기간auto, extern, registe..

[C언어] 파일 입출력 - 읽기 (fopen, fgets, fseek, feof, fclose)

1) fopen(경로, mode);FILE * 형의 값을 반환  2) fgets(buffer, length, file);fgets 함수는 줄바꿈(\n)이 있다면 줄바꿈까지만 읽어온다. 따라서 fgets함수가 호출되었을 때는 첫 번째 line까지만 읽어온다.  3) fseek(파일, 이동할 거리, 이동을 시작할 위치);file을 읽어들일 때에는 file pointer라는 것이 있다.         참고 자료1) https://jeckl.tistory.com/entry/C%EC%96%B8%EC%96%B4-21%EA%B0%95-%ED%8C%8C%EC%9D%BC-%EC%9E%85%EC%B6%9C%EB%A0%A5-%EC%9D%BD%EA%B8%B0-fopen-fgets-fseek-feof-fclose ([C언어] ..

[C언어] 중복 없이 난수를 입력 받은 개수만큼 생성하는 함수

https://github.com/lxvxxu/C/blob/main/%EC%A4%91%EB%B3%B5%20%EC%97%86%EC%9D%B4%20%EB%82%9C%EC%88%98%EB%A5%BC%20%EC%9E%85%EB%A0%A5%20%EB%B0%9B%EC%9D%80%20%EA%B0%9C%EC%88%98%EB%A7%8C%ED%81%BC%20%EC%83%9D%EC%84%B1%ED%95%98%EB%8A%94%20%ED%95%A8%EC%88%98.c C/중복 없이 난수를 입력 받은 개수만큼 생성하는 함수.c at main · lxvxxu/CC언어를 공부합니다! Contribute to lxvxxu/C development by creating an account on GitHub.github.com  #def..

[C언어] 난수(random number) 생성

[C언어] 난수(random number) 생성  C가 기본적으로 제공하는 rand() 함수는 난수를 생성하는데 구체적으로 0~32767까지의 난수를 반환하다. (rand() % 최댓값) + 최솟값 #include #include #include int main(){ srand(time(NULL)); // 난수 초기화는 main 함수 안에서 진행한다.ㄷ int dice = (rand() % 6) + 1; return 0;} srand()※ seed: 난수 생성기의 초기값 난수 생성기의 초기값을 설정한다.설정하지 않으면 항상 같은 난수값이 얻어진다. 컴퓨터는 항상 초단위로 현재 시각을 관리하고 있다.따라서 time_t형으로 시간 변수를 하나 선언하고 이것의 주소를srand() 함수로 전달하여 난수 생성기의..

[C언어] 입출력 함수

버퍼를 사용하는지 안하는지 버퍼 사용 시 해결법은 모두 while(~)인지? 입력 구분 문자는 무엇인지(space, Enter 키 등) ※ 요약입력함수- scanf(): space, Enter 안 읽음. 버퍼 사용 O - getchar(): 버퍼링 사용※ scanf()와 getchar() 함수는 같은 버퍼를 사용하며 입력 데이터를 공유한다.따라서 앞서 실행한 입력 함수가 버퍼에 남겨둔 데이터를 그 이후에 수행하는 함수가 잘못 가져갈 가능성이 있다.=> 버퍼에 남아 있는 불필요한 데이터는 미리 제거하는 것이 좋다.fflush(stdin); 은 잘못된 사용법이므로while(getchar() != '\n'); 을 이용하여 버퍼에 남아 있는 개행문자를 제거한다.출력함수- getch(): 버퍼링 사용X - get..

[C언어] 문자열 함수, 문자 함수

※ 요약- strlen() : 문자열 크기- strcpy() : 문자열 초기화- strcat() : 문자열 뒤에 다른 문자열을 붙임 (string concatenation)- strcmp(), strncmp() : 문자열 비교 함수위 함수들을 이용하기 위해서는 #include 해야 한다. - isalpha() : 알파벳(a ~ z or A ~ Z) ? 1 : 0- isdigit() : 숫자 ? 1 : 0- isupper() : 대문자 ? 1 : 0- islower() : 소문자 ? 1 : 0- toupper() : 인수를 대문자로 변환- tolower() : 인수를 소문자로 변환위 함수들을 이용하기 위해서는 #include 해야 한다. (문자를 검사하는 라이브러리 함수)문자열 배열의 크기를 알아보기 위한..

[C언어] #include <math.h>

함수- floor() : 내림 함수- ceil() : 올림 함수 - fabs() : 절댓값- pow() : 제곱값- sqrt() : 제곱근값 삼각함수- cos(x), sin(x), tan(x), acos(x), asin(x), atan(x)이들 함수의 인수들은 모두 radian 단위로 표시된다.※ 단위 변환radian이 아닌 도 단위를 사용하려면 다음과 같이 변환하면 된다radians = degrees * (3.14159 / 180.0);  로그함수- exp(x) : 자연 로그의 x승을 반환한다.- log(x) : x의 자연로그 값을 반환한다. 수학적으로는 ln(x)라고 쓴다. (단, x > 0)- log10(x) : x의 밑이 10인 로그값을 반환한다. (단, x > 0)