일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- c#
- Kotlin
- 함수
- 포인터
- Tips강좌
- 티스토리
- Javascript
- 문법
- Visual Studio
- 프로그래밍
- 김성엽
- 연산자
- VS ERROR
- 배열
- tipssoft
- Programming
- 알고리즘
- c++
- 백준
- 지식나눔강좌
- Windows
- Win32
- 리뷰
- Tips프로그래밍강좌
- c
- doit코틀린프로그래밍
- Direct2D
- CS
- 이지스퍼블리싱
- Desktop
- Yesterday
- Today
- Total
목록c (65)
F.R.I.D.A.Y.
많은 프로그래머들이 작성된 코드로 인해 발생하는 각종 문제들에 골머리를 앓고 있습니다. 현업 개발자뿐만 아니라 일반 학부생, 아마추어 개발자들도 예외는 아닌데요, 오늘 포스팅에서는 이러한 버그를 잡는 방법중 하나인 assert에 대해 알아봅니다. 버그의 종류 먼저 버그의 종류를 알아보죠. 버그는 크게 두 가지 종류로 나뉩니다. 문법상 코드를 잘못 작성해 발생하는 문법오류(Syntax Error)와 문법상 문제는 없지만 예상치 않은 결과가 발생하는 논리적 오류(Logical Error)입니다. 여기서 잡기 힘든 코드는 논리적 오류입니다. 문법 오류의 경우 IDE의 인텔리센스가 잡아서 경고를 띄워주기도, 컴파일이 되지 않는 방법으로 사전에 알 수 있지만, 논리적 오류는 코드상 문제가 아니라 들어온 데이터, ..
C언어는 다양한 자료형이 있습니다. 서로 다른 두 자료형을 연산해주기 위해서는 어느 한 자료형을 다른 자료형으로 형변환(캐스팅, casting) 해주어야 연산을 진행할 수 있습니다. 오늘은 자료형, 특히 숫자 자료형의 형변환에 대해 알아보겠습니다. 상수의 기본형 형변환을 알아보기 전에 숫자 상수의 기본 타입을 알아야합니다. C언어에서 숫자라 함은 일반적으로 정수(char, short, int 등)와 실수(float, double 등)로 나누게 됩니다. 첫 순서로 정수형 상수의 타입을 알아봅시다. char ch1 = 65; short wch1 = 300; int var1 = 900; int var2 = 12'000; // 숫자가 길면 이렇게 홑따옴표(')로 구분할 수 있습니다. 이 상수들의 타입은 무엇일가..
문제 재용이는 최신 컴퓨터 10대를 가지고 있다. 어느 날 재용이는 많은 데이터를 처리해야 될 일이 생겨서 각 컴퓨터에 1번부터 10번까지의 번호를 부여하고, 10대의 컴퓨터가 다음과 같은 방법으로 데이터들을 처리하기로 하였다. 1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, ... , 10번 데이터는 10번 컴퓨터, 11번 데이터는 1번 컴퓨터, 12번 데이터는 2번 컴퓨터, ... 총 데이터의 개수는 항상 a^b개의 형태로 주어진다. 재용이는 문득 마지막 데이터가 처리될 컴퓨터의 번호가 궁금해졌다. 이를 수행해주는 프로그램을 작성하라. 1009번: 분산처리 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a..
문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 2839번: 설탕 배달 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N..
C의 main 선언 방식과 C++의 main 선언 방식이 차이가 있다는 얘기를 들었다. // C 타입 int main(void){ return 0; } // C++ 타입 int main(){ return 0; } main 파라미터에 void를 작성하면 C타입, 그렇지 않으면 C++타입이라고 하는데 자세한 출처는 찾아봐야겠다. 문서 하단을 참고하세요. 11. ANSI/ISO Standard C C++ 언어와는 달리, C 언어 표준에서는 main()이 재귀적으로 (즉, recursive하게, main이 다시 main을 부르는 경우) 호출되는 것을 막지 않았습니다.11.5 즉, 원한다면 main에서 다시 main을 부를 수 있습니다. 그러나, IOCCC에 출품할 것이 아니라면, 그런 코드를 만들 이유가 없습니..
프로그래밍을 어느정도 접하고 나면 필연적으로 접하게 되고 사용하게 되는 연산자가 있습니다. 비트(bit) 연산자와 시프트(shift) 연산자인데, 이번에 소개를 할 연산자는 시프트 연산자입니다. 비트 연산자는 다음에 시간이 된다면 포스팅하죠. 비트 비트 연산자와 더불어 시프트 연산자를 이해하려면 기본적인 메모리 저장 방법을 알아야합니다. 현대의 전자 컴퓨터는 0과 1, 이진수로만 작동을합니다. 따라서 모든 값을 저장하고 연산하는 과정을 이진수로 동작합니다. 인간이 10이이라고 쓰면, 컴퓨터는 다음과 같이 이진수로 변환을 합니다. 컴퓨터는 메모리를 관리하는 최소 단위가 1바이트이기 때문에 편의상 1바이트 표현으로 사용하겠습니다. 0000 1010 1은 어떻게 표현할까요? 0000 0001 위와 같습니다. ..
우리가 물건을 보관할 때는 주로 어떤 공간을 나누어서 물건을 보관한다. 필기구를 보관할 때는 필통, 책을 보관할 때는 책장 등 담을 물건의 용도와 특징에 맞게 비슷한 내용들을 보관한다. 프로그래밍은 사람이 해결할 것들을 컴퓨터가 수행하도록 명령을 내리는 작업들인데, 명령을 내리기 위해서는 데이터가 필요하다. 무엇을 어떻게 할지 말이다. C언어를 포함한 대부분의(혹은 모든) 프로그래밍 언어에서는 변수라는 개념을 도입해 데이터를 저장할 수 있도록 했는데, 변수는 어떤 프로그램을 만들던(심지어 운영체제) 필수 불가결하게 사용해야하는 대상이다. 1. 자료형 변수를 알기 전에, 먼저 자료형이란 것을 알아야 할 필요가 있다. 택배를 생각해보자, 중고 장터에서 마우스나 휴대폰같이 작은 물건을 구매했다고 하자. 그럼 ..
C/C++ 를 배울 때 꼭 하나씩 집어넣는 헤더파일이 있다. #include "A.h" int main(void){ ... return 0; } A.h #include "A.h" void Function1(){ ... } void Function2(){ ... } 즉, 헤더 파일은 다른 헤더 파일을 인클루드하긴 하지만 소스 파일( *.c *.cpp 등)은 인클루드 하지 않는다. 또한, 소스 파일과 소스 파일의 구조를 담아 놓은 헤더파일의 이름은 같다. 3. 헤더 가드(Header Guard) stdio 헤더 파일의 내용을 살펴보면 처음에 아래와 같은 구조를 띤다. line 01 - 07 : 주석 line 08 - 10 : 전처리기 ... 여기서 주의 깊게 살펴볼 내용은 line 8부터 10까지, 흔히 헤..