본문 바로가기

IT/Programming

[C언어] 02.변수와 연산자 그리고 키워드

연산자(Operator) : 특정연산을 요구할 때 사용하는 약속기호

변수(variable) : <수학> 어떤 관계나 범위 안에서 여러가지 값으로 변할 수 있는 수

  <c언어> 값을 저장할 수 있는 메모리 공간에 붙는 이름, 혹은 메모리 공간자체

int main()

{

int rabbit ;

}

int : 정수의 저장이 가능한 메모리 공간을 할당

rabbit : 메모리 공간 이름 (변경가능)

 

초기화 : 선언된 변수에 처음 값을 저장하는 것 ps.선언과 동시에 초기화 가능

'변수를 선언만 하고 초기화하지 않으면 쓰레기 값이 출력'

-변수 선언 규칙

1.변수는 알파벳, 숫자, 언더바( _ )로 구성

2.대소문자를 구분 ex) Num≠num

3.숫자,키워드로 시작 불가

4.이름 사이에 공백 불가

 

연산자(Operator) 종류 및 간략한 소개

대입연산자( = ) : 대입 연산자의 오른편에 오는 값을 왼편에 오는 변수에 저장

산술연산자(+, -, *, /, %)

+ : 덧셈, - : 뺄셈, * : 곱셈, / : 나눗셈_몫, % : 나눗셈_나머지

'함수 호출문의 인자전달 위치에 연산식이 올 수 있다.'

복합 대입연산자(+=, -=, *=, /=,등등)

 

증가,감소 연산자

전위증가 : ++num 선 증가 후 연산

후위증가 : num++ 선 연산 후 증가

전위감소 : --num 선 감소 후 연산

후위감소 : num-- 선 연산 후 감소

ex)

...

{

int num1=10;

int num2=10;

printf("num1 : %d \n",num1); //num1의 값 10

printf("++num1= %d \n",++num1); //num1의 값 11

printf("num1 : %d \n",num1); //num1의 값 11

 

printf("num2 : %d \n",num2); // num2의 값 10

printf("num2++ = %d \n",num2++); //num2의 값 10

 printf("num1 : %d \n",num1); //num1의 값 11

}

전위는 식을 계산하기 전에 값 증가,감소 후 식 계산이고

후위는 식을 계산 후 값 증가,감소

 

후위 증가(선 연산, 후 증가)와 후위 감소(선 연산, 후 감소) 연산은 소괄호의 영향을 받지 않고, 다음 문장으로 넘어가야만 비로소 값의 증가 및 감소가 이뤄진다.

 

관계연산자( <, >, ==, !=, <=, >= )  : 조건 만족시 1 반환 ,불만족시 0을 반환

논리연산자( &&, ||, ! )  : AND(논리곱), OR(논리합), NOT(논리부정) 연산자

'C언어는 0이 아닌 모든 값을 참(ture)으로 간주한다.

콤마연산자( , ) : 둘 이상의 변수를 동시에 선언, 둘 이상의 문장을 한 행에 삽입하는 경우,

둘 이상의 인자를 함수로 전달할 때 인자의 구분을 목적 

 

 

scanf 함수 : 10진수 정수형태의 입력을 받는 함수

'scanf 함수의 호출을 위해서는 입력된 데이터를 저장할 변수의 이름 앞에 & 연산자를 붙여야 한다.'

 

참고.visual studio 2015에서는 scanf 함수를 사용하면

 

 

 

코드 C4996 오류가 뜬다.

'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

뭐 대충 해석하자면 scanf 함수가 안전하지 않으니 scanf_s함수를 써라 이말이다.

 

scanf함수는 공백을 기준으로 데이터를 구분한다.

 

C언어 Keyword _간단한 설명 추가 예정

auto

_Bool

break

case

char

_Complex

const

continue

default

do

double

else

enum

extern

float

for

goto

if

_Imginary

return

restrict

struct

switch

typedef

union

unsigned

void

volatile

while

 

 

 

'IT > Programming' 카테고리의 다른 글

IP Header Checksum 구하기  (0) 2016.04.19
[C언어] 비트연산 문제  (0) 2015.09.23
[C언어] 03.데이터 표현방식  (0) 2015.09.23
[C언어] scanf 함수 활용 문제  (0) 2015.09.21
[C언어] 01.기초요약  (0) 2015.09.21