본문 바로가기

전체 글

[C code] EOF 활용하기 (문자, 정수, ...) #include #include int main() { int A, B, z; while(z != EOF) { z = scanf("%d %d", &A, &B); if(z != EOF) printf("%d\n", A+B); } return 0; } Input + Output : 12 65 77 1 6 7 ^Z 위와 같이, 반복문 안에서 반복을 중단할 때 EOF(End Of File)을 활용할 수 있음 #include #include int main() { char ch; while(ch != EOF) { ch = getchar(); putchar(ch); } return 0; } Input + Output : Hello Hello EOF EOF ^Z 문자를 출력할 때 역시 활용 가능 ! +) 이는 getc.. 더보기
[C] 지역변수와 전역변수 (메모리 영역 - code, data, heap, stack) 가장 주된 차이점은 지역변수는 해당지역(함수)를 벗어나면 자동으로 소멸되고, 전역변수는 프로그램의 시작과 동시에 메모리 공간에 할당되어 종료 시까지 존재한다는 것이다 ​ 또, 전역변수는 별도의 값으로 초기화하지 않으면 0으로 초기되고, 프로그램 전체 영역 어디서든 접근이 가능하다 ​ 변수들이 저장되는 메모리를 살펴보자 (코드(code / text) 영역) 메모리의 코드(code) 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code) 영역이라고도 부릅니다 CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 됩니다 ​ 데이터(data) 영역 메모리의 데이터(data) 영역은 프로그램의 전역(global) 변수와 정적(static) 변수가 저장되는 영역입니다 데이터 영역은 프로그램의 .. 더보기
[C code] 소수점 출력하기 / 실수형 출력 타입 #include #include int main() { int A, B; scanf("%d %d", &A, &B); double C = (double) A / (double) B; printf("%g", C); //%g는 유효숫자만 표시 (0.800000 -> 0.8) return 0; } 출력 수를 소수점으로 출력하기 위해서는, 연산식에 실수형(float, double, ...)이 포함되어야 한다 ​ ex) 4 / 5 => 0 4 / 5.0 => 0.8 실수형의 출력타입은, %f : 실수형 기본 출력 타입 %Lf : long double의 출력 타입 %e , %E : 지수형 출력 타입 %g , %G : 실수형 자동 출력 타입 (유효숫자 표시) ​ 더불어, float은 소수점 5자리, double은 소수.. 더보기
[C code] 역슬래쉬(\), 쌍따옴표(") 직접 출력 (escape sequence) 다음과 같이 출력하기 위해서는, (https://www.acmicpc.net/problem/10171) #include #include int main() { puts("\\ /\\"); puts(" ) ( ')"); puts("( / )"); puts(" \\(__)|"); return 0; } 처럼 해야 온전한 토끼형태로 출력된다 이유가 뭘까???? \t tab(8칸) 띄우기 \n 커서를 한 줄 밑으로 이동 \' '(따옴표) 표시 \" "(쌍따옴표) 표시 \\ \(역슬래쉬) 표시 ​ 따라서 \를 출력하기 위에서는 printf("\\"); 가 필요하다 이를 escape sequence라고 하는데, ( ; escape 함) 표현이 곤란한 문자나 특정 기능을 제공하는 것이다 ​ - 생각나누기 - shove.. 더보기
[C] #IND00 ? #INDOO ? 코딩 중 다음과 같은 -1.#IND00이 실행되었는데, ​ 이는 NaN(Not a Number)를 나타낸다 ​ ex) sqrt(-1.0) , ... , log(-1.0) ​ 이 경우에 -1.#IND00 또는 1.#IND00 등이 발생하고 IND는 indeterminate의 약자이다 더불어, #INF00은 overflow시에 발생한다 (infinite) - Being A Developer 더보기