CTRL + F ๋ก ํค์๋ ๊ฒ์
๋ณธ ๊ธ์ ํ์๊ฐ C์ธ์ด๋ฅผ ๊ณต๋ถํ๋ฉด์ ์ฐ๋ ์ผ์ข ์ ์ ์ฅ ๋ ธํธ์ ๋๋ค.
ํ์๋ ๋ฐฐ์ฐ๋ ์ ์ฅ์ผ๋ก
ํ์ํ์ ๋ถ ๋ค์ ์ ์ ํ ์ฌ์ฉํ๋ฉด ์ข์ ๋ฏ ํ๋ค.
๋น์ฃผ๊ธฐ์ ์ ๋ฐ์ดํธ ์์
๋ง์ง๋ง ์์ 2023 05 03 ๋
โ ์ค์ ํํ ๋ฐฉ์
โ ์ปดํจํฐ๊ฐ ์ค์๋ฅผ ๋ํ๋ด๋๋ฐ์ ์ค์ฐจ๊ฐ ์กด์ฌํ๋ค.
์ค์๋ฅผ ํํํ๋ ์์ธ๋ฐ
m๊ณผ e์ ์ ์ ํ ๊ฐ์ ๋ฃ์ด์ 0.0์ ๋ชป ๋ง๋ ๋ค.
2์ n์น์ ์ ๋ 0์ด ๋ ์ ์๋ค.
๋ฐ๋ผ์ ์ปดํจํฐ๋ ์ค์ ํํ์ ์ ํํ ํํํ๋๊ฒ ์๋
๊ทผ์ฌ์น๋ฅผ ํตํด์ ์ค์๋ฅผ ํํ
โ 12345
โ ์ฐ์ฐ์
& : ๋นํธ๋จ์ AND ์ฐ์ฐ | ๋ ๊ฐ์ ๋นํธ๊ฐ ๋ชจ๋ 1์ผ๋ 1 ๋ฐํ
| : ๋นํธ๋จ์ OR ์ฐ์ฐ | ๋ ๊ฐ์ ๋นํธ์ค ํ๋๋ผ๋ 1์ด๋ฉด 1 ๋ฐํ
^ : ๋นํธ๋จ์ XOR ์ฐ์ฐ | ๋ ๊ฐ์ ๋นํธ๊ฐ ์๋ก ๋ค๋ฅด๋ฉด 1 , ๊ฐ์ผ๋ฉด 0 ๋ฐํ
~ : ๋นํธ๋จ์ NOT ์ฐ์ฐ | ๋นํธ๋ฅผ 0->1 , 1->0 ์ผ๋ก ๋ณํ , MSB๋ ๋ณํํ๋ค.
<< : ๋นํธ๋จ์ LEFT ์ด๋ | ๋นํธ์ด์ ์ค๋ฅธ์ชฝ์ ์๋ ๊ฐ ๋งํผ ์ด๋ |
ex) 15<<1 15๋นํธ์ด์ ์ผ์ชฝ์ผ๋ก 1์นธ์ฉ ์ด๋
>> : ๋นํธ๋จ์ Right ์ด๋ | ์ดํ์๋ต
โ ํน์ ๋ฌธ์์ ์ข ๋ฅ
\a : ๊ฒฝ๊ณ ์
\b : ๋ฐฑ์คํ์ด์ค(backspace)
\f : ํผ ํผ๋(form feed)
\n : ์๋ก์ด ํ (new line)
\r : ์บ๋ฆฌ์ง ๋ฆฌํด (carriage return)
\t : ์ํ ํญ
\v : ์์ง ํญ
\' : ์์ ๋ฐ์ดํ ์ถ๋ ฅ
\" : ํฐ ๋ฐ์ดํ ์ถ๋ ฅ
\? : ๋ฌผ์ํ ์ถ๋ ฅ
\\ : ์ญ์ฌ๋์ฌ ์ถ๋ ฅ
โ %c
%c : ๋ฌธ์์ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅ(๋๋ ์
๋ ฅ)ํจ.
#include <stdio.h>
int main(void)
{
char ch_1 = 'A' , ch_2=65;
printf("%c %d \n",ch_1, ch_1);
printf("%c %d \n",ch_2, ch_2);
โป ๋ฌธ์๋ฅผ ์ ์ฅํ๋๋ฐ intํ์ ์ ํฉํ๊ฐ? -> No
ใดintํ์ผ๋ก ์ ์ธ์ ์ฐ์ฐ์ด ๋นจ๋ผ์ง๋ค. ๋ค๋ง ๋ฌธ์๋ฅผ ์ฐ์ฐํ ์ผ์ด ์๊ธฐ์ char์ด ์ ํฉ
โป charํ์ ๋ฌธ์์ ํํ์ ๋ชฉ์ ์ผ๋ก ์ ์๋ ์๋ฃํ์ด๋ฏ๋ก "๋ฌธ์ํ"์ผ๋ก ๋ถ๋ฅํ๊ธฐ๋ ํจ.
ํ์ง๋ง charํ์ ์ ์ํ์ด๋ค. ๋ฌธ์๋ ์ ์์ ํํ๋ก ํํ์ด ๋๊ณ ,
์ค์ ๋ก charํ ๋ณ์์ ์ ์ฅ๋๋ ๊ฒ์ ์ ์๋ค. -์ค์ฑ์ฐ์ ์ดํ C-
โ for ๋ฌธ
โป ๋ฐ๋ณต์ ํ์๊ฐ ์ ํด์ง ๊ฒฝ์ฐ๋ผ๋ฉด for ๋ฌธ, ๊ทธ๋ ์ง ์์ผ๋ฉด while ๋ฌธ
โป ๋ฌดํ ๋ฃจํ----------------------------------------------------------------------
for( ; ; )
{
}
โ if ๋ฌธ
โป if ๋ฌธ์ ๋ช์ค์ ๊ฑธ์ณ์ ํํ์ด ๋๊ฑด ํ๋์ ๋ฌธ์ฅ์ผ๋ก ์ธ์ ๋๋ค.
โป if ~else ๋ํ ๋ ๊ฐ์ ๋ฌธ์ฅ์ด ์๋ ํ๋์ ๋ฌธ์ฅ์ด๋ค.
โ if ~ else ๋์ฒด ์ผํญ ์ฐ์ฐ์
โป (์กฐ๊ฑด) ? data1 : data2
์กฐ๊ฑด์ด True ์ด๋ฉด data1 , False๋ฉด data2 ๋ฐํ
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int num, abs;
printf("์ ์ ์
๋ ฅ: ");
scanf("%d", &num);
abs = num > 0 ? num : num * (-1);
printf("์ ๋๊ฐ : %d \n", abs);
return 0;
}
โ break๋ฌธ continue ๋ฌธ
โป break๋ฌธ์ ๊ฐ์ฅ ๊ฐ๊น์ด์ ๊ฐ์ธ๊ณ ์๋ ๋ฐ๋ณต๋ฌธ ํ๋๋ฅผ ๋น ์ ธ ๋์จ๋ค.
โป continue๋ฌธ์ ์กฐ๊ฑด ๊ฒ์ฌ๋ก ์ด๋ํ๋ค.
โ Switch ๋ฌธ
โป ๋ ๊ฐ์ ๋ ์ด๋ธ์ ํ๋๋ก ๋ฌถ์ด์ ํํ ๊ฐ๋ฅ
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
char sel = 'n';
switch (sel)
{
case 'M':
printf("sel ๊ฐ์ M or m \n");
case 'm':
printf("sel ๊ฐ์ M or m \n");
case 'N' : case 'n' : printf("sel ๊ฐ์ N or n \n");
break;
}
return 0;
}
โป switch ๋ฌธ์ if ... else if ... else ์ ๋นํด ๊ฐ๊ธ์ ๋ถ๊ธฐ์ ์๊ฐ ๋ง์ ๋ ์ฌ์ฉ
๊ทธ๋ ๋ค๊ณ ํด์ ์ต์ง๋ก ์ฐ์ง๋ ๋ง์ if else๊ฐ ๋ ํธํ ๊ฒฝ์ฐ๋ ์๋ค.
โ goto ๋ฌธ
โป goto๋ฌธ์ ์์ฃผ ์ฐ์ง๋ ์๋๋ค. ์ถ์ฒ์ ํ์ง๋ ์๋๋ค.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int num;
printf("์์ฐ์ ์
๋ ฅ : ");
scanf("%d", &num);
if (num == 1)
goto ONE;
else
goto OTHER;
ONE:
printf("์
๋ ฅ๊ฐ 1 \n");
goto END;
OTHER:
printf("1์๋ \n");
END:
return 0;
}
โ ํจ์
โป ๊ฐ์ ๋ฐํํ์ง ์๋ ํํ (์ข ์ข ์์)
void NoReturn(int num)
{
if (num < 0)
return; //๊ฐ์ ๋ฐํํ์ง ์์
}
โป ํจ์ ์ ์ ์์(์๋๋ ํจ์๋ฅผ ์ ์ธ ํ๊ณ ํจ์๋ฅผ ํธ์ถ ํด์ผํ๋ ์๋์ ํํ๋ก๋ ๊ฐ๋ฅ)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int INC(int n); //int n ์ int๋ก ๋ณ๊ฒฝ ๊ฐ๋ฅ -> ์ ์ธ์์๋ ๋งค๊ฐ๋ณ์์ ๊ฐฏ์ ๋ฐ ์๋ฃํ๋ง ํฌํจ ํ๋ฉด ๋๋ค.
int main(void)
{
int num = 2;
num = INC(num);
printf("%d \n", num);
return 0;
}
int INC(int n)
{
n++;
return n;
}
โป ํผ๋ณด๋์น ํจ์ C์ธ์ด โ โ โ
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void Fib(int num) {
int f1 = 0, f2 = 1, f3, i;
if (num == 1)
printf("%d \n", f1);
else
printf("%d %d ", f1, f2);
for (i=0;i<num-2;i++)
{
f3 = f1 + f2;
printf("%d ", f3);
f1 = f2;
f2 = f3;
}
}
int main(void)
{
int input;
scanf("%d", &input);
if (input < 1) {
printf("1์ด์ ์
๋ ฅํด๋ผ \n");
return -1;
}
Fib(input);
return 0;
}
โ ํจ์ - ์ง์ญ ๋ณ์
โป ์ง์ญ ๋ณ์๋ ์ค๊ดํธ ๋ด์ ์ ์ธ๋๋ ๋ณ์ -> ์ค๊ดํธ๋ ํจ์์ ์ ์ , ๋ฐ๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ์์๋ ์ ์ธ
โป ์ง์ญ ๋ณ์๋ ํด๋น ์ง์ญ์ ๋ฒ์ด๋๋ฉด ์๋์ผ๋ก ์๋ฉธ -> ์ ์ธ๋ฌธ์ด ์กด์ฌํ๋ ํจ์๊ฐ ๋ฐํ(์ข ๋ฃ)ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์์์ ์๋ฉธ
โป ์ ์ธ๋ ์ง์ญ์ด ๋ค๋ฅด๋ฉด ์ด๋ฆ์ด ๊ฐ์๋ ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ค.
โป ๋งค๊ฐ๋ณ์๋ ์ง์ญ๋ณ์์. -> ๊ทธ ์ญ์ ์ฑ๋ฆฝ X | ์ง์ญ๋ณ์๋ฅผ '์๋๋ณ์'๋ผ๊ณ ํจ. -> ์๋์ผ๋ก ์๋ฉธ ๋๊ธฐ ๋๋ฌธ
โ ํจ์ - ์ ์ญ ๋ณ์
โป ํ๋ก๊ทธ๋จ ์์๊ณผ ๋์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ํ ๋น , ์ด๊ธฐํ ์งํํ์ง ์์ ์ 0์ผ๋ก ์ด๊ธฐํ
โป ๊ฐ๊ธ์ ์ ์ธ ์์ฌ -> ์คํ๊ฒํฐ ์ฝ๋ ํ์ฑ ๊ฐ๋ฅ์ฑ ์ฆ๊ฐ
โ ๊ทธ ์ธ ๋ณ์
โป static | ์ ์ธ๋ ํจ์ ๋ด์์๋ง ์ ๊ทผ ๊ฐ๋ฅ(์ง์ญ๋ณ์) , 1ํ ์ด๊ธฐํํ ์ข ๋ฃ ์๊น์ง ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ์กด์ฌ(์ ์ญ ๋ณ์)
โป register | ๋ ์ง์คํฐ ๋ณ์ , CPU๋ด์ ์กด์ฌํ๋ '๋ ์ง์คํฐ'๋ผ๋ ๊ณณ์ ์ ์ฅ -> ์ฐ์ฐ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฆ
์ต์ข ๊ฒฐ์ ์ ์ปดํ์ผ๋ฌ๊ฐ ๊ฒฐ์
๋ค์ํธ :
๋ด๊ฐ ๋ณด๋ ค๊ณ ๋ง๋๋ C์ธ์ด ์ ๋ณด ๋ชจ์ #๋ฐฐ์ด #ํฌ์ธํฐ
โ 1์ฐจ์ ๋ฐฐ์ด โป ๋ฐฐ์ด์ ๊ธธ์ด ์ ๋ณด๋ ์์๋ก ํด์ฃผ๋ ๊ฒ์ด ์ข๋ค. ํ๋ ์ต๊ทผ์๋ ์์๊ฐ ์๋ ๋ณ์ ์ ์ธ๋ ํ์ฉํ๋ ๋ฒ์ฉ์ ์ผ๋ก ์์ ์ ์ธ์ ๊ถ์ฅํ๋ค. #define _CRT_SECURE_NO_WARNINGS #include int main(void) {
avs-won.tistory.com
Since 2023 04 - 10