'Programming > C' 카테고리의 다른 글
C언어 공부 10 (0) | 2019.05.08 |
---|---|
C언어 공부 9 (0) | 2019.05.08 |
프로그래밍 연습 3 (0) | 2019.05.06 |
C언어 공부 8 (0) | 2019.05.06 |
c언어 공부 7 (0) | 2019.05.06 |
C언어 공부 10 (0) | 2019.05.08 |
---|---|
C언어 공부 9 (0) | 2019.05.08 |
프로그래밍 연습 3 (0) | 2019.05.06 |
C언어 공부 8 (0) | 2019.05.06 |
c언어 공부 7 (0) | 2019.05.06 |
while 문에서 한쌍의 중괄호로 while루프의 범위를 나타내고 있다.
C표준 수학 라이브러리가 거듭제곱을 연산하기 위한 pow()함수를 제공한다.
ex) pow(3.5,2.2) 는 3.5의 2.2제곱을 계산하여 리턴한다.
대입연산자 =
bow = 2002;
->bow라는 변수에 2002를 대입한다는 의미 이다.
i = i+1;
-> i라는 변수의 값에 1을 더하고 더한 값을 변수 i에 대입하라는 뜻이다.
데이터 객체 : 값을 저장하는데 사용할 수 있는 데이터 저장 영역
연산자 우선순위 ( 아래로 갈수록 낮아진다.)
연산자 결합방향
() 왼쪽에서 오른쪽으로
+- (단항연산자) 오른쪽에서 왼쪽으로
*/ 왼쪽에서 오른쪽으로
+- (이항연산자) 왼쪽에서 오른쪽으로
= 오른쪽에서 왼쪽으로
typedef double real;
-> real을 double형의 또다른 이름으로 만든다. ex) real x = 5.2;
++shoe < 3.0 - 전위 연산자
shoe++ < 3.0 - 후위 연산자 비교한 후에 증가한다.
관계연산자
연산자 의미
< 오른쪽이 왼쪽보다 작다
<= 오른쪽이 왼쪽보다 작거나 같다.
== 같다
>= 오른쪽이 왼쪽보다 크거나 같다.
> 오른쪽이 왼쪽보다 크다
!= 같지 않다.
*관계연산자는 대입연산자보다 우선순위가 높다.*
연산자(아래로 갈수록 우선순위가 낮아진다) 결합방향
( ) 왼쪽에서 오른쪽
- + ++ -- sizeof 오른쪽에서 왼쪽으로
* / % 왼쪽에서 오른쪽으로
+ - 왼쪽에서 오른쪽으로
< > <= >= 왼쪽에서 오른쪽으로
== != 왼쪽에서 오른쪽으로
= 오른쪽에서 왼쪽으로
scanf()는 화이트 스페이스를 건너뛴다.
입력할 때 개행과 스페이스를 혼합하여 입력하기 가능
프로그래밍연습 4 (0) | 2019.05.06 |
---|---|
프로그래밍 연습 3 (0) | 2019.05.06 |
c언어 공부 7 (0) | 2019.05.06 |
C언어 공부 6 (0) | 2019.05.05 |
C언어 공부 5 (0) | 2019.04.28 |
printf() 플래그
- : 항목이 왼쪽 정렬로 출력된다. 즉 필드의 왼쪽 부터 출력이 시작된다. ex)%-20s
+ : 부호있는 수를 출력할 때, 양수이면 +, 음수이면 - 를 붙인다. ex)%+6.2f
스페이스 : 부호 있는 수를 출력 할 때, 양수이면 부호없이 스페이스를 하나 붙이고, 음수이면 -를 붙인다. + 플래그는 스페이스를 무시한다. ex) % 6.2f
# : 변환 지정에 대응하는 형식을 사용한다. %o의 경우에는 하나의 0을 앞에 붙인다. %x와 %X의 경우 0x 와 0X를 각각 붙인다. ex) %#o , %#8.0f %+#10.3E
0 : 필드 너비에서 남는 공간을 스페이스 대신 0으로 채운다. ex)%010d, %08.3f
printf()함수도 리턴값을 가진다.
1. 정보를 출력하는 것과 어떤값을 변수에 대입한다.
2. 스페이스와 눈에 보이지 않는 개행문자까지 카운트하여 출력된 모든 문자들의 개수를 반환한다.
scanf()에 대한 C 변환 지정자
%c : 입력을 문자로 해석한다.
%d : 입력을 10진 정수로 해석한다.
%e, %f, %g, %a : 입력을 부동소수점 수로 해석한다.
%E, %F, %G, %A : 입력을 부동소수점 수로 해석한다.
%i : 입력을 10진 정수로 해석한다.
%o : 입력을 8진 정수로 해석한다.
%s : 입력을 문자열로 해석한다. 다음 번 화이트 스페이스 앞까지의 입력
%u : 부호없는 10진 정수로 해석한다.
%p : 입력을 포인터(주소)로 해석한다.
%x, %X : 입력을 16진 정수로 해석한다.
scanf()에 대한 변환 변경자
* : 지정을 무시한다. scanf()가 그에 해당하는 입력을 건너뛴다. ex) "%*d"
자리수 : 최대 필드 너비. 입력이 최대 필드 너비에 도달하거나, 첫번쨰 화이트 스페이스를 만나면 중지된다. ex) " %10s"
hh : 하나의 정수를 signed char형 또는 unsigned char 형으로 읽는다. ex) " %hhd" "%hhu"
ll : 하나의 정수를 long long 형 또는 unsigned long long 형으로 읽는다. ex) "%lld", "%llu"
h,l,L :
%hd, %hi 는 short int 형 저장
%ho, %hx, %hu : unsigned int
%ld, %li 는 그값이 long형으로 저장
%lo, %lx, %lu는 그 값이 unsigned long
%le, %lf, %lg는 double 형 저장
%Le, %Lf, %Lg 는 long double로 저장
위와같은 변경자들이 없으면 d,i,o,x는 int형을 나타내고, e,f,g는 float 형을 나타낸다.
j : 정수형 지정자가 뒤에 붙으면 intmax_t형 또는 uintmax_t형 ex)"%jd", %ju"
z : 정수형 지정자가 뒤에 붙으면 sizeof가 리턴하는 데이터형 ex)"%zd", %zo"
t : 두 포인터간의 차이 ex)"%td", "%tx"
프로그래밍 연습 3 (0) | 2019.05.06 |
---|---|
C언어 공부 8 (0) | 2019.05.06 |
C언어 공부 6 (0) | 2019.05.05 |
C언어 공부 5 (0) | 2019.04.28 |
프로그래밍 연습 2 (0) | 2019.04.28 |
전처리기
#define
상수 이름은 대문자를 사용하는 것이 좋다.
또한 상수라는 것을 나타내기 위해 C_ 또는 K_를 붙이는 것이다.
limits.h에 정의 되어있는 일부 기호 상수들
CHAR_BIT : char형의 비트수
CHAR_MAX : char형 최대값
CHAR_MIN : char형 최소값
SCHAR_MAX : signed char형 최대값
SCHAR_MIN : signed char형 최소값
UCHAR_MAX : unsigned char형 최대값
SHRT_MAX : short형 최대값
SHRT_MIN : short형 최소값
USHRT_MAX : unsigned short형 최대값
INT_MAX : int형 최대값
INT_MIN : int형 최소값
UINT_MAX : unsigned int형 최대값
LONG_MAX, LONG_MIN, ULONG_MAX, LLONG_MAX, LLONG_MIN, ULLONG_MAX
float.h에 정의되어 있는 기호 상수들
FLT_MANT_DIG : float형의 가수부 비트수
FLT_DIG : float형의 소수부 최소 유효 자릿수
FLT_MIN_10_EXP : float형의 최대 유효숫자를 가진 최소 10진 음의 지수
FLT_MAX_10_EXP : float형의 최대 10진 양의지수
FLT_MAX : float형의 양의 최대값
FLT_EPSILON : 1.00과 최소한1.00 보다 큰 float형 값의 차
변환지정자
%a : 부동소수점수, 16진수
%A : 부동소수점 수, 16진수
%c : 단일문자
%d : 부호있는 10진 정수
%e : 부동소수점 수, e -표기
%E : 부동소수점 수 e - 표기
%f : 부동소수점 수, 10진 표기
%g : 값에 따라 %f나 %e 사용, 지수부가 -4보다 작거나, 정밀도 보다 크거나 같으면 %e사용
%G : 값에 따라 %f나 %e 사용, 지수부가 -4보다 작거나, 정밀도 보다 크거나 같으면 %e사용
%i : 부호있는 10진 정수 (%d와 같다)
%o : 부호없는 8진 정수
%p : 포인터
%s : 문자, 문자열
%u : 부호없는 10진 정수
%x : 부호없는 16진 정수, 16진 숫자 of 사용
%X : 부호없는 16진 정수, 16진 숫자 OF 사용
%% : 퍼센트 기호 출력
변경자
숫자 : 최소 필드 너비 ex)%4d
.숫자 : 정밀도 - 정수형의 경우 최소자릿수를 나타내며 최소 자릿수를 맞추기 위해 필요하다면 앞에 여분의 0을 붙인다.
-> %e, %E, %f - 소수점 아래에 출력될 자릿수
%s 포맷 지정자의 경우 - 출력될 최대 문자수
ex) %5.2f : float형 값을 필드너비 5에 소수점아래 두자리까지 출력한다.
j : intmax_t or uintmax_t형 값을 나타냄 ex) %jd, %8jx
l : long int or unsigned long int 값을 나타냄 ex) %ld, %8lu
ll : long long int or unsigned long long int ex) %lld, %8llu
L : %Lf, %10.4Le - Long double 형 값을 나타냄
t : ptrdiff_t 형 값을 나타낸다. 두포인터 사이의 차에 대응하는 데이터형 ex) %td, %12ti
z : size_t형 값을 나타낸다. ex)%zd, %12zx
C언어 공부 8 (0) | 2019.05.06 |
---|---|
c언어 공부 7 (0) | 2019.05.06 |
C언어 공부 5 (0) | 2019.04.28 |
프로그래밍 연습 2 (0) | 2019.04.28 |
C언어 공부 4 (0) | 2019.04.28 |
문자열 : 하나 또는 여러개의 문자들이 연속되어 있는 것을 말한다.
큰따옴표는 문자열이 아니다.
C는 널문자(\0)로 문자열의 끝을 표시한다.
C에서 문자열들은, 문자열의 끝을 표시하는 이 널 문자와 항상 함께 저장된다.
문자열의 크기는 저장할 문자들의 수보다 최소한 하나더 많아야한다.
배열(array) : 연속되어 있는 여러개의 메모리 셀
char name[40];
name 뒤에있는 각괄호([])에 의해 배열로 인식한다.
char는 원소의 데이터형을 나타낸다.
strlen()는 널문자를 제외한 문자열의 길이만 알려준다.
-> 널문자에서 카운트를 멈춘다.
sizeof 연산자는 널문자를 포함한 개수를 알려준다.
sizeof를 사용할 때 괄호 사용 여부는 데이터형의 크기를 원하느냐, 아니면 어떤 특정 양에 대한 크기를 원하느냐에 달려있다.
데이터형에는 괄호를 반드시 해야하지만 어떤 특정양에 괄호를 사용하는것은 옵션이다.
c언어 공부 7 (0) | 2019.05.06 |
---|---|
C언어 공부 6 (0) | 2019.05.05 |
프로그래밍 연습 2 (0) | 2019.04.28 |
C언어 공부 4 (0) | 2019.04.28 |
C언어 공부 3 (0) | 2019.04.28 |
C언어 공부 6 (0) | 2019.05.05 |
---|---|
C언어 공부 5 (0) | 2019.04.28 |
C언어 공부 4 (0) | 2019.04.28 |
C언어 공부 3 (0) | 2019.04.28 |
프로그래밍 연습 1 (0) | 2019.04.28 |
고정폭 데이터형
int32_t : 32비트 부호있는 정수형을 나타냄.
int_least8_t : 8비트 부호있는 정수값을 가진다.
int_fast8_t : 8비트 부호있는 값을 가장 빠르게 계산
intmax_t : 부호있는 최대폭 정수형
uintmax_t : 부호 없는 최대폭 정수형 <- long long, unsigned int 보다 크다
부동소수점수
float, double, long double
float 은 6자리 유효숫자를 표기해야하며 10E-37 ~ 10E37 까지의 범위를 허용해야 한다.
double은 유호숫자의 최소 자릿수를 10으로 확장한다.
long double 도 있다.
%f 포맷 지정자를 사용하여 float, double형 수를 10진수로 출력
%e 포맷 지정자를 사용하여 지수 표기 출력
float, double 형 출력을 위해 %f, %e, %a 지정자 사용
float 형의 가장 큰 값 : 3.4E38
오버플로(너무 커서 표현할 수 없는 수를 만드는 계산)일 때 printf()는 그 값을 inf 또는 infinity 중 하나로 출력한다.
복소수형, 허수형 변수
복소수형 변수 : float_Complex, double_Complex, long double_Complex
허수형 변수 : float_Imaginary, double_Imaginary, long double_Imaginary
complex.h 헤더 파일을 포함시키면 _Complex 대신 complex로 _Imaginary 대신 imaginary로 바꿔 쓸 수 있다.
또한 -1의 제곱근을 나타내기 위해 기호 I를 사용 할 수 있다.
바이트 단위의 크기를 알려주는 sizeof()
sizeof의 포맷 지정자로 %zd를 쓰기도함
int : 4byte char : 1byte long : 8byte long long : 8byte
double : 8byte long double : 16byte
float형 값을 %d를 사용하여 출력했을 때 float형 값에 가까운 정수가 나오는것이 아닌 전혀 다른 이상한 수가 나온다.
C언어 공부 5 (0) | 2019.04.28 |
---|---|
프로그래밍 연습 2 (0) | 2019.04.28 |
C언어 공부 3 (0) | 2019.04.28 |
프로그래밍 연습 1 (0) | 2019.04.28 |
C언어 공부 2 (0) | 2019.04.28 |