제 4장 변수와 연산자
- 연산자란 무엇인가?
> C언어에서의 다양한 연산자 존재
※ 필수 - printf함수를 익숙하게 사용할줄 알아야합니다.
● 연산자란 무엇인가?
- 연산을 요구할 때 사용되는 기호
> ex : +, -, *, /
=========================================
#include <stdio.h>
int main()
{
3+4;
return 0;
}
{
3+4;
return 0;
}
=========================================
==> C컴파일러가 '+'를 실행했다
메모리 - cpu 내부존재 메모리( 캐쉬메모리 등 )
- memory(Ram - Random Acess Memory)
- 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이 저장된다.
a = 3+4; // 'a' 에 3+4의 결과 값은 7이 저장된다.
printf("%d \n", a); // a를 출력 즉, 7이 출력된다.
system("PAUSE");
return 0;
}
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;
int num2 = 180;
int month = 12;
int day = 25;
printf("num : %d \n", num1 );
printf("val2 : %d \n", num2);
printf("val2 : %d \n", num2);
printf("제 나이는 %d 살 이고 키는 %d cm 여요^^ \n", num1, num2);
printf("크리스마스는 %d월 %d일 입니다 \n", month, day);
printf("크리스마스는 %d월 %d일 입니다 \n", month, day);
system("PAUSE");
return 0;
}
=========================================
return 0;
}
=========================================
● 변수의 선언 및 대입
- 대입 연산자(=) : 값을 대입하기 위한 용도의 연산자
= '같다'라는 의미가 아님, "대입하겠다"라는 의미임
=========================================
int main()
{
int val; // 변수
val = 20; // 20이라는 수를 val에 대입하라
.........
{
int val; // 변수
val = 20; // 20이라는 수를 val에 대입하라
.........
=========================================
컴마 연산자(,)
ex) 이 3가지는 같은 의미다
1. int a, b; // (,)컴마를 사용
2. int a; int b; // (;) 세미콜론(마침표)를 사용
3.
int a; // 제 각각 정의
int b; // 제 각각 정의
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);
{
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함수로 불러와서 출력시킨다.
}
// 메모리 값에다가 변수 4개를 사용하게끔, 선언을 한형태
// 이것을 printf함수로 불러와서 출력시킨다.
● 변수선언시 주의사항 - 1
#include<stdio.h>
int main()
{
int a; // 변수선언부분
a = 10; // 변수대입부분
a = 10; // 변수대입부분
int b; // 변수선언부분
b = 20; // 변수대입부분
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;
}
{
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;
{
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;
}
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) a = a+a; a+=a;
===========================================
// EX) 실습
#include<stdio.h>
#include
int main()
{
int val1 = 3;
int val2 = 4;
int val3 = 5;
{
int val1 = 3;
int val2 = 4;
int val3 = 5;
val1 += 3; // val1 = val1 + 3;
val2 -= 4; // val2 = val2 + 4;
val3 *= 5; // vla3 = val3 + 5;
val2 -= 4; // val2 = val2 + 4;
val3 *= 5; // vla3 = val3 + 5;
printf("rusult : %d %d %d \n", val1, val2, val3);
system("PAUSE");
return 0;
}
return 0;
}
===========================================
● 다양한 연산자(수학적 지식??산수적 지식이란 같음)
부호 연산으로서 +, - 연산자
증감감소연산자
ex) -(+20) = -20
-(-20) = +20
-(-20) = +20
===========================================
#include<stdio.h>
int main()
{
int number = 8;
int number2 = -10;
{
int number = 8;
int number2 = -10;
number1 = -number1;
printf("number1 = -number1 연산후 : %d \n", number1);
printf("number1 = -number1 연산후 : %d \n", number1);
number2 = -number2;
printf("number2 = -number2 연산후 : %d \n", number2);
printf("number2 = -number2 연산후 : %d \n", number2);
system("PAUSE");
return 0;
}
return 0;
}
===========================================
#include<stdio.h>
#include
int main()
{
int val1 = 10;
int val2 = (val1--)+2; // (10--)+2 ==>> val2 = 12
{
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;
printf("val2 : %d \n", val2); // val2 = 12
return 0;
}
// 연습
#include
int main()
{
int a = 20;
int b = 10;
{
int a = 20;
int b = 10;
printf("a = %d \n", a);
printf("b = %d \n", b);
printf("b = %d \n", b);
printf("a++ = %d \n", a++);
printf("++a = %d \n", ++a);
printf("++a = %d \n", ++a);
printf("b-- = %d \n", b--);
printf("++b = %d \n", ++b);
printf("++b = %d \n", ++b);
system("PAUSE");
return 0;
}
return 0;
}

'프로그래밍 > C' 카테고리의 다른 글
제 6장 scanf함수와 데이타 표현방식의 이해 (0) | 2010.07.08 |
---|---|
제 5장 변수와 연산자 - 2 (0) | 2010.07.08 |
제 3장 C언어의 기초 - printf함수 (0) | 2010.07.08 |
제 2장 C언어의 기초 (0) | 2010.07.08 |
제 1장 C언어의 개론적인 이야기 (0) | 2010.07.08 |