Arrays One-Dimensional Arrays ■ 배열을 선언하려면 배열의 요소 유형과 요소 수를 지정해야한다. 예를들어, 배열 a에 int 타입의 요소가 10개 있음을 선언하려면 다음과 같이 작성한다. int a[10]; ■ 배열의 요소는 모든 타입이 될 수 있다. 배열의 길이는 임의의 (정수)상수 표현식으로 지정할 수 있다. 프로그램이 변경 될 때 배열 길이를 조정해야 할 수 있으므로 매크로를 사용하여 배열 길이를 정의하는 것이 좋다. #define N 10 int a[N]; ■ C에서는 배열 첨자 경계가 올바른지 확인을 요구되지 않는다. 배열 첨자가 범위를 벗어나면 정의되지 않은 프로그램 동작이다. Array Initialization ■ 다른 변수와 마찬가지로 배열도 선언 된 시점에 초기 ..
Basic Types ■ C에서는 근본적으로 다른 두가지 숫자 타입(정수 타입, 부동 소수점 타입)을 지원한다. Singed and Unsigned Intergers ■ 부호있는 정수의 가장 왼쪽 비트 (부호 비트라고 함)는 숫자가 0이거나 양수이면 0이고 음수이면 1이다. 따라서 가장 큰 16비트 부호있는(signed) 정수는 0111 1111 1111 1111(2^15-1)이고 부호없는(unsigned) 정수는 1111 1111 1111 1111(2^16-1)이다. 둘의 차이점은 가장 왼쪽 비트(부호비트) 이다. ■ C에서 일반적으로 int는 32비트 이지만 오래된 CPU에서는 16비트 일 수도 있다. Integer Types on a 16-bit Machine Type Smallest Value L..
Loops The while Statement i = 10; while( i > 0) { printf("T minus %d and counting\n", i); i--; } ■ 제어 표현식은 while 루프가 종료 될 때 거짓이다. 따라서 i>0으로 제어되는 루프가 종료되면 i는 0보다 작거나 같아야한다. ■ 제어 표현식은 루프 본문이 실행되기 전에 테스트되기 때문에 본문이 한 번도 실행되지 않을 수 도 있다. i가 음수 또는 0값을 가지면 루프는 아무 작업도 수행하지 않는다. ■ while 문은 종종 다양한 방식으로 작성 될 수 있다. 예를 들어, printf 호출 내에서 i를 줄임으로써 카운트 다운 루프를 더 간결하게 만들 수 있다. ex) printf("T minus %d and counting\n..
Selection Statements C의 문장(statement)의 대부분은 문장이 실행되는 순서에 어떤 영향을 미치는지에 따라 세 가지 범주로 분류된다. ■ Selection statements : if 및 switch 문을 사용하면 프로그램이 특정 실행 경로를 선택할 수 있다. ■ Iteration statements : while, do 및 for문은 반복을 지원한다. ■ Jump statements : break, continue 및 goto문은 프로그램이 다른 위치로 무조건 점프한다. (return문도 포함) Logical Expressions ■ 많은 프로그래밍 언어에서 i0 이 참이라면, 정수형 변수 i가 실수형으로 전환된다.
Arithmetic Operators 이항 연산자(binary operator): 덧셈 및 곱셈 연산자는 두 개의 피연산자가 필요하기 때문에 이항연산자라고 한다. 단항 연산자(unary operator): 단항 연산자는 한개의 피연산자가 필요하다. ■ 음수 피연산자와 함께 / 및 % 연산자를 사용할 때 결과를 설명하는 것은 까다롭다. C89표준에 따르면 피연산자가 음수이면 -9/7의 결과는 -1 또는 5가 될수 있다. 반면에 C99에서는 나눗셈의 결과가 항상 0으로 잘리고 (따라서 -9/7의 값은 -1) i % j의 값은 i와 동일한 부호를 갖는다 (-9 % 7는 -2) 연산자 우선순위 및 결합성 ■ 두 개 이상의 연산자가 동일한 표현식에 나타날 때, 우선순위가 높은 연산자부터 낮은 우선순위 연산자까지 ..
Using printf to Format Numbers ----------------------------------------------------------------------------------------------------------------------------------- #include int main(void) { int i; float x; i = 40; x = 839.21f; printf("|%d|%5d|%-5d|%5.3d|\n", i, i, i, i); printf("|%10.3f|%10.3e|%-10g|\n", x, x, x); return 0; } -----------------------------------------------------------------------..
Compiling and Linking 1. Preprocessing : 프로그램은 먼저 #로 시작하는 명령을 따라는 전처리에게 주어진다. 전처리 기는 편집기와 비슷하다. 프로그램을 항목을 추가하고 수정할 수 있다. 2. Compiling : 변환 된 프로그램은 컴파일 된 프로그램으로 이동하여 목적파일로 변환된다. 이 프로그램은 아직 실행할 준비가 되어있지 않다. 3. Linking : 마지막 단계에서 링커는 컴파일러가 생성한 오브젝트 코드를 실행 프로그램을 생성하는 데 필요한 추가 코드와 결합한다. 추가 코드에는 프로그램에서 사용하는 라이브러리 함수 (예: printf)가 포함된다. The General Form of a Simple Program 1. Directives : C 프로그램은 컴파일되기 ..
C언어 기반의 언어들 1. C++ : C의 모든 특징을 담고있고, 클래스와 객체지향 프로그래밍의 특징을 지원한다. 2. Java : C++을 기반하였으며, 따라서 C언어의 많은 특징을 포함하고있다. 3. C# : C#은 C++ 와 Java로 부터 파생된 최근 언어이다. 4. Perl : Perl은 단순한 스크립트언어였다. 시간이 지남에 따라 C의 많은 기능을 확장하고 채택하였다. C언어의 장점 1. 효율성: 효율성은 처음부터 C언의 장점 중 하나였다. C는 정통적으로 어셈블리 언어가 사용되는 응용 프로그램을 위한 것 이기 때문에 C 프로그램이 제한된 양의 메모리에서 빠르게 실행될 수 있어야했다. 2. 이식성: 프로그램 이식성이 C의 주요목표는 아니었지만 언어의 강점 중 하나로 밝혀졌다. 프로그램이 PC에..
- Total
- Today
- Yesterday
- BOJ 27469
- unreal enigne
- 숫자판 만들기
- BOJ 2365
- UE5.3
- 테트리스
- ICPC 후기
- 언리얼 프로젝트 재생성
- 코드포스
- 언리얼 프로젝트 재생성 자동화
- 브레젠험 알고리즘
- Unreal Engine
- 백준
- 홍정모의 게임 만들기 연습 문제 패키지
- pygame
- opengl
- C++게임개발
- 퀸 움직이기
- DP
- OpenVDB
- 백준 27469
- 백준 2365
- ndisplay
- 언리얼 자동화
- Python
- tetris
- 정보올림피아드
- 초등부
- C++게임
- Codeforces
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |