코딩/C와 C++ 16

[C++ 기초 강좌] 8. 값 비교하기

이 장에서 우리는 여러분의 C++ 프로그램에게 어떻게 의사 결정 기능을 추가하는지에 대해서 살펴볼 것이다. 또한, 여러분은 지정된 조건이 만족될 때까지 여러분의 프로그램이 일련의 행동을 반복하도록 만드는 방법에 대해서도 배우게 된다. 이러한 기능은 여러분이 다양한 분량의 입력을 다룰 수 있도록 할 뿐 만 아니라, 여러분이 읽어 들인 데이터가 유효한지를 검사한다. 또한, 여러분은 입력 대이터에 따라서 자기의 행동을 변경시킬 수 있는 프로그램을 작성할 수 있게 된다. 그리고 문제를 해결하는 데 있어서 반드시 논리가 필요한 상황을 처리할 수 있게 된다. 이 장의 끝부분 즈음까지 여러분은 다음과 같은 것들을 배우게 된다. • 데이터 값을 비교하는 방법 • 결과에 따라서 프로그램 실행의 순서를 변경하는 방법 • ..

코딩/C와 C++ 2021.07.03

[C++ 기초 강좌] 7. 네임 공간(namespace)

7. 네임 공간(namespace) 우리는 네임 공간에 대해서 몇 번 언급하였다. 그러므로 지금은 그것이 무엇인지에 대해서 알아볼 때이다. 네임 공간은 C++ 언어에 추가된 새롭고도 중요한 기능이다. 그러므로 여러분은 네임 공간이 어떻게 작동하는지에 관해서 알아야 한다. 여러분은 이미 표준 라이브러리에서 사용되는 모든 이름이 std라는 네임 공간 안에서 정의된다는 것을 알고 있다. 이것은 표준 라이브러리 안에서 사용되는 모든 이름에는 추가로 자격을 한정하는 이름인 std가 붙는다는 것을 의미한다. 그러므로 예를 들어, cout는 실제로 std::cout이다. 우리는 이러한 사실을 간단한 예를 통해서 살펴볼 수 있다 이 예에서는 변수를 글로벌 범위로만 사용한다. 왜냐하면, 우리는 네임 공간이 어떻게 작동하..

코딩/C와 C++ 2021.05.17

[C++ 기초 강좌] 6. 범위에 대한 이해

6. 범위에 대한 이해 모든 변수는 여러분의 프로그램이 실행될 때 유한한 수명을 가진다. 변수들은 여러분이 그것들을 선언하는 순간에 태어난 다음에 어떤 순간에 사라지게 된다(늦어도 여러분의 프로그램이 종료되기 전에 사라진다). 하나의 특정한 변수가 얼마나 오랫동안 지속되는지는 저장 기간(storage duration)이라는 속성에 의해서 결정된다. 하나의 변수가 가질 수 있는 저장 기간에는 세 가지의 종류가 있다. 1. 자동 저장기간 2. 정적인 저장기간 3. 동적인 저장기간 이것들 중에 변수가 어떤 것을 가지게 될 것인지는 여러분이 그 변수를 어떻게 생성하는가에 달려 있다. 우리는 동적인 저장 기간에 관한 설명을 4장까지 미룰 생각이다. 그러나 우리는 다른 두 가지의 저장 기간의 특징에 관해서는 이 장..

코딩/C와 C++ 2021.05.15

[C++ 기초 강좌] 5. 변수의 형식과 변환

5. 변수의 형식과 변환 C++에서의 계산은 동일한 형식을 가지는 변수 사이에서만 이루어진다. 여러분이 다른 형식을 가지는 변수 또는 상수를 포함하는 표현을 작성할 때 컴파일러는 수행되어야 할 각각의 작업에 대해서 피연산자 중의 하나의 형식을 다른 것과 일치시키기 위해서 그 형식을 변환시키는 작업을 해야만 한다. 이러한 변환 작업을 변환(casting)이라고 한다. 예를 들어, 여러분이 double 형식의 값을 정수에 더하려고 한다면 먼저 그 정수 값이 double로 변환된다. 그 뒤에 덧셈 작업이 수행된다. 물론, 변환될 값을 포함하고 있는 변수 그 자체는 바뀌지 않는다. 컴파일러는 변환된 값을 임시 메모리의 장소에 저장한다. 그 메모리 장소는 그 계산 작업이 끝나면 폐기된다. 모든 연산에서 변환되어야..

코딩/C와 C++ 2021.05.15

[C++ 기초 강좌] 4. C++ 계산 작업

여기서부터 우리는 아까 입력한 데이터를 가지고 어떠한 작업을 시작하게 된다. 우리는 C++ 프로그램의 '처리'부분을 시작하려 하는 것이다. C++의 계산적인 측면의 거의 모든 부분은 매우 직관적이다. 그러므로 우리는 뜨거운 칼로 버터를 베듯 이것을 쉽게 배울 수 있다. 할당문 우리는 이미 할당문의 예를 보았다. 일반적인 할당문은 다음과 같다. whole = part1 + part2 + part3; 할당문은 여러분이 등호의 오른쪽에 있는 표현식의 값(이 경우, part1, part2, 그리고 part3의 합)을 계산하여 그 결과를 왼쪽에 지정되어 있는 변수(이 경우, whole) 안에 저장할 수 있도록 해준다. 이 문장에서 whole은 단지 part들의 합이고, 그 이상의 어떤 것도 아니다. 문장이 세미콜..

