728x90

프로그래밍 209

C(&C++) 실습 6. 윤년 계산하기

문제 출처 backjoon 2753번 문제 0. 문제 ⅰ. 연도를 입력받고, 그 해가 윤년이면 1, 윤년이 아니면 0을 출력하는 프로그램을 작성하시오. ■ 윤년은 연도가 4의 배수이면서, 100의 배수가 아니거나 연도가 400의 배수일 때이다. ■ 예를들어 2000년은 4의 배수이면서 100의 배수이지만 400의 배수이므로 윤년이다. ■ 또한 2012년은 4의 배수이면서 100의 배수가 아니므로 윤년이다. ■ 입력되는 연도는 1 이상, 4000 이하의 자연수이다. Ⅰ. 코드 #include using namespace std; int main() { int a = 0; cin >> a; if(a%4 == 0) { if(a%100 == 0) { if(a%400 == 0) { cout

C(&C++) 이론 15. 사용자 정의 자료형 2) 공용체

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (Soen.kr/와우북스) Microsoft Docs (구 MSDN) C언어 이론 15 / 사용자 정의 자료형 2) 공용체 Ⅱ. 공용체 ■ 공용체는 같은 메모리 공간을 공유하는 변수들을 묶어놓은 것이다. ⅰ. 공용체의 선언 ■ 공용체를 선언할 때는 'union' 키워드를 사용한다. ■ 공용체를 선언하는 방법은 구조체를 선언할 때와 완전히 동일하다. ■ 즉, 4가지의 구조체 선언방법을 공용체에도 똑같이 적용할 수 있다. ■ 이렇게 선언한 공용체의 이름은 하나의 타입처럼 취급된다. ⅱ. 공용체의 특징 1. 메모리를 공유한다. ■ 공용체의 가장 큰 특징은 멤버들끼리 같은 공간(=메모리)를 공유한다는 것이다. ■ 아래와 같은 상황에서 구..

C(&C++) 이론 14. 사용자 정의 자료형 1) 구조체

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (Soen.kr/와우북스) Microsoft Docs (구 MSDN) C언어 이론 14 / 사용자 정의 자료형 1) 구조체 ■ 사용자 정의 자료형이란 개발자가 직접 필요에 따라 새롭게 정의한 자료형을 의미한다. ■ 자료형이라는 것은 메모리상에 데이터를 저장할 공간을 지정하고 이를 해석할 방법을 정의한 것이다. ■ 하지만 C(&C++)에서 이런 의미의 기본적인 자료형은 이미 제공되고 있다. ■ 그러므로 C(&C++)에서 사용자 정의 자료형을 만들 때 메모리 크기나 해석 방법을 지정하는 경우는 없다. Ⅰ. 구조체 ■ 구조체란 여러 변수를 하나로 묶어놓은 형태라는 점에서 배열과 비슷하다. ■ 배열은 한가지 타입의 집합이지만 구조체는 서..

C(&C++) 이론 12. bool 타입

내용 참고 Microsoft Docs (구 MSDN) 영문 wikipedia 나무위키 C언어 이론 11 / 그 외 기본 타입들 (2) ■ 이번 포스트에서는 정수형과 실수형을 제외한 char, bool, void 타입에 대해서 다룬다. Ⅱ. 논리형 ⅰ. 유래 ■ 프로그램 언어의 bool 타입은 수학의 불 대수에서 유래된 타입이다. ■ 불 대수는 19세기 중반의 수학자 조지 불(George Boole)이 고안하고 형식화한 대수 체계이다. ■ 불 대수는 논리 연산이라고도 불리며, 참(1,true)과 거짓(0,false)의 두 개의 값에 대한 연산체계이다. ⅱ. C언어 ■ C99이전의 C언어는 기본 자료형으로 bool형을 제공하지 않으며 거짓을 0으로 참을 0이외의 모든 숫자(기본적으로 1)로 표시한다. ■ 0..

C(&C++) 이론 11. char형

내용 참고 Microsoft Docs (구 MSDN) 영문 wikipedia C언어 이론 11 / 그 외 기본 타입들 (1) ■ 이번 포스트에서는 정수형과 실수형을 제외한 char, bool 타입에 대해서 다룬다. Ⅰ. 문자형 ⅰ. char ■ char는 하나의 문자를 저장하는 타입이다. ■ 내부적으로는 정수형 타입과 동일하게 작동하는 1byte 자료형과 같다. ■ char형 또한 signed char와 unsigned char로 구분될 수 있다. ■ 기본적으로 char형은 signed char형과 동일하게 처리된다. ■ 그러므로 char형 변수는 내부적으로 -128~127까지의 정수를 저장할 수 있다. ■ char형 변수는 기본적으로 아스키 코드표에 따라 0~127까지의 수를 문자와 일대일 대응하여 표..

C(&C++) 실습 3. A+B (표준 입출력 함수 : 입력)

