블로그 이미지
이태원에서 사는 다섯식구의 무직 가장. 흰둥에미

카테고리

분류 전체보기 (184)
Itaewon (2)
ryu's?? (1)
20121210이전 (20)
20130827이전 (147)
soo'study (13)
Total34,023
Today5
Yesterday5

'C'에 해당되는 글 4건

  1. 2012.12.28 조건문, 선택문
  2. 2012.12.23 c/c++ 연산자 정리
  3. 2012.12.13 1. 프로그래밍 기본 및 C 데이터 타입
  4. 2011.08.18 전역 변수 (1)

1. 조건문

if (조건)

{

...

}

else if (또 다른 조건)

{

...

}

else if (또 다른 조건)

...

else

{

}


if 와 else if의 조건이 참인 구문이 실행되며,

모두 거짓일 때, else의 구문이 실행된다.


2. 선택문

switch (정수타입의 변수)

{

case a:

{

...

}

break;

case b:

...

...

default:

{

...

}

}

switch 문에서 분기되는 값에 따른 case 문으로 바로 이동.

case 문으로 이동 후, switch문의 블록 끝까지 실행되며, break문을 이용해 적당히 끊어줄 수 있다.

default:는 case 문의 값과 매치되는 값이 없을 때, 실행되는 부분임.

신고

'20130827이전 > C&C++' 카테고리의 다른 글

열혈강의 C++ 언어본색 1장 - 3장 정리.  (1) 2013.01.13
디버깅  (0) 2013.01.05
조건문, 선택문  (0) 2012.12.28
c/c++ 연산자 정리  (0) 2012.12.23
c++ 표준 입력(cin) 의 문제점.  (1) 2012.12.23
2. 진법과 보수  (0) 2012.12.17
Posted by 흰둥에미
TAG C, c++

C/C++ 의 연산자


 우선 순위

연산자 종류

연산자

연산 방향 
 1

 괄호, 첨자, 구조체(클래스), 한정자

 ( ) [ ] . -> :: 

 L -> R

 2  단항 연산자

 *(포인터) &(레퍼런스) ! - ++ -- + sizeof new delete 

 R -> L
 3  구조체(클래스) 결합연산자  .* ->* 

 L -> R 

 4  승제, 나머지 연산자  * / %

 L -> R

 5  가감 연산자  + -   L -> R
 6  쉬프트 연산자  << >>   L -> R
 7

 비교 연산자

 < <= > >=  L -> R
 8

 등가 연산자

 == !=  L -> R
 9

 비트 연산자(AND)

 &   L -> R
 10  비트 연산자(XOR)  ^   L -> R
 11  비트 연산자(OR)  |   L -> R
 12  논리 연산자(AND)  &&   L -> R

 13

 논리 연산자(OR)

 ||   L -> R
 14

 조건 연산자

 ?: 

 R -> L
 15  대입 연산자

 = *= /= += -= %= <<= >>= &= ^= |= 

 R -> L
 16  나열 연산자  ,   L -> R


연산자와 함께오는 항의 개수에 따라 단항, 이항, 삼항 연산자로 나눌수도 있다.

붉은 색은 c++의 연산자.

신고

'20130827이전 > C&C++' 카테고리의 다른 글

디버깅  (0) 2013.01.05
조건문, 선택문  (0) 2012.12.28
c/c++ 연산자 정리  (0) 2012.12.23
c++ 표준 입력(cin) 의 문제점.  (1) 2012.12.23
2. 진법과 보수  (0) 2012.12.17
1. 프로그래밍 기본 및 C 데이터 타입  (0) 2012.12.13
Posted by 흰둥에미
TAG C, c++

1. 데이터의 크기

데이터의 최소 단위 - bit (0 또는 1을 나타낼 수 있음)

프로그래밍 시 최소 단위 - byte

1nibble = 4bits

1byte = 8bits

1Kbyte = 1024bytes

1Mbyte = 1024Kbytes

1Gbyte = 1024Mbytes

1Tbyte = 1024Gbytes

1Pbyte = 1024Tbytes

1Ebyte = 1024Pbytes

1Zbyte = 1024Ebytes

1Ybyte = 1024Zbytes


2. 진수 표현 및 변환

2진수 - 0 또는 1     (ex. 10101101010)

8진수 - 0 부터 7     (ex. 07390)

10진수 - 0 부터 9    (ex. 87233)

16진수 - 0 부터 9, A, B, C, D, E, F    (ex. 9A10C3E4)

2진수 -> 8진수

 뒤에서부터 세자리씩 끊어서 8진수 한자리를 만들어나감. (세 자리는 각각 4 2 1을 나타냄)

8진수 -> 2진수

 위와는 반대로, 8진수 한자리가 2진수 세자리(4 2 1) 씩으로 만들어짐.

2진수 -> 16진수

 뒤에서부터 네자리씩 끊어서 16진수 한자리를 만들어나감. (네 자리는 각각 8 4 2 1을 나타냄)

