2010. 7. 8. 18:36
제 4장 변수와 연산자


 - 변수란 무엇인가?

 - 연산자란 무엇인가?
  > C언어에서의 다양한 연산자 존재
 
  ※  필수 - printf함수를 익숙하게 사용할줄 알아야합니다.
 

연산자란 무엇인가?

 - 연산을 요구할 때 사용되는 기호
   > ex : +, -, *, /

=========================================
#include <stdio.h>
int main()
{
   3+4;
   return 0;
}

=========================================
 
 ==> C컴파일러가 '+'를 실행했다
 
메모리 - cpu 내부존재 메모리( 캐쉬메모리 등 )
           - memory(Ram - Random Acess Memory)
 
 - 연산은 cpu에서 실행

┌ 위코드를 자세히 설명 ┐
 
=> 1. 연산하고자 데이타는 3, 4라는 정수다.

=> 2. 덧셈을 먼저 하는게 아니고

=> 3. 3, 4라는 값을 메모리공간에 들여놓고
    ex) printf함수의 경우도 " " 문자열을 메모리 공간안에 올라간다.

=> 4. cpu가 메모리 값을 가지고 가서 덧셈연산을 실행
 
=> 5. 우리가 보고싶은건 덧셈에 대한 결과를 보는것!
 
 
 
 즉, 연산한 결과를 만들어주는것

 ☞ 메모리공간에 이름을 붙여주면 얼마든지 쓸수있다
 
 ☞ 3+4값을 보기위해서 메모리공간에 이름을 지어준다 

 ☞ 저장할곳의 이름을 지어준다.
      > ex) 반 아이들 이름을 제각각 지어준다.
              이름이 없는 아이는 담에 이름을 몰라서 부를수가 없다

 ☞ 메모리는 이름이 없으면 다시 와서 불러오지 못한다.
 
==============<<수정해볼까요?>>===========================

#include <stdio.h>
 
int main()
{
   int a;            // 'a' 라는 이름을 등록(선언)한다.
   a = 3+4;         // 'a' 에 3+4의 결과 값은 7이 저장된다.
 
   printf("%d \n", a);  // a를 출력 즉, 7이 출력된다.
 
   system("PAUSE");
   return 0;
}
 
=========================================
 
 
 
변수란 무엇인가? : 변경이 가능한 수

 - 데이타를 저장할수 있는 메모리 공간에 붙여진 이름

 - 메모리 공간을 가르켜 변수라고 한다.
 
   ex3) int a 이런씩으로 지정을 않하면 메모리 공간이 없으니,
          다시 불러올수도 없다.
          이름을 지정하면 얼마든지 사용할수 있다
 
 
 
다양한 형태(자료형)의 변수 - 메모리 공간

 - 정수형 : char, int, long

 - 실수형 : float, double
 
ex) 정수형 데이타를 쓰고 싶다? 
     당분간 우리는 int형 변수를 사용하고 싶다
     (    자~~일단 뒤로 넘길까요?)
 
========================================= 실습
#include <stdio.h>
int main()
{
 int num1 = 100;
 int num2 = 180;
 int month = 12;
 int day = 25;
 
 printf("num : %d \n", num1 );
 printf("val2 : %d \n", num2);
 
 printf("제 나이는 %d 살 이고 키는 %d cm 여요^^ \n", num1, num2);
 printf("크리스마스는 %d월 %d일 입니다 \n", month, day);
 
 system("PAUSE");
 return 0;
}
=========================================
 
 
변수의 선언 및 대입
 
 - 대입 연산자(=) : 값을 대입하기 위한 용도의 연산자

 = '같다'라는 의미가 아님, "대입하겠다"라는 의미임
 
 
=========================================
 
int main()
{
int val;              // 변수
val = 20;             // 20이라는 수를 val에 대입하라
.........
 
=========================================
 
컴마 연산자(,)

ex) 이 3가지는 같은 의미다
 
1.   int a, b;     // (,)컴마를 사용
 
 
2.   int a; int b; // (;) 세미콜론(마침표)를 사용
 
 
3.
  int a;        // 제 각각 정의
  int b;        // 제 각각 정의
 
=========================================
 
#include <stdio.h>
int main()
{
  int a, b; // 변수선언 -> 쓰래기값이 포함
  int c = 30, d = 40; // 변수를 선언하자마자 초기화시키면 좋음
  a = 10;
  a = 20;
 
  printf("%d %d \n", a, b);
  printf("%d %d \n", c, d);
  return 0;
}


