2. C언어 기초
1) 연산자
▣ 증감 연산자
- ++ : 연산 대상을 1만큼 증가시킴.
- -- : 연산 대상을 1만큼 감소시킴.
- 후위 연산자 : 변수 뒤에 ++ 이나 -- 가 옴.
☞ 변수 값 먼저 불러와서 사용 후 제일 나중에 값을 +- 1 시킴.
- 전위 연산자 : 변수 앞에 ++ 이나 -- 가 옴.
☞ 변수 사용전 먼저 값을 +- 1 시키고 변수에 저장 후 사용.
#include <stdio.h> int main() { int a = 10; int b = 20; printf("a++ = %d\n", a++); printf("++b = %d\n\n", ++b); printf("a = %d\n", a); printf("b = %d\n", b); return 0; }
- 실행 결과
▣ 캐스팅 연산자
- 자료형을 일시적으로 바꿔줌.
- cpu에서 처리하는 연산이 아닌 언어상에서만 존재하는 연산자 (컴파일러가 처리)
- usage : (자료형)
ex) (int)
#include <stdio.h> int main() { int a = 10; float b = 3.14; double c = 99.9; printf("a + b = %d\n", a + b); printf("b + c = %c\n", b + c); printf("a + b = %d\n", a + (int)b); printf("b + c = %c\n", (char)(b + c)); return 0; }
- 실행 결과
☞ 두 번째 줄의 b + c 의 결과가 ? 인 것은 해당하는 아스키 값이 없기 때문임.
▣ sizeof
- 변수나 자료형의 크기를 바이트 단위로 알려줌.
- 이 또한 캐스팅 연산자 처럼 실제 연산은 아님.
- 컴파일러가 제공해주는 기능.
- usage : sizeof(자료형) or sizeof(변수명)
#include <stdio.h> int main() { int a = 0; printf("int : %d\n", sizeof(int)); printf("char : %d\n", sizeof(char)); printf("a : %d\n", sizeof(a)); return 0; }
- 실행 결과
2) 제어문 - 조건문
▣ if
- 상황에 따라서 다른 행동을 취함.
- 조건문이 참이면 실행문을 실행.
- 조건문은 수식, 변수, 상수 등으로 이루어짐. (조건문에 상수는 가능은하나 실제로 쓰이는 경우는 없음)
ex)
if(조건문)
{
실행문;
}
#include <stdio.h> int main() { int a = 0; if (a < 5) { printf("a < 5\n"); } if (a) { printf("a \n"); } return 0; }
- 실행 결과
▣ if ~ else
- 조건문이 참이면 if안의 실행문을 실행하고 거짓이면 else안의 실행문을 실행함.
- 둘 중 하나는 반드시 실행. 오직 하나만 실행.
ex)
if(조건문)
{
실행문1; //조건문이 참이면 실행됨.
}
else
{
실행문2; // 조건문이 거짓이면 실행됨.
}
#include <stdio.h> int main() { int a = 0; if (a < 5) { printf("a < 5\n"); } else { printf("a > 5\n"); } return 0; }
- 실행 결과
▣ 중첩 if
- if의 실행문 속에 또 다른 if를 사용 할 수 있음.
#include <stdio.h> int main() { int a = 0; if (a < 5) { if (a <= 0) printf("a <= 0 \n"); else printf("0 < a <5\n"); } else { printf("a > 5\n"); } return 0; }
- 실행 결과
▣ else ~ if
- if ~ else ~ if ~ else... 이런식으로 연결해서 사용이 가능.
- 성적 계산할 때 이런 방식을 사용.
ex) 90점 이상이면 A, 아니면 80점 이상이면 B, ....
#include <stdio.h> int main() { int a = 2; if (a < 0) { printf("a < 0\n"); } else if(a < 5) { printf("a < 5\n"); } else { printf("a > 5\n"); } return 0; }
- 실행 결과
i2sec 대구지점 23기 수료생.
'해킹&보안 > C언어' 카테고리의 다른 글
[D+10] C언어 기초 (4) (0) | 2017.02.20 |
---|---|
[D+9] C언어 기초 (3) (0) | 2017.02.17 |
[D+7] C언어 기초 (1) (0) | 2017.02.15 |
[D+5] C언어 소개 (4) (0) | 2017.02.13 |
[D+4] C언어 소개 (3) (0) | 2017.02.09 |