반응형

C_C++ 359

(C언어) ceil, ceill, floor, floorl: 소수점 올림, 버림(내림)

#ceil #ceill #floor #floorl #소수점 #소숫점 #올림 #내림 #버림 #include double ceil(double x); long double ceil(long double x); double floor(double x); long double floorl(long double x); ceil, ceill: 소숫점 이하를 올림합니다. floor, floorl: ceil 함수는 x보다 작지 않은 최소의 정수를 찾아서 double 형으로 반환합니다. #include #include int main() { double a = 9876.54; double b = 123.45; printf("%.1f\n", ceil(a)); printf("%.1f\n", ceil(b)); return 0..

(C언어) calloc: 메모리를 동적으로 할당 받기

#calloc #동적메모리 #힙(heap) #free #include // #include void *calloc(size_t nitems, size_t size); calloc 함수는 힙(head) 메모리 영역을 동적으로 할당받습니다. nitems x size 만큼의 블록 크기를 할당하고, 할당된 블록을 0으로 초기화 시킵니다. 메모리를 할당 받았으면 할당된 블록의 포인터를 반환하고, 할당 받지 못했으면 NULL을 반환합니다. 할당된 블록은 free 함수로 해제합니다. 다음 예제는 입력받은 정수 n 갯수만큼 int 크기의 메모리를 할당받아, 값을 1,2,3...으로 설정한 후 출력하는 예를 보인것입니다. #define _CRT_SECURE_NO_WARNINGS // Visual Studio #inclu..

(C언어) cabs, cabsl: 복소수의 절대값 계산

#cabs #cabsl #복소수 #절대값 #sqrt #include double cabs(struct complex z); long double cabs(struct complexl z); 복소수(complex number)의 절대값(absolute value)를 계산합니다. 인수 z는 복소수 형식의 구조체로써 에 다음과 같이 정의되어 있습니다. struct complex { double x, y; // x는 실수부, y는 허수부 }; cabs 함수를 호출하는 것은 z의 실수부와 허수부를 이용해서 다음과 같이 sqrt 함수를 호출하는 것과 동일합니다. sqrt(z.x * z.x + z.y * z.y); #include #include int main() { struct complex a; a.x = 2...

(C언어) atoi, atol: 문자열을 정수로 변환

#atoi #atol #int #long #문자열 #숫자 #정수 #변환 #include int atoi(const char *s); long atol(const char *s); atoi: 문자열 s를 int형 정수로 변환합니다. atoi: 문자열 s를 long형 정수로 변환합니다. 인식할 수 없는 문자를 만나면 그때까지의 문자를 변환하고, 변환 작업을 중지합니다. 오버플로우를 만나면 그 변환 결과를 예측할 수 없습니다. #include #include int main() { printf("%d\n", atoi("1234")); printf("%d\n", atoi("9876543210")); // overflow printf("%d\n", atoi("123K4")); // 인식할 수 없는 문자 print..

(C언어) atof, atold: 문자열을 부동소숫점 숫자로 변환

#include double atof(const char (*s); long double _atold(const char (*s); 문자열 s를 부동 소숫점 형식인 double 형식으로 변환합니다. 문자열이 지정된 형식의 숫자로 변환할 수 없을 경우에는 0을 반환합니다. 참고: strtod #include #include int main() { char a[] = "12345.6789"; char b[] = "1.1"; double c = atof(a) + atof(b); printf("%s + %s = %f\n", a, b, c); return 0; } 참고: atoi, atol, strtod

(C언어) assert: 조건을 검사하고 그 결과에 따라 프로그램 종료

#assert #조건 #검사 #abort #include void assert(int test); assert 함수는 if문으로 확장된 매크로입니다. 인수로 사용된 test가 0이면 assert 함수는 stderr에 메시지를 출력하고 abort 함수를 호출하여 프로그램을 종료시킵니다. assert 함수는 다음과 같은 메시지를 출력합니다. Assertion failed: test, filename, line linenum filename과 linenum은 assert 매크로를 포함하는 파일명과 라인 번호를 나타냅니다. #define NDEBUG // No Debugging #include #include 앞에 #define NDEBUG 명령문을 사용하면 assert 명령은 주석으로 처리됩니다. #inclu..

(C언어) asin, asinl: 아크 사인(arc sine) 값 계산

#asin #asinl #아크사인 #arc #sine #include double asin(double x); long double asinl(long double x); 인수로 사용되는 x의 아크 사인(arc sine)값을 구합니다. x인 실인수의 범위는 -1부터 1 사이이며, -pi/2 ~ pi/2 사이의 값을 반환합니다. 그 이외의 값은 NAN(Not A Number)를 반환하고, 전역변수 errno를 EDOM(Domain error)으로 설정합니다. #include #include int main() { double x; for(x=-1; x

(C언어) acos, acosl 함수: 아크 코사인(arc cosine) 값 계산

#acos #acosl #아크코사인 #arc cosine #역삼각함수 #include double acos(double x); long double acos(long double x); 아크 코사인(arc cosine)값을 계산합니다. acos, acosl 함수의 실인수의 사용 범위는 -1부터 1 사이이며, 그렇지 않으면 NAN을 반환하고 전역변수 errno를 EDOM(입력 범위 오류)으로 설정합니다. 입력 값의 범위가 -1.0 ~ 1.0 사이인 경우의 반환값의 범위는 0 ~ 3.141592.. 가 됩니다. #include #include int main() { double x; for(x=-1.0; x

(C언어) access 함수: 파일 속성, 파일이 존재하는지 확인

#access #함수 #파일 #속성 #존재하는지 여부 #include int access(const char *filename, int amode); filename으로 지정된 파일이 존재하는지를 조사하고, 파일이 존재하면 파일의 속성을 검사합니다. 비주얼스튜디어에서는 _access 함수를 사용합니다. amode 인수의 값 amode의 값 설명 6 읽기/쓰기가 가능한지 검사 4 읽기가 가능한지 검사 2 쓰기가 가능한지 검사 1 파일의 실행 여부 0 파일이 존재하는지 검사 amode로 지정된 값이 가능하면 0을 반환하고, 그렇지 않으면 -1을 반환합니다. #include #include int main() { char file[] = "c:\\temp\\Alarm01.wav"; if (_access(fil..

반응형