More actions
예정
- 이번에도 아마 2시간 강의
- 자료형, 변수, 상수
- 변수
- 변수 선언
- 초기화
- 변수 이름 규칙
- const 키워드
- 저장 클래스 - static, ...
- 자료형
- 정수 자료형 : int, char, long, ...
- 실수 자료형 : float, double, ...
- 부동 소수점 실수
- C에서의 논리값
- 자료형 변환 규칙
- 묵시적 형 변환
- 명시적 형 변환 : 정보 손실
- 상수
- 정수형 상수 : 10진수 8진수, 16진수
- 문자 상수
- Escape Sequence
- 문자열
------------1시간-------------
- 연산자
- 산술 연산자
- +, -, *, /
- % : 나머지 연산자
- 비교 연산자
- <, >, >=, <=, ==, !=
- 논리 연산자
- C에서의 논리값 : 다시
- && : AND 연산자
|| : OR 연산자
- ! : NOT 연산자
- 대입 연산자
- 연속된 대입 연산자
- 복합 대입 연산자
- 비트 연산자
- 비트 논리 연산자 : &, |, ~, ^
- 시프트 연산자 : <<, >>
- 그 외
- sizeof()
- 형 변환 연산자
- 삼항 조건 연산자
- ,는 연산자
- 연산자 우선 순위 / 결합 순서
------------2시간-------------
진행
변수(variable)-변할 수 있는 수. 변수 선언 방법 int a; 이때 a가 이름(식별자) 숫자 자체가 변수이름이 될수 없다. 그러나 '_'등 쓸수 있다. 대 소문자도 구별됨. 변수생성 시 변수값에 뭐가 들어있는지 알수 없다. float pi=3.14;로 쓰면 pi값이 바뀔수 있음 ---> const float pi=3.14;로 쓰면 pi값을 바꿀 수 없음. 변수의 생존기간나 사용범위 지정하는 것들 automatic, static automatic 변수 - 함수 호출후 그 함수에서 그 변수가 사라짐. but static 변수- 함수 호출후도 사라지지 않음. -------> 함수의 호출횟수 구할때 사용가능. extern 변수 - 다른 파일에 있는 변수를 가져올 수 있음. prinitive type integer(정수) real(실수) 두개로 나뉨 integer -- char(1byte)-->문자로 알고 있는데 실제는 이것도 정수임.
int
long (int)
long long int
short (int) integer에는 signed unsigned 모두 존재. char -1byte. int- 보통은 4byte 이나 운영체제 등에 따라 달라지기 때문에 확실히 정해져있지 않음. signed vs unsigned cf> 1의 보수의 문제점 - ... byte = n일때 unsigned의 표현가능 범위 : 0~2^n-1(맞는지 모름.......) singed의 표현가능 범위 : -2^(n-1)~2^n-1 short int : 2byte. int long long long int short 모두 각각 singed unsigned가 있음. 보통 int로 쓰면 (signed)int를 의미. cf)ASCII-아스키코드
- real
float-4byte double- 8byte. long double floating point 소수의 표현 가능 범위 & 소수 표현 원리 , 실수부 ... c에서 0이면 거짓 0이 아닌 값은 모두 참. ex 8, 7, 9 등 int a=7 일때나 a=-1일때도 if(a)가 돌아감. if(a=b)---다시 설명 부탁.... c언어에서는 if()에서 ()안에 논리값이 안들어가도 됨. ex) a=7을 넣어도 돌아가고 a=b를 넣어도 돌아감 단 a=b=0이 아니어야한다. ()안에 0만 안들어가면 됨. 묵시적vs명시적 묵시적 ex float b int a = (int)b+1; 규칙들-작은걸 큰걸로(단 정수보다 실수가 더 크다 아마 예외는 없다). 명시적 조심해야 할 것 - 값이 중간에 잘릴 수 있음. float a=3.13284237L붙이면 long double됨. '\n' '\t' '\b'-backspace '\\' '\ '\ '\a' 경고음. '\0'-NULL "Hello""world!"--->"Helloworld!" 문자열 arr[100]="\"Hello world!\"" operator : 연산자 산술연산자 : +-*/% int/int Q float/float float 비교연산자 : >, <, >=, <=, ==, != cf> 3=3.0했을때 오류날수 있음 그래서 변환을 해줘야 (int)3.0 이렇게 논리연산자 && || ! a<b || 함수 -----> a<b만족시 함수 실행 않함. 대입연산자 =, +=, -=, *=, /=, %= 비트연산자 int float가 비트로 이루어져 있는데 그 비트 하나하나에 대해서 계산을 함. & | ^(exclusive or) ~(단항연산자) << >> 10111111 00000001 10111111 ----- |로 계산시 나오는 값. ----&로 계산시 00000001 ----^로 계산시 나오는 값- 10111110 ~11111111--> 00000000
- >, << 이용시 주의해야 할 점 --- signed의 경우 맨앞자리 1을 당겨와서 맨앞이 0으로 되면 부호가 변함.
00000001일때 3<<해줄 경우 00001000으로 됨. >>는 왼쪽으로 sizeof(int) int의 크기를 알려줌. 삼항연산자는 오직 하나뿐. a? b:c이런 경우 ---코드를 짧게 쓰기 위해 이것을 이용 3>4? b:c 일 경우 c실행. a+b*c; 우선 순위 산술 비교 논리 대입 순. 단항> 다항 ++ --( 후위) ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ ++ --(전위) !, ~, + -(단항) sizeof(), (type), &, * ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ / * % ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ + - ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ << >> ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ <=, >= ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
= !
ㅡㅡㅡㅡㅡㅡㅡㅡㅡ (logic) 위에까지가 기본적인 우선순위. AND>XOR>OR. 비트연산 먼저 그다음 논리 연산.
실습
- 예정으로는 없습니다.
- 강의 중 조금씩 해보는 정도로 합니다.
기타 / 후기 / 방명록
- 아 4일이지 참 - 멍청한 튜터