블로그 이미지
송시혁

calendar

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 29 30

Notice

Tag

Recent Post

Recent Comment

Recent Trackback

Archive

2013. 10. 31. 14:09 c++





#include <iostream>
using namespace std;

int main()
{
  int num1;
  int num2;
  
  cout <<"정수1 입력 : ";
  cin >> num1;
  
  cout <<"정수2 입력 : ";
  cin >> num2;

  cout << num1 << " + " << num2 << = " << num1+num2 <<endl;
  cout << num1 << " - " << num2 << = " << num1-num2 <<endl;
  cout << num1 << " * " << num2 << = " << num1*num2 <<endl;
  cout << num1 << " / " << num2 << = " << num1/num2 <<endl;

  return 0;
}

이 소스에서 눈여겨 봐야 할 것은 cout과 cin, 그리고 endl이다.


cin= C언어에서 scanf와 비슷한 역할. 키보드로부터 입력받아 변수에 저장한다.


cout=cin과 반대되는 개념으로 C언어로 따지면 printf문이라고 생각하면 된다.


endl= 엔터, '\n'문자와 똑같은 역할을 한다.


 cout << num1 << " + " << num2 << = " << num1+num2 <<endl; 를 하나하나 설명한다면 다음과 같다.

(cin >>num1에서 100을 입력하고, cin >>num2를 25라고 입력했다고 가정.)

1. cout << num1= 100이 출력

2. ~<<" + "=  +가 출력

3. <<num2 = 25가 출력

4. <<"=" = '='이 출력

5. << num1+num2= 100+25를 연산한 125가 출력.

6. <<endl =개행문자와 같이 줄바꿈과 동시에 캐리지 리턴된다.(엔터)


이것을 모아서 써보면 다음과 같다.


100 + 25 = 125

(공백 엔터)


#include <iostream>

using namespace std;

int main()
{
  int a=100;

  cout <<"hello hi hahaha\n"

  printf("sssshello hi hahaha\n");

  cout <<"0x" <<hex <<<<"\n";
  printf("0x%x\n", a);
  
  cout <<<<endl <<endl <<endl<<endl<<endl<<endl;

  return 0;
}

이 코드는 숫자 100이 변수 a의 초기화 되고 있다. 그리고 출력하는데 cout <<hex <<라고 되어있다.

16진수로 출력시 cout <<hex라고 적은 뒤, 뒤에 출력하고자 하는 숫자를 적으면 된다.


이 코드를 실행한다면, 100의 16진수인 64가 출력이 된다.


#include <iostream>
using namespace std;

int main()
{
  int a=20;
  int b=3;
  float c;
  float d;

  c=a/3.5f;//이부분은 c에서와 똑같이 자동형변환인 묵시적 형변환.
  //d=(float)a/b;
  d=static_cast<float>(a)/b;

  cout << "연산 결과: 정수형 = " << c << endl;
  cout << "연산 결과: 실수형 = " << d << endl;


  return 0;
}

 d=static_cast<float>(a)/b; 이것은 캐스팅 부분이다. 강제로 캐스팅 하는 것을 명시적 형 변환이라 하는데 
기존의 C언에서는 변환하고자 하는 코드왼쪽에 ()를 치면 되었다. 물론 c++도 가능하다. 

하지만,  위의 코드와 같이 c++에서는 static_cast<자료형>(캐스팅대상)을 사용한다. 








































'c++' 카테고리의 다른 글

11월 4일 함수와 레퍼런스(정리 중)  (0) 2013.11.04
11월 4일 동적할당  (0) 2013.11.04
11월 1일 레퍼런스 변수  (0) 2013.11.03
11월 1일 문자열, 문자배열 c++에서 주의점  (0) 2013.11.03
11월 1일 namespace 기초  (0) 2013.11.01
posted by 송시혁