본문 바로가기

C++ 프로그래밍 (1학년 2학기)

230914 C++ 프로그래밍 2주차

1. Visual Studio Code에서 자동으로 생성되는 C++ 코드

#include <iostream>
int main()
{
std::cout << "Hello World!\n";
}​

2. C++, 자바스크립트, 파이썬, C# 언어 모니터로 출력하는 방법

언어 출력방법
C++ std::cout << "출력 내용";
Javascript console.log("출력 내용");
Python print("출력 내용")
C# Console.WriteLine("출력 내용");

3.  C언어와 C++의 입력 코드 차이점

#include <iostream>
#include <stdio.h>
int main()
{
std::cout <<"Hello World!\n";
printf("소프트웨어\n");
}
4.  아래의 코드들은 다 같은 의미이지만, 아래로 갈수록 많이 쓰는 방법이다.
#include <iostream>
int main()
{
std::cout << "Hello" << std::endl;
std::cout << "Hello1" << std::endl;
}.
#include <iostream>
using namespace std;
int main()
{
cout << "Hello" << endl;
cout << "Hello1" << endl;
}​
#include <iostream>
using std::cout; //더 좋은 방법
using std::endl;
int main()
{
    cout << "Hello" << endl;
    cout << "Hello1" << endl;    
}

5. C++에서 나이를 입력받고 출력하는 코드

#include <iostream>
using std::cout;
using std::cin;
int main()
{
	int input;
	cout << "나이를 입력하세요 : ";
	cin >> input;
	cout << "당신의 나이는" << input << "세 입니다.\n";
	return 0;
}

6. 

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
	int a,b,c;
	a=100;
	b=200;
	c=a+b;
	printf("%d, %d, %d\n",a,b,c);//C, 함수
	cout<<a<<','<<b<<','<<c;//C++, 객체
	return 0;
}

7.

8. 아래의 첫번째 소스 코드는 C언어로 작성한 것, 두번째 소스는 첫번째 소스를 C++언어로 변경한 것이다.

#include <stdio.h> //printf()함수 원형이 선언되어 있음, 전처리기
int main(void) //콘솔 기반 C프로그램의 시작점
{ //main()함수의 시작
	int num1, num2; //변수 선언문, 실행문 보다 먼저 씀
	/* 변수명: 영문자(A-Z, a-z), 숫자(0-9), 밑줄(_)로 구성
	 변수(variable):프로그램이 실행되는 동안 자료를
	 기억시키기 위한 기억장소의 이름 */
	num1=100; //대문자와 소문자는 다른 변수로 인식
	num2=-300; //변수에 상수 대입
	printf("두 수의 합은 %d입니다.\n",num1+num2);
	//표준 라이브러리 함수
	return 0;
} //main()함수의 끝
#include <iostream>
int main() {
    int num1, num2;
    num1 = 100;
    num2 = -300;
    std::cout << "두 수의 합은 " << num1 + num2 << "입니다." << std::endl;
    return 0;
}

9. 카멜 표기법

  • 변수명: 변수 이름을 표현할 때 카멜 케이스를 사용할 수 있습니다.
    예: myVariable, userCount, totalAmount
  • 함수명: 함수 이름에도 카멜 케이스를 적용할 수 있습니다.
    예: calculateTotal(), getUserInfo(), openFile()
  • 클래스명: 클래스 이름은 주로 카멜 케이스로 작성합니다.
    예: CarModel, CustomerAccount, EmployeeData
  • 메소드명: 클래스 내의 메소드(함수) 이름에도 카멜 케이스를 사용합니다.
    예: getUserName(), calculateTotalAmount()

10.

C, C++에서 문자 하나를 쓸 땐 작은따옴표, 문자 여러개나 한글을 쓸 땐 큰따옴표를 사용한다.

11. 

12. 이스케이프 시퀀스를 사용하는 프로그래밍 언어

  • C 및 C++, Python, Javascript, JAVA, C#

13. C, C++,JavaScript,C#에서 사용하는 자료형

