μλ£ν
- νλ‘κ·Έλ¨μμ μ μΈλ λ³μλ€μ΄ κΈ°μ΅ κ³΅κ°μμ μ΄λ»κ² μ μ₯λκ³ μ²λ¦¬λμ΄μΌ ν μ§, μ»΄νμΌλ¬μκ² μλ €μ€
- μ’
λ₯
- μ μν
- μ€μν
- λ¬Έμν
- μ¬μ©μ μ μ μλ£ν
μ μν
- μμμ μ΄ μλ μ«μ
- μμ μ μ, 0 , μμ μ μ
μ€λ²νλ‘μ°(overflow)
λ°μ΄ν° νμ© λ²μλ₯Ό λλ κ°μ λ³μμ μ μ₯ν λ, μλν κ°μ΄ μλ λ€λ₯Έ κ°μ΄ μ μ₯λλ κ²
#include <stdio.h>
int main(void) {
short a = 32767, b=2, c;
unsigned short d;
c = a+b;
d = a+b;
printf("c = %d \n", c);
printf("d = %d \n", d);
return 0;
}
//νλ‘μΈμ€κ° μμλμμ΅λλ€..
> c = -32767
d = 32769
μΈλνλ‘μ°(underflow)
λ°μ΄ν° νμ© λ²μλ₯Ό λλ κ°μ λ³μμ μ μ₯ν λ, μλν κ°μ΄ μλ λ€λ₯Έ κ°μ΄ μ μ₯λλ κ²
#include <stdio.h>
int main() {
short a = -32767, b = -2, c;
unsigned short d;
c = a+b;
d = a+ b;
printf("c = %d\n ", c);
printf("d = %d\n ", d);
return 0;
}
// νλ‘μΈμ€κ° μμλμμ΅λλ€..
> c = 32767
d = 32767
νλ‘μΈμ€κ° μ’
λ£λμμ΅λλ€.
λ°μ΄ν° νν λ¨μ
ν¬κΈ° ꡬνλ ν¨μ
sizeof(μλ£ν)
#include <stdio.h>
int main() {
short x = 1;
int y = 2;
long z =3;
printf("shortμ ν¬κΈ° : %d λ°μ΄νΈ \n", sizeof(x));
printf("intμ ν¬κΈ° : %d λ°μ΄νΈ \n", sizeof(y));
printf("longμ ν¬κΈ° : %d λ°μ΄νΈ \n", sizeof(z));
printf("shortμ ν¬κΈ° : %d λ°μ΄νΈ \n", sizeof(short));
printf("intμ ν¬κΈ° : %d λ°μ΄νΈ \n", sizeof(int));
printf("longμ ν¬κΈ° : %d λ°μ΄νΈ \n", sizeof(long));
return 0;
}
// νλ‘μΈμ€κ° μμλμμ΅λλ€..
> shortμ ν¬κΈ° : 2 λ°μ΄νΈ
intμ ν¬κΈ° : 4 λ°μ΄νΈ
longμ ν¬κΈ° : 8 λ°μ΄νΈ
shortμ ν¬κΈ° : 2 λ°μ΄νΈ
intμ ν¬κΈ° : 4 λ°μ΄νΈ
longμ ν¬κΈ° : 8 λ°μ΄νΈ
νλ‘μΈμ€κ° μ’
λ£λμμ΅λλ€.
μ€μν
μμμ μ΄λ μ§μκ° μλ μ
float a = 3.14f
/* λ€μ λΆλ fλ μμλ©λͺ¨λ¦¬μ ν¬κΈ°λ₯Ό λ§νλ€.
μμ λ©λͺ¨λ¦¬μ ν¬κΈ°λ₯Ό 4λ°μ΄νΈλ‘ κ²°μ ν΄ λ¬λΌλ μλ―Έ.
aλ μμ floatλ₯Ό μΌκΈ° λλ¬Έμ 4λ°μ΄νΈμ λ°©μ΄ μ΄λ―Έ ν λΉλμ΄ μλ€. */
float a = 3.14
/* λ€μ fλ₯Ό μμΌκ³ ,μ€μνμ΄κΈ° λλ¬Έμ μμλ©λͺ¨λ¦¬λ 8λ°μ΄νΈκ° νμ±λλ€
μ¬κΈ°μ 4λ°μ΄νΈμΈ aμ λ£κ²λλ©΄ 지릴μλ μλ€.
κ·Έλμ λ€μκ³Ό κ°μ μλ¬κ° λ¬λ€.*/
// Lμ λ‘±λλΈλ‘ μμλ©λͺ¨λ¦¬ ν λΉ
#include <stdio.h>
int main() {
float x = 1.1f;
double y = 2.2;
long double z = 3.3L;
printf("float x = %f\n", x);
printf("double y = %f\n", y);
printf("long double z = %lf\n", z);
return 0;
}
//νλ‘μΈμ€κ° μμλμμ΅λλ€..
> float x = 1.100000
double y = 2.200000
long double z = 0.000000
νλ‘μΈμ€κ° μ’
λ£λμμ΅λλ€.
μμ λ¬Έμ
- %f : float, doubleμΈ κ²½μ°
- %lf : long double
%6.1f // μΆλ ₯ν 6μΉΈ, μ€λ₯Έμͺ½ μ λ Ή, μμμ 1μ리κΉμ§
#include <stdio.h>
int main() {
int a = 20;
float b = 5.06f;
float c = 1234567.89f;
printf("0)%d\n", 123456);
printf("1)%d\n", a);
printf("2)%6d\n", a);
printf("3)%+6d\n", a);
printf("4)%-6d\n", a);
printf("1)%f\n", b);
printf("2)%6.1f\n", b);
printf("3)%+6.1f\n", b);
printf("4)%-6.1f\n", b);
printf("5)%6.1f\n", c);
return 0;
}
// νλ‘μΈμ€κ° μμλμμ΅λλ€..
> 0)123456
1)20
2) 20
3) +20
4)20
1)5.060000
2) 5.1
3) +5.1
4)5.1
5)1234567.9
νλ‘μΈμ€κ° μ’
λ£λμμ΅λλ€.
λ¬Έμν
- char : λ¬Έμνμ λ€λ£¨λ μλ£ν
- λ¬Έμ 1κ°λ₯Ό μμ λ°μ΄ν (β)μ¬μ΄μ λ£μ΄μ μ¬μ©
- μμ λ°μ΄ν μμ μλ λ¬Έμλ₯Ό λ°μ΄ν° 1κ°λ‘ μ·¨κΈν¨
- μ¬μ©λλ λ¬Έμλ 8λΉνΈ(1λ°μ΄νΈ)λ‘ μ²λ¦¬λ¨
- λ΄λΆμ μΈ λ¬Έμ μ½λ (μμ€ν€ μ½λ) μ μμνλ μ«μλ‘ λ°λ
- unsigned intμ μ μ₯λ¨
μμ€ν€ μ½λ ν
#include <stdio.h>
int main() {
printf("μλ¬Έμ aμ ASCII κ°μ %dμ΄λ€.\n", 'a');
printf("μλ¬Έμ bμ ASCII κ°μ %dμ΄λ€.\n", 'b');
printf("μλ¬Έμ Aμ ASCII κ°μ %dμ΄λ€.\n", 'A');
printf("μλ¬Έμ Bμ ASCII κ°μ %dμ΄λ€.\n\n", 'B');
printf("ASCII 97μ %cμ΄λ€.\n", 97);
printf("ASCII 98μ %cμ΄λ€.\n", 98);
printf("ASCII 65μ %cμ΄λ€.\n", 65);
printf("ASCII 66μ %cμ΄λ€.\n", 66);
return 0;
}
// νλ‘μΈμ€κ° μμλμμ΅λλ€..
> μλ¬Έμ aμ ASCII κ°μ 97μ΄λ€.
μλ¬Έμ bμ ASCII κ°μ 98μ΄λ€.
μλ¬Έμ Aμ ASCII κ°μ 65μ΄λ€.
μλ¬Έμ Bμ ASCII κ°μ 66μ΄λ€.
ASCII 97μ aμ΄λ€.
ASCII 98μ bμ΄λ€.
ASCII 65μ Aμ΄λ€.
ASCII 66μ Bμ΄λ€.
νλ‘μΈμ€κ° μ’
λ£λμμ΅λλ€.
#include <stdio.h>
int main() {
char a ='A';
char b = 'B';
printf("λ³μ aλ %cλ‘ κ°μ΄ %dλ€.\n", a, a);
printf("λ³μ bλ %cλ‘ κ°μ΄ %dλ€.\n", b, b);
return 0;
}
// νλ‘μΈμ€κ° μμλμμ΅λλ€..
> λ³μ aλ Aλ‘ κ°μ΄ 65λ€.
λ³μ bλ Bλ‘ κ°μ΄ 66λ€.
νλ‘μΈμ€κ° μ’
λ£λμμ΅λλ€.
#include <stdio.h>
int main() {
char a = 65;
char b = 66;
printf("λ³μ aλ %cλ‘ κ°μ΄ %dλ€.\n", a, a);
printf("λ³μ bλ %cλ‘ κ°μ΄ %dλ€.\n", b, b);
return 0;
}
// νλ‘μΈμ€κ° μμλμμ΅λλ€..
> λ³μ aλ Aλ‘ κ°μ΄ 65λ€.
λ³μ bλ Bλ‘ κ°μ΄ 66λ€.
νλ‘μΈμ€κ° μ’
λ£λμμ΅λλ€.
- small a(97), large A(65)λ§ μκ³ μμΌλ©΄ λλ€.
μμμ§μ μ
char a = 'A' // μμλ°μ΄ν μ¬μ©ν΄μΌν¨
printf("λ³μ aλ %cλ‘ κ°μ΄ %dλ€. \n", a, a)
// κ²°κ³Ό
// λ³μ aλ Aλ‘ κ°μ΄ 65λ€.
// %cλ‘ ν κ²½μ° μμ€ν€μ½λμ μμνλ λ¬Έμ μΆλ ₯
// %d μΈ κ²½μ° μ€μ μ μ κ° μΆλ ₯
char a = 'A' + 1 // μμλ°μ΄ν μ¬μ©ν΄μΌν¨
printf("λ³μ aλ %cλ‘ κ°μ΄ %dλ€. \n", a, a)
// κ²°κ³Ό
// λ³μ aλ Aλ‘ κ°μ΄ 66λ€.
```c
#include <stdio.h>
int main() {
char a = 'A' + 1;
char b = 'B' + 1;
printf("λ³μ aλ %cλ‘ κ°μ΄ %dλ€.\n", a, a);
printf("λ³μ bλ %cλ‘ κ°μ΄ %dλ€.\n", b, b);
return 0;
}
// νλ‘μΈμ€κ° μμλμμ΅λλ€..
> λ³μ aλ Bλ‘ κ°μ΄ 66λ€.
λ³μ bλ Cλ‘ κ°μ΄ 67λ€.
νλ‘μΈμ€κ° μ’
λ£λμμ΅λλ€.
νλ³ν
묡μμ νλ³ν
- νλμ μλ£νμ λ€λ₯Έ μλ£νμΌλ‘ λ³νμμΌ μλ£νμ κ°κ² νλ κ²
- λ³μ 2κ°λ‘ μ°μ°μ μνν κ²½μ° μ¬μ©ν¨
- μμλ©λͺ¨λ¦¬λ₯Ό ν λΉν λμ λ λ³μλ₯Ό νμΈνκ³ , λ ν° μ§ν©μ μνλ μλ£νμΌλ‘ μμλ©λͺ¨λ¦¬λ₯Ό ν λΉν¨
#include <stdio.h>
int main() {
int a = 10;
float b = 20.07f, c;
c = a + b;
printf("c = %f \n", c);
return 0;
}
// νλ‘μΈμ€κ° μμλμμ΅λλ€..
> c = 30.070000
νλ‘μΈμ€κ° μ’
λ£λμμ΅λλ€.
λͺ μμ νλ³ν
- μ¬μ©μκ° κ°μ λ‘ νλ³ν μν€λ κ²
- μΊμ€ν μ°μ°μ μ¬μ©
- μ°μ°μ μμ νλ³ν μ°μ°μ()λ₯Ό λΆμ΄κ³ ()μμλ λ³νμν€λ €λ μλ£ν
float a = 20.07f;
printf("a = %d \n", (int)a)
#include <stdio.h>
int main() {
float a = 20.07f;
printf("a = %d\n", a);
printf("a = %d\n", (int)a);
return 0;
}
// νλ‘μΈμ€κ° μμλμμ΅λλ€..
> a = 1751745880
a = 20
νλ‘μΈμ€κ° μ’
λ£λμμ΅λλ€.