[6주차] 연산자 함수, 자료형 심화
반응형
연산자 함수 자료형 심화
비트연산자
비트 단위로 처리되는 연산
비트 단위 논리 연산
unsigned int x, y, z; x = 0X2A; // x = 0000 0000 … 0010 1010
y = 0XAD; // y = 0000 0000 … 1010 1101
z = x & y; // z = 0000 0000 … 0010 1000
printf("%#X", z); // #: 16진수임을 나타내는 '0X'를 앞에 출력
결과: 0X28
비트 단위 이동 연산
x<<k
x를 비트 단위로 왼쪽으로 k만큼 이동
unsigned int x, z;
x = 0X2A01234C; // x = 0010 1010 … 0000 1100
z = x << 4; // z = 1010 0000 … 1100 0000 (왼쪽으로 4칸 이동)
printf("%#X", z);
결과: 0XA01234C0
C언어의 비트 연산자
- 피 연산자는 정수형에 대해서만 가능
- 특별한 이유가 없으면 unsigned 정수 사용(이동할 때, signed에서는 때때로 1이 채워짐)
라이브러리
랜덤
rand()
함수 : <stdlib.h>에 있음. 0~RAND_MAX 사이의 랜덤값 리턴.
RAND_MAX는 stdlib에 정의된 상수(32767)
srand()
함수 : rand() 함수의 시드 변경time()
함수 : <time.h>에 있음. 현제 시스템 시간에 의해 결정되는 정수 리턴
실행 시간 측정
<time.h>
의 clock()
함수를 사용
- 호출 당시의 시스템 시각을 CLOCKS_PER_SEC 단위로 반환.
- 초 단위의 시간을 얻으려면 이 시간을 CLOCKS_PER_SEC으로 나눠야 함.
main() 함수의 인자
OS와 프로그램 사이의 정보 교환
프로그램 실행시 뒤에 연달아 값을 입력하면 OS에서 main함수로 값이 전달됨.
int argc
로 전달된 문자열의 개수를, char *argv[]
로 전달된 문자열을 받을 수 있다.
const 상수
변수 앞에 const
붙여서 변수를 상수화
선언과 동시에 초기화하며, 이후 값이 고정됨.
포인터의 상수화
int a = 10, b;
const int *p = &a;
*p = 20;//오류
a = 20;//가능
p = &b;//가능
int * const p = &a;//변수 p를 상수화
*p = 20;//가능
p = &b;//오류
const int * const p = &a;
둘다 상수화도 가능하다.
반응형
'학부 수업 > C프로그래밍' 카테고리의 다른 글
[8주차] 전처리기와 분할 컴파일 (0) | 2020.04.10 |
---|---|
[7주차] 파일 입출력 (0) | 2020.04.10 |
[5주차] 동적 할당 (0) | 2020.04.10 |
[4주차] 구조체 (0) | 2020.04.10 |
[3주차] 문자열 (0) | 2020.04.10 |
댓글
이 글 공유하기
다른 글
-
[8주차] 전처리기와 분할 컴파일
[8주차] 전처리기와 분할 컴파일
2020.04.10 -
[7주차] 파일 입출력
[7주차] 파일 입출력
2020.04.10 -
[5주차] 동적 할당
[5주차] 동적 할당
2020.04.10 -
[4주차] 구조체
[4주차] 구조체
2020.04.10