중간고사 공부하면서, 'C프로그래밍 및 실습 과목' 을 뒷부분 진도 나가기 전에 다 정리해야겠다고 생각했다.
월 수 수업인데 내일부터 2주동안 구조체 수업하고, 나머지 기간동안은 고급기능을 수업하신다고 한다...
그래도 중간고사 범위는 내가 나름대로 혼자서(+ 유튭의 도움) 으로 방학때 선행한 덕으로 이정도 한건데..(근데도 못본거 같음 ㅋㅋ 평균만 넘었으면..)
중간고사 범위였던, 포인터 전까지 나눠서 다 정리해 볼게요! ㅎ

먼저 실수형 변수 num 을 입력한다.
int i_part; 로 선언했으므로, i_part=num; 에서 num은 실수부를 제외한 정수가 된다.
f_part=num-i_part; 는 따라서 num-정수파트 가 된다.
이러한 비슷한 문제가 중간고사 실습시험에서 1번문제로 나왔던 것 같다.
따라서 쉽지만, 중요한 문제라는 뜻인 것같다. 여기서 포인트는 float 를 쓰냐, int 를 쓰냐 이다.
다음으로,
char ch; //문자형 변수
int n; //정수형 변수
float f; //실수형 변수
잘 구분해야 한다 !!
예시를 들어보자.

이렇게 잘 구별해서 사용해야 한다.
scanf해서 입력받을게 아니면 변수는 초기화되어있어야한다.

여기서 첫번쨰 printf와 두번째 printf의 차이점은 첫번째 amount는 초기화가 안 되어있고 첫번째 amount는 초기화가 되어있다는 것이다.
첫번째 amount는 초기화가 안 되어있기 때문에 수량이 0이 나오는 것이다.

//매크로 함수: '#define 매크로명 값' 으로도 정처리기 수행 후, 특정값을 대치하는 방식으로 사용 할 수 있다.
//const 함수는 지정하면 값을 변경할 수 없는 변수가 된다. + 선언시 초기화 해야한다.
ex) const double pi = 3.14; // const 변수 선언+초기화 O // const 변수는 변경할수 없다.
//아스키코드
#include <stdio.h>
int main() {
char ch;
scanf("%c", &ch);
printf("%c의 아스키코드: %d(%x)", ch, ch, ch);
}
증감 연산자 에 대해서 알아보자.
전위형과 후위형이 있다.
++count(전위형) : 증가된 변수 count의 값
--count (전위혈) : 감소된 변수 count 의 값
count++(후위형) : 증가되기 전 변수 count의 값
count--(후위형) : 감소되기 전 변수 count의 값

사진처럼 증감연산자는 float f; 즉 실수형 변수에서도 사용가능하다.
관계연산자에서 거짓이면 0, 참이면 1이 나온다.

논리연산자도 마찬가지로 거짓이면 0, 참이면 1이 나온다.
연산기능은 AND(&&), OR(||), NOT(!) 으로 연산한다.

90 <= score <= 100 으로 한다면, score 이 80 일때, 90 <=score 에 성립하지 않으므로 여기서 score이 0으로 바뀌고, 그 다음에는 0 <= 100이 성립하므로, 최종적으로 score이 1이 된다. 따라서 성립하게 된다.
따라서 논리연산자를 이용해서, 90 <= score && score <=100 으로 해야한다.
대입연산자
score += 5;
score = score + 5;
동일한 뜻임
** 주의 num = num * 2 + 3; 과 num * 2 + 3; (num *= 5;) 은 다름
조건연산자(유일한 삼항연산자)
수식1 ? 수식2 : 수식3
max = a > b ? a : b; 에서
a > b 는 조건이고, a 는 a > b 가 참일 때 연산의 결과이고, b 는 a > b가 거짓일 때 연산의 결과이다.

이렇게 하면, 이 문제에서 숫자 두개를 입력하면, min(최소값) 과 max(최댓값)을 구할 수 있다.
형 변환 연산자
컴파일러에 의해서 자동으로 처리되는 형 변환.


int num; 이니까 num에 실수를 입력해도, 정수로 자동 형변환된다.
double f; 이니까, f에 정수를 입력해도, 실수로 자동 형변환된다.
명시적인 형변환
형식 (데이터형) 수식
ex) (int) 3.14
(double) num
(float) sum
int / int -> int
float / int -> float / float
float / float -> float / float
num = (int)(12.5 + 10.7); -> 23
num = (int)(12.5) + (int)(10.7); -> 12 + 10 -> 22

중간고사 공부하면서 정리했던, ppt1~2 내용들을 압축해서 정리해보았다.
뭔가 정리하고 여기에 또 정리하니까 더 머리속에 정리되는 느낌?
포인터부터는 방학때 안 했었는데, 11월부터 기말까지는 더 죽어라 열심히 해야겠다. 예습한 친구들이 너무 많아보여..........,,,,,, 흐규ㅠㅠ😭😭
'대학교_1학년 > C프로그래밍 및 실습' 카테고리의 다른 글
C프로그래밍 및 실습 - 중간고사 리뷰2 (0) | 2024.11.14 |
---|---|
C프로그래밍 및 실습 - 중간고사 리뷰1 (3) | 2024.11.09 |
C프로그래밍 및 실습 - 배열/문자열 (0) | 2024.11.08 |
C프로그래밍 및 실습 - 제어문 (1) | 2024.10.29 |