[차례]
1. 변수와 연산자
2. 자료형
3. 반복문
4. 함수
5. 배열
[개요]
C언어는 절차지향적 언어이다. 이식성이 좋으며 저급언어적 성향도 갖기에 직접 메모리에 접근할 수 있어, 문법과 함께 기계적 흐름 또한 같이 할 수 있다.
[1. 변수와 연산자]
정의 :
값을 저장할 수 있는 메모리 공간에 붙은 이름, 메모리 공간 자체를 가리킨다.
변수 선언:
-선언과 동시에 초기화 가능
-선언만 하고 초기화하지 않으면 쓰레기 값이 저장됨
ex) int num = 10;
[1. 변수와 연산자]
정의 :
값을 저장할 수 있는 메모리 공간에 붙은 이름, 메모리 공간 자체를 가리킨다.
변수 선언:
-선언과 동시에 초기화 가능
-선언만 하고 초기화하지 않으면 쓰레기 값이 저장됨
ex) int num = 10;
연산자 :
- + - * / 사칙연산
- + - * / 사칙연산
- =대입연산자
- %나머지를 반환
- +=, *= 복합대입연산자
- ++ , -- 증감/감소 연산자
- <=, ==, != 관계연산자
- &&(and), ||(or), !(not) 논리연산자
- , 콤마 연산자
ex)printf("hellow") , printf("world!\n");
- 함수호출전에 연산이 먼저
ex)printf("%d\n",num1+num2); '+' 연산이 우선 실행된다.
데이터표현방식 :
int num = 10; //10진수 인식
int num = 0xA //16진수 인식
int num = 012 // 8진수 인식
비트연산자:
-연산자 &(and), |(or), ^(xor), ~, <<, >>(이동한 비트는 0으로 채워진다.)
ex) int num1= 15; // 00000000 00000000 00000000 00001111
int num2= 20; // 00000000 00000000 00000000 00010100
00011011 //십진수 27
[2. 자료형]
변수 자료형: ()는 바이트 수
-정수형 int(4) / short(2) / long(4) / long long(8)
-실수형 float(4) / double(8) / long double(8bit 이상)
-소수점이하 정밀도 float 6자리, double 15자리까지 오차데이터 없다.
- sizeof연산자를 이용하여 확인 가능 ex) printf("%d",sizeof(number));
상수 : 변경이 불가능한 데이터. 변수와 반대
-Literal 상수 : 할당된 메모리 공간에 이름이 없는 상수. ex)30 + 40
-Symbolic 상수 : 변수를 상수화. 선언과 동시에 초기화 해야한다. ex)const int MAX=100;
-접미사 : float num = 5.12; ->경고 메세지 발생. 실수 상수는 기본자료형 double이다.
float num = 5.12f //float
int num = 5u //unsigned int
형변환
- %나머지를 반환
- +=, *= 복합대입연산자
- ++ , -- 증감/감소 연산자
- <=, ==, != 관계연산자
- &&(and), ||(or), !(not) 논리연산자
- , 콤마 연산자
ex)printf("hellow") , printf("world!\n");
- 함수호출전에 연산이 먼저
ex)printf("%d\n",num1+num2); '+' 연산이 우선 실행된다.
데이터표현방식 :
int num = 10; //10진수 인식
int num = 0xA //16진수 인식
int num = 012 // 8진수 인식
비트연산자:
-연산자 &(and), |(or), ^(xor), ~, <<, >>(이동한 비트는 0으로 채워진다.)
ex) int num1= 15; // 00000000 00000000 00000000 00001111
int num2= 20; // 00000000 00000000 00000000 00010100
00011011 //십진수 27
[2. 자료형]
변수 자료형: ()는 바이트 수
-정수형 int(4) / short(2) / long(4) / long long(8)
-실수형 float(4) / double(8) / long double(8bit 이상)
-소수점이하 정밀도 float 6자리, double 15자리까지 오차데이터 없다.
- sizeof연산자를 이용하여 확인 가능 ex) printf("%d",sizeof(number));
상수 : 변경이 불가능한 데이터. 변수와 반대
-Literal 상수 : 할당된 메모리 공간에 이름이 없는 상수. ex)30 + 40
-Symbolic 상수 : 변수를 상수화. 선언과 동시에 초기화 해야한다. ex)const int MAX=100;
-접미사 : float num = 5.12; ->경고 메세지 발생. 실수 상수는 기본자료형 double이다.
float num = 5.12f //float
int num = 5u //unsigned int
float num = 512ul //unsigned long
형변환
자동:
-정수의 승격: double num1 = 5.15 + 19; 두 상수모두 double형으로 치환되어 계산.
데이터를 손실하지 않기위해 형변환을 한다.
수동:
-명시적 형변환 : double num = 3 / 4; //int/int = int로 되어져 결과 값은 0.
double num=(double)3 / 4; //double/double(승격) =double 결과값 0.75
특수문자의 종류
- \a 경고음
- \b 백스페이스
- /' 작은 따옴표 출력
-\? 물음표
-\\ 역슬래쉬
서식문자의 종류와 의미
-%u : 부호없는 10진수
-%o : 부호없는 8진수
-%x : 부호없는 16진수
-%p : 포인터의 주소 값
필드 폭을 지정하여 정돈되 출력
- %8d : 필드폭 8칸 확보, 오른쪽정렬 출력
- %-8d: 필드폭 8칸 확보, 왼쪽정렬 출력
[3. 반복문]
while : 조건에 따라 반복되는 경우 사용
for : 반복횟수가 정해진 경우 사용
do ~ while 문 : 반복영역을 최소 한번은 실행
switch cast 문 : 선택적 실행 분기수가 많아지면
if - else문 : 선택적 실행
go to문 :
조건연산자
- num1>num2 ? num1(true) : num2(false)
ex)
printf("%d\n",
num1>num2 ? num1 : num2>num3 ? num2 : num3>num4 ? num4 : num4); //num4출력
[4. 함수]
정의 :
반환형태 함수이름 입력형태
int main (void) { 내용 }
지역변수:
-스택에 메모리 할당 / 반복문이나 조건문에서도 선언이 가능
전역변수: 기본 0으로 초기화 /
-일반 전역변수
-static변수 지역->전역
-register변수 변수 사용의 빈도수가 많어 접근이 빠른 레지스터에 저장하여 성능항상 위함
[5. 배열]
초기화 :
int arr1[5] = { 1,2,3,4,5}; / int arr1[] = { 1,2,3,4,5}; / int arr1[5] = { 1, 2, 3, (0), (0)};
댓글 없음:
댓글 쓰기