반응형 C언어 | 파일처리 TIP 1. 표준 입출력과 I/O 방향 전환 2. 시스템 명령 작성 3. 순차(sequential) 파일 표준 입출력과 입출력 방향 전환기능을 쓰면 getchar/putchar 등에 따라 범용적인 파일 처리가 행해진다. 먼저 이 방법에 관해서 설명한다. 다음에 버퍼 파일 입출력 함수와 저수준 파일 입출력 함수를 사용한 시스템 명령을 만드는 방법을 설명하고, 마지막으로 순차(sequential) 파일 작성법에 관해서 설명한다. 1. 표준 입출력과 I/O 방향 전환 (1) 표준 입·출력 Turbo C가 지원하는 표준 입·출력 파일에는 표준 입력, 표준 출력, 표준 에러 출력의 3종류가 있으며 이들은 프로그램 시작 때에 표 1에 표시한 파일 포인터 및 파일 디스크립터로 자동 오픈 된다. 따라서 사용자는 이들의.. IT 과학/C언어 2020. 3. 1. C언어 | 표준 라이브러리 함수 TIP 1. 수치 연산 2. 문자열 처리 3. 파일 입출력 표준 라이브러리 함수는 300 종류 이상 제공되어 있다. 이번 주 강의에서는 그 중에서 수치 연산, 문자열 처리 함수, 버퍼 파일 입출력 함수의 기본적인 것만을 설명한다. 1. 수치 연산 수치 연산에 사용되는 기본 함수는 표 1과 같다. abs, rand, srand는 stdlib.h 내에서 형이 선언되어 있지만 이들 이외의 함수는 math.h 내에서 형이 선언된다. 이 함수를 사용하려면 math.h를 include해야 한다. 만약 include를 하지 않으면 각각 함수의 형을 선언해야 한다. sin(x), cos(x), tan(x)의 인수 x의 단위는 라디안이다. π(3.1415927)라디안이 180℃이다. rand( )를 실행시키려면 0∼32.. IT 과학/C언어 2020. 2. 24. C언어 | 프리 프로세서 TIP 1. 프리 프로세서 2. #include 3. #define 4. 기타 : #undef, #if, #ifdef, #ifndef, #else, #endif 프리 프로세서는 컴파일에 앞서 소스 코드를 지시된 내용에 따라 미리 처리하는 프로세서이다. 이 프리 프로세서에 지시를 주는 제어문으로서 #로 시작하는 몇 가지 문이 있지만, 본 내용에서는 가장 대표적인 #include와 #define 에 관해서 설명한다. 또 인수를 포함하는 매크로에 관해서도 설명한다. 1. 프리 프로세서 프리 프로세서란 컴파일에 앞서서 소스 코드를 지정된 내용에 따라 전환된 값으로 처리하는 과정이다. 이렇게 바꾸어 쓰는 내용은 앞에서도 설명하였지만, #include나 #define과 같은 #으로 시작되는 문이다. 이러한 것들을 .. IT 과학/C언어 2020. 2. 16. C언어 | 구조체와 공용체 TIP 1. 구조체란? 2. 구조체 배열 3. 구조체에 대한 포인터 4. 공용체 C 언어에서는 char, int, double 등의 기본적인 데이터형 이외에도 더욱 복잡한 데이터형을 사용자가 정의하는 것이 가능하다. 그것은 구조체, 공용체라고 불려지는 것으로, 다른 종류의 데이터들을 한 덩어리의 데이터로서 다룰 수 있다. 본 내용에서는 구조체란 무엇인가를 먼저 설명하고 구조체 배열, 구조체에의 포인터 등에 관해서도 설명한다. 그리고 공용체와 그 이용법에 관해서도 설명한다. 1. 구조체란? (1) 레코드형 데이터 표 1의 데이터는 갈릴레오가 1610년에 발견한 목성의 4대 위성의 위성명, 고도, 주기에 관한 것이다. 위성명(name) 광도(luminosity) 주기(period) Io 5 1.1691 Eu.. IT 과학/C언어 2020. 1. 27. C언어 | 데이터형과 기억 클래스 TIP 1. 기본 데이터형 2. enum 형 3. 형 변환과 캐스트 4. 기억 클래스 5. 초기화 C 언어에는 변수나 함수의 성질을 결정하는 데에 형(type)과 기억 클래스라는 개념을 이용한다. 형은 데이터 크기를 규정하는데 대해서, 기억 클래스는 그 데이터가 메모리상의 어디에 위치하는가를 규정하는 것이다. 이미 설명한 기본적인 형과 새로운 형인 enum형을 설명하고 다시 기억 클래스에 의해 유도되는 자동 변수, 정적 변수, 외부 변수 등의 사항에 대해 설명한다. 1. 기본 데이터형 데이터형의 분류는 이미 앞에서 설명하였다. 여기서는 기본 데이터형에 관한 보조적인 사항에 대해 설명한다. (1) 문자형 K&R C에서 char형은 부호가 없이 사용하지만 ANSI C에서 char형은 부호가 있으며, unsi.. IT 과학/C언어 2020. 1. 11. C언어 | 함수 TIP 1. 함수란? 2. 함수간에 데이터를 주고받는 방법 3. 배열 데이터 전달 방법 4. 함수형 5. main 함수의 인수(명령행 인수) 6. 순환함수(Recursive Function) C 프로그램은 함수의 모임으로 구성된다. 이제까지 printf나 scanf 등의 시스템이 제공하는 표준 라이브러리 함수를 사용해 왔지만, 본 내용은 사용자 함수를 만드는 방법에 관해서 설명한다. 또, 함수간의 인자 전달 방법으로서 call by value, call by reference란 개념과 배열의 전달 방법에 관해서도 상세히 설명한다. 1. 함수란? (1) 함수와 리턴값 함수로서 가장 일반적인 것에 산술 함수가 있다. 예를 들면, sin(x)는 x의 싸인 값을 구하는 것이다. 그러나 C에서는 이러한 산술 함수.. IT 과학/C언어 2020. 1. 4. C언어 | 포인터 응용 TIP 1. 응용 1. 응용 (1) 포인터 배열 확인문제 1 /* 포인터 배열의 각 원소의 대상체가 배열인 경우 포인터 배열의 사용 방법 */ #include void main(void) { int a[3] = {11, 22, 33}, i, j; int b[3] = {44, 55, 66}; int *pointer[2]; pointer[0] = a; pointer[1] = b; for( i = 0; i < 2; i++) { if( i == 0) printf("i = %d, pointer[i] = %u, a = %u\n", i, pointer[i], a); else printf("i = %d, pointer[i] = %u, b = %u\n", i, pointer[i], b); printf("---------.. IT 과학/C언어 2019. 12. 29. C언어 | 포인터 TIP 1. 포인터란? 2. 포인터와 문자열 3. 포인터와 배열 4. 포인터의 배열 5. 포인터의 주소 계산 포인터라는 개념은 C의 대표적인 특징 중의 하나로, 포인터를 쓰면 여러 가지 형의 데이터를 마음대로 참조할 수 있다. 그러나 사용 방법이 틀리면 프로그램이 폭주하거나 이해하기 어려운 프로그램이 만들어질 위험성이 있다. C를 처음 공부하는 대부분이 최초로 만나는 벽이 포인터라고도 한다. 이번 주 강의에서는 포인터의 개념과 사용법에 관해서 설명하고, 포인터와 배열, 포인터와 문자열의 관계에 대해서도 설명한다. 1. 포인터란? 포인터(pointer)는 C의 대표적인 특징이다. 포인터를 사용함에 따라서 메모리상의 데이터를 쉽게 사용할 수 있다. 잘못 이해하면 수정이 곤란한 프로그램을 작성할 가능성이 있지.. IT 과학/C언어 2019. 12. 25. C언어 | 배열 TIP 1. 1차원 배열 2. 2차원 배열 3. 배열의 초기화 1. 1차원 배열 배열은 다량의 데이터를 다루기 위한 데이터형이다. 본 내용은 C의 배열 선언과 조작 방법에 관해서 설명한다. 또 C에서는 배열에 데이터를 초기화하는 것이 가능하므로 그 방법에 관해서도 설명한다. (1) 배열의 정의 배열을 사용할 경우에는 얼마만큼 크기의 배열을 사용할 것인가를 선언해야 한다. 가령 100개의 동일한 성격의 데이터가 있을 때, 이것을 배열로 선언하지 않고 a0, a1, a2… 등의 단순 변수를 100개 씩이나 사용해야 한다는 것은 대단히 복잡한 작업이다. 예를 들어, 관련된 100개의 정수형 변수가 프로그램에서 필요할 경우 이제까지 공부한 방식으로는 어떻게 처리해야 할까? 먼저 100개의 정수형 변수의 이름을 .. IT 과학/C언어 2019. 12. 22. C언어 | 제어 구조 TIP 1. 제어 구조와 구조화된 프로그래밍 2. 조건 판단 3. 반복 1. 제어 구조와 구조화된 프로그래밍 (1) 제어 구조란 이제까지 공부한 대부분의 프로그램은 프로그램의 문장들의 실행 순서가 문장들의 순서와 그대로 일치하였다. 즉, 특정 문장이 실행되다가 임의의 위치에 있는 문장으로 실행 순서가 바뀌는 흐름의 분기와 되돌아오는 반복 수행 없이 프로그램의 위에 위치한 문장에서 아래에 위치한 문장으로 차례로 실행되는 순차적인 실행이 중심이었다. 그러나 약간 복잡한 프로그램은 프로그램의 흐름(문장들의 실행 순서)을 제어하는 조건 판단과 반복이라고 하는 제어 구조가 필요하게 된다. 이와 같은 문장들의 실행 순서를 조절하는 문장을 제어문 (control statement)이라고 하며 if 문, while 문.. IT 과학/C언어 2019. 12. 17. C언어 | 기본적인 입출력 함수 TIP 1. 데이터 출력 : printf() 2. 데이터 입력 : scanf() 3. 한 문자 단위의 입출력 4. 심화 학습 1. 데이터 출력 : printf() C에서는 입출력과 같은 하드웨어에 의존하는 표준 라이브러리 함수를 각 컴파일러 제작자가 제공하도록 되어있다. 따라서 그 모양은 각 제작자마다 다소 다르게 되어 있다. 그러나, 기본적인 입출력 함수에 관해서는 거의 공통이다. 본 내용은 입출력을 행하는 scanf 및 printf 함수와 한 개 문자의 입출력을 행하는 getchar 및 putchar 함수에 관해서 공부하기로 한다. 라이브러리 함수 중에서 printf를 사용하면 문자열이나 수치 데이터를 표준 출력 장치, 즉 컴퓨터 화면으로 출력할 수 있다 (1) printf( )을 사용해서 화면으로 .. IT 과학/C언어 2019. 12. 13. C언어 | C언어의 기초 TIP 1. 간단한 C 프로그램 예 2. C 프로그래밍의 방식 3. 예약어와 표준 라이브러리 함수 4. 데이터형과 선언 5. 연산자 간단한 C 프로그램 예 C 프로그램을 작성하는데 필요한 기본적인 규칙에 대해서 공부하기로 한다. 즉 C 프로그래밍 형식, 예약어와 표준 라이브러리 함수, 데이터 형과 선언, 연산자 등에 대해 공부한다. 예제 프로그램의 실행을 통해 C 언어를 학습하는 것이 본 자료의 기본적인 원칙이므로 Visual C++나 Turbo C 등의 각자 활용가능한 컴파일러를 구해 가능한 한 많은 프로그램을 실행해서 결과를 확인해보는 것이 최선의 선택이다. 먼저 첫 번째 예제 프로그램을 살펴보자. 예제 프로그램도 반드시 실행시켜 보고 그 결과를 확인하기 바란다. 앞으로 본 자료에서 설명할 프로그램과.. IT 과학/C언어 2019. 12. 9. C언어 | C언어의 개념 TIP 1. 프로그램 작성 2. 프로그래밍 언어 3. 고급 언어 번역 과정 4. 프로그램의 실행 5. C 언어의 소개 6. C 언어의 컴파일 및 실행 프로그램 작성 컴퓨터에서 원하는 문제를 해결하기 위해서는 프로그래밍 언어를 사용하여 프로그램을 작성한 다음 이를 실행시켜 문제 해결에 필요한 적절한 데이터를 프로그램에 제공하여 문제를 해결할 수 있다. 컴퓨터 프로그램은 일련의 프로그래밍 언어를 사용하여 작업의 처리 순서를 나열한 명령어 집합이다. 따라서 해결하고자 하는 문제(작업)를 처리하기 위해서는 프로그램을 작성하기 전에 문제를 어떤 방법으로 해결할 것인지 모든 경우의 수를 고려하여 문제 해결 절차를 생각해 보아야 한다. 프로그램을 작성하기 전에 기술한 문제 해결 절차를 알고리즘(algorithm)이라.. IT 과학/C언어 2019. 12. 5. 이전 1 다음 반응형