코딩/C와 C++ 2021.03.13

[C++ 기초 강좌] 3. C++ 데이터 형식

하나의 변수가 저장할 수 있는 정보의 종류는 그것의 데이터 형식에 의해서 결정되나. 여러분의 프로그램 안에 있는 모든 데이터와 변수는 어떤 정의된 형식을 가지고 있다. C++는 여러분에게 다양한 표준 테이터 형식을 제공한다. 그러한 형식은 특정한 키워드에 의해서 지정된다. 우리는 이미 정수 변수를 정의하는 int라는 키워드를 알고 있다. 언어의 객체 지향적인 측면에서 여러분은 여러분만의 데이터 형식을 생성할 수 있다. 이것에 관해서는 나중에 살펴볼 것이다. 일단은 C++가 제공하는 기초적인 수치 데이터 형식에 대해서 알아본다. 정수 변수 앞에서도 알아보았듯이 정수 변수는 정수 값만을 가지는 변수이다. 야구팀의 선수들의 숫자는 적어도 게임이 시작할 때는 정수이다. 우리는 이미 int 키워드를 사용하여 정수..

코딩/C와 C++ 2021.03.11

[C++ 기초 강좌] 2. C++ 변수 정의하기

이제, 우리의 첫 번째 프로그램을 벗어나서 어떤 의미 있는 정보를 처리하고, 그것에 대한 해답을 우리는 얻고자 한다. 이러한 과정에서의 중요한 요소는 우리가 필요할 때 언제든지 호출할 수 있는 메모리의 한 부분을 사용하는 것이다. 우리는 그 메모리의 한 부분을 의미 있는 이름을 사용하여 참조하고, 데이터의 한 항목을 저장할 수 있는 것이다. 그러한 각 메모리 조각을 변수라고 부른다. 각 변수는 그것이 프로그램 안에서 정의될 때 그것에게 할당된 특정한 종류의 데이터를 저장한다. 하나의 변수는 정수를 저장할 수 있다. 그러한 경우, 그 변수는 실수를 저장하는 데 사용될 수 없다. 어느 한순간에 각 변수가 포함하는 값은 프로그램 안에 있는 지시 사항에 따라 다르다. 그리고 물론, 그 값은 프로그램의 계산이 진..

코딩/C와 C++ 2021.03.11

[C++ 기초 강좌] 1. C++ 프로그램의 구조

C++로 작성되는 프로그램은 한 개 이상의 함수로 구성된다. 한 번쯤은 우리는 단순히 main() 함수로만 구성되는 샘플을 보았다. 여기서 main은 함수의 이름이다. 그 프로그램은 콘솔(console) 프로그램이었다. 콘솔 환경에 있는 모든 C++ 프로그램은 main()이라는 함수를 포함하고 있으며, 모든 C++ 프로그램은 몇 가지의 함수로 이루어진다. 함수라는 것은 단순히 특유의 이름을 가진 독립적인 코드의 집합으로서 그 함수의 이름을 통하여 실행된다. 전형적인 콘솔 프로그램은 다음과 같은 구조를 가진다. 위의 그림은 프로그램의 실행이 main() 함수로부터 시작되고 있음을 나타내고 있다. main()으로부터 프로그램의 실행은 input_names() 함수로 이어지며, 이 함수는 즉각적으로 프로그램의..

코딩/C와 C++ 2021.03.06

stdbool.h 과 stdint.h 강의

안녕하세요? C언어가 발전되면서 기존에 없던 기능이 추가 되었는데요. C99 에 추가된 stdbool.h 과 stdint.h에 대해 알아 보겠습니다. 컴파일 할때 gcc -std=c99 위와 같이 옵션을 지정하면 됩니다. 최근 컴파일러는 알아서 해주기도 합니다. stdbool.h 먼저, stdbool.h 입니다. C언어에서는 if 문에서 참과 거짓을 0과 0이 아닌 수로 구분합니다. 즉, 0이면 거짓, 0이 아니면 참으로 표현합니다. #include int main() { int b1 = 0; if (b1) // b1이 true인지 검사 printf("true\n"); // b1이 참이면 true가 출력됨 else printf("false\n"); return 0; } 위 코드에서 보시면 b1 이 0 이..

코딩/C와 C++ 2020.12.30

2편-예제를 통한 C 언어 기초 강의

안녕하세요? 지난 시간에 이어 예제를 통한 C언어 기초 강의 2편을 시작해 보겠습니다. 1편은 아래 링크 참고 바랍니다. https://cpro95.tistory.com/118 1편-예제를 통한 C 언어 기초 강의 C는 프로그래머라면 가장 먼저 배우는 언어인데요. 저도 중학교 2학년때 부터 독학으로 Turbo C 책을 독파한 적이 있습니다. 정말 애증의 언어이며, 프로그래밍의 가장 기초적인 언어라고 생각합 cpro95.tistory.com 그럼 1편에서의 코드를 보고 이어서 진행해 보겠습니다. #include "args.h" char* helptext = "Usage: hexview [file]\n" "\n" "Arguments:\n" " [file] File to read (default: STDIN)..

코딩/C와 C++ 2020.12.30