본문 바로가기

C 입문

증감연산자 및 기타 예제

반응형


#include "stdafx.h"
#include <stdio.h>
int main(void)
{
//printf("\"너 자신을 알라\"라고 소크라테스는 말했다.\n");
//printf("일이 70%% 진행되었다.\n");
//printf("c:\\temp 폴더에 복사한다.\n");
//printf("\n");
//printf("교통비\t:%10d\n", 50000);
//printf("잡비\t:%10d\n", 2200);
/*
*********************************
int radius = 10;
double pi = 3.141592;
printf("radius=%d\n", radius);
printf("PI= %0.2f\n", pi);
*********************************
*/
/*
int radius;
double pi;
scanf_s("%d,%f", &radius, &pi);
printf("radius=%d\n", radius);
printf("PI= %0.2f\n", pi);
*/
// 증감연산자
/* //예제1
int val;
val = 1;
printf("전위형 증가: %d\n", ++val); //2가 된 후 출력 //2
val = 1;
printf("후위형 증가: %d\n", val++); //출력 후 2가 됨 //1
val = 1;
printf("전위형 감소: %d\n", --val); //0이 된 후 출력 //0
val = 1;
printf("전위형 감소: %d\n", val--); //출력 후 0이 됨 //1
*/
/* //예제2
int val1 = 0, result1;
int val2 = 0, result2;
result1 = val1++ + val1++ + val1++;
result2 = val2++ + val2++ + val2++;
printf("val1=%d,result1=%d\n",val1,result1);
printf("val2=%d,result2=%d\n", val2, result2);
*/
//* //예제3
//int a = 5;
//a++; // a= a+1 답:6
//a--; // a= a-1 답:5 ex4가 아님) 위에서 a값을 6으로 적용이 되었기 때문에 6-1=5
//printf("%d\n", a);
//* 예제4
/*int a = 10, b = 0;
float x = 1.25f;
a++;
x++;
printf("%d %f\n", a, x);
++a;
++x;
printf("%d %f\n", a, x);
*/
/* //예제4
int a = 10, b = 0;
//변수 뒤에 증감연산자가 붙는 경우에는 다른 연산을 모두 수행하고 나서 마지막에 증감연산자를 수행
b = a++;
//연산순서
//(1)대입연산 수행 b = a; //10을 b에 대입 => a=10, b=10
//(2)증감연산 수행 a = a + 1; // a = 10 + 1 =>
//답 (a = 11, b = 10)
printf("a=%d,b=%d\n", a, b);
//예제5
//변수 앞에 증감연산자가 붙는 경우에는 증감연산자를 먼저 수행한 후에 다른 연산을 수행
b = ++a;
//연산순서
//(1)증감연산 수행 a = a + 1; //a=11이었으므로 a+1= 12
//(2)대입연산 수행 b = a; //a=12로 적용되었으므로 12를 b에 대입함으로써 b=12
//답 (a = 12, b = 12)
printf("a=%d,b=%d\n", a, b);
*/
/* //예제5
int a = 10, b = 5;
b = a++ + b;
printf("a=%d, b=%d\n", a, b);
//연산순서
//(1)산술연산자 수행
//+ 연산부터 수행 진행방향 ← 이므로 + 부터 수행, a + b를 진행, 10 + 5 = 15
//(2)대입연산자 수행
//= 연산자 수행
// b = (1번에서 수행했던 a+b=15) b = 15 가 됌
//(3)증감연산자 수행
//++ 연산자 수행
// a = a + 1; 마지막으로 a++ 증감연산자 수행 즉 a = 10 + 1 a = 11
//답 a = 11,b = 15
b = ++a + b;
printf("a=%d, b=%d\n", a, b);
//연산순서
//(1)증감연산자 수행
// 이전에 a=11이 되었음, 즉 ++를 계산하면 11 + 1 = 12 a = 12, b = 15
//(2)산술연산자 수행
// 이전에 a = 12 , b = 15 였음. 남은 산술연산자를 수행하면 a + b = 27 이 됌
//(3)대입연산자 수행
//b = a + b 즉 b = 27이 됌
//답 a = 12 , 27
return 0;
*/
}


반응형

'C 입문' 카테고리의 다른 글

변수의 다양한 선언 및 초기화 방법  (0) 2018.06.19
변수를 이용한 데이터의 저장  (0) 2018.06.19
함수 및 용어  (0) 2018.06.19
C 프로그램의 완성과정  (0) 2018.06.18
프로그래밍 언어란?  (0) 2018.06.18