반응형

C & C++ 27

[C언어/C++] 나눗셈 연산의 원리, 몫과 나머지를 구하는 방법

C언어(C++ 포함) 나누기, 몫, 나머지 C언어와 C++에서 나눗셈 연산이 수행되는 원리를 살펴보고 몫과 나머지를 구하는 방법에 대해서도 다루어보도록 하겠습니다. 나눗셈 연산 원리 5 나누기 2의 연산 결과는 2.5라는 사실을 쉽게 알 수 있지요. 그러나 C언어나 C++에서 해당 연산을 수행해보면 그냥 2가 출력되는 것을 볼 수 있습니다. 심지어는 실수 자료형으로 값을 선언해도 2.5가 아닌 2.0이 저장되고 있습니다. #include int main(){ int a = 5 / 2; double b = 5 / 2; printf("%d\n", a); // 2 printf("%.1f\n", b); // 2.0 } 이와 같은 현상이 발생하는 이유는 정수 자료형 간의 연산은 기본적으로 정수를 반환하도록 설정되..

C & C++ 2022.05.15

[C언어, C++] 주석 처리란? / 주석 달기 방법 정리(한 줄, 여러 줄, 단축키)

C/C++ 주석 의미, 예시 주석 처리의 정의와 용도를 살펴보고 C언어와 C++에서 주석 처리를 진행하는 방법을 정리해보도록 하겠습니다. 주석 처리란? 주석 처리된 부분은 실행할 코드 부분으로 인식되지 않는다는 점을 이용하여 코드의 설명을 달거나 디버깅 시 특정 코드 부분의 실행을 생략하고 싶을 때 사용합니다. 아래 예시 코드에서 아래 줄의 "주석 테스트"라는 메시지는 출력되지 않습니다. #include int main(){ int a = 6; // 이 코드는 a가 5보다 큰지를 비교하는 코드입니다. if(a > 5){ printf("a는 5보다 큽니다\n"); } // printf("주석 테스트\n"); } 한 줄 주석 처리법 : // 코드 한 줄에 주석 처리를 할때는 C언어와 C++ 모두 //를 이용..

C & C++ 2022.05.01

[C언어] if문 활용 조건문 사용법 예제 정리 (else if, else문, 중첩 조건문 등)

C언어 if, else if, else 케이스 비교 C언어에서 if, else if, else를 사용한 조건문의 사용법을 단일 조건의 가장 간단한 케이스부터 다중 조건의 복잡한 경우까지 정리해보며 각 경우의 차이를 이해해보도록 하겠습니다. if문 기본 케이스(단일 조건) C언어에서 if문은 if(조건){조건 만족 시 실행할 구문} 형태로 작성하게 됩니다. 들여쓰기는 필요 없으나, 조건은 소괄호 () 내에, 실행 구문은 중괄호 {} 내로 괄호 모양을 구분해서 사용해주셔야 합니다. 예시로, 아래 코드를 실행하면 a 10){ printf("a는 10보다 큽니다.\n"); } if(a > 5){ printf("a는 5보다 큽니다.\n"); } // if ~ else if의 경우 : 위의 printf만 실행 if..

C & C++ 2022.05.01

C++ 스타일의 for문(범위 기반 for문) : 배열, 문자열, 벡터 순회 예제

C++ 범위 기반 for문 사용법 이번 글에서는 C++에서 제공하는 스타일의 for문인 범위 기반 for문의 사용 방법을 array, string 및 vector에서의 사용 예제를 통해서 살펴보겠습니다. 배열 순회 예시, 값 변경 시 주의 사항 배열 내 값들을 순회할 때, C언어 스타일의 순회 방법도 C++에서 여전히 사용 가능하지만 아래의 예시 코드와 같이 for(자료형 순회 변수 : 배열) 형태로도 사용하실 수 있습니다. 이와 같은 형태로 for문을 사용하는 방식을 범위 기반 for문이라고 합니다. #include using namespace std; int main() { int arr1[] = {0, 1, 2, 3}; // C언어 스타일의 for문 for(int i = 0; i < 4; i++){..

C & C++ 2022.04.20

[C언어] 2차원 배열 선언, 값 접근/수정/출력 방법 및 문자열 배열

C언어 2차원 array 사용 방법 예제 이번 글에서는 C언어에서 2차원 배열을 선언하는 방법과 주요 특징을 먼저 살펴본 뒤, 값에 접근, 수정 및 출력하는 과정을 다루어보고 2차원 배열의 특수 케이스인 문자열(string) 배열에 대해서까지 말씀드려보도록 하겠습니다. 2차원 배열 선언, 특징 C언어에서 2차원 이상의 다차원 배열 선언 방법은 자료형 변수명 [1차 배열 크기][2차 배열 크기]... = {값} 형식으로 코드를 작성해주시면 됩니다. 아래는 2 * 3 크기의 int 2차원 배열과 3 * 4 크기의 double 2차원 배열을 선언한 예시입니다. #include int main(){ /* [[1, 2, 3], [4, 5, 6]] 꼴의 2차원 정수 배열 */ int arr1 [2][3] = { {..

