C์ธ์ด ๊ธฐ์ด(๊ฐํ๋ฌธ์/๋ฌธ์์ด/์ฐ์ฐ์)
C์ธ์ด Chapter 5.
escape sequence
๐ ์) ๊ฐํ๋ฌธ์์ ์ฌ์ฉ๋ฒ
#include<stdio.h>
int main()
{
printf("10์ง์ 65: %c\n", 65); // A ๋ฌธ์
printf("16์ง์ 40: \x40\n"); // @ ๋ฌธ์
printf("8์ง์ 73: \073\n"); // ์ธ๋ฏธํด๋ก
printf("๋ฐฑ์ฌ๋์ฌ \\, ์์ ๋ฐ์ดํ \', ํฐ๋ฐ์ดํ \" \n");
printf("2 bell sound \a\a\n");
return 0;
}
๊ฒฐ๊ณผ :
๋ฌธ์์ด
- ๋ฌธ์์ด์ ํ๋ ์ด์์ ์ฐ์๋ ๋ฌธ์๋ฅผ ๋งํ๋ค.
- ๋ฌธ์์ด์ ( " ??? ??? " ) ํฐ๋ฐ์ดํ๋ก ํ์ํ๋ค.
"This is a string."
- ํ์ ๋น 1byte ์ ํด๋นํ๋ฉฐ ํ๋ฌธ์๋ฅผ ์ ์ฅํ๋ค.
- ๋งจ ๋ง์ง๋ง ์
์
\0
๋ฌธ์(NULL ๋ฌธ์: ์์คํค ์ฝ๋ 0x00)๋ก C์ธ์ด ์ปดํ์ผ๋ฌ๊ฐ ์๋์ ์ผ๋ก ๋ฃ์ด์ค๋ค. - NULL์ 1byte ๋ก ์ ์ฅ ๋๋ค.
๐ก Tip : null์ด 1byte ์ด๋ฏ๋ก char word[30+1]; ๋ก ๋ฌธ์๋ฐฐ์ด์ ์ง์ ํ ๋ null ์๋ฆฌ๋ฅผ ์์๋ณด๊ธฐ ์ฝ๊ฒ ํ๋ฌ์ค์์ผ ํ์ํด์ค๋ค.
๐ ์)
#include<stdio.h>
int main()
{
char word[30]; /* ๋ฌธ์ ๋ฐฐ์ด์ ์ ์ธ */
// [30]์ char ํ์ ๋ฌธ์๋ฅผ 30๊ฐ ์ ์ฅํ ์ ์๋ ๊ณต๊ฐ์ ์๋ฏธ
// ์ฆ char(1byte) ๋ฅผ 30๊ฐ ๋ฐฐ์ดํ๋ฏ๋ก (30byte)๊ฐ ๋๋ค
// ๊ฐ ๋ฐฐ์ด์์์ ์ด๋ฆ์ word[0], word[1], …., word[29]๋ก ์ ํด์ง๋ค
printf("Please enter anything: ");
scanf("%s", word); // "%s"์ s(string:๋ฌธ์์ด) ๋ค์๋ &์ ๋ถ์ด์ง ์๋๋ค
printf("%s, This is what you typed.\n", word);
return 0;
}
๊ฒฐ๊ณผ : scanf()
ํจ์๋ ํ์์ง์ ์ %s
์ ์ํด ์คํธ๋ง์ ์ฝ์ ๋ ๋จ๋ฝ๋ฌธ์(๊ณต๋ฐฑ, ํญ, ๊ฐํ๋ฌธ์ ๋ฑ)๋ฅผ ๋ง๋๋ฉด ์ฝ๊ธฐ๋ฅผ ์ค๋จํ๋ค.
์ฐ์ฐ์
- ์ฐ์ฐ ์ฐ์ ์์๋ ์์ชฝ์ด ๊ฐ์ฅ ๋๊ณ ์๋๋ก ๊ฐ์๋ก ๋ฎ์์ง๋ค.
- ๊ดํธ์ ํ์ดํ๋ ์ฐ์ฐ์ ๊ฒฐํฉ๋ฐฉํฅ์ ๋ํ๋ธ๋ค.
์ฐ์ ์ฐ์ฐ์
- ์ฐ์ ์ฐ์ฐ์์๋
+
,-
,*
,/
,%
๊ฐ ์๋ค. - ์ฐ์ฐ์ %๋ ๋๋์ ์ ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ ์ฐ์ฐ์์ด๋ค.
int + float
์ ์ฐ์ฐ์float + float
๋ก ๋ณํํ์ฌ ์ฐ์ฐํ๊ณ ๊ฒฐ๊ณผ๊ฐ๋float
์ด๋ค.
๋น๊ต์ฐ์ฐ์
- ๋น๊ต ์ฐ์ฐ์์๋
<
,<=
,>
,>=
,==
,!=
์ด์๋ค. - ํฌ๊ธฐ๋ฅผ ๋น๊ตํ๋ ์ฐ์ฐ์๋ก ๋ ผ๋ฆฌ๊ฐ์ด ์ฐธ(TRUE, 1)์ด๋ ๊ฑฐ์ง(FALSE, 0)์ผ๋ก ๋ํ๋ธ๋ค.
๐ ์) ๋น๊ต ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์ ์
#include<stdio.h>
int main()
{
int number;
scanf("%d", &number);
printf("Is number less than 10? %3d\n", number < 10);
printf("Is number not equal to 10? %3d\n", number != 10);
return 0;
}
๊ฒฐ๊ณผ :
๋ ผ๋ฆฌ์ฐ์ฐ์
๐ ์) ๋ฏธ์ฑ๋ ์๋ฅผ ๊ตฌ๋ถํ๋ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ ผ๋ฆฌ๊ฐ์ ์ถ๋ ฅํ๋ค.
#include<stdio.h>
int main()
{
int age;
printf("Plase enter Tom's age: ");
scanf("%d", &age);
printf("Is Tom a teen age? %d\n", (age >= 13)&&(age <= 19));
return 0;
}
๊ฒฐ๊ณผ :
์ฆ๊ฐ์ฐ์ฐ์
- ์ฆ๊ฐ์ฐ์ฌ์์๋
++
์––
๊ฐ ์๋ค. - ๋ณ์์ ์์ด๋ ๋ค์ ๋ถ์ฌ ์ฌ์ฉํ๋ค.
๐ ์) ++a, a++, --a, a--
โ ์ฆ๊ฐ ์ฐ์ฐ์๋ ์ ์นํ(++a)๊ณผ ํ์นํ (a++)์ด ์๋ค.
1. ์ ์นํ
a = 30;
2. b = ++a; // a๋ฅผ 1์ฆ๊ฐ์ํจ ๋ค์, b์ ๊ฐ์ ๋๊ธด๋ค.
3. ํ์นํ
c = 30;
4. d = c++; // d์ ๊ฐ์ ๋๊ธด ๋ค์ c๊ฐ์ ์ฆ๊ฐ์ํจ๋ค.
๐ ์) ์ฆ๊ฐ ์ฐ์ฐ์์ ์ ์นํ๊ณผ ํ์นํ์ ๋น๊ตํ๋ ํ๋ก๊ทธ๋จ
#include<stdio.h>
int main()
{
int a1, a2, b1, b2;
a1 = 30;
a2 = ++a1; // a1์ด 31๋ก ์ฆ๊ฐ๋ํ ์ฆ๊ฐ๋ 31 ๊ฐ์ a2 ์ ๋๊น
printf("a1 = %5d a2 =%5d\n", a1, a2);
b1 = 30;
b2 = b1++; // b2์ 30๊ฐ์ ๋๊ธด๋ค์ b1 ์ด 31๋ก ์ฆ๊ฐ
printf("b1 = %5d b2 =%5d\n", b1, b2);
return 0;
}
๊ฒฐ๊ณผ :
๋ถ๊ฐ์ฐ์ฐ์์ ๋ณตํฉ๋ถ๊ฐ์ฐ์ฐ์
๐ ์) ๋ณตํฉ๋ถ๊ฐ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ํ๋ก๊ทธ๋จ.
#include<stdio.h>
int main()
{
int iNum =17;
printf("iNum += 5: %d\n", iNum += 5); // iNum = 17 + 5 = 22
printf("iNum -= 5: %d\n", iNum -= 5); // 22 - 5 = 17 = iNum
printf("iNum *= 5: %d\n", iNum *= 5); // 17 * 5 = 85 = iNum
printf("iNum /= 5: %d\n", iNum /= 5); // 85 / 5 = 17 = iNum
printf("iNum %= 5: %d\n", iNum %= 5); // 17 % 5 = 2 = iNum
return 0;
}
๊ฒฐ๊ณผ :