728x90
- 원시 프로그램(source program)
소스 코드(source code)라고도 하며 프로그래머가 작성한 프로그램
C 언어로 작성된 프로그램은 .c 확장자
C++은 .cpp, C#은 .cs, JAVA는 .java, Objective-C는 .m, swift는 .swift, Go는 .go, Kotlin은 .kts, Python은
.py
- 링킹
- 소스 비교
#include <stdio.h>
int main()
{
printf("Hello World");
return 0;
} //c
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello World";
return 0;
} //cpp
public class Main
{
public static void main(String[] args) {
System.out.println("Hello World");
}
} //java
fun main() {
println!("Hello World");
} //rust
fun main() {
println("Hello World")
} //kt
- c++과 Java의 차이점
구분 | C++ | Java |
기본 철학 | 절차적 및 객체지향 프로그래밍 지원 | 완전한 객체지향 프로그래밍 언어 |
메모리 관리 | 개발자가 직접 메모리를 관리.new로 할당하고delete로 해제함. | 가비지 컬렉션(Garbage Collection)으로 자동 메모리 관리 |
플랫폼 독립성 | 플랫폼에 종속적. 컴파일된 코드는 특정 시스템에서만 실행 가능. | "Write once, run anywhere" 원칙에 따라 모든 플랫폼에서 실행 가능(JVM 필요) |
멀티스레딩 지원 |
STL 라이브러리와 같은 외부 라이브러리를 이용해 멀티스레딩 구현 가능. 하지만 기본 언어 수준에서는 지원하지 않음.
|
내장된 멀티스레딩 지원으로 쉽게 멀티스레드 프로그래밍 가능 |
오류 처리 | 예외 처리가 선택사항임. 주로 오류 코드 반환을 사용함. | 예외 처리가 필수적임. try-catch 문법을 사용하여 예외를 명시적으로 처리해야 함. |
실행 방식 | 컴파일 후 바이너리 형태의 실행 파일 생성, OS에서 직접 실행됨. | 소스코드가 바이트코드로 변환되고 JVM에서 해석되어 실행됨. |
- 실습과제 p.26
- 실습과제 p.26
#include <stdio.h>// 전처리기, 5장
#define SIZE 3 // 전처리기, 5장
typedef struct { // 구조체, 12장
char name[10];
double w;
}WEIGHT;
void swap(WEIGHT*, WEIGHT*); // 함수 선언, 8장
int main(void)
{
WEIGHT man[SIZE] = { {"한개발",57.5}, // 배열, 10장
{"엄청군",125.6},
{"갈비양",35.7} };
int i, j; // 변수, 3장, 기억 클래스,9장
for (i =0; i <2; i++) { // 제어문, 7장
for (j = i +1; j <3; j++) { // 연산자, 6장
if (man[i].w < man[j].w) {
swap(&man[i], &man[j]);
} // call by reference, 11장
}
}
printf(" 이름 \t체중\n");// 표준 라이브러리 함수, 4장
for (i =0; i <3; i++) {
printf(" %s %5.1f\n", man[i].name, man[i].w);
}
return 0;
} //main()함수 끝
void swap(WEIGHT* mani, WEIGHT* manj)// 포인터, 11장
{ //함수 정의
WEIGHT temp;
temp =*mani;
*mani =*manj;
*manj = temp;
}
- 토큰과 구두점

- 리터럴
- 식별자/상수/자료형/변수/주석문 예제
#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()함수의 끝
- java, c, 파이썬에서 연산자 중에 다른 의미를 주는 연산자는?
1. 증감 연산자 (++, --):
C와 Java:변수의 값을 1 증가시키거나 감소시키는 단항 연산자입니다. 전위(++i)와 후위(i++) 사용이 가능합니다.
Python:Python은 증감 단항 연산자를 지원하지 않습니다. 대신+= 1또는- = 1을 사용해야 합니다.
2. 부울 값 (True, False):
C:C에서 '0'은 false를 의미하고 '0'이 아닌 모든 값은 true를 의미합니다.
Java와 Python:Java와 Python 모두 True와 False라는 부울 값이 있습니다.
3. 논리적 NOT (! , not):-C 와 Java:
논리적 NOT을 나타내기 위해 '!' 기호를 사용합니다.-Python: 논리적 NOT을 나타내기 위해 'not' 키워드를 사용합니다.
- 과제
// Example program
#include <iostream>
#include <string>
int main()
{
std::string name;
std::cout <<"What is your name? ";
getline (std::cin, name);
std::cout <<"Hello, "<< name <<"!\n";
}
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello World";
return 0;
}
728x90
'C++' 카테고리의 다른 글
5-2 객체지향 프로그래밍 (0) | 2023.10.12 |
---|---|
5-1 구조체 (2) | 2023.10.11 |
4-2 함수(funtion)2 (0) | 2023.09.28 |
4-1 함수(funtion) (0) | 2023.09.27 |
2-1 C문법 정리 (0) | 2023.09.13 |