/* 예제 4-1
* 기본 산술 연산 - 덧셈(addition), 뺄셈(subtraction),
* 곱셈(multiplication), 나눗셈(division)
*/
/*
#include<stdio.h>
void main()
{
int a=2, b=3, result; // 변수 선언
result = a*b; // 산술식
printf("%d + %d = %d \n", 2, 3, 5);
printf("%d + %d = %d \n", 2, 3, 2+3);
printf("%d - %d = %d \n", a, b, a-b);
printf("%d x %d = %d \n", a, b, result);
printf("%d / %d = %d \n", b, a, b/a);
}
*/
/* 예제 4-2
* 기본 산술 연산 - 나머지
*/
/*
#include <stdio.h>
void main()
{
printf("3 % 2 = 1 \n");
printf("%d % %d = %d \n", 3, 2, 3%2);
printf("%d %% %d = %d \n", 3, 2, 3%2);
// printf("%d %% %d = %d \n", 3, 2, 3%1.5);
}
*/
/* 예제4-3
* 산술 연산의 계산결과와 우선순위
*/
/*
#include<stdio.h>
void main()
{
int i_result1, i_result2;
float f_result;
i_result1 = 2 + 3/2; // 3/2가 먼저 수행
i_result2 = (2 + 3)/2; // 괄호 우선 수행, 2와 3의 정수형 평균
f_result = (2 + 3)/2.0; // 괄호 우선, 2와 3의 실수형 평균
printf("2 + 3/2 : %d \n", i_result1);
printf("(2 + 3)/2 : %d \n", i_result2);
printf("(2 + 3)/2.0 : %.1f \n", f_result);
}
*/
/* 예제4-4
* 증가 감소 연산자
*/
/*
#include <stdio.h>
void main()
{
int incre=1, result=1;
result = result + incre++; // 후치
printf("result : %d, incre : %d\n", result, incre);
result = result + ++incre; // 전치
printf("result : %d, incre : %d\n", result, incre);
}
*/
/* 예제4-5
* 대입 연산자
*/
/*
#include <stdio.h>
void main()
{
int num1, num2, num3;
num1 = num2 = num3 = 3; // 다중 대입 연산
num3 += 3; // 복합 대입 연산
printf("num1 : %d, num2 : %d num3 : %d\n", num1, num2, num3);
}
*/
/* 예제4-6
* 키보드로부터 2개의 정수를 입력받고, 합과 평균을 계산
*/
/*
#include<stdio.h>
void main()
{
int num1, num2, sum;
printf("첫 번째 정수 입력 : ");
scanf("%d", &num1);
printf("두 번째 정수 입력 : ");
scanf("%d", &num2);
sum = num1 + num2;
printf("합: %d \n", sum);
printf("평균: %.1f\n", sum/2.0);
}
*/
/* 예제4-7
* 관계 연산의 참과 거짓의 값
*/
/*
#include <stdio.h>
void main()
{
int true_val, false_val;
true_val = 3 < 9; // true value
false_val = 3 != 3; // false value
printf("true value is %d. \n", true_val);
printf("false value is %d. \n", false_val);
}
*/
/* 예제4-8
* 논리 연산의 결과
*/
/*
#include <stdio.h>
void main()
{
int a=0;
printf("%d\n", !a);
printf("%d\n", a<10 && a>5);
printf("%d\n", a<10 || a>5);
printf("%d\n", 5+2 && a);
printf("%d\n", 5+2 || a);
// 'A <= B && B <= C' 와 A <= B <= C'의 비교
printf("%d\n", 10 <= 13 && 13 <=11 );
printf("%d\n", 10 <= 13 <=11 );
}
*/
/* 예제4-9
* 비트 논리 연산의 예
*/
/*
#include <stdio.h>
void main()
{
char n1=127, n2=4, n3=8, n4=2;
printf(" %d & %d : %d \n", n1, n2, n1 & n2);
printf(" %d | %d : %d \n", n2, n3, n2 | n3);
printf(" %d ^ %d : %d \n\n", n2, n4, n2 ^ n4);
}
*/
/* 예제4-10
* 비트 이동 연산의 예
*/
/*
#include <stdio.h>
void main()
{
char n1=8, n2=-4; //초기화
printf("n1 << 1 : %d \n", n1 <<1);
printf("n1 << 2 : %d \n", n1 <<2);
printf("n1 >> 2 : %d \n\n", n1 >>2);
printf("n2 >> 1 : %d \n", n2 >>1); // 음수의 비트 이동 연산
}
*/
/* 예제4-11
* 비트 마스크
*/
/*
#include <stdio.h>
void main()
{
char mask =0x0f, a= 'A';
printf("%#x(%c) & %#x = %#x\n", a, a, mask, a & mask);
printf("%#x(%c) & %#x = %#x\n", a+1, a+1, mask, a+1 & mask);
printf("%#x(%c) & %#x = %#x\n", 'a', 'a', mask, 'a' & mask);
}
*/
/* 예제4-12
* 조건 연산자의 활용
*/
/*
#include <stdio.h>
void main()
{
int a=3, b=-5, max, abs;
a>b ? (max=a) : (max=b);
printf("큰 수 : %d\n", max);
abs = (b>0 ? b : -b);
printf("%d 절대값 : %d\n", b, abs);
(a % 2 == 0) ? printf("%d : 짝수\n", a): printf("%d : 홀수\n", a);
}
*/
/* 예제4-13
* 형변환
*/
/*
#include <stdio.h>
void main()
{
int i1, i2;
float f1;
i1 = 2 + 3;
f1 = 2 + 3; // float 형 f1에 정수형 결과값을 대입
i2 = 2.1 + 3; // int 형 i2에 실수형 결과값을 대입
printf("i1 is %d \n", i1);
printf("f1 is %.1f \n", f1);
printf("i2 is %d \n", i2);
printf("i1+1 is %f \n", i1+1); // int 형 결과값 i1+1을 %f로 출력
}
*/
/* 예제4-14
* 캐스트 연산자
*/
/*
#include <stdio.h>
void main()
{
int i1, i2, i3;
float f1;
i1 = 2 + 3;
f1 = 2 + 3; // 자동 형 변환
i2 = (int)2.8 + 3; // 캐스트 연산자 사용
i3 = (int)(2.8 + 3.3); // 우선순위 비교
printf("i1 is %d \n", i1);
printf("f1 is %.1f \n", f1);
printf("i2 is %d \n", i2);
printf("i3 is %d \n", i3);
}
*/
'매니저 > C' 카테고리의 다른 글
학교 5강 예제 (0) | 2012.04.18 |
---|---|
학교 퀴즈 문제 풀이 (0) | 2012.04.11 |
20120405 학교 수업2 (0) | 2012.04.05 |
20120405 학교 수업 (0) | 2012.04.05 |
디지털공학 개론 과제1 (0) | 2012.03.31 |