카테고리 없음

202208026 c++프로그래밍 2주차과

jong133 2024. 9. 10. 13:46

뤼튼으로 C언어와 C++언어의 사용이해와 장담점을 표로작성해줘 결과입니다.

 

답변

아래는 C언어와 C++언어의 사용 이해 및 장단점을 비교한 표입니다.

항목C 언어C++ 언어
사용 이해 절차적 프로그래밍 언어로, 시스템 프로그래밍에 적합 객체 지향 프로그래밍을 지원, 소프트웨어 개발에 유용
장점 - 간결하고 효율적인 코드 작성 가능<br>- 하드웨어에 가까운 저수준 접근<br>- 다양한 플랫폼에서 사용 가능 - 객체 지향 개념으로 코드 재사용 용이<br>- 템플릿과 STL(표준 템플릿 라이브러리) 지원<br>- 강력한 타입 검사와 예외 처리 가능
단점 - 메모리 관리가 복잡하고 오류 발생 가능성 높음<br>- 객체 지향 기능 부족 - 상대적으로 복잡한 문법<br>- 컴파일 시간 증가 가능성<br>- 메모리 사용량이 많을 수 있음

이 표를 통해 두 언어의 차이점과 각 언어의 장단점을 쉽게 비교할 수 있습니다.

최초로 만든 c++소스

c++에서 \n과 std:end l의 차이를 표로 작성해줘

 

답변

아래는 C++에서 \n과 std::endl의 차이를 비교한 표입니다.

항목\nstd::endl
기능 줄 바꿈을 수행 줄 바꿈을 수행하고 출력 버퍼를 비움
버퍼 비우기 버퍼를 비우지 않음 출력 버퍼를 플러시(flush)함
성능 상대적으로 빠름 상대적으로 느림
사용 예 std::cout << "Hello\n"; std::cout << "Hello" << std::endl;
주요 용도 단순한 줄 바꿈 줄 바꿈과 동시에 출력 즉시 확인 필요시 사용

이 표를 통해 두 방법의 차이점을 쉽게 이해할 수 있습니다.

#include <stdio.h>

int main()
{
    printf("lee jong yun\n");

    return 0;
} //.c
#include <iostream>

int main()
{
    std::cout<<"lee jong yun\n"<<std::endl;

    return 0;
} //.cpp ctrl+k+c,ctrl+k+u
#include <iostream>
using namespace std;
int main()
{
    cout << "lee jong yun\n" << endl;

    return 0;
} //.cpp
#include <iostream>
//using namespace std;
using std::cout;
using std::endl;
int main()
{
    cout << "Lee jong yun\n" << endl;

    return 0;
} //.cpp

제공하신 4개의 C와 C++ 코드 샘플을 비교해 보겠습니다. 각 코드의 특징과 차이점을 설명합니다.

1. C 코드

c

#include <stdio.h>

int main()
{
    printf("lee jong yun\n");

    return 0;
}
  • 언어: C
  • 라이브러리: stdio.h를 사용하여 표준 입출력을 처리합니다.
  • 출력 방법: printf 함수를 사용하여 문자열을 출력합니다. \n으로 줄 바꿈을 수행합니다.
  • 특징: C 언어의 기본적인 출력 방식이며, 형식화된 출력에 유리합니다.

2. C++ 코드 1

cpp

#include <iostream>

int main()
{
    std::cout << "lee jong yun\n" << std::endl;

    return 0;
}
  • 언어: C++
  • 라이브러리: iostream을 사용하여 입출력을 처리합니다.
  • 출력 방법: std::cout을 사용하여 문자열을 출력하며, std::endl로 줄 바꿈과 버퍼 비우기를 동시에 수행합니다.
  • 특징: C++의 객체 지향적 접근 방식을 보여줍니다. std::를 명시적으로 사용하여 네임스페이스를 구분합니다.

3. C++ 코드 2

cpp

#include <iostream>
using namespace std;

int main()
{
    cout << "lee jong yun\n" << endl;

    return 0;
}
  • 언어: C++
  • 라이브러리: iostream을 사용합니다.
  • 출력 방법: cout과 endl을 직접 사용하여 출력합니다. using namespace std; 덕분에 std::를 생략할 수 있습니다.
  • 특징: 코드가 더 간결해지지만, 네임스페이스 충돌의 위험이 있습니다.

4. C++ 코드 3

cpp

#include <iostream>
//using namespace std;
using std::cout;
using std::endl;

int main()
{
    cout << "Lee jong yun\n" << endl;

    return 0;
}
  • 언어: C++
  • 라이브러리: iostream을 사용합니다.
  • 출력 방법: cout과 endl을 직접 사용합니다. using 선언을 통해 필요한 것만 가져옵니다.
  • 특징: 네임스페이스의 충돌을 피하면서 간결한 코드를 작성할 수 있습니다.

종합 비교

항목C 코드C++ 코드 1C++ 코드 2C++ 코드 3

언어 C C++ C++ C++
입출력 라이브러리 stdio.h iostream iostream iostream
출력 방법 printf std::cout cout cout
버퍼 비우기 없음 std::endl로 버퍼 비움 endl으로 버퍼 비움 endl으로 버퍼 비움
네임스페이스 해당 없음 std:: 사용 using namespace std; 사용 using std:: 사용
문법 간결성 간단하지만 제한적 상대적으로 간결 더 간결 충돌 방지 및 간결함 유지