C & C++ 2022.04.17

[C언어] while문 반복문 예제 : 기본 사용법, continue/break, do~while문, for문과의 용도 차이

C언어 while문 사용법 정리 C언어의 대표 반복문 구문 중 하나인 while문을 사용하는 예시에 대해서 가장 기본적인 케이스부터 continue/break 활용 및 do~while문의 심화 구문까지 총정리해보고, for문과 장점을 비교해보는 시간을 가져보도록 하겠습니다. while문 기본 사용법 기본적인 C언어의 while문 골격은 while(조건){조건 만족 시 실행할 코드} 형태로 구성됩니다. 조건은 소괄호 () 내에 들어가며, 반복하여 실행할 코드는 중괄호인 {} 내에 적어주시면 됩니다. () 안의 조건 만족 시, {} 내의 코드를 1회 실행 후, 조건 검사부인 () 내로 다시 돌아가서 조건을 재검사 후 {} 내 코드 재실행 여부를 결정하는 방식입니다. 기본 예시로, 아래 코드 실행 결과를 생각..

C & C++ 2022.04.12

[C언어] 문자열 선언 방법 정리(배열, 포인터)

C언어 string 배열 및 포인터 선언 예제 및 특징 비교 C언어에서 문자열(string) 자료를 char 배열로 선언하는 경우와 포인터를 이용하여 선언하는 경우의 예시 코드를 살펴보고, 이 두 문자열 선언 경우의 특징을 비교해보도록 하겠습니다. 배열(array) 이용 문자열 선언 예시 C언어에서는 C++과 달리 string을 직접적으로 다룰 수 있는 자료형이 없어 각 글자에 대한 char 변수들의 배열 혹은 포인터 형태로 선언을 해야합니다. 그렇다면 먼저 array를 통한 문자열 선언 방법을 살펴보겠습니다. char 배열을 통한 string 선언을 그림으로 도식화하면 다음과 같습니다. 편의상 메모리 주소는 200부터 시작하는 것으로 가정하였습니다. 각 글자를 나타내는 char 자료형의 크기는 1 바이..

C & C++ 2022.04.05

[C언어, C++] 정수 자료형 종류 비교 : char, short, int, long, long long, unsigned

C언어 / C++ 정수 자료형 특징 정리 예제 안녕하세요. 이번 시간에는 C언어 및 C++에서 사용되는 정수 자료형 종류인 char, short, int, long, long long의 특징과 차이를 예제를 통하여 알아보고, unsigned 자료형에 대해서도 다루어보도록 하겠습니다. 정수 자료형 크기, 범위 비교 가장 대표적인 char, short, int, long 및 long long의 자료형 크기 및 범위는 아래와 같이 요약이 가능합니다. char : 1 바이트, -128 ~ 127 short : 2 바이트, -32,768 ~ 32,767 int / long : 4 바이트, -2,147,483,648 ~ 2,147,483,647 long long : 8 바이트, -9,223,372,036,854,7..

C & C++ 2022.03.19

C언어 포인터를 input으로 받는 함수 선언 (pass by pointer) : swap 함수 예제 비교

C언어 pass by value vs pass by pointer 차이 안녕하세요. 이번 포스팅에서는 C언어에서 포인터를 함수의 인자로 받는 pass by pointer 선언 방식의 사용 이유와 예제에 대해서 살펴보도록 하겠습니다. swap 함수 포인터 사용 예제 가장 기본적인 예제를 통해서 포인터를 인자로 받는 이유에 대해서 살펴보겠습니다. 두 정수 변수의 값을 서로 바꾸는 swap 함수를 예시를 보겠습니다. #include void swap(int a, int b){ int t = a; a = b; b = t; } void swap2(int *a, int *b){ int t = *a; *a = *b; *b = t; } int main(){ int num_1 = 3; int num_2 = 5; // p..

C & C++ 2021.12.20

C언어 구조체 struct 없이 선언 : typedef

C언어 구조체 typedef 이용 선언 방법 이번 글에서는 C언어에서 구조체 선언 시 struct를 앞에 붙이지 않고도 편리하게 사용할 수 있는 typedef를 이용한 선언 방법에 대해서 살펴보도록 하겠습니다. 구조체 선언 단계에서 struct를 앞에 붙이지 않는다는 것은 다음과 같이 편리하게 선언이 가능하다는 것을 의미합니다. 만일 여러개의 같은 구조체를 선언하는 경우에는 아래쪽의 선언 방식이 더 편리할 것으로 예측됩니다. 아래의 선언 방식을 적용하기 위해서는 typedef struct를 이용해서 구조체 양식을 정해주면 되는데요. 아래와 같은 양식으로 구조체를 정의해주시면 됩니다. #include int main(){ typedef struct _Book { // 구조체 자체의 변수 이름은 _Book ..

C & C++ 2021.12.17
반응형