제1장 기초 사항 C++ 언어의 역사와 특징에 대하여 살펴본다. 입력과 출력에 대하여 학습한다. 비주얼 스튜디오를 설치한다.

Slides:



Advertisements
Similar presentations
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
Advertisements

컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++ 프로그래밍 기초 : 객체지향의 시작 C++로 프로그래밍한다는 것의 의미
Power C++ 제1장 C++ 소개.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Power Java 제3장 이클립스 사용하기.
최윤정 Java 프로그래밍 클래스 상속 최윤정
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
제 3장. C보다 나은 C++ II.
1. C++ 시작하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
C++ Programming: Sample Programs
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
정적 멤버 변수/정적 멤버 함수 - friend 함수/클래스 template
C++ Espresso 제12장 템플릿.
2주차: 변수, 수식, Control Flow.
14. 예외처리.
공학컴퓨터프로그래밍 Python 염익준 교수.
11장. 1차원 배열.
C#.
13. 연산자 오버로딩.
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
제14장 예외처리와 템플릿 예외 처리의 개요를 학습한다. 예외 처리를 적용할 수 있다. 템플릿의 개념을 이해한다.
Method & library.
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
Chap 6.Assembler 유건우.
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Lesson 2. 기본 데이터형.
제 1장. C++ 시작하기.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
01_ C++ 스타일의 입출력 02_ C 스타일의 입출력
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
에어 조건문.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
6강. 객체지향 프로그램의 시작 객체지향 이전의 프로그래밍 객체지향의 등장 배경과 이해 메소드의 이해
자바 5.0 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
CHAP 21. 전화, SMS, 주소록.
( Windows Service Application Debugging )
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Chapter 2 C++ 함수와 네임스페이스. 최호성.
TVM ver 최종보고서
발표자 : 이지연 Programming Systems Lab.
Numerical Analysis Programming using NRs
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
어서와 C언어는 처음이지 제21장.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
수업 내용 수업 목표 강의 내용 강의 계획서 교과서 및 참고도서 평가 방법 수강생의 학습 방법 제안 강의자료 사이트
13. 포인터와 배열! 함께 이해하기.
6 객체.
J2SE 설치 부산대학교 인공지능 연구실.
Presentation transcript:

제1장 기초 사항 C++ 언어의 역사와 특징에 대하여 살펴본다. 입력과 출력에 대하여 학습한다. 비주얼 스튜디오를 설치한다. 간단한 예제 프로그램을 컴파일하고 실행한다. 변수와 수식의 개념을 학습한다.

이번 장에서 만들어볼 프로그램

소프트웨어의 중요성 “우리 아이들의 상당수는 현재 존재하지 않는 일자리를 가질 것이다. 이런 시대에 대비하기 위해 반드시 필요한 것이 소프트웨어 교육이다.”

프로그램 프로그램은 작업지시서와 같다.

기계어 기계어(machine language): 0과 1로 구성되어 있는 “001101110001010...”과 같은 형태 컴퓨터는 이러한 이진수 형태를 바로 이해할 수 있다.

C++ 언어의 개발 C++는 1980년대 초에 AT&T 벨연구소의 Bjarne Stroustrup에 의하여 개발 C with Classes -> C++ C++는 C언어에 클래스 개념을 추가하고 이어서 가상 함 수, 연산자 중복 정의, 다중 상속, 템플릿, 예외 처리 등이 기능이 차례로 추가

C++ 버전

C++의 설계 철학 엄격한 타입 검사, 범용 언어, 효율적, 이식성 여러 가지의 프로그래밍 스타일을 지원 (절차 지향 프로 그래밍, 데이터 추상화, 객체 지향 프로그래밍, 일반화 프 로그래밍) 프로그래머가 자유롭게 선택할 수 있도록 설계 최대한 C와 호환 플랫폼에 의존적이거나 일반적이지 않은 특징은 제거

C++ 특징

C++ 특징 클래스(class) - 클래스를 이용하여 하나의 객체의 속성과 동 작들을 한곳으로 모아서 정의할 수 있다. 상속(inheritance) - 클래스를 상속받아서 기존의 코드를 재사 용할 수 있다. 연산자 중복(operator overloading) – 대상에 따라서 동일한 연산자로 새로운 연산을 정의할 수 있다. 함수 중복(function overloading) – 매개 변수만 다르면 동일 한 이름의 함수를 여러 개 만들 수 있다. new와 delete 연산자 – 동적 메모리 할당과 해제를 담당하는 연산자이다. 제네릭(generics) – 클래스 정의를 자료형에 상관없이 재사용 하는 기술이다.

모던 C++ C++ 11과 C++ (14)는, 많은 새로운 기능을 도입 범위(range)-기반의 반복 루프 타입 자동 추론 기능 보편적인 초기화 람다식

C++는 어디에 사용되는가?

C++의 실행 속도

C++의 장점 C++로 작성된 프로그램은 속도가 빠르다. 하드웨어에 접근할 수 있다. 메모리를 효율적으로 사용한다. C언어 프로그램을 그냥 가져다가 사용할 수 있다. 고성능의 게임이나 인공지능, 장치 드라이버에 적합하다.

절차적 프로그래밍 절차 지향 프로그래밍(procedural programming)은 기 본적으로 프로시저를 사용하여 프로그램을 작성하는 프 로그래밍 방식이다.

객체 지향 프로그래밍 객체 지향 프로그래밍에서는 데이터와 알고리즘이 묶여 있음.

중간 점검 문제 Java와 C#는 C++와 어떤 관계가 있을까? C++ 언어가 C 언어의 상위집합이라면 C언어를 반드시 배워야 할까?

