참고문헌 |
---|
▷ 혼자 공부하는 C언어-혼공 용어 노트(한빛미디어) |
▷ 챗GPT |
논리 연산자 종류
①논리 AND('&&')
: 양쪽 피연산자가 모두 참일 때만 전체 식이 참이 된다.
②논리 OR('||')
: 양쪽 피연산자 중 하나라도 참이면 전체 식이 참이 된다.
③논리 NOT('!')
: 피연산자의 논리 상태를 반전시킨다. 참이면 거짓으로, 거짓이면 참으로 변한다.
🔎cf. 함수, 블록
- 함수(function)
: 프로그램에서 특정 작업을 수행하기 위해 그룹화된 코드 블록. 이름을 가지며, 필요에 따라 매개변수(parameter)를 받아들이고, 어떤 값을 변환할 수 있다. 프로그램의 메인 논리를 함수로 나누면 코드의 모듈화와 재사용성이 증가한다.- 블록(block)
: 중괄호 '{}'로 둘러싸인 코드의 일련의 문장들. 하나의 실행 단위를 나타낸다.
변환 문자
: 출력 시 데이터의 형태에 따라 변숫값을 텍스트로 바꾸어주거나, 입력 시 텍스트를 알맞은 변숫값으로 바꾸어주는 문자.
🔎cf. 자주 사용하는 변환문자
- int → %d (정수)
- double → %lf (실수)
- char → %c (문자)
- char배열 → %s (문자열)
비트(bit)
: 컴퓨터 저장장치의 가장 작은 단위. 스위치와 같이 두 가지 상태를 나타낸것. 1(혹은true)과 0(혹은 false)으로 나타낸다.
바이트(byte)
: 컴퓨터 저장장치의 단위. 1바이트는 8비트. 16진수를 사용하는 이유는 4비트 단위로 이진수 값을 표현하기 위해서이다.
🔎컴퓨터의 저장 단위
- 1byte = 8bit
- 1KB(킬로바이트) = 2^10byte (2^10=1024)
- 1MB(메가바이트) = 2^10KB = 2^20byte
- 1GB(기가바이트) = 2^10MB
- 1TB(테라바이트) = 2^10GB
변수(variable)
: 데이터를 저장하는 메모리의 공간
🔎변수 관련 용어
- 변수 선언: 어떤 형태와 이름을 가지고 사용한다고 알리는 것
- 할당: 변수에 값을 넣거나 저장하는 것
- 참조: 변수에 접근하는 것
🔎변수의 종류
- 지역 변수(Local Variable)
▷ 특정 함수나 블록 내에서 선언되고 그 범위는 해당 함수나 블록 내로 제한된 변수.
▷ 함수가 호출되면 지역 변수가 생성되고, 함수가 종료되면 해당 변수가 소멸한다.
▷ 다른 함수에서는 직접 접근할 수 없다.- 전역 변수(Global Variable)
▷프로그램 전체에서 접근 가능하며, 어느 곳에서나 참조할 수 있는 변수.
▷ 프로그램이 시작될 때 생성되며, 프로그램이 종료될 때까지 존재한다.
▷ 여러 함수에서 공유되므로 주의해서 사용해야 한다.- 정적 변수(Static variable)
▷ 함수 내에서 선언되지만, 지역 변수와 달리 함수가 종료되어도 값이 유지되는 변수.
▷ 다른 파일에서 접근이 어려워 해당 파일 내에서만 사용된다.
const 변수
: 한 번 초기화하면 값을 바꿀 수 없는 변수. 값이 항상 고정되어 코드가 실행되는 동안은 바꿀 필요가 없을 때 사용한다.
정규화(normalization)
: 데이터의 일관성, 최소한의 데이터 중복, 최소한의 데이터 유연성을 위한 방법이며 데이터를 분해하는 과정.
주석문(comment)
: 실행 결과에 영향을 미치지 않는 문장. 소스 코드를 설명하는 내용을 담게 된다. 언어별로 주석처리 방법이 다르다.
🔎주석 종류
(주석처리코드 그대로 적으면 실제 주석처리되어 화면에 출력되지 않아 본의아니게 설명이 좀 복잡해졌습니다😅)
- C / C++ / C# / JAVA / Javascript / Swift / Kotlin ...
▷ 한줄 //주석
▷ 여러줄 // 안에 ** 사이에 주석- Python / Ruby
▷ 한줄 #주석
▷ 여러줄(작은or큰따옴표) '''주석''' or """주석"""- HTML / XML
▷ 줄수 상관없이 <> 안에 !--주석--- CSS
▷ 줄수 상관없이 // 안에 ** 사이에 주석- MySQL
▷ 한줄 #주석
▷ 여러줄 // 안에 ** 사이에 주석
제어 문자(control character)
: 문자는 아니지만, 출력 방식에 영향을 주는 문자. 텍스트를 제어하거나 출력 장치를 제어하기 위한 것. 줄바꿈(\n), 탭(\t), 복귀(/x) 등등.
자료형(data type)
: 자료의 형태. 자료형에 따라 컴퓨터가 어떻게 처리하는지 달라진다.
종류
- 정수형: int(4bytes), short(2bytes), long(4bytes)
- 문자형: char(1byte)
- 실수형: double(8bytes)
//변수 초기화의 유형
/*1. 선언과 동시에 초기화*/
int num1 = 3;
/*2. 사용자 입력에 의한 초기화*/
int num2;
scanf("%d", &num2);
/*3. 코드 중간에 초기화*/
int num3;
num3 = 3;
//배열 초기화의 유형
/*1. 선언과 동시에 초기화*/
int ary1[5] = {1, 2, 3, 4, 5};
int ary2[5] = {1, 2, 3};
int ary3[] = {1, 2, 3};
/*2. 개별 원소를 초기화*/
int ary1[4] = 3; //이 경우 주로 반복문을 이용해 초기화
for(int i = 0; i<5; i++)
{
ary1[1] = 0;l
}
/*3. memset을 이용한 초기화*/
memset(ary1, 0, sizeof(ary1)); //모든 원소를 0으로 초기화
🔎컴파일 3단계
① 전처리(Preprocessing)
: 소스 코드에 전처리 지시문을 처리하고, 헤더 파일을 포함하거나 매크로를 확장하여 중간 코드를 생성하는 단계.
② 컴파일(Compliation)
: 전처리된 코드를 기계어로 번역하여 중간 코드나 어셈블리 코드를 생성하는 단계. 문법적 오류를 검사하고 기계어 코드로 변환한다.
③ 링크(Linking)
: 여러 컴파일된 파일을 합쳐 하나의 실행 파일로 만들고, 필요한 외부 라이브러리와 연결하는 단계. 최종적으로 실행 가능한 프로그램이 생성된다.
string.h 헤더파일
: 문자열 처리와 관련된 함수가 선언된 헤더 파일
단어는 꾸준히 추가될 예정입니다😄