728x90

p218 - 1
p218-3
p219 -5
p219 - 7

728x90

'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
728x90

p166-1
p166-4
p167 - 7

728x90

'Programming > C' 카테고리의 다른 글

C언어 공부 9  (0) 2019.05.08
프로그래밍연습 4  (0) 2019.05.06
C언어 공부 8  (0) 2019.05.06
c언어 공부 7  (0) 2019.05.06
C언어 공부 6  (0) 2019.05.05
728x90

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()는 화이트 스페이스를 건너뛴다.

입력할 때 개행과 스페이스를 혼합하여 입력하기 가능

 

 

728x90

'Programming > C' 카테고리의 다른 글

프로그래밍연습 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
728x90

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"

728x90

'Programming > C' 카테고리의 다른 글

프로그래밍 연습 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
728x90

전처리기

#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

728x90

'Programming > C' 카테고리의 다른 글

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
728x90

문자열 : 하나 또는 여러개의 문자들이 연속되어 있는 것을 말한다.
큰따옴표는 문자열이 아니다.

C는 널문자(\0)로 문자열의 끝을 표시한다.
C에서 문자열들은, 문자열의 끝을 표시하는 이 널 문자와 항상 함께 저장된다.
문자열의 크기는 저장할 문자들의 수보다 최소한 하나더 많아야한다.

배열(array) : 연속되어 있는 여러개의 메모리 셀
char name[40];
name 뒤에있는 각괄호([])에 의해 배열로 인식한다.
char는 원소의 데이터형을 나타낸다.

strlen()는 널문자를 제외한 문자열의 길이만 알려준다.
-> 널문자에서 카운트를 멈춘다.
sizeof 연산자는 널문자를 포함한 개수를 알려준다.

sizeof를 사용할 때 괄호 사용 여부는 데이터형의 크기를 원하느냐, 아니면 어떤 특정 양에 대한 크기를 원하느냐에 달려있다.
데이터형에는 괄호를 반드시 해야하지만 어떤 특정양에 괄호를 사용하는것은 옵션이다.

728x90

'Programming > C' 카테고리의 다른 글

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
728x90

117p -2
117p - 4
118p - 6

728x90

'Programming > C' 카테고리의 다른 글

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
728x90

고정폭 데이터형

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형 값에 가까운 정수가 나오는것이 아닌 전혀 다른 이상한 수가 나온다.

 

 

728x90

'Programming > C' 카테고리의 다른 글

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

+ Recent posts