일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 영상처리
- c++
- Pytorch Lecture
- TensorFlow
- tensorflow 예제
- 딥러닝 공부
- c++공부
- 모두의 딥러닝
- 딥러닝
- MFC 프로그래밍
- pytorch
- c언어 정리
- 미디언 필터링
- C언어 공부
- 파이토치
- 골빈해커
- 딥러닝 스터디
- 김성훈 교수님 PyTorch
- 파이토치 김성훈 교수님 강의 정리
- 모두의 딥러닝 예제
- 케라스 정리
- object detection
- 해리스 코너 검출
- 가우시안 필터링
- 컴퓨터 비전
- 파이토치 강의 정리
- pytorch zero to all
- 팀프로젝트
- matlab 영상처리
- c언어
- Today
- Total
ComputerVision Jack
[C프로그래밍 Chapter2] 본문
[변수와 연산자]
연산자 : C언어를 이용해서 특정 연산을 요구할 때 사용하는 약속된 기호.
간단한 예로 덧셈을 C언어에서 계산하려면
덧셈을 연산자를 이용하여 연산하고, 그 결과를 메모리 공간에 저장한다. 그리고 저장된 값을 출력하면 알 수 있다.
변수 : 값을 저장할 수 있는 메모리 공간에 붙은 이름.
수학에서 유사한 값을 대입할 수 있는 문자와 비슷한 의미를 지칭한다.
int num; : 정수 저장이 가능한 메모리 공간할당, 메모리 공간 이름 num
num = 10; : 메모리 공간에 10이라는 값을 저장 (변수 num을 10으로 초기화 하였다.)
int value = 20; : 변수 선언과 동시에 초기화 할 수 있다.
변수를 선언만 하고, 값을 초기화 하지 않으면 쓰레기 값이 변수에 들어가게 된다.
printf("num의 값 : %d \n", num); 10이 출력됨을 알 수 있다.
또한 변수 이름을 정할 때 규칙이 존재한다.
- 알파벳, 숫자, 언더바(_)로 구성된다.
- c언어는 대소문자를 구분한다
- 숫자로 시작할 수 없고, 키워드도 변수의 이름으로 사용할 수 없다. (ex int return)
- 이름 사이에 공백이 삽입될 수 없다.
= 대입 연산자 : 값에 대입을 지칭하는 연산자이다.
(수학에서 같다와 의미가 전혀다르다. c언어에서 같다의 표현은 == 이다)
[다양한 연산자]
대입 연산자(=) 산술 연산자( +, - / %..)
산술 연산자는 우리가 사용하는 수학적 연산자를 지칭하면 된다.
복합 대입 연산자(+= ..)
복합 대입 연산자는 산술 연산자와 대입 연산자를 합쳐놓은 연산자이다.
a = a + 10 이라면
a += 10; 이라고 바꾸어 쓸수 있다.
증가 감소 연산자(++, --)
c언어 연산자중 가장 중요하고, 문제에 단골로 나오는 연산자.
int num = 10; 으로 초기화 하고
++num 이나 num++형태를 확인할 수 있다.(전치냐 후치냐)
가장 이해하기 편했던건 옆에 보이는 초록색 인덱스를 이용하는 방법이다.
++num이 앞에 와있다면 15번 인덱스에 들어오기전 num은 21이 되어있는 것이다.
뒤에 있다면 반대로 이해하면 된다. 17인덱스가 끝난뒤로 num값은 21이 되어있는 것이다.
관계연산자(>, < , ==, !=..)
관계연산자는 대소와 동등을 판단하는 연산자이다.
조건을 만족하면 1을 반환하고 조건히 만족하지 않으면 0을 지칭한다.(참1거짓0)
int result = (10 > 5); 하면 result에는 1이 저장된다.
논리연산자(&&, ||, !)
논리연산자는 and(&&) or(||) not(!)에 관한 연산이다.
콤마 연산자(,)
콤마 연산자는 연산의 목적 보다는 구분을 짓는 용도로 많이 사용된다.
이러한 연산자들은 우선순위와 결합 방향이 존재하기 때문에 숙지를 하고 자주 사용해보는 것을 추천한다.
(논리 연산자보다 관계 연산자가 먼저 진행 된다 etc..)
[키보드로 데이터 입력]
앞에서 변수를 초기화 하였는데, 프로그램에서 내가 키보드에 입력한 값으로 변수를
초기화 하고 싶은 경우에는 함수를 사용한다.
printf() 사용해서 화면에 출력하였듯 이번엔 scanf()함수를 사용하자.
scanf_s()함수
c언어 책을 사서 scanf를 공부할 때 프로그램을 돌리면 warning 문구가 나온다.
이는 scanf가 보안상의 이유로 막힌것이다.
보안 수업에서 scanf()입력으로 버퍼를 밀어내는 것을 봤는데 아직도 신선했다.
그래서 나온 것이 scanf_s()함수
즉 scanf()함수를 사용하려면
#pragma warning(disable : 4996)을 상위에 선언해서 경고 문구를 막던지
아니면 그냥 scanf_s()로 사용하면된다.
int num;
scanf_s( "%d", &num);
%d는 정수형을 받는 서식문자이다.
&은 선언한 변수에 값을 넣어주세요 표현이다(주소값) 따라서 &num은 num에 입력 값을 대입하라는 의미이다.
scanf_s("%d", "%d", &num1, &num2); 이런식으로 복수의 값을 받아올 수도 있다.
'Programming Language > C Programming' 카테고리의 다른 글
[C프로그래밍 Chapter6] (0) | 2020.01.28 |
---|---|
[C프로그래밍 Chapter5] (0) | 2020.01.22 |
[C프로그래밍 Chapter4] (0) | 2020.01.20 |
[C프로그래밍 Chapter3] (0) | 2020.01.18 |
[C프로그래밍 Chapter1] (0) | 2020.01.14 |