C++ 프로그램 개발 단계 텍스트 에디터로 C++ 언어 프로그램을 작성하여 파일로 저장한다. 소스 파일을 컴파일한다. 프로그램을 실행한다.

비주얼 스튜디오란? 통합 개발 환경(IDE: integrated development environment)은 프로그램 개발에 필수적인 편집, 컴파일, 실행, 디버깅 기능을 하나로 통합한 도구

비주얼 스튜디오 버전 커뮤니티 버전(Visual Studio Community) 프로페셔널 버전(Visual Studio Professional) 엔터프라이즈 버전(Visual Studio Enterprise)

비주얼 스튜디오 설치

비주얼 스튜디오 설치

비주얼 스튜디오 설치

비주얼 스튜디오 설치

비주얼 스튜디오 설치

비주얼 스튜디오 설치

비주얼 스튜디오 사용

프로젝트란?

비주얼 스튜디오 사용

비주얼 스튜디오 사용

비주얼 스튜디오 사용

비주얼 스튜디오 사용

비주얼 스튜디오 사용

비주얼 스튜디오 사용

비주얼 스튜디오 사용

비주얼 스튜디오 사용

비주얼 스튜디오 사용

컴파일 오류

첫 번째 프로그램의 분석

// 첫 번째 예제 프로그램 주석(comment)이란 코드를 설명하는 글 2가지 종류의 주석 /* … */ // …

#include <iostream>

using namespace std; 변수 이름이나 함수 이름과 같은 수많은 이름(식별자)들 은 이름 공간(name space)이라고 하는 영역으로 분리되 어 저장

식별자를 사용하는 2가지 방법 std::cout << "Hello World!" << std::endl; using namespace std; cout << "Hello World!" << endl;

int main() 위의 문장은 main() 함수를 정의하는 문장

cout << "Hello World! " << endl ; 콘솔 화면에 “Hello World!"라는 문자열을 출력하고 이어 서 endl(end of line)을 출력하는 문장 Hello World!

return 0; 이 문장이 실행되면 main( ) 함수는 작업을 끝내고 외부로 0값을 반환

변수와 자료형 변수(variable)는 데이터(값)를 저장하는 상자

변수의 선언 int i; // 변수 i를 선언한다. i = 100; // 변수 i에 100을 저장한다. int i { 100 }; // int i=100;과 동일하다. string s { "hello" }; // string s="hello";과 동일하다.

자료형

자료형 정수형 부동소수점형

논리형 bool형의 변수는 참(true) 또는 거짓(false)만을 가질 수 있 다. #include <iostream> using namespace std; // 지금부터 이름공간으로 std를 사용한다. int main() { bool b; b = true; return 0; }

문자형 char ch; ch = 'a';

문자열 #include <iostream> #include <string> using namespace std; int main() { string s1 = "Good"; string s2 = "Morning"; string s3 = s1 + " " + s2 + "!"; cout << s3 << endl; return 0; }

문자열 연습 string s1 = "Good"; string s2 = "Bad"; bool b = (s1 == s2); s2 = s1 + " " + to_string(10) + "개"; cout << s2 << endl;

기호상수 const double TAX_RATE = 0.25; // 기호 상수 선언 int income=1000; income = income - TAX_RATE * income;

auto 키워드 자동 타입 추론(automatic type deduction) auto d = 1.0; auto add(int x, int y) { return x + y; } int main() auto sum = add(5, 6); 된다. return 0;

출력 int i; float f; cout << i; // 정수 형식으로 i의 값이 출력된다. cout << f; // 실수 형식으로 f의 값이 출력된다.

이름 입력받아서 출력하기 #include <iostream> #include <string> using namespace std; int main() { string name; cout << "이름을 입력하시오: "; cin >> name; cout << name << "을 환영합니다." << endl; return 0; }

입력 int i; cin >> i; // 정수를 읽어서 i에 저장 double f; cin >> f; // 실수를 읽어서 f에 저장

수식과 연산자

Lab: 최대한의 사탕 사기 철수가 가지고 있는 돈으로 최대한의 사탕을 사려고 한다. 현재 1000원이 있고 사탕의 가격이 300원이라고 하자. 최대한 살 수 있는 사탕의 개수와 나머지 돈은 얼마인가?

#include <iostream> using namespace std; int main() { int money; int candy_price; cout << "현재 가지고 있는 돈: "; cin >> money; cout << "캔디의 가격: "; cin >> candy_price; // 최대한 살 수 있는 사탕 수 int n_candies = money / candy_price; cout << "최대로 살 수 있는 캔디의 개수=" << n_candies << endl; // 사탕을 구입하고 남은 돈 int change = money % candy_price; cout << "캔디 구입 후 남은 돈=" << change << endl; return 0; }

Lab: 최대한의 사탕 사기 우리나라는 섭씨 온도를 사용하지만 미국에서는 화씨 온 도를 사용한다. 화씨 온도를 섭씨 온도로 바꾸는 프로그 램을 작성하여 보자.

#include <iostream> using namespace std; int main() { double f_temp = 60; double c_temp; c_temp = (5.0 / 9.0) * (f_temp - 32); cout << "화씨온도 " << f_temp << "도는 섭씨온도 " << c_temp << "입 니다." << endl; return 0; }

Lab: 주사위 게임 2개의 주사위를 던져서 주사위의 합을 표시하는 프로그 램을 작성해보자.

#include <iostream> #include <ctime> #include <cstdlib> using namespace std; int main() { srand(time(NULL)); int dice1 = (rand() % 6) + 1; int dice2 = (rand() % 6) + 1; cout << "두 주사위 합=" << dice1 + dice2 << endl; return 0; }

Q & A