4차산업혁명의 일꾼/Java&Spring웹개발과 서버 컴퓨터

C 프로그래밍 개론 - 방송통신대 컴퓨터공학과 C언어 정리

르무엘 2023. 2. 23. 22:43
  • [목차]

[학습계획]

[비주얼스튜디오 시작]

windows 데스크톱마법사로 새 프로젝트 만든다

추가항목에 새항목을 클릭한다

 

.cpp 파일 항목으로 만든다.

 

[1] C언어의 개요

  1. 소스코드(source code) : 프로그램 안에 있는 명령어

  1. 목적 파일(object file) : .obj의 확장자를 갖는 파일로 기계어들의 집합으로 이루어진 파일

  1. 링커(linker) : 여러 목적파일과 라이브러리 파일을 연결해주는 도구

예약어(reserved word) : C 언어에서 미리 정의되어 있는 단어

 

[2] 자료형과 선행처리기

* 주요용어

  1. 초기화 : 선언된 변수에 특정 값을 부여하는 것
  2. 선행처리기 : 컴파일하기 전에 미리 수행되어야 할 처리기

 

 

#define 매크로

 

매크로의 함수 범위설정 () 범위 주의

 


[3] 입출력 함수와 연산자1

#include <stdio.h>
#pragma warning(disable:4996)
int main() 
{
		
	/* 문자를 화면에 출력한다.*/
	char s = 'A';
	putchar(s);

	/* 문자열을 화면 출력한다.*/
	char var[50] = "seoul";
	puts(var);

	printf("문자하나를 입력하세요\n");
	/* 문자열을 화면에 입력한다.*/
	char s2 = getchar();	

	char ss[50];
	printf("문자열을 입력하세요\n");	
	gets_s(ss);		
	printf("gets_s()로 문자열 입력=%s\n",ss);
	
	printf("\n문자열 입력?");
	scanf("%s", ss);
	printf("scanf()로 문자열 입력=%s\n", ss);

}

 

[4] 입출력 함수와 연산자2

  1. 연산자(operator) : 임의의 자료에 대해 각종 연산을 수행하도록 하는 기호
  2. 기타 연산자 : sizeof( ), cast(형변환), &(주소 연산자), *(내용 연산자) 등

  1. 연산자 우선순위 : 모든 연산자에는 연산자 우선순위가 정해져 있다

 

 

[5] 선택 제어문과 반복 제어문

  1. 순차적 제어 : 특별한 지정이 없는 한 위에서 아래로 수행되는 제어구조
  2. 선택적 제어 : 주어진 조건에 따라 특정부분으로 수행을 옮기는 분기 제어구조
  3. 반복적 제어 : 특정 부분을 일정한 횟수만큼 반복 수행하는 반복 제어구조

 

 

 

[6] 함수와 기억 클래스(1)

[7] 함수와 기억 클래스(2)

* 주요용어

  1. 기억 클래스 : 변수를 기억공간의 특정 영역에 할당하는 방법
  2. 자동 변수 : 함수 실행 시 만들어 지고 실행이 끝나면 기억공간이 제거되는 유형
  3. 정적 변수 : 프로그램이 끝날 때까지 기억영역이 유지되는 유형
  4. 외부 변수 : 함수외부에 선언되어 프로그램이 끝날 때까지 기억영역이 유지되는 유형
  5. 레지스터 변수 : CPU 내의 레지스터에 자료를 저장하고자 할 때 사용되는 유형

 

 

 

[8] 배열과 포인터(1)

* 주요용어

  1. char형 배열 : 문자열을 처리하기 위해 사용되는 배열

[9] 배열과 포인터(2)

* 주요용어

  1. 포인터 : 변수의 주소 값을 갖는 특별한 변수
  2. void형 포인터 : 프로그램 실행 시에 자료형이 결정되는 경우에 사용되는 포인터
  3. 포인터 연산 : 포인터 변수에 +, -, ++, -- 연산자를 사용하는 연산

[10] 배열과 포인터(3)

* 주요용어

  1. char형 포인터 : 문자열 처리에 효과적인 포인터
  2. 포인터 배열 : 포인터가 여러 개 사용될 때 포인터를 배열형식으로 사용
  3. 이중 포인터 : 자료가 있는 곳을 이중으로 가리키는 포인터

[11] 구조체와 공용체(1)

* 주요용어

  1. 구조체 : 서로 다른 자료형을 갖는 자료들을 하나의 자료형으로 정의하여 사용하는 사용자 정의 자료형
  2. 구조체 멤버 : 구조체를 구성하는 변수
  3. 구조체 변수 : 정의된 구조체를 다루기 위한 변수

[12] 구조체와 공용체(2)

* 주요용어

  1. typedef : 이미 존재하는 자료형에 새로운 이름을 부여하기 위한 키워드
  2. 구조체 비트필드 : 주기억장치의 기억공간을 byte 단위가 아닌 bit 단위로 사용하는 방법
  3. 공용체 : 동일한 기억장소에 여러 유형의 자료를 저장하기 위해 정의하는 자료형

 

 

 

[13] 파일처리 함수(1)

* 주요용어

  1. 스트림(stream) : 자료의 입출력을 위한 논리적인 통로
  2. 파일 포인터 : 파일이 어디 있는지를 가리키는 포인터
  3. 순차파일 : 파일의 처음에서부터 자료를 차례로 읽고, 기록하는 파일
  4. 랜덤파일 : 파일의 임의의 위치에서 자료를 읽고, 기록하는 파일

 

 

[14] 파일처리 함수(2)

* 주요용어

  1. 레코드(record) : 파일을 구성하는 논리적인 기본 단위
  2. 텍스트 모드(text mode) : \n과 CR/LF사이의 변환과정을 거치는 파일 모드
  3. 2진 모드(binary mode) : \n과 CR/LF사이의 변환과정이 없는 파일 모드
  4. 랜덤파일의 위치제어 : fseek()함수를 사용하여 랜덤파일의 특정부분을 입출력하는 것

 

[15] 메모리 동적 할당

* 주요용어

  1. 데이터(data) 영역 : 전역변수와 static 변수가 저장되는 기억공간 영역
  2. 힙(heap)영역 : 프로그래머의 필요에 의해 할당과 소멸이 이루어지는 기억공간영역
  3. 스택(stack)영역 : 지역변수와 매개변수가 저장되는 기억공간 영역
  4. 메모리 정적할당 : 프로그램이 작성되는 단계에서 기억공간의 크기가 결정되는 기억공간 확보방법
  5. 메모리 동적할당 : 프로그램이 실행되는 중에 입력되는 자료에 따라 기억공간의 크기를 결정할 수 있는 기억공간 확보방법

 

 

 

LIST