본문 바로가기

Theory/Lecture

[C/C++] 원시데이터 유형과 연산


숫자 데이터 유형


printf 와 scanf
C에서의 표준 입출력함수는 printf문과 scanf문입니다. 그 각 문법은

 
입니다. 위의 scanf는 a라는 변수에 사용자가 키보드로 입력한 숫자를 정수형으로 저장하겠다는 뜻이구요. 그 아래 printf의 두번째 부분만 보면 a b c 라는 변수를 각각 정수형,  실수형, 문자형으로 화면에 출력하겠다는 뜻입니다. scanf나 printf에 사용되는 % 문자는 각 데이터의 형을 의미하는데요


위에 소개되어있습니다. 

C++ 표준 입출력 함수 cout과 cin
C++에서는 위의 printf와 scanf를 다 사용할 수 있지만, 또한 별도의 표준 입출력함수를 준비해 두고 있습니다. 그것이 cout과 cin인데요. 사용법은 조금 익숙해지면 좀 더 편합니다.

 
위 cin과 cout을 가지고 간단한 프로그램하나 보도록 하죠

 
두번째 줄의 using namespace std; 는 C++에서는 혹시 있을 수 있는 명명(naming) 문제를 해결하기 위해 각 모든 이름은 namespace를 가지도록 하고 있는데요. 우리가 사용할 cout, cin은 std namespace에 속해 있습니다. 위 두번째 줄의 명령어를 주지 않으면, std::cout ---- 과 같은 형태로 사용해줘야해서 좀 불편합니다. 그래서 미리 std namespace라고 선언해 두는 것입니다. 6번째 줄에 cin >> radius는 사용자에게 어떤 숫자(double 형인)를 입력받아 radius라는 변수에 저장하겠다는 것입니다. 나머지는 간단하니 반지름을 입력받아 원의 넓이를 계산하는 프로그램이라는 것을 아실 수 있을 것입니다.

각종 연산자


위의 수관련 연산자는 뭐 사칙연산(+,-,*,/)이니 큰 어려움이 없을 것이고 마지막 %는 나머지를 의미합니다. c = a % b 라고 하면 a를 b로 나눈 나머지를 c에 저장하라는 뜻이지요.


위는 간단한 단축연산자를 보여줍니다.

 
위는 증감연산자인데요. 증감연산자에 대한 간단한 예제를 하나보면

 
위는 10 * i++ 라고 하면 10과 i를 더해서 newNum에 저장하고 난 다음 i는 11이 된다는 것입니다. 


그러나 위의 10 * (++i)는 먼저 i를 1 증가시킨 후에 10과 더하겠다는 의미입니다.

참고로

 
이스케이프 문자와

 
ASCII 코드입니다. 


자료

[2009] 02.pdf



반응형