[C언어] C언어 기초 정리 #2 (입출력과 연산자)
[ 목차 ]
1. C프로그램 구성
2. 데이터형 / 변수 / 상수
3. 입출력
4. 연산자
5. 제어문
6. 1차원 배열
7. 다차원 배열
8. 함수
9. 포인터의 이해
10. 문자열
11. 메모리 동적 할당
12. 구조체
3. 입출력
3.1. 입력 함수 - scanf
scanf 함수는 정해진 양식에 맞게 내용을 꺼내오는 함수이다. 변수 명 앞에는 주소를 의미하는 & 연산자(주소연산자)를 써야한다.
ex) scanf("입력 변환문자“, &변수);
문 자 | 인수가 입력되는 형태 | 문 자 | 인수가 입력되는 형태 |
%d | 정수 입력 | %lf | double형 실수 입력 |
%ld | long형 정수 입력 | %c | 문자 입력 |
%f | float형 실수 입력 | %s | 문자열 입력 |
3.2. 출력 함수 - printf
일반적인 출력함수로써, 표준 입, 출력에 관련된 헤더파일인 stdio.h를 추가해야 한다.
ex) printf("출력 변환문자“, 변수);
문 자 | 인수가 출력되는 형태 | 문 자 | 인수가 출력되는 형태 |
%d | 10진 정수 출력 | %c | 문자 출력 |
%f | 고정 소수점 출력 | %s | 문자열 출력 |
%e | 지수 출력 | %o | 8진 정수 출력 |
%x | 16진 정수 출력 | %p | 포인터의 번지 출력 |
%u | 부호 없는 10진 정수 출력 | %% | 문자 % 출력 |
4. 연산자
4.1. 산술 연산자(사칙연산 : +,-,*,/,%)
정수연산의 결과는 정수이며, 정수와 실수 연산의 결과는 실수이다. 정수 나눗셈의 결과가 양수면 소수점 아래를 버리고, 음수면 소수점 아래를 올린다. % 연산자는 정수 연산에만 사용한다.
* % - 나머지 연산자 ex) 5/2 = 2, 5%2 = 3
4.2. 증, 감 연산자
변수에 저장된 값을 1 증가시키거나 1 감소시키는 연산자를 말한다.
* 전치연산(증감연산자가 변수 앞에 나오는 경우) : 변수의 저장된 값을 증/감 시킨 후 연산
* 후치연산(증감연산자가 변수 뒤에 나오는 경우) : 연산 수행 후 변수에 저장된 값을 증/감 시킴
연산자 : ++ (1 증가) , -- (1 감소)
4.3. 대입 연산자
변수와 연산 후 다시 그 변수에 대입하는 경우 사용하는 연산자를 말한다.
연산자 | 의미 | 연산자 | 의미 |
= | 오른쪽 값을 왼쪽으로 대입 | *= | 곱한 값 대입 |
+= | 더한 값 대입 | /= | 나눈 값 대입 |
-= | 뺀 값 대입 | %= | 나머지 값 대입 |
4.4. 비교 연산자
참과 거짓을 판별하여 참인 경우 결과는 1(참)이 되고, 거짓인 경우는 0(거짓)이 된다.
연산자 | 의미 | 연산자 | 의미 |
< | 작다 | >= | 크거나 같다 |
> | 크다 | == | 같다 |
<= | 작거나 같다 | != | 같지 않다 |
4.5. 논리 연산자
여러 조건을 동시에 검사할 때 주로 사용되는 연산자로 비교가 참인 경우 1(참), 거짓은 0(거짓)
또한, C언어는 0만 거짓으로 취급된다. 즉, 0이 아닌 모든 값은 참이다.
연산자 | 의미 | 설명 |
&& | AND | 조건식이 모두 참일 때만 참 |
!! | OR | 조건식 중 하나라도 참이면 참 |
! | NOT | 참이면 거짓, 거짓이면 참 |
4.6. 비트 연산자
2진수로 변환하여 비트 단위의 연산을 수행하는 연산자. 정수형 데이터에서만 사용가능
연산자 | 의미 |
& | 비트 단위의 AND |
! | 비트 단위의 OR |
^ | 비트 단위의 XOR |
~ | 비트 단위의 NOT |
4.7. 이동 연산자
비트 단위의 이동을 수행하는 연산자로 ‘값<<자릿수’ 또는 ‘값>>자릿수’로 표현. 좌측 시프트인 경우 ‘값*2n'가 되고, 우측 시프트인 경우 ‘값/2n'가 된다.
4.8. 조건 연산자
조건을 판별하여 조건이 참인 경우 참을 실행하고 조건이 거짓인 경우 거짓을 수행
* 조건 ? 참 : 거짓; ex) value = a>b ? a : b;