반응형
대입 연산자와 산술 연산자

 

 

 

복합 대입 연산자

 

 

 

증가, 감소 연산자

증가, 감소 연산자는 ; 세미콜론을 기준으로 선 증가,감소냐 후 증가,감소이냐가 결정됩니다.

++num, --num 같은 경우는 문장이 끝날때 그 해당 문장에서 증가나 감소를 한 값으로 계산됩니다.

밑의 예시에서 num2에는 num1 이 증가된 값이 할당됩니다. num2 는  증가했을때의 값인 11이 할당됩니다.

예시) num1 = 10;

          int num2 = ++num1; 

num++, num--는 그와 반대의 개념으로 해당 문장이 종료되었을때는원래의 값이 할당되며

그 이후 문장에서 값이 증가하거나 감소합니다.

밑의 예시에서 num2에는 num1이 증가되기 전의 값인 10이 할당됩니다. 하지만 그 다음 문장에서의 num1의

값은 11입니다. 즉 num3에는 11의 값이 할당됩니다.

예시) num1 = 10;

          int num2 = num1++; 

          int num3 = num1;

 

 

 

관계 연산자

관계 연산자의 반환 값은 True, False => 1(0이 아닌 정수), 0으로 표현됩니다.

 

 

 

논리 연산자

논리 연산자는 피연산자도 논리값(True or False)이여야 합니다.

 

 

 

연산자 우선순위, 결합 법칙
우선순위 연산자 설명 결합 법칙(방향)
1 x++
x--
( )
[ ]
.
->
(자료형){값}
증가 연산자(뒤, 후위)
감소 연산자(뒤, 후위)
함수 호출
배열 첨자
구조체/공용체 멤버 접근
포인터로 구조체/공용체 멤버 접근
복합 리터럴
2 ++x
--x
+x
-x
!
~
(자료형)
*x
&x
sizeof
증가 연산자(앞, 전위)
감소 연산자(앞, 전위)
단항 덧셈(양의 부호)
단항 뺄셈(음의 부호)
논리 NOT
비트 NOT
자료형 캐스팅(자료형 변환)
포인터 x 역참조
x의 주소
자료형의 크기
3 *
/
%
곱셈
나눗셈
나머지
4 +
-
덧셈
뺄셈
5 <<
>>
비트를 왼쪽으로 시프트
비트를 오른쪽으로 시프트
6 <
<=
>
>=
작음
작거나 같음

크거나 같음
7 ==
!=
같음
다름
8 & 비트 AND
9 ^ 비트 XOR
10 | 비트 OR
11 && 논리 AND
12 || 논리 OR
13 ? : 삼항 연산자
14 =
+=
-=
*=
/=
%=
<<=
>>=
&=
^=
|=
할당
덧셈 후 할당
뺄셈 후 할당
곱셈 후 할당
나눗셈 후 할당
나머지 연산 후 할당
비트를 왼쪽으로 시프트한 후 할당
비트를 오른쪽으로 시프트한 후 할당
비트 AND 연산 후 할당
비트 XOR 연산 후 할당
비트 OR 연산 후 할당
15 , 쉼표(콤마) 연산자

 

표 출처 :https://dojang.io/mod/page/view.php?id=188

이미지 출처 : 윤성우의 열혈 C 프로그래밍

 

반응형
반응형

'C' 카테고리의 다른 글

명령 프롬프트 / CMD(Command Prompt)  (0) 2023.05.08
키보드 정수 입력에 대해서!  (0) 2023.05.08
변수에 대해서!  (0) 2023.05.08
C언어 구조 파악!  (0) 2023.05.08
C언어란?  (0) 2023.05.08
반응형
변수란?

값을 저장할 수 있는 메모리 공간에 붙여진 이름

변수를 선언하면 메모리 공간이 할당되고 그 공간에 이름이 붙는다.

변수의 이름을 통해서 할당된 메모리 공간에 접근이 가능하며

값을 저장할 수도 저장된 값을 참조하는 것도 가능하다

 

 

 

변수 선언시 이름 규칙

1. 변수의 이름은 알파벳, 숫자, 언더바(_) 로 구성된다.

2. 알파벳 대소문자를 구분한다.

3. 변수의 이름은 숫자로 시작할 수 없고, 키워드도 이름으로 사용할 수 없다

4. 변수명 사이에 공백 삽입 불가능

 

주의사항

1. 변수의 이름이 숫자로 시작하면 안된다.

2. 변수의 이름에 특수문자 사용금지

3. 공백도 특수문자로 취급되기에 사용금지

 

 

 

변수 선언

변수는 선언만 할 수 있습니다. 초기화를 하여 값을 대입하지 않고 선언만 하는 경우에는 값이

