์กฐ๊ฑด ์ฐ์ฐ์
#include <stdio.h>
int main() {
int a = 20;
int b = 30;
int max = (a > b) ? a : b;
printf("%d์ %d์ค ํฐ ๊ฐ์ %d\n", a, b,max);
(a > b) ? printf("a:%d์ b:%d์ค์ a๊ฐ์ด ํฌ๋ค.\n",a,b) : printf("a:%d์ b:%d์ค์ b๊ฐ์ด ํฌ๋ค.\n",a,b);
return 0;
}
์ฆ๊ฐ ์ฐ์ฐ์
#include <stdio.h>
int main() {
// ์ฆ๊ฐ์ฐ์ฐ์ ++, --
// ์ ์ํ ๋ณ์์ ์ฌ์ฉํ๋ ์ฐ์ฐ์
// ๋ณ์์ ๊ฐ์ 1 ์ฆ๊ฐ์ํค๊ฑฐ๋ 1 ๊ฐ์์ํฌ ๋ ์ฌ์ฉ
int a = 20;
int b = 0;
++a;
printf("%d\n", a);
a++;
printf("%d\n", a);
//์ฆ๊ฐ์ฐ์ฐ์๊ฐ ๋จ๋
์ผ๋ก ์ฐ์ด๋ฉด ์ ์์,ํ์์ ์๊ด์์ด 1์ฆ๊ฐ๋จ.
b = ++a;
// ์ ์์์ ์ฆ๊ฐ ํ ๋ณ์ ๋์
// a = a + 1
// b = a
printf("%d, %d\n", a, b);
b = a++;
// ํ์์์ ๋ณ์ ๋์
ํ ์ฆ๊ฐ
// b = a
// a = a + 1
printf("%d, %d\n", a, b);
return 0;
}
๋์ ์ฐ์ฐ์
๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์
๊ฐ์๋ ๋์
์ ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ํ๋ณํ์ ํด์ ์์ผ์ค.(๋ฌต์์ ํ๋ณํ)
ํฐ ๋ฐ์ดํฐ ํ์
์ ๊ฐ์ ์์ ๋ฐ์ดํฐ ํ์
์ ๊ณต๊ฐ์ผ๋ก ๋์
์ ํ ๊ฒฝ์ฐ์๋ ๋ฌต์์ ํ๋ณํ์ ํ๋ฉด ์ ๋จ.
์ด ๋๋ ๋ช
์์ ํ๋ณํ์ ํด์ค์ผ ํจ.
#include <stdio.h>
int main() {
// ๋์
์ฐ์ฐ์
int a;
int b = 30;
float c = 3.4f;
a = 20;
a = b;
a = c;
a = (int)c;
printf("a : %d", a);
a += 1;
// a = a + 1;
// ๋์
์ฐ์ฐ์ ์ถ์ฝํ
return 0;
}
๋นํธ ์ฐ์ฐ์
&(๋นํธ and)
|(๋นํธ or)
~(๋นํธ not)
^(๋ฐฐํ์ OR)
<<(์ผ์ชฝ shift)
>>(์ค๋ฅธ์ชฝ shift)
#include <stdio.h>
int main() {
unsigned char a = 2;
unsigned char b = 3;
// a: 00000010
// b: 00000011
// a & b : 00000010
// a | b : 00000011
// ~a : 11111101
// a ^ b : 00000001 (๋ ๋นํธ๊ฐ ๊ฐ์ผ๋ฉด 0, ๋ค๋ฅด๋ฉด 1)
unsigned char ret = a & b;
printf("a & b : %d\n", ret);
ret = a | b;
printf("a | b : %d\n", ret);
ret = ~a;
printf("~a : %d\n", ret);
ret = a ^ b;
printf("a ^ b : %d\n", ret);
return 0;
}
&(๋นํธ And)
: mask off
ํน์ ์๋ฆฌ์ ๋นํธ๊ฐ์ 0์ผ๋ก ๋ง๋๋ ๊ฒ
|(๋นํธ OR)
: mask on
ํน์ ์๋ฆฌ์ ๋นํธ๊ฐ์ 1๋ก ๋ง๋๋ ๊ฒ
#include <stdio.h>
int main() {
int a = 1;
a = a << 1; // ์ผ์ชฝ shift
a = a << 1; // ์ผ์ชฝ shift
// x2
a = a << 2;
a = a >> 1; // ์ค๋ฅธ์ชฝ shift;
return 0;
}
๋นํธ ์ฐ์ฐ์ - ์ค์ต ์์
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
unsigned char light = 0;
unsigned char mask = 1;
int isOperator = 0;
int roomNumber = 0;
while (1) {
printf("๋ฐฉ์ ์ ๋ฑ์ ์กฐ์ํ์๊ฒ ์ต๋๊น?(1:์ ๋ฑ ์ผ๊ธฐ 2:์ ๋ฑ ๋๊ธฐ 3: ๋๋ด๊ธฐ) : ");
scanf("%d", &isOperator);
mask = 1;
if (isOperator == 1) {
printf("๋ช ๋ฒ์งธ ๋ฐฉ๋ถ์ ์ผ์๊ฒ ์ต๋๊น: ");
scanf("%d", &roomNumber);
mask <<= roomNumber;
light |= mask;
printf("light = %d\n", light);
}
else if (isOperator == 2) {
printf("๋ช ๋ฒ์งธ ๋ฐฉ๋ถ์ ๋์๊ฒ ์ต๋๊น: ");
scanf("%d", &roomNumber);
mask <<= roomNumber;
light &= ~mask;
printf("light = %d\n", light);
}
else {
printf("์ ๋ฑ ์กฐ์์ ๋ง์นฉ๋๋ค.");
break;
}
}
return 0;
}
๋ฐฐํ์ OR(XOR)
#include <stdio.h>
int main() {
unsigned char a = 2;
unsigned char b = 3;
// a: 00000010
// b: 00000011
//
// a ^ b: 00000001 (c)
// a: 00000010
// c ^ a: 00000011
// b: 00000011
// a ^ b: 00000001 (c)
// c ^ b: 00000010 (a)
unsigned char c = a ^ b;
printf("a ^ b = %d", c);
c = c ^ b;
printf("c ^ b = %d", c); //a
return 0;
}
size of ์ฐ์ฐ์ / ,(์ผํ) ์ฐ์ฐ์
(1) sizeof ์ฐ์ฐ์๋ ์คํ์ค์ ์๋ํ๋ ์ฐ์ฐ์๊ฐ ์๋๊ณ ์ปดํ์ผ ํ์์ ์๋๋๋ ์ฐ์ฐ์
์คํ์ค์ ๋ณ์๋ ๋ฐ์ดํ ํ์
์ ๋ฐ์ดํธ ์ฌ์ด์ฆ ๊ณ์ฐํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ฉด ์ ๋จ.
(2) , (์ผํ์ฐ์ฐ์) ๋ช ๋ น์ด ๊ตฌ๋ถ์ง์ด์ ์ด์ด์ ์์ฑํ ๋ ์ฌ์ฉ
#include <stdio.h>
int main() {
int a = 0;
double b = 0.0;
printf("int size = %d\n", sizeof(int));
printf("a size = %d\n", sizeof(a));
printf("double size = %d\n", sizeof(double));
printf("b size = %d\n", sizeof(b));
// , (์ผํ์ฐ์ฐ์) ๋ช
๋ น์ด ๊ตฌ๋ถ์ง์ด์ ์ด์ด์ ์์ฑํ ๋ ์ฌ์ฉํฉ๋๋ค.
int c = 0, d = 0, e = 0;
printf("a = 0\n"), printf("b = 0\n");
return 0;
}
'๐ฉโ๐ป Language > C, C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
3๊ฐ. [์ฃผ๋ง์ ๋ฐฐ์ฐ๋ C/C++] C์ธ์ด - ๋ฐฐ์ด (0) | 2023.01.14 |
---|---|
2๊ฐ. [์ฃผ๋ง์ ๋ฐฐ์ฐ๋ C/C++] C์ธ์ด - ์ ์ด๋ฌธ (2) | 2023.01.07 |
1๊ฐ. [์ฃผ๋ง์ ๋ฐฐ์ฐ๋ C/C++] C์ธ์ด - ์์ฉ(์ซ์ ๋ง์ถ๊ธฐ ๊ฒ์) (1) | 2023.01.01 |
1๊ฐ. [์ฃผ๋ง์ ๋ฐฐ์ฐ๋ C/C++] C์ธ์ด - ์ฐ์ฐ์ (0) | 2022.12.31 |
1๊ฐ. [์ฃผ๋ง์ ๋ฐฐ์ฐ๋ C/C++] C์ธ์ด - ๋ณ์์ ๋ฐ์ดํฐ ํ์ (0) | 2022.12.31 |