2021/01/10 - [boostcourse] - [부스트코스] CS50 코칭스터디 2기 오리엔테이션
2021/01/16 - [boostcourse] - [부스트코스] CS50 1강: 컴퓨팅 사고 강의 정리
2021/01/22 - [boostcourse] - [부스트코스] CS50 2강: C언어 강의 정리 (부제: 코딩 찌질이)
2021/01/29 - [boostcourse] - [부스트코스] CS50 3강: 배열 강의 정리 (부제: 코칭스터디 3주차)
2021/02/05 - [boostcourse] - [부스트코스] CS50 4강: 알고리즘 강의 정리 (부제: 아직 2주나 혹은 벌써 2주 남은 코칭 스터디)
수시로 본문 내용 추가될 수 있음. 참고 자료 출처는 본문 아래 기재
2021/02/14 - [boostcourse] - [부스트코스] CS50 5강: 메모리 강의 정리 (부제: 설연휴 만세)
2021/02/23 - [boostcourse] - [부스트코스] CS50 6강: 자료구조 강의 정리 (부제: CS50 수강 완료!)
2021/03/03 - [boostcourse] - [부스트코스] CS50 코칭스터디 2기 수료 후기
연산자(operator)
- 연산자: 프로그램을 짤 때 변수나 값의 연산을 위해 사용되는 부호. 연산자는 수학, 물리학, 공학에서 함께 쓰이는 용어로, 연산 실행에 있어서 여러 식이나 값에 수학적·논리적인 움직임을 지시하는 것을 말한다. 또한 연산자는 컴퓨터 하드웨어를 직접 조작하는 사람을 뜻하기도 하는데 운영체제 명령어를 통해서 시스템을 조작하고, 디스크나 자기 테이프 관련 업무, 데이터 백업 등의 일을 한다. 컴퓨터 프로그래밍에서의 연산자는 어떤 식이나 값에 동작을 지시하는 부호를 의미한다.
연산자는 피연산자(연산에 필요한 대상)의 수에 따라 단항, 이항, 삼항 연산자로 나눌 수 있다. 단항 연산자는 피연산자가 하나뿐인 연산자를 말하고, 이항 연산자는 산술 연산자(+
,-
,×
,÷
), 크기를 비교하는 관계 연산자, 참과 거짓을 판단하는 논리 연산자(AND
,OR
,NOT
) 등이 해당된다. 삼항 연산자는 피연산자가 세 개인 연산자로, 주로 조건문에 사용하는 연산자를 말한다.
산술연산자 | |
+ | 더하기 |
- | 빼기 |
* | 곱하기 |
/ | 나누기 |
%(MOD) | 나머지 |
관계연산자 | |
< | (왼쪽이 오른쪽)보다 작다 |
> | (왼쪽이 오른쪽)보다 크다 |
== | 같다 |
!= | 다르다 |
>= | (왼쪽이 오른쪽보다)크거나 같다 |
<= | (왼쪽이 오른쪽보다)작거나 같다 |
논리연산자 | ||
or | || | 또는 (논리합) |
and | && | 그리고 (논리곱) |
not | ! | 거짓 (논리부정) |
할당 연산자와 일치 연산자
- 할당 연산자:
=
- 일치 연산자:
==
참고: 2강 C언어> 2. 문자열 / 2강 C언어> 3. 조건문과 루프> 3.2 if 조건문
데이터 타입, 자료형 (data type)
bool | 불리언 표현 | ex. True, False, 1, 0, yes, no |
char | 문자 하나 | ex. 'a', 'B', 'y', 'n', '?' |
string (char *) | 문자열 | 쌍따옴표 안에 들어간 한 개 이상의 문자들. 보통 char 하나하나 보다 크다. |
int | 특정 크기 또는 비트까지의 정수 | ex. 3, 65, -9, 0 / 40억까지 셀 수 있다. |
long | 더 큰 크기의 정수 | 더 많은 비트를 사용하여 int보다 더 높은 수를 센다. * 40억개 이상의 데이터를 가진 일부 거대 기업(페이스북, MS)과 같은 상황이 아닌 일반 사용자들은 대부분 정수에 int를 사용한다. |
float | 부동 소수점을 갖는 실수 | ex. 3.14, 0.0, -65.56 |
double | 부동 소수점을 포함한 더 큰 실수 |
참고: 2강 C언어> 4. 자료형, 형식 지정자, 연산자> 4.1.1 데이터 타입 정리
형식 지정자, 서식 지정자(format specifiers)
변수 앞에 쓰이는 형식지정자는 주로 데이터 타입에 정리된 단어들이 쓰인다. 아직까지는 char
, string
, int
위주로만 사용해봄.
printf, fprintf 등의 함수에서 쓰이는 형식지정자
%c | char | 문자 하나 |
%f | float, double | 실수 |
%i | int | 정수 |
%d | decimal | 부호 있는 10진수 |
%li | long | int보다 큰 정수 |
%s | string | 문자열 |
%p | pointer | 포인터(주소 값) |
자주 쓰는 표현만 정리했다. 보다 많은 내용은 아래 링크 참고.
C 언어 코딩 도장: 85.2 서식 지정자
printf, sprintf, fprintf에서 사용하는 서식 지정자(format specifier)는 다양한 활용법이 있습니다. 다음은 기본 서식 지정자이며 정수, 실수, 문자, 문자열, 포인터의 메모리 주소를 출력하는 기본 서식
dojang.io
C언어 정리하기 - 서식 지정자
이번 내용을 시작하기 전에안녕하세요 루벤딕스입니다. 이제 슬슬 C언어의 본격적인 막이 열리는 것 같네...
blog.naver.com
변수(variables)
일반적으로는 메모리 주소에 대한 이름으로 해석되나, '이름, 형, 주소, 값, 영역'에 대한 개념이 모두 포함되어 있다.
예시: int x;
- 변수 이름 : 여기서는
x
. 변수의 이름은 프로그래머가 임의로 정할 수 있으나, 관례적인 표현들이 사용되는 경우가 많다. - 변수 자료형 :
int(정수)
- 변수 주소 : 할당받는 메모리 값.
int
이므로 4byte를 차지한다. 변수가 위치하고 있는 메모리 주소는&x
를 통해 확인할 수 있다. - 변수 값 : 예를 들어,
x=10;
과 같이 변수x
에 10을 저장하는 C 언어 배정문에 의해 부여된다. - 변수 영역 : (본문 아래 기재된 출처 참고. CS50에서는 아직 다루지 않은 개념.)
전역 변수(global variable)
어떤 변수 영역 내에서도 접근할 수 있는 변수를 의미
지역 변수(local variable)
전역 변수와 달리 지역 변수 영역이 주어진 변수
참고: 5강 메모리> 7. 메모리 교환, 스택, 힙(swap, stack, heap)> 7.2 메모리 저장 방식
인자, 인수(argument)
함수를 호출 할 때 전달되는 값.
참고: 매개변수(parameter)
함수의 매개 변수들은 함수명 다음의 괄호 속에 나열한다. 함수 정의에 의해 정의된 함수는 매개 변수들을 이용하여 함숫값을 계산한다.
인자와 매개변수는 비슷하게 혼용되나 엄밀히는 다른 뜻으로 구분해서 사용해야 하는 것 같다. 강의 중에 '인자'라는 단어가 자주 언급되서 정리해봤는데, 매개변수는 언급된 적이 없어서 둘의 차이점을 비교 정리한 블로그 링크 추가.
인자 vs 매개변수 차이점
( 제대로 된 )프로그래밍 관련 책을 보면 보통 말머리에 이 인자와 매개 형식 변수의 차이 점에 대해 반드시 언급한다. 비록 아주 기초적인 부분이지만 그 만큼 중요한 개념이란거다. 정리 들어
skmagic.tistory.com
참고
[네이버 지식백과] 연산자 [operator] (천재학습백과 초등 소프트웨어 용어사전)
>> 연산자 검색 결과 중에서 초등 용어사전 내용이 제일 설명 깔끔하다🤣
[네이버 지식백과] 관계 연산자 [relational operator] (천재학습백과 초등 소프트웨어 용어사전)
[네이버 지식백과] 변수 (컴퓨터 개론, 2013. 3. 10., 김종훈, 김종진)
위키백과 전역변수
[네이버 지식백과] 인수
'STUDY > boostcourse' 카테고리의 다른 글
[부스트코스] CS50 6강: 자료구조 강의 정리 (부제: CS50 수강 완료!) (2) | 2021.02.23 |
---|---|
[부스트코스] CS50 5강: 메모리 강의 정리 (부제: 설연휴 만세) (0) | 2021.02.14 |
[부스트코스] CS50 4강: 알고리즘 강의 정리 (부제: 아직 2주나 혹은 벌써 2주 남은 코칭 스터디) (0) | 2021.02.05 |
[부스트코스] CS50 3강: 배열 강의 정리 (부제: 코칭스터디 3주차) (0) | 2021.01.29 |
[부스트코스] CS50 2강: C언어 강의 정리 (부제: 코딩 찌질이) (0) | 2021.01.22 |