16진수 -> 2진수

 위와는 반대로, 16진수 한자리가 2진수 네자리(8 4 2 1) 씩으로 만들어짐.

10진수 -> 그외

 각 진법의 수로 더이상 나누어 지지않을때까지 나눔. 몫과 최후의 나머지까지가 변환된 그 진법의 수

그외 -> 10진수

 진법을 나타내는 수(2, 8, 16)를 해당 숫자의 위치만큼 곱한 후, 해당 숫자와 곱한다. 그리곤 그렇게 구해진 모든 수들을 더함.


3. 기본 데이터 타입

 char - 1byte : 문자 정수

 short - 2bytes : 정수

 int - 4bytes (64bits 운영체제에선 8bytes) : 정수

 long - 4bytes (운영체제 무관 4bytes) : 정수

 float - 4bytes : 실수

 double - 8bytes : 실수


4. 기본 데이터 타입의 범위

                 signed                 unsigned

char       -2^7 ~ 2^7-1             0 ~ 2^8-1

short     -2^15 ~ 2^15-1           0 ~ 2^16-1

int         -2^31 ~ 2^31-1           0 ~ 2^32-1

long      -2^31 ~ 2^31-1           0 ~ 2^32-1


float - 소수점 6째 자리까지 정밀도 보장.

double - 소수점 15째 자리까지 정밀도 보장.

신고

'20130827이전 > C&C++' 카테고리의 다른 글

디버깅  (0) 2013.01.05
조건문, 선택문  (0) 2012.12.28
c/c++ 연산자 정리  (0) 2012.12.23
c++ 표준 입력(cin) 의 문제점.  (1) 2012.12.23
2. 진법과 보수  (0) 2012.12.17
1. 프로그래밍 기본 및 C 데이터 타입  (0) 2012.12.13
Posted by 흰둥에미

전역 변수

20121210이전/c/c++ / 2011.08.18 17:49

헤더에는 변수를 선언하면 중복되서 선언이 될 수 있습니다.

pragma once나 define을 이용해도 동일한 cpp내에서의 컴파일전처리기 중복을 피할 뿐이지

c/cpp별로 생성되는 obj파일에는 다 들어가게 되거든요.

 

여기저기에 전역변수가 있다고 땡깡부리는거죠.

 

그래서 헤더에는 extern키워드를 이용해서 이런넘이 어딘가에 있다라고 명시만하고

실제 선언은 cpp에 하는거죠.

 

하지만 제 경우는 위 사항도 별로 추천하지 않습니다.

중복선언되면 역시 문제가 되거든요.

 

헤더에서 전역변수를 직접쓰고 초기화

(주로 전역적으로 쓸 배열이나 const같은...)

하면 알아보기도 쉽고 수정도 용이합니다.

 

 

컴파일러에게 이놈은 유일하다 라고 알려만 주면 됩니다

static을 써도 됩니다.

전역변수에 static을 붙이건 안붙이건 접근하는 방법에 차이는 없지만

컴파일러에게 유일하다는걸 알려주게 됩니다.

static은 내부적으로 쓸때 많이 씁니다. 함수에도 적용이 되죠.

어딘가에 A라는 함수나 변수가 선언되었을지도 모른다. 또는 선언되도 상관없이 동작하려면

static을 쓰면 그것은 그 파일내에서는 그이름으로 우선적이며 유일한 이름이 됩니다.

(이름이 유일한겁니다. 주소공간이 개별적으로 유일한게 아닙니다. 즉 접근은 같습니다. 컴파일러에게 이름이 여러개지만

중복되면 무시하고 이거써라 이런 의미)

extern과 반대되는 개념이죠

 

static은 const와 함께 쓰일 수 있습니다.

 

__declspec(selectany)는 헤더에 선언된 변수가 중복될수 없게 해줍니다.

이것이 선언된 변수는 컴파일러가 알아서 중복처리를 없애줍니다.

그리고 함수에 선언될수 없습니다(아마도)

const키워드와 쓸수 없습니다.

 

둘이 비슷하지만 static이 좀더 넓은 범주라고 할 수 있습니다.

함수에 쓰일 수 있고

헤더 A라는 함수를 선언할 경우

b.cpp c.cpp에 구현했을때 링크에러가 납니다

여기에 static을 붙이면 지들꺼로 동작합니다.

출처 -  http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=50&MaeulNo=20&no=676114&ref=676114


 

신고

'20121210이전 > c/c++' 카테고리의 다른 글

c++ 기초 -3  (0) 2011.11.06
c++ 기초 -2  (1) 2011.11.06
c++ 기초 -1  (0) 2011.11.06
함수 호출 규약  (0) 2011.10.12
warning C4251: 'blahblah::blahlah' : class 'std::vector<_Ty>' needs to have dll-interface to be used by clients of class 'blahblah'  (0) 2011.08.29
전역 변수  (1) 2011.08.18
Posted by 흰둥에미

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

티스토리 툴바