달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  



 

매크로 상수의 정의

#define PI 3.14

 

전처리기 지시자

#define

매크로 상수를 선언하기 위해서 #define 지정

매크로 상수 이름

PI

매크로 상수의 이름을 지정

치환값

3.14

매크로 상수에 치환되는 지정

 

 

 

 

매크로 상수의 장점

·         프로그램 수정이 용이합니다.

·         숫자 대신에 직관적인 의미를 갖는 이름을 부여할 있습니다.

·         변수와 달리 추가적인 메모리 공간을 요구하지 않습니다.

·         코드에 등장하는 상수들을 한곳에 모아서 관리할 있습니다.

 

 

 

 

매크로 상수의 해제

#undef PI

 

전처리기 지시자

#undef

매크로의 선언을 해제하기 위해서 #undef 지정

해제할 매크로 이름

PI

해제할 매크로 이름 지정(미리 정의된 매크로 상수)

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

   

매크로 함수

#define MULTI(a, b) a*b

   

전처리기 지시자

#define

매크로 함수를 선언하기 위해서 #define을 지정

매크로 함수 이름

MULTI(a, b)

사용될 매크로 함수의 이름을 지정

함수의 기능

a*b

매크로 함수 이름에 치환되는 함수의 기능

   

   

매크로 함수 특징

  • 단순히 치환하기만 하므로 실제 함수는 아닙니다.
  • 매개변수의 자료형을 신경 쓰지 않음(자료형의 독립성 보장)

   

   

매크로 함수의 장/단점

장점

  • 함수의 인자(매개변수)에 대한 자료형의 독립성 보장
  • 속도가 빠름

단점

  • 매크로 함수 내부에서 자기 자신을 호출할 수 없음
  • 한 줄이나 두 줄 정도의 간단한 내용만 매크로 함수로 정의해야 함

 

Posted by codedragon codedragon

댓글을 달아 주세요



 

 

오류메시지

Error        C1010        unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

Severity        Code        Description        Project        File        Line        Suppression State

Error        C1010        unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?        ch-basic        c:\codelab\git_study\study_cpp\ch-basic\ch-basic\ex05.cpp        44        

 

 

 


 

 

 

 

 

오류 원인

·         VisualStudio 있는 VC++외의 다른 컴파일러에서 빌드한 경우 발생할 있습니다.

·         다른 스타일로 작성된 라이브러리를 링크하면 에러가 발생할 있습니다.

·         빠른 빌드를 위한 PCH (precompiled header) 설정시 에러가 발생할 있습니다.

 

 

 

 

 

 

해결 방법

VS 메뉴: [Project] >> [ProjectName Properties...] >>

왼쪽 [Configuration Properties] > [C/C++] > [Precompiled Headers]


 

 

오른쪽 창의 "Precompiled Header"

[Use (/Yu)] [Not Using Precompiled Headers] 변경합니다.


 

 

 

Posted by codedragon codedragon

댓글을 달아 주세요


 

 

fscanf(), fprintf()

자료형 단위의 표준 입출력 함수

 

 

 

 

함수원형

함수의 원형

설명

헤더파일

int  fscanf (FILE* stream, const char* format, );

·         키보드/파일로 부터 자료형에 맞춰 데이터를 입력합니다.

·         (텍스트 데이터와 바이너리 데이터를 동시 입력)

·         파일의 끝에 도달한 경우: EOF 반환

stdio.h

int  fprintf (FILE* stream, const char* format, );

·         모니터/파일에 자료형에 맞춰 데이터를 출력합니다.

·         (텍스트 데이터와 바이너리 데이터를 동시 출력)

stdio.h

 

인자

설명

FILE* stream

입출력하는 파일

const char* format

입출력 자료형

입출력할 변수

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

Visual Studio  2019 설치하기

·         설치 파일 실행하기

·         설치 옵션 지정하기 - C#

·         설치 옵션 지정하기 - C++

·         설치 하기

 

 

설치 파일 실행하기

다운받은 설치파일을 실행합니다.


 


 

 

[]


 

 

[계속]


 


 


 


 

 


 

 

 

 

 

 

 

 

 

설치 옵션 지정하기 - C#

 

C# Universal 개발을 경우

[워크로드] >>

[유니버설 Windows 플랫폼 개발] 체크


 

 

 

 

 

 

설치 옵션 지정하기 - C++

C++개발을 경우

[C++ 사용한 데스크톱 개발] 선택합니다. >>


 

 

우측 창에서

[v142 빌드 도구용 C++ MFC(x86 x64)] 항목 체크 >>

[v142 빌드 도구용 C++ 모듈(x64/x86 – 실험적)] 항목 체크 >>


 

 

 

공통 설치 옵션

항목은 모든 개발 환경 설치시 공통적으로 설치해 줍니다.

"기타 도구 집합" 카테고리에서 [Visual Studio 확장 개발] 항목을 체크합니다.


 

 

 

 

설치 하기

우측 하단의 [설치] 버튼을 클릭합니다.


 

 

설치 ...


 


 

 


 

 

[설치 시작] 체크된 상태에서는 설치완료 다시 시작됩니다.


 


 

 

