728x90

c언어 125

C(&C++) 이론 16. 배열

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (Soen.kr/와우북스) Microsoft Docs (구 MSDN) 배열(Array) ■ 배열은 동일한 타입을 갖는 유한개의 변수들을 한 가지 이름으로 묶어서 메모리에 순서대로 저장해 놓은 것이다. ■ 배열 내의 변수에 순서대로 접근하기 위한 숫자를 인덱스(Index)라고 부른다. ■ 인덱스가 n개라면 n차원 배열이라고 한다. ■ 예를들어 arr[10][10][10]은 인덱스가 3개이므로 3차원 배열이라고 한다. Ⅰ. 배열의 선언 ⅰ. 배열의 길이 ■ 배열을 선언할 때는 반드시 배열의 길이를 명시적으로 설정해야한다. ■ 배열의 길이는 변수로 정할 수 없으며, 반드시 상수 혹은 상수 표현식(constexpr)으로 지정해야한다. ■..

C(&C++) 이론 15. 함수

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (Soen.kr/와우북스) Microsoft Docs (구 MSDN) 함수 Ⅰ. 프로그래밍에서의 함수 ⅰ. 절차지향 프로그램에서 함수의 의의 ■ 함수란 C로 만들어진 프로그램에서 프로그램을 구성하는 단위이다. ■ 이는 C언어가 기본적으로 절차지향 프로그래밍 방법론에 따라 설계되었기 때문이다. ◆ 절차지향 프로그래밍 (Procedual Oriented Programming) ■ 절차치향 프로그래밍에서는 분할정복전략으로 문제를 해결한다. ◆ 분할 정복 전략 (Divide and Conquer) ■ 분할정복전략이란 큰 문제를 여러개의 작은 문제로 나눠서 해결하는 문제 해결 전략이다. ■ C 프로그램은 주로 함수라는 기능별 문제 해결 단..

C(&C++) 이론 14. 제어구조 / 강제 분기문

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (SoEn.kr /와우북스) Microsoft Docs (구 MSDN) 강제 분기문 ■ 이 포스트에서는 조건문과 반복문 외에 프로그램의 흐름을 제어하는 분기문들을 알아본다. Ⅰ. 강제 분기문(Jump Statement) ⅰ. goto문 ■ 구문 : goto identifier; ■ 같은 함수 내에 지정된 식별자로 표시된 labeled문으로 이동한다. ■ goto문은 같은 함수 내의 어떤 위치로든 조건없이 이동시켜주는 매우 강력한 명령어이다. ■ 이러한 강력함 때문에 goto문을 남용할 경우 코드의 가독성이 매우 떨어질 수 있다. ■ C언어와 같이 구조적 프로그래밍 언어에서는 goto문 사용을 지양하고 조건문이나 반복문 등으로 구조..

C(&C++) 이론 13. 제어구조 / 조건문과 반복문

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (SoEn.kr /와우북스) Microsoft Docs (구 MSDN) 조건문과 반복문 ■ 제어문의 대상이 되는 목표 문장이 한 문장일때는 블록을 쓰지 않아도 의도한대로 동작한다. ■ 하지만 확장성과 가독성 그리고 실수를 방지하기 위해서 목표 문장이 한 문장이더라도 블록으로 묶는 것을 추천한다. Ⅰ. 조건문(Alternative Statement) ⅰ. if문 ■ 구문 : if ( test_expression ) statement; ■ 조건식의 값이 참일 때만 목표 문장을 실행한다. ⅱ. if-else문 ■ 구문 : if ( test_expression ) statement1; else statement2; ■ 조건식의 값이 참이..

C(&C++) 이론 11. 연산자 우선순위 및 결합 방향 표

내용 참고 C++ 기초 플러스 4판 (Stephen Prata저, 윤성일역 / 성안당) Microsoft docs (구MSDN) C언어 이론 5 / 연산자 우선순위 표 연산자 우선순위와 결합 방향에 관한 표는 대부분의 C++ 교재에서 제공된다. 이를 외우고 있으면 유리하겠지만 굳이 C 및 C++을 공부할 때 처음부터 연산자 우선순위를 외우려고 할 필요는 없다. 왜냐하면 연산자 우선순위라는 것은 쓰다보면 결국 익숙해지고 외워지는 내용이기 때문이다. 본 포스트에서는 연산자의 형식과 우선순위, 결합 방향, 오버로딩 가능 여부를 중심으로 표시하는데 중심을 두었다. 각 연산자에 대한 자세한 설명은 이후에 관련 주제와 함께 설명할 예정이다. Ⅰ. 연산자 우선순위와 결합 방향의 의미 ⅰ. 연산자 우선순위 ■ 문장 안..

C(&C++) 이론 8. 데이터 타입과 상수

내용 참고 YES C (정보공학연구소/생능출판사) 혼자 연구하는 C/C++ (SoEn.kr /와우북스) 자료형(Data type)과 상수(Constant) Ⅰ. 자료형/데이터 타입(data type) C언어에서 자료형이란 데이터를 메모리에 저장할 때 알맞은 공간을 할당하고, 적절한 형태로 출력하기 위해서 사용되는 것이다. 1. 기본형 : 하나의 데이터를 저장하기 위해 사용되는 자료형 ■ 문자형 : 문자 하나를 저장하는데 사용.내부적으로는 정수형과 구조가 같다. (char 등) ■ 정수형 : 소수점이 없는 정수 데이터를 저장하는데 사용. (int, long, short 등) ■ 실수형 : 소수점이 있는 실수 데이터를 저장하는데 사용. (float, double 등) ■ void형 : 아직 타입이 지정되어있..

C(&C++) 실습 8. 입출력 속도를 BOJ에 최적화하기

문제 출처 backjoon 15552번 문제 0. 문제 ⅰ. N개의 A+B를 입력받고 결과를 출력하라. ■ 입력되는 값은 N은 1이상 1,000,000이하의 값이며 A,B는 1이상 1000이하의 값이다. ■ 프로그램 실행 시간 제한은 1초이다. ■ 온라인 저지나 코딩 테스트를 위해서 실행속도를 높이는 팁이 중심이 되는 문제. 1. 팁 ⅰ. 이제부터 시간과 메모리 제한도 조금씩 신경써야한다. #include using namespace std; int main() { int N; cin >> N; int a,b; for(int i = 0; i > a >> b; cout N; int a,b; for(int i = 0; i > a >> b; cout

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. 메모리를 공유한다. ■ 공용체의 가장 큰 특징은 멤버들끼리 같은 공간(=메모리)를 공유한다는 것이다. ■ 아래와 같은 상황에서 구..

반응형