0. 문제 ⅰ. 두 정수 A와 B를 입력받아, A+B를 출력하시오. ■ 조건 : 0 < (A or B) < 10 ■ 예제 입력 : 1 2 ■ 예제 출력 : 3 ⅱ. 두 정수 A와 B를 입력받아, A-B의 절댓값을 출력하시오. ■ 조건 : 0 < (A or B) < 10 ■ 예제 입력 : 2 6 ■ 예제 출력 : 4 Ⅰ. 두 정수 A와 B를 입력받아, A+B를 출력하시오. ⅰ. scanf() (입력자가 조건을 지킬 것이라 가정) ■ C언어에서 입력을 받는 가장 대표적인 함수는 scanf()이다. ■ scanf("//서식지정 문자열//",&변수[,&변수...]);의 형태로 쓴다. ■ 서식지정 문자열에는 입력받을 변수의 데이터형에 대한 서식지정자를 공백이나 쉼표 등으로 구분해서 쓴다. ■ 서식지정자 사이의 구..

C(&C++) 실습 2. 고양이 그리기 (이스케이프 시퀀스)

문제 출처 PLU 2014 - Novice 2번 backjoon 10171번 문제 0. 문제 ⅰ. 아래 예제와 같이 (고양이를) 출력하시오. ■ 웹 환경에서도 그러하듯이 \(=\), 즉 역슬래시를 화면상에 표현하는게 문제의 핵심이다. ■ 이미지가 아닌 문자로 표시하면 대애충 아래와 같다. \ /\ ) ( ') ( / ) \(__)| ■ 티스토리의 기본 폰트는 역슬래시를 '\'로 표현하는 문제가 있다. 1. 코드 ⅰ. puts를 이용한 방법 #include int main() { puts("\\ /\\"); puts(" ) ( ')"); puts("( / )"); puts(" \\(__)|"); return 0; } ■ 이 코드는 가독성에 가장 중점을 둔 코드이다. ■ 같은 puts함수를 이용하더라도 아래..

C(&C++) 실습 1. Hello World (표준 입출력 함수 : 출력)

0. 도입 ⅰ. 표준 입출력 함수를 실습의 맨 첫 부분에서 다루는 이유 ■ 표준 입출력 함수의 원리 자체는 초반에 다룰 수 있는 내용이 아니다. ■ 하지만 기본적인 입출력 함수를 모르면 초반 부분의 내용도 실습하기 어렵다. ■ 예를 들어 아래와 같은 코드조각이 있다고 가정해보자. int a,b,c; a = 1; b = a; c = a+b; ■ 입출력 함수가 없어도 이론적으로 b에는 1이 저장되고, c에는 2가 저장된다는 것은 알 수 있다. ■ 하지만 실제로 그렇게 저장되었는지를 보려면 출력해볼 필요가 있다. ■ 그렇기 때문에 실습 맨 처음 내용에서 기본적인 표준 입출력 함수의 사용법을 소개하는 것이다. Ⅰ. Hello World! ■ 콘솔 화면에 Hello World! 를 띄우는 코드. ⅰ. C스타일 1..

C(&C++) 실습 0. 웹에서 간단한 C++ 코드 실행하기

0. 실습 준비 ■ C, C++은 기본적으로 컴파일 언어이므로 컴파일러라는 프로그램을 이용해서 실행 파일을 만드는 것이 기본이다. ■ 하지만 기본적인 문법 연습이나 알고리즘 풀이 등을 위한 코드에 실행 파일을 만드는 것은 사실 번거롭다. ■ 그래서 개인적으로 이전에는 MSVC(Microsoft Visual C++)보다 가벼운 컴파일러를 사용했었다. ■ 하지만 요즘에는 웹에서 C,C++ 코드의 실행 결과를 확인할 수 있길래 두가지만 간단히 소개하려한다. ■ 웹 컴파일러 자체는 찾아보면 아래의 사이트들 외에도 더 존재하니 개인적으로 편한 것을 사용하면 된다. Ⅰ. 웹 컴파일러 ⅰ. onlineGDB (링크) ■ C,C++외의 언어도 지원, ■ 로그인시 프로젝트 단위도 관리 가능 ■ 디버깅 가능. ■ 자동 완..

C(&C++) 이론 10. 부동 소수점 표현 방식에 대한 국제 표준 IEEE-754

내용 참고 Microsoft Docs (구 MSDN) 영문 wikipedia C언어 이론 10 / IEEE-754 ■ C와 C++ 및 많은 언어에서 따르고 있는 국제 표준인 IEEE-754에서 실수를 표현하는 방법을 설명한 글이다. Ⅰ. IEEE-754와 C 및 C++의 관계 ⅰ. IEEE-754에 정의된 형식 ■ 국제 표준인 IEEE-754에는 2진법에 관한 표준 3가지와 10진법에 관한 표준 2가지가 기본으로 정의되어 있다. ■ 아래의 표는 2진법과 관련된 3가지 기본 형식과 2가지 파생 형식을 나타낸 표이다. (10진법에 관한 기본 형식 2가지는 생략했다.) ⅱ. 실제 구현 ■ IEEE-754를 따르는 구현이라면 5가지 기본 형식 중 하나 이상을 완전하게 구현해야한다. ■ 이에 따라 C 및 C++에..

반응형