반응형

C & C++ 27

C언어 실수 자료형 정리 : float, double, long double, 부동소수점/형변환

C언어 실수형 타입 : float, double, long double 이번 글에서는 C언어와 C++의 실수형 자료 타입인 float, double, long double 자료형에 대해서 살펴보겠습니다. 우선, 세 자료형의 바이트 수와 표시 가능 범위는 다음과 같습니다. (참고로, 실수 자료형에서는 부호가 없는 unsigned 자료형은 미지원합니다.) float : 4 바이트, 대략 10^-38 ~ 10^38 범위 표시 가능 double : 8 바이트, 대략 10^-308 ~ 10^308 범위 표시 가능 long double : 시스템 마다 약간씩 다르지만 8바이트 이상을 사용하고, double 자료형에 비해 표시 범위가 넓은 편 위 세 자료형의 표시 범위를 넘어서 사용할 일은 실제로는 적겠지만, 참고로..

C & C++ 2021.12.16

[C언어] switch ~ case 문 사용법, 유의 사항 정리

C언어 조건문 분기 : switch ~ case 문 안녕하세요. 이번 글에서는 C언어에서 조건이 여러개인 경우 분기를 원활하게하고, 가독성을 높일 수 있는 switch ~ case 문의 사용법에 대해서 살펴보겠습니다. 예를 들어, 한 과목의 총점이 80점 이상이면 A, 60점 이상이면 B, 40점 이상이면 C, 20점 이상이면 D, 20점 미만이면 F를 부여하는 상황의 예시를 들어보도록 하겠습니다. 일단 다음 처럼 if와 else if 문을 통해서 코드를 작성해볼 수 있을 것입니다. #include int main(){ int midterm = 41; int finalterm = 45; int total = midterm + finalterm; if(total >= 80) printf("A학점 입니다.\..

C & C++ 2021.12.15

C언어 for문 케이스 정리 : 사용 방법, continue/break, 이중 for문

C언어 반복문 : for문 개요 이번 글에서는 C언어에서 for문을 사용하는 방법과 케이스에 대해 정리를 해보는 시간을 가지도록 하겠습니다. 기본 문법을 정리한 뒤, for문을 중단하는 continue/break 문법과 복잡해보일 수 있는 이중 for문의 예시에 대해서 정리해보겠습니다. C언어의 특징은 파이썬처럼 들여쓰기로 단위를 구분하는 것이 아닌, 중괄호 {} 로 블록을 구분해준다는 특징이 있습니다. 따라서, 이 점을 감안하여 가장 기본적인 for문의 예시를 먼저 살펴보겠습니다. #include int main(){ for(int i = 0; i < 5; i++){ printf("%d\n", i); } } for() 안에 iterate 인자 선언 후 중괄호로 반복될 부분을 묶어주었습니다. 여기서는 프..

C & C++ 2021.12.14

[C언어] 문자열에서 많이 사용되는 함수 : strlen, strcpy, strcat, strcmp

C언어 문자열 대표 함수 : strlen, strcpy, strcat, strcmp 이번 포스팅에서는 C언어 문자열을 다룰 때, 많이 사용하는 대표 함수인 strlen, strcpy, strcat, strcmp 함수의 사용 방법과 코드 예시에 대해서 다루어보도록 하겠습니다. C언어 문자열 길이 반환 : strlen 이번 시간에 다룰 함수들을 사용하기 위해서는 string.h 라이브러리를 불러와야만합니다. 따라서, #include 를 코드 맨 위쪽에 적어주도록 하겠습니다. strlen 함수는 문자열의 길이를 반환합니다. (파이썬의 len 함수와 유사) 이 때, char 배열의 크기는 무관하며, \0(null) 전까지 몇 개의 유효 char 자료형이 있는지를 카운팅 합니다. 예시를 살펴보겠습니다. #incl..

C & C++ 2021.12.13

C언어 논리 연산자, 비트 연산자 차이 비교, 사용 예시

C언어 연산자 C언어에서 혼동되기 쉬운 논리, 비트 연산자의 차이와 사용 예시를 살펴보고, 두 연산자를 비교해보는 내용을 다루어보겠습니다. 먼저, 논리 연산자와 비트 연산자의 특징을 정리하면 아래 표와 같습니다. 이제 C언어에서 실제로 사용되는 예시를 보며, 사용 방법과 결과 출력이 어떻게 실제로 진행되는지를 살펴보도록 하겠습니다. C언어 논리 연산자 : &&, ||, ! 먼저, C언어에서의 True, False 조건에 대해서 살펴보겠습니다. C언어에서는 기본 자료형으로 boolean 자료형을 취급하지는 않는 대신, 정수 1을 True처럼, 정수 0을 False처럼 사용하게 됩니다. 또한, int 자료형을 기준으로 0을 제외한 모든 값은 True로 인식을 합니다. 아래 예제에서 True와 False로 취..

C & C++ 2021.12.08

[C언어] 배열(Array) 구조 선언, 할당, 포인터 연산, 출력 예제

지난 번에 C언어 포인터에 관한 포스팅에 이어, 이번에는 포인터를 기반으로 한 배열 구조에 대한 예제를 몇 가지 다루어보고자 합니다. C언어 배열 구조 선언(Array 선언) 배열 구조는 연속된 주소를 원하는 개수만큼 통째로 할당받아, 자료를 원하는 위치에 할당하여 순서로 접근 가능하게 만든 구조입니다. 다만, 파이썬의 리스트 등과는 다르게, 특정 자료형을 넣기로 선언했다면 해당 자료형만 넣어야하는 식의 구성으로 되어 있다는 점이 특징입니다. 예를 들어, 한 배열에 int, double 등 여러 자료가 섞여서 들어가는 것은 불가능합니다. 선언하는 문법 자체는 매우 간단합니다. 다음의 예시 코드를 살펴보겠습니다. #include int main(){ // 배열 선언 (값 초기화 X) int arr[5]; ..

C & C++ 2021.12.07

[C언어] 포인터, 이중포인터 개념, 실습 예제 완벽 이해

안녕하세요. 이번 글에서는 많은 C언어를 공부하시는 분들을 애먹이는 개념이지만, 컴퓨터 구조의 기초, 메모리 할당과 밀접한 연관이 되어있으며, 이후에 다룰 매우 중요한 개념인 배열의 근간이 되는 포인터, 이중포인터의 실습 예제에 대해서 최대한 쉽고 친근하게 다루어보도록 하겠습니다! C언어 포인터 선언(& 과 *의 차이) 먼저, 포인터를 선언하는 예시입니다. 여기서는 int 자료형을 예제로 보여드렸지만, double, char 자료형 등 기본 자료형이라면 모두 포인터를 선언할 수 있습니다. #include int main(){ int a = 3; int *b = &a; printf("a의 값 = %d\n", a); printf("b의 값 = %p\n", b); // %p로 포맷팅 } 여기서 *와 &의 차이..

C & C++ 2021.12.07
반응형