C언어_입출력 함수/ 연산자
최초 작성일: 2025-01-02
최종 작성일: 2025-01-20
목표: CS 지식 쌓기
#include <stdio.h>
stdio.header 파일을 가져와서 이 프로그램에서 사용하겠다
(standard input output hearder 파일)
1. 입출력 함수
(1) 표준 (화면에)출력함수
printf() 화면에 여러 종류의 자료를 출력한다 -> 가장 많이 보게 될것
putchar() 화면에 한 개의 문자를 출력한다 -> 글자 하나 출력하는 것
puts() 화면에 문자열을 출력한다
(2) 표준 입력함수
scanf() : 키보드를 통해 한개 이상의 자료를 입력받는다
getchar() :키보드를 통해 한개의 문자를 입력받는다
gets() : 키보드를 통해 문자열을 입력받는다
(3) 출력 변환 문자 -> printf에서 사용
구분 | 설명 | 사용 예 | 출력값 | 비고 |
%d | 10진수 | printf("%d",10); | 10 | |
%o | 8진수 | printf("%o", 10); | 12 | |
%x | 16진수 | printf("%x",10); | a | a부터 10 시작 |
%f | 실수 | printf("%f",1.3); | 1.300000 | %f는 기본적으로 소수점 6자리를 가지고 감 |
%c | 문자1개 | printf("%c",'a'); | A | |
%s | 문자열 | printf("%s","abcde"); | abcde |
(4)이스케이프 시퀀스
\n : 새줄 - 출력위치를 다음 줄로 이동시킨다
\t : 탭 - 수평 탭 간격만큼 출력 위치를 이동시킨다
(5)표준 입출력 함수 사용
1) prinft() / scanf()
#include<stdio.h> -> 전처리부분, 내/외부 라이브러리를 가지고 오는 것.표준 입출력 함수가 포함되어 있음
int main(){ -> 프로그램의 시작 점으로, *void main은 리턴 값이 있고 int main은 리턴값이 없음
int sum; -> sum이라는 변수를 만들면서 해당 변수에는 아무 값도 들어가 있지 않음
printf('input:'); -> 출력함수
scanf('%d',&sum); -> 표준입력함수, d(정수)를 입력 받아서 sum(이라는 변수 값)에 넣어
printf('output:%d \n",sum); -> 출력함수
return 0; *메인에서만 프로그램 종료
#include<stdio.h> -> 전처리부분, 내/외부 라이브러리를 가지고 오는 것.stdio.h파일을 가져온다
int main(){ -> 프로그램의 시작 점, *void main은 리턴 값이 있고 int main은 리턴값이 없음
int sum;
printf('input:');
scanf('%d',&sum); -> d를 받아서 sum에 넣어
printf('output:%d \n",sum);
return 0; *메인에서 프로그램 종료
}
2) getchar()/putchar() -> 한글자
#include<stdio.h>
int main() {
char c;
c = getchar(); ->get char는 글자 하나 받는 것
printf("%d\n",c); -> 정수를 출력 ( A= 65 B= 66, a=97)
printf("%c\n",c); -> 글자 출력
putchar('A'); -> 글자출력
printf("\n");
putchar(65); -> 글자출력 ( 65 -> A)
return0;
}
3) gets() / puts() -> 문자열을 입력하고 출력하는 함수
#include<stdio.h>
int main(){
char str[20];
gets(str);
puts(str);
return 0;
}
2. 진법 변환
(1) 10진수를 2,8,16 진수로 변환
-10진수를 2진수로 변환
88 %2
-2진수를 8진수로 변환
1011000 -> 64 + 16+ 8 =88
-10진수를 8진수로 변환
10진수를 2진수로 변환후 8진수 적용
-2진수를 16진수로 변환
3.연산자
(1) 산술연산자
연산자 | 기능 | 산술연산식 | 결과 |
+ | 더하기 | 10 + 5 | 15 |
- | 빼기 | 10 - 3 | 7 |
* | 곱하기 | 3 * 7 | 21 |
/ | 나누기 | 7 / 3 | 2 |
% | 나머지 | 7 % 3 | 1 |
++ | 1증가 | ||
-- | 1감소 |
*C언어에서는 정수 나누기 정수는 정수가 나옴. C언어에서는 0이 거짓 나머지 값은 다 참(비교에서는 1이 참)
(2) 비트 연산자
연산자 | 기능 | 비트 연산자 | 결과 |
& | 비트 AND | 10&7 | 2 |
| | 비트 OR | 10|7 | 15 |
~ | 비트 not | ~10 | -11 |
^ | 비트 XOR | 10^7 | 13 |
<< | 좌 비트 이동 | 10<<2 | 40 |
>> | 우 비트 이동 | 10>>2 | 2 |
(3) 삼항 연산자
연산자 | 기능 | 삼항 연산식 | 결과 |
? : | 3항 연산 | 10>3 ? 10 : 3 | 10 |
(4) 대입 연산자
연산자 | 기능 | 대입 연산식 | 결과 |
+= | 덧셈 후 대입 | a +=10; | a = a+10 |
-= | 뺄셈 후 대입 | a-=10; | a = a-10 |
*= | 곱셈 후 대입 | a*=10; | a= a*10 |
/= | 나눗셈 후 대입 | a/=10; | a= a/10 |
%= | 나머지 후 대입 | a%=10; | a = a%10 |
(5) 연산자 우선순위
우선순위 | 분류 | 종류 |
1 | 단항 연산자 | ++,--,! |
2 | 산순 연산자 | *,/,+,- |
3 | 시프트연산자 | <<,>> |
4 | 관계 연산자 | >,<,>=,<=,==,!= |
5 | 비트 연산자 | &,^,| |
6 | 논리 연산자 | &&, || |
7 | 삼항 연산자 | ? : |
8 | 대입 연산자 | =,+=.-=.*=,/=,%= |