// 메모리 값에다가 변수 4개를 사용하게끔, 선언을 한형태
// 이것을 printf함수로 불러와서 출력시킨다.
 
 
변수선언시 주의사항 - 1
 
#include<stdio.h>
 
int main()
{
 
int a;              // 변수선언부분
a = 10;             // 변수대입부분
 
int b;              // 변수선언부분
b = 20;             // 변수대입부분
 
printf("%d %d\n", a, b);
system("PAUSE");
return 0;
}
                         ===================> 실행시 에러발생
 
 
// 변수를 함수내에 선언시, 가장 앞부분에 선언한다.
 
int a;  // 변수초기화
int b;  // 변수초기화
 
a = 10;
b = 20;   // ============> 이런형태로
 
===========================================
 
 
 
 
변수선언시 주의사항 - 2(이름을 지을때 안되는경우)

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

 2 - : 대 소문자 구분
 
 3 - : 변수의 이름은 숫자로 시작 불가, 키워드 사용불가

 4 - : 공백이 포함될수 없음
 
 ex) int 7th_val ;
     int live_#id;
     int  kor yar;
 
     // 변수자체가 어떤 용도를 쓸건지 의미를 부여해서 선언하라!
 
===========================================
#include <stdio.h>
int main()
{
  int result ;           // 변수선언(의미부여)
  result = 3+4;         // 덧셈 결과값을 저장(대입)
 
  printf("덧셈결과 : %d \n", result);
  printf("%d 더하기  %d는 %d 입니다 \n", 3, 4, result);
  printf("변수 result에 저장된값 : %d \n", result); 
  
  system("PAUSE"); 
  return 0;
}
===========================================
 

 
상수란?: 변경이 불가능한 수
 ex) 1, 2, 3...등등
 
===========================================
 
대입연산자와 산술연산자

#include <stdio.h>
int main()
{
  int num1 = 6;
  int num2 = 4;
  printf("두수의 더하기 : %d \n", num1 + num2);
  printf("두수의 빼  기 : %d \n", num1 - num2);
  printf("두수의 곱하기 : %d \n", num1 * num2);
  printf("두수의 나누기 : %d \n", num1 / num2);
  printf("두수의 나머지 : %d \n", num1 % num2);
 
  system("PAUSE"); 
  return 0;
}
 
 
 
===========================================
 
기타 대입연산자
  - 대입연산자와 산술연산자가 합해져서 다양한 형태의 대입연산자 정의
  ex) a = a+a;    a+=a;
===========================================
 
 
// EX) 실습
#include<stdio.h>
int main()
{
 
 int val1 = 3;
 int val2 = 4;
 int val3 = 5;
 val1 += 3;   // val1 = val1 + 3;
 val2 -= 4;   // val2 = val2 + 4;
 val3 *= 5;   // vla3 = val3 + 5;
 printf("rusult : %d %d %d \n", val1, val2, val3);
 system("PAUSE"); 
 return 0;
}

===========================================
 
 

다양한 연산자(수학적 지식??산수적 지식이란 같음)
 
부호 연산으로서 +, - 연산자
증감감소연산자
ex) -(+20) = -20
     -(-20) = +20
 
===========================================
 
#include<stdio.h>
int main()
{
 
 int number = 8;
 int number2 = -10;
 
 number1 = -number1;
 printf("number1 =  -number1 연산후 : %d \n", number1);
 
 number2 = -number2;
 printf("number2 =  -number2 연산후 : %d \n", number2);
 
 system("PAUSE"); 
 return 0;
}
 
 
===========================================
#include<stdio.h>
int main()
{
 int val1 = 10;             
 int val2 = (val1--)+2; // (10--)+2 ==>> val2 = 12
 printf("val1 : %d \n", val1); // val1 == 9
 printf("val2 : %d \n", val2); // val2 = 12
 return 0;

}
 
 
// 연습
#include
int main()
{
   int a = 20;
   int b = 10;
 
   printf("a = %d \n", a);
   printf("b = %d \n", b);
 
   printf("a++ = %d \n", a++);
   printf("++a = %d \n", ++a);
 
   printf("b-- = %d \n", b--);
   printf("++b = %d \n", ++b);
 
  system("PAUSE");
  return 0;
}
 


Posted by 토실토실천재