이전 버전을 사용하고 있는 경우 이전 버전에 설정한 정보로 바로 오픈됩니다.


 


 


 


 



Posted by codedragon codedragon

댓글을 달아 주세요


 

Visual Studio 2019 - download(설치파일 다운받기)

 

상단의 [다운로드(Downloads)] 클릭

https://www.visualstudio.com/ko/


 

 

"Visual Studio Community 2019" [무료 다운로드(Free download] 클릭

https://www.visualstudio.com/ko/downloads/


 

 


 


 

 

 

 

 

 

메인화면에서 바로 설치파일 다운받기

메인 페이지에서 "Visual Studio IDE" 항목의  [Window 다운로드(Download for Windows)] 클릭한 나오는 팝업 메뉴에서 >> [Community 2019] 선택

 

https://www.visualstudio.com/


 

 

 

 

직접다운로드

 

vs_community__1761646870.1530600830.exe


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

VisualStuido - C++ 개발을 위한 옵션 설치방법

 


 

 

VS메뉴: [파일] >> [새로 만들기] >> [프로젝트] >>

MFC 응용 프로그램 항목이 보이지 않습니다.


 

 

[시작] >> [Visual Studio Installer] 실행


 

 

[수정]


 

 

[C++ 사용한 데스크톱 개발] 선택되어진 상태에서

우측 창에서 [MFC ATL 지원(x86 x64)], [표준 라이브러리 모듈] 항목을 체크합니다. >>

하단의 [수정] 클릭합니다.


 

 

설치 ...


 


 

 

[실행]


 

 

[다시 시작]


 

 

다시 시작 >>

프로그램 실행


 

 

[나중에 로그인]


 

 

개발환경설정과 테마를 지정할 있습니다.

[Visual C++] 선택 >> [Visual Studio 시작]


 


 

 


 

 

VS메뉴: [파일] >> [새로 만들기] >> [프로젝트] >>

왼쪽 창에서 [Visual C++]항목 선택 >>

"MFC 응용 프로그램" 항목이 보이는 것을 확인할 있습니다.


 


Posted by codedragon codedragon

댓글을 달아 주세요

   


fflush()함수

버퍼를 비우는 함수

   

   

함수원형

함수 원형

설명

헤더파일

int fflush(FILE* stream);

버퍼를 비움

실패 : EOF 반환

stdio.h

   

Posted by codedragon codedragon

댓글을 달아 주세요

   

# 연산자

  • 매크로 함수의 인자를 문자열로 바꾸어 주는 연산자

   

   

## 연산자

  • 토큰(문법 분석의 단위, 예: 숫자, 콤마, 연산자, 식별자 등) 결합 연산자
  • 매크로 함수 안에서 토큰을 결합하는 기능을 수행

   

Posted by codedragon codedragon

댓글을 달아 주세요

2019. 3. 3. 13:29

if문 종류 Development/C/C++



 

 

if 종류

·         단순 if

·         if~else

·         if~else if~else

 

 

 

 

 

 

단순 if

if(num >= 90)

str = "90이상";


 

 

 

 

 

 

 

 

if~else

if~else 형식

조건식의 결과가 (true)이면 if다음의 블록을 실행하고 주어진 조건식의 결과가 거짓(false)이면 else 다음에 주어진 블럭을 실행합니다.

if(true or false){

     //true 수행되는 영역

}else{

     //false 수행되는 영역

}

 

 

 

 

 

if~else

if(num>= 90)

str = "90이상";

else

str = "90미만";

 


 

 

 

 

 

 

 

 

 

 

 

if vs if~else

number 0으로 나눈 나머지가 0 경우와 그렇지 않은 경우에 대해 비교

if

if~else

if ( (number % 2) == 0 )

    System.out.print("짝수");

if ( (number  % 2) != 0 )

    System.out.print("홀수");

 

if ( (number  % 2) == 0 )

    System.out.print("짝수");

else 

    System.out.print("홀수");

if 안에 수행되어야 코드가 언제 실행되어야 하는지 읽을 때마다 해독해야

if 절의 조건식이 참인 경우와

거짓인 경우에 실행되어야하는 코드가 명확하게 구별

 

 

 

 

 

 

 

if~else if~else

·         else if if ~else if Multiple Branches

·         중간에 else if 추가된 만큼 if~else문이 중첩된 형태입니다.

·         if 분기조건이 이상이 되는 경우에 사용합니다.

·         조건 만족 여부에 따라서 하나의 수행영역만 실행됩니다.

 

 

 

 

if~else if~else 형식

else if 문은 여러 나와도 상관없지만, if 문과 else 문은 번만 나올 있습니다.

if(true or false){

     //true 수행되는 영역

}else if(true or false){

     //true 수행되는 영역

}else if(true or false){

     //true 수행되는 영역

}else if(true or false){

     //true 수행되는 영역

}else if(true or false){

     //true 수행되는 영역

}else if(true or false){

     //true 수행되는 영역

}else{

     //false 수행되는 영역

}

 

 

 

 

if~else if~else

if(num >= 90)

str = "";

else if(num >= 80)

str = "";

else if(num >= 70)

str = "";

else if(num >= 60)

str = "";

else

str = "";

 


 

 

 



Posted by codedragon codedragon

댓글을 달아 주세요