C에서 C++로 이동

6280 단어
이것은 C 프로그래밍 언어의 구문에 익숙하고 주로 경쟁 프로그래밍을 위해 C++로 전환하려는 사람들을 위한 짧은 안내서입니다.

헤더 파일



  • C에서는 일반적으로 헤더 파일을 사용합니다.
  • stdio.h
  • math.h
  • string.h



  • C++에서는 일반적으로 헤더 파일을 사용합니다.
  • 아이오스트림
  • cmath
  • cstring
  • 기타 STL 라이브러리

  • C++에서는 C와 달리 많은 헤더 파일을 포함할 필요가 없습니다. 대신 대부분의 필수 헤더 파일을 포함하는 하나의 헤더 파일만 포함할 수 있습니다.

  • #include <bits/stdc++.h>
    


    입력 출력 기능


  • C에서 기본 입력 출력 기능은 scanf, printf, gets, puts입니다.
  • C++에서는 cin, cout, getline 을 사용합니다.
  • 새 줄의 경우 C에서는 printf 문에서 '\n'을 사용하고 C++에서는 cout 문에서 endl을 사용할 수 있습니다.


  • 주의: endl은 출력을 느리게 하므로 '\n'을 사용하는 것이 좋습니다.
  • 라인을 입력하려면, 즉 공백이 있는 문자열을 입력하려면 C++에서 getline을 사용하고 C에서는 getline을 사용합니다.
  • cin, cout 등과 같은 모든 기능은 표준 네임스페이스에 정의되어 있습니다. 따라서 직접 사용하는 대신 매번 std를 작성하지 않도록 일반적으로 네임스페이스를 추가합니다. 네임스페이스에 대해 많이 이해할 필요는 없습니다. C++ 코드의 맨 위에 다음 명령문을 추가하는 것을 잊지 마십시오.

  • using namespace std;
    


    여러 줄 입력



    다음 형식으로 입력해야 한다고 가정합니다.
  • 첫 번째 줄에는 정수, 부동 소수점 숫자 및 문자가 포함되어 있습니다.
  • 두 번째 줄에는 단어 사이에 공백이 있는 문장이 있습니다.

  • 이제 이 코드를 실행해 보십시오.
  • C에서 이에 대한 코드는 다음과 같습니다.

  • #include <stdio.h>
    // No namespace in C
    
    int main()
    {
      int a;
      float b;
      char c;
      char d[100]; // No data-type for string
    
      scanf("%d %f %c",&a,&b,&c);
      scanf("\n");
      gets(d);
      printf("%d %f %c %s",a,b,c,d);
      return 0;
    }
    


  • C++에서 코드는 다음과 같습니다.

  • #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
      int a;
      float b;
      char c;
      string d;
    
      cin>>a>>b>>c;
      gets(d);
      gets(d);
      cout<<a<<" "<<b<<" "<<c<<" "<<d;
      return 0;
    }
    



  • 참고: cpp 코드(12행)에서 두 개의 get을 사용하고 C 코드(12행)의 scanf 문에서 '\n'을 사용하는 것에 유의하십시오. 이는, b, c를 입력으로 받은 후 엔터를 누르면 '\n'이 d에 저장되기 때문입니다. 따라서 d를 다시 입력해야 합니다. C 코드에서는\n도 scanf 문에서 입력으로 사용합니다. 따라서 get을 사용할 필요가 없습니다. scanf에서\n을 사용하지 않으면 두 개의 get을 사용해야 합니다. 이것은 약간 혼란스러울 수 있지만 연습하면서 이해하게 될 것입니다.

  • 차이점 요약



    차이점을 더 잘 이해하려면 아래 표를 참조하세요.



    C++
    설명


    #include<stdio.h> #include<math.h> ....#include <bits/stdc++.h>하나의 헤더 파일만 포함해야 합니다.

    네임스페이스 문이 없음
    네임스페이스 std 사용
    네임 스페이스 std는 cpp에서 사용됩니다.

    int a;scanf("%d",&a);printf("%d,a);
    정수 신 >> 에이; cout << a;
    scanf 및 printf 대신 cin, cout 사용

    정수 플로트 b; char c;scanf("%d %f %c",&a,&b,&c);printf("%d %f %c",a,b,c);
    정수 플로트 b; 문자 c; cin >> a >> b >> c;cout << a << b << c;
    동시에 다중 입력 출력

    printf("%d\n",a);
    cout << a << endl;
    개행 문자가 뒤따르는 일부 변수를 인쇄하려면

    문자 a[100]; scanf("%s",a);
    char a[100];cin >> a;
    공백 없이 문자열을 입력하려면

    char a[100];gets(a);
    문자열 a; getline(cin,a);
    줄을 입력하려면 참고 - 문자 배열을 만들려면 cpp에서도 gets를 사용해야 합니다.

    좋은 웹페이지 즐겨찾기