본문 바로가기

분류 전체보기

[C code] Boolean 자료형 #include #include #include void Judg(_Bool flag) { printf("%d - %s\n", flag, flag ? "true" : "false"); } int main() { Judg(1); Judg(5 < 4); Judg(1 == 3-2); Judg(true); Judg(false); return 0; } Output : 1 - true 0 - false 1 - true 1 - true 0 - false 선언할 때에 선언 후 bool f; 라고만 해도 좋지만, c언어는 기본적으로 bool을 자동으로 지원하지 않기에 _Bool f; 로 선언할 수도 있음 ​ 또, true와 false 등을 사용하려면 stdbool.h의 헤더파일을 사용해야 함 (Visual Studio는.. 더보기
[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.. 더보기