이 표를 통해 각 코드의 특징과 차이점을 쉽게 비교할 수 있습니다.

출처:Smile Han의 C언어 프로그래밍 https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA

#include int main(void) { int num; printf("숫자 하나를 입력하세요="); scanf("%d",&num); printf("입력받은 수는 %d입니다.\n",num); return 0; }// c언어와 c++의 차이

이렇게 c를 c++로 전환해주는 사이트도 있다.

나이를 키보드로 입력 받아 모니터로 출력해보자.

 

답변

아래는 C와 C++에서 키보드로 나이를 입력받아 모니터에 출력하는 코드 예제입니다.

C 코드

c

#include <stdio.h>

int main()
{
    int age;

    printf("나이를 입력하세요: ");
    scanf("%d", &age);

    printf("입력한 나이는: %d세입니다.\n", age);

    return 0;
}

C++ 코드 1

cpp

#include <iostream>

int main()
{
    int age;

    std::cout << "나이를 입력하세요: ";
    std::cin >> age;

    std::cout << "입력한 나이는: " << age << "세입니다." << std::endl;

    return 0;
}

C++ 코드 2

cpp

#include <iostream>
using namespace std;

int main()
{
    int age;

    cout << "나이를 입력하세요: ";
    cin >> age;

    cout << "입력한 나이는: " << age << "세입니다." << endl;

    return 0;
}

C++ 코드 3

cpp

#include <iostream>
using std::cout;
using std::cin;
using std::endl;

int main()
{
    int age;

    cout << "나이를 입력하세요: ";
    cin >> age;

    cout << "입력한 나이는: " << age << "세입니다." << endl;

    return 0;
}

이 코드들은 각각 C와 C++ 언어에서 사용자가 입력한 나이를 받아 출력하는 예제입니다. 사용자가 나이를 입력하고, 그 값을 모니터에 출력합니다. 필요한 경우 선택하여 사용하시면 됩니다. 

 

문자는옆쪽에 작은따음표 문자열은 옆쪽에 큰따음표

출처:Smile Han의 C언어 프로그래밍 https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA

 

Smile Han

 

www.youtube.com

 

이스케이프 시퀀스를 사용하는 프로그래밍언어를 모두다 알려줘

 

답변

이스케이프 시퀀스는 여러 프로그래밍 언어에서 문자열 내에서 특정 기능을 수행하기 위해 사용됩니다. 주요 프로그래밍 언어와 그 예시는 다음과 같습니다:

  1. C
    • 예: \n (줄 바꿈), \t (탭), \\ (백슬래시)
  2. C++
    • 예: \n, \t, \\
  3. Java
    • 예: \n, \t, \\
  4. Python
    • 예: \n, \t, \\
  5. JavaScript
    • 예: \n, \t, \\
  6. Ruby
    • 예: \n, \t, \\
  7. PHP
    • 예: \n, \t, \\
  8. Swift
    • 예: \n, \t, \\
  9. Go
    • 예: \n, \t, \\
  10. Kotlin
    • 예: \n, \t, \\
  11. Rust
    • 예: \n, \t, \\
  12. Perl
    • 예: \n, \t, \\

이스케이프 시퀀스는 문자열 내에서 특수 문자를 삽입하거나 포맷팅을 조정하는 데 매우 유용합니다. 각 언어에서 사용되는 이스케이프 시퀀스의 종류는 대체로 유사하지만, 특정 언어에 따라 추가적인 이스케이프 시퀀스가 있을 수 있습니다.

문자열 리터럴은 튼따옴표로 묶어서표현하고 null문자가 제일뒤에 자동으로 붙여진다.

출처:Smile Han의 C언어 프로그래밍 https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA

 

Smile Han

 

www.youtube.com

이스케이프 시퀀스\n은 단독으로 쓰일때 큰따음표를 해도되지만 두개가 모여 문자가 되므로 작은따음표를 사용하는것이 좋다.

출처:Smile Han의 C언어 프로그래밍 https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA

 

Smile Han

 

www.youtube.com

전처리기(preprocessor)는 컴파일하기전에 일어나는 동작이다.

#으로 시작한다.

프로그램중에 사이즈가 나오면 기계적으로 100으로 컴파일하기전에 바꿔라

출처:Smile Han의 C언어 프로그래밍 https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA

 

Smile Han

 

www.youtube.com

프로그램중에 가로파일을 포함시켜 사용하는게 #include이고 표준헤더파일도 큰따음표를 이용해 포함시킬수있다.

출처:Smile Han의 C언어 프로그래밍 https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA

 

Smile Han

 

www.youtube.com

(double)10/4=2.5 즉 소수점 .을 안붙히고 (double)만앞에 붙여주면 그 원하는형태로 결과가 나오는데 그런연산자가 cast 연산자이다. 

출처:Smile Han의 C언어 프로그래밍 https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA

 

Smile Han

 

www.youtube.com

cast연산자는 잠깐 강제로 변형을시키는것이다. 많이 쓰인다.

혼합대입연산자 -=,*=,/=,%=,<<=,>>=,&=,^=,|=

출처:Smile Han의 C언어 프로그래밍 https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA

 

Smile Han

 

www.youtube.com

<<=비트와이즈(~별로) 시프트연산자

출처:Smile Han의 C언어 프로그래밍 https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA

 

Smile Han

 

www.youtube.com

C언어와 C++언어의 식별자,상수,자료형,변수,전처리기,연산자 문법을 정리해줘