자료형 설명
C
int 정수를 나타내는 자료형입니다.
float 부동 소수점 숫자를 나타내는 자료형입니다.
double 더 큰 범위의 부동 소수점 숫자를 나타내는 자료형입니다.
char 문자를 나타내는 자료형입니다.
bool 참(True) 또는 거짓(False)을 나타내는 자료형입니다.
void 반환 값이 없는 함수나 포인터를 나타내는 자료형입니다.
C++
string 문자열을 나타내는 자료형으로 C++ 표준 라이브러리에서 제공됩니다.
vector 동적 배열을 나타내는 자료형으로 C++ 표준 라이브러리에서 제공됩니다.
map 키-값 쌍을 나타내는 자료형으로 C++ 표준 라이브러리에서 제공됩니다.
JavaScript
number 정수와 부동 소수점 숫자를 모두 포함하는 자료형입니다.
string 문자열을 나타내는 자료형입니다.
boolean 참(True) 또는 거짓(False)을 나타내는 자료형입니다.
undefined 값이 할당되지 않았을 때 나타나는 자료형입니다.
null 값이 없음을 나타내는 자료형입니다.
object 객체를 나타내는 자료형으로, 모든 객체의 기본 자료형입니다.
array 배열을 나타내는 자료형입니다.
C#
int 정수를 나타내는 자료형입니다.
float 단정밀도 부동 소수점 숫자를 나타내는 자료형입니다.
double 배정밀도 부동 소수점 숫자를 나타내는 자료형입니다.
char 16비트 유니코드 문자를 나타내는 자료형입니다.
bool 참(True) 또는 거짓(False)을 나타내는 자료형입니다.
void 반환 값이 없는 함수를 나타내는 자료형입니다.
string 문자열을 나타내는 자료형입니다.
DateTime 날짜와 시간을 나타내는 자료형입니다.
decimal 고정 소수점 숫자를 나타내는 자료형으로 정확한 십진법 계산을 지원합니다.
object 모든 객체의 기본 자료형입니다.
dynamic 런타임 시간에 자료형이 결정되는 자료형입니다.

14. 변수를 선언하지 않고 사용할 수 있는 프로그래밍 언어

  • Python, Ruby, 일부 JavaScript

15. implicit arithmetic conversions(자동 형 변환)을 제공하는 프로그래밍 언어

  • C 및 C++:
    C와 C++ 언어는 암시적 산술 변환을 지원합니다. 이는 서로 다른 자료형의 피연산자가 있을 때 컴파일러가 자동으로 형 변환을 수행하여 적절한 연산을 수행할 수 있도록 합니다.
    예를 들어, int와 float 변수가 혼합된 연산에서 int가 float로 자동 변환될 수 있습니다.
  • Java:
    Java는 암시적 산술 변환을 지원합니다. 서로 다른 자료형의 피연산자가 있을 때, Java는 자동으로 형 변환을 수행하여 두 피연산자를 동일한 자료형으로 맞추고 연산을 수행합니다.
  • C#:
    C#도 암시적 산술 변환을 지원합니다. 자료형 변환 규칙에 따라 서로 다른 자료형의 피연산자가 있을 때 컴파일러가 자동으로 형 변환을 수행합니다.
  • Python:
    Python은 동적으로 자료형을 결정하므로 암시적 산술 변환이 일반적입니다. 서로 다른 자료형의 피연산자가 있을 때 Python은 자동으로 형 변환을 수행하여 연산을 수행합니다.

16. 프로그래밍 언어에서 implicit의 의미

  • 프로그래밍 언어에서 "implicit"는 "암시적"이라는 의미를 가진다. 이는 어떤 동작이나 변환 등이 명시적으로 표시되지 않고 자동적으로 이루어지는 것을 의미한다. 다시 말해, 프로그래머가 해당 동작을 명시적으로 지정하지 않아도 언어나 컴파일러가 자동으로 처리한다.

 

17. C, C++언어의 연산자 우선순위

우선순위 연산자 설명
1 (), [], ->, . 괄호, 배열 요소 선택, 구조체 멤버 접근
2 !, ~, ++, --, - (단항) 논리 NOT, 비트 NOT, 증가/감소, 단항 음수
3 *, /, % 곱셈, 나눗셈, 나머지 연산
4 +, - 덧셈, 뺄셈
5 <<, >> 비트 왼쪽 시프트, 비트 오른쪽 시프트
6 <, <=, >, >= 비교 연산 (작음, 작거나 같음, 큼, 크거나 같음)
7 ==, != 비교 연산 (같음, 같지 않음)
8 & 비트 AND
9 ^ 비트 XOR
10 ` `
11 && 논리 AND
12 `  
13 ? : 조건식 (삼항 연산자)
14 =, +=, -= 등등 대입 및 대입 연산자 (할당)
15 , 쉼표 연산자 (다중 표현식을 순차적으로 평가)

18. 시험에 꼭 나오는 cast 연산자

  • cast 연산자란?
    • (자료형)값_이나_변수 (int)x, (char)ch,(double)sum
    • 빨간 글자가 cast 연산자
#include <iostream>
using std::cout;
int main()
{
	int x = 10, y = 4;
	cout << (double)10/4 << '\n';
	cout << (double)x / y;
	return 0;
}

 

댓글