대입되기 전까지 쓰레기 값(의미 없는 값)이 채워집니다.

 

콤마를 이용하여 둘 이상의 변수를 동시에 선언할 수 있습니다.

 

선언과 동시에 초기화(값을 대입하는 행위) 할 수 있습니다.

 

선언이 된 변수에 값을 넣는것을 할당이라고도 합니다.

 

변수에 값을 할당할시 두개의 자료형(데이터형)이 같아야 합니다.

변수 선언 및 초기화

주의사항

의미있는 변수명을 짓는것이 중요!

과거 C 표준에서는 변수의 선언이 맨 앞에 오는것을 요구했지만 지금은 아니다

 

데이터형

정수형 char / short / int / long

실수형 float / double

 

정수 실수 변수가 나뉘는 이유?

정수를 저장하는 방식과 실수를 저장하는 방식이 다르기 때문입니다.

 

변수는 초기화를 하면서 메모리 영역(스택)을 할당 받습니다.

이 메모리는 해당 변수가 있는 함수가 종료되면서 같이 메모리해제가 됩니다.

메모리 할당은 OS가 처리해줍니다.

 

이미지 출처 : 윤성우의 열혈 C 프로그래밍

 

반응형

 

반응형

'C' 카테고리의 다른 글

명령 프롬프트 / CMD(Command Prompt)  (0) 2023.05.08
키보드 정수 입력에 대해서!  (0) 2023.05.08
연산자에 대해서!  (1) 2023.05.08
C언어 구조 파악!  (0) 2023.05.08
C언어란?  (0) 2023.05.08
반응형
함수의 형태

아래의 사진과 같이 함수는 출력형태 / 함수이름 / 입력형태 / 함수의 몸체 로 구성됩니다.

함수의 형태

 

 

 

C언어의 실행 순서

C언어는 main함수에서부터 한줄씩 아래로 실행됩니다.

main함수는 프로젝트에서 한개여야하며 함수명을 임의로 변경하면 안됩니다.

C언어의 실행 순서

 

 

 

세미콜론 ;

세미콜론 ; 은 문장을 구분하는 문자입니다. 코드에서 줄바꿈은 문장의 바꿈을 뜻하는 것이 아닙니다.

아래의 사진은 모두 같은 결과입니다. 줄바꿈의 차이가 프로그램의 차이로 이이지지 않으며

일반적으로 세미콜론을 쓴 한 문장마다 줄을 바꿉니다. 이렇게 하는 이유는 가독성이 좋기 때문입니다.

아래의 사진중 왼쪽상단의 사진이 그 예시이며 가장 가독성이 좋습니다.

 

 

 

표준 함수, 표준 라이브러리

표준 함수는 이미 만들어져서 기본적으로 제공되는 함수입니다.

표준 라이브러리는 표준함수들의 모임이며 C언어 내장 라이브러리를 뜻합니다.

프로그래밍 첫 입문시 접하는 printf함수는 표준 라이브러리의 일부입니다.

 

#include <파일경로>

라이브러리를 사용할때는 이렇게 헤더파일을 선언하여 사용할 수 있습니다.

 

표준 함수는 < > 로 표시하고 사용자 지정함수(내가 만든 것)은 " " 로 표시합니다

 

아래 사진에서 예시로 사용하는 stdio.h(Standard Input/Output Library)파일은

표준입출력 관련 함수를 사용하기 위해 선언합니다.

 

printf는 문자열을 입력을 받고 콘솔창 화면에 출력해서 문자열을 보여주는 기능입니다.

 

int main(void) 에서 main 앞의 int는 함수의 반환형식을 뜻하며 함수가 종료될 때 정수형을 반환해줘야 합니다.

반환(출력)형태와 반환값의 형태가 일치해야합니다!

return 0; 은 main함수의 종료를 뜻하며 정상적으로 종료될 때는 0을 반환합니다.

 

프로그래밍 초심자의 대표적인 오류에는 오타 / 데이터 형태를 맞추지 않은 경우가 있습니다.

 

 

 

주석

주석이란?

소스코드에 삽입된 메모입니다. 주석은 컴파일 대상에서 제외되어서 컴파일 및 실행 결과에 영향을 미치지 않습니다.

 

주석의 필요성

코드를 분석할때 도움이 되기 위한 간단한 설명

주석은 선택이 아닌 필수입니다!

 

주석의 사용법

블록 주석 /* Test */ : 블록 주석은 '/*  */' 이것 사이에 위치하는 모든 코드들이 주석이 됩니다.

여러줄을 주석처리 가능하게 해줍니다.

행 주석 // Test : 행 주석은 '//' 이것 뒤로 치는 코드들이 주석이 됩니다.

 

주석 단축키

Ctrl K + Ctrl C 블록 주석 단축키 / 행으로도 사용 가능합니다

Ctrl K + Ctrl U 주석 해제 단축키 / 블록, 행으로도 사용 가능합니다

 

주석을 다는 방식은 프로젝트별로 팀원과 상의후 결정됩니다.

 

주석시 주의점

과도하게 처리된 주석은 오히려 좋지 않습니다!

 

 

 

printf 함수의 기본적인 이해

%d

서식문자이며 출력의 형태를 지정하는 용도로 사용

decimal의 d이며 10진수 정수의 형태로 출력한다는 의미입니다

 

\n

이스케이프 시퀀스(Escape Sequence) 또는 특수문자라 불리며

줄 바꿈(개행)의 용도로 사용됩니다.

 

아래의 그림처럼 printf를 사용할때는 서식문자와 이와 대비되는 매개변수(출력대상)의 수가 같아야합니다.

소괄호 안에서 ,(쉼표)의 역할은 매개변수(출력대상)를 구분 짓는 기능입니다.

printf함수 출력 예시

 

이미지 출처 : 윤성우의 열혈 C 프로그래밍

 

반응형
반응형

'C' 카테고리의 다른 글

명령 프롬프트 / CMD(Command Prompt)  (0) 2023.05.08
키보드 정수 입력에 대해서!  (0) 2023.05.08
연산자에 대해서!  (1) 2023.05.08
변수에 대해서!  (0) 2023.05.08
C언어란?  (0) 2023.05.08
반응형
절차지향언어(Procedural Programming)

C언어는 절차지향언어이다.

말 그대로 위에서부터 순차적으로 실행되는 언어이다.

Procedure뜻은 절차[방법]이다. 하지만 프로그래밍에서는 함수라는 의미로 작용한다.

즉, C언어는 순차적으로 실행되는 함수지향언어로 해석해도 된다.

 

 

 

C언어는 언어이다

프로그래밍 언어란 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어이다.

C언어도 프로그래밍 언어 중 하나이다.

기계어는 0과1로 구성된 컴퓨터가 이해할 수 있는 형태의 언어이다.

사람이 쓰는 프로그래밍언어를 기계어로 변환시켜주는것이 컴파일러이다.

 

 

 

레벨에 따른 프로그래밍 언어

프로그래밍 언어에는 수준이 높은 언어 수준이 낮은언어가 존재합니다.

여기서의 수준은 성능을 뜻하는게 아니고 프로그래밍 언어의 추상화정도를 의미합니다.

고급언어는 사람이 이해하기 쉬운 언어이고 저급언어는 컴퓨터가 이해할 수 있는 언어입니다.

 

 

 

IDE(Intergrated Development Environment

IDE는 통합 개발 환경을 의미합니다. 소프트웨어 개발자들이 개발하는데 사용하는 도구 모음이라고 생각하면 됩니다.

IDE는 일반적으로 코드 편집기, 컴파일러, 디버거, 빌드 자동화 도구등을 포함하고있습니다.

IDE가 없던 시절에는 밑의 사진의 과정을 프로그래머들이 직접 하나하나 실행시켜보아야 했습니다.

지금은 Visaul Studio, IntelliJ IDEA, Eclipse, Xcode, Android Studio등의 IDE를 통해 그 과정을 하나의 프로그램 안에서 모두 처리가 가능합니다.

 

1. 코드 편집기 : 소스 코드를 작성하고 편집할 수 있는 기능

2. 컴파일러 / 인터프리터 : 작성한 코드를 컴퓨터가 이해할 수 있는 형태로 변환해주는 도구

3 디버거 : 코드 실행 중에 버그를 찾고 수정하는 도구로, 변수 값 추적, 중단점 설정, 단계별 실행등의 기능 제공

4 빌드 자동화 도구 : 소스 코드를 컴파일하거나 패키징하는 등의 작업을 자동화하여 개발자의 생산성 향상

5 프로젝트 관리 : 프로젝트 파일, 종속성 관리, 버전 제어 시스템과의 통합등을 통해

개발 프로세스를 보다 효율적으로 관리

 

C 프로그램 완성과정

 

이미지 출처 : 윤성우의 열혈 C 프로그래밍

 

반응형
반응형

'C' 카테고리의 다른 글

명령 프롬프트 / CMD(Command Prompt)  (0) 2023.05.08
키보드 정수 입력에 대해서!  (0) 2023.05.08
연산자에 대해서!  (1) 2023.05.08
변수에 대해서!  (0) 2023.05.08
C언어 구조 파악!  (0) 2023.05.08

+ Recent posts