[특강 1] print 출력순서문제1풀이#includeint main() { int i=5;printf("%d, %d, %d, %d", i++, ++i, i++, ++i);}1차풀이)i++ 5출력 후 i=6, ++1 후 출력7, 7출력후 i=8, +1후출력9*** print는 뒤에서 부터 출력.... 충격적..ㅋㅋ2차풀이)+1후출력6, 6출력후+1,i=7, +1후 출력8, 8출력후+1 i=9*** ++나--가 앞에 오면 연산을 할 당시의 i값을 참조,현재는 연산을 하지 않아서 i최종을 기다려야함3차풀이)++i, i+1=6연산, i를 확정짓지 않음 => i = 9i++, 현재 i=6를 참조 i=i+1=7 =>6++i, i+1=8연산, i를 확정짓지 않음=> i = 9i++, 현재 i=8를 참조 i= i..
[49,50,51,52강] static 변수* static 변수? (정적변수, 공유하고 있는 변수)- 단 한번만 초기화하고, 그 이후에는 전역변수(함수 위에 선언해 모든 함수들이 공유)처럼 프로그램이 종료될때까지 메모리공간에 존재하는 변수.- 초기값이 지정이 안되면, 자동으로 0 이 대입.ex. int a; a에 이상한 쓰레기 값 들어감, static int a; 자동으로 a에 0값이 들어감* 배열도 선언만 하면 자동으로 0이 들어감지역 변수static 변수void test(){ int a = 10; a++; // a=11 printf("%d", a);}void main() { test(); // 11출력, 동작 수행 후 test 안의 변수들 초기화 test(); // 11출력, 동작 수행 후 ..
[37강] 함수* 함수란? 반복적인 수행을 정의해 놓은 작은 프로그램 단위(하나의 프로그램 단위) 모듈의 독립성을 높이기 위해 응집도를 높이고 결합도를 낮춘다.반환함수함수 선언과 사용반환타입 함수명(인자들...){ 수행할 작업1 수행할 작업2}int sum(int a, int b) {int c = a+b;return c; }int data = sum(10,20); // 30을 return 시킴printf("%d", data); // 30 출력*반환하지 않는거는 void 타입이라고 함.문제풀이#includevoid swap(int a, int b){ int temp; temp = a; a = b; b = temp;}int main(void) { int k,j; ..
[29,30강] 2차원 배열과 포인터 * 배열 : 물리적으로 연속 된 공간*이차열 배열은 행의 대표 주소를 가지고 있다. 배열배열저장소저장소에 등록 된 주소값주소int a[3][2] = {{1,2},{3,4},{5,6}};a → a[0] →a[0][0] 1행1열1100번지3행 2열짜리 배열 a 생성 a[0][1] 1행 2열2101번지 a[1] →a[1][0] 2행 1열3102번지 a[1][1] 2행 2열4103번지 a[2] →a[2][0] 3행 1열5104번지 a[2][1] 3행 2열6105번지printf("%d\n", a)a에는 a[0]의 주소값 저장 → 100번지 출력printf("%d\n", *a)a에 주소값 에있는 a[0]에는 a[0][0]의 주소값 저장 → 100번지 출..
[21,22강] 배열* 배열이란? 같은 자료형(같은 크기를 가지는 ex. int랑 int)의 변수를 연속적으로 묶어 놓은 저장공간(주소값O) 물리적으로 연속된 공간!- 배열의 선언 : 자료형 배열이름[열의 개수] ex. int a[5]- 이차원 배열 : 같은 자료형의 변수를 행과 열의 연속적인 공간으로 묶어 놓은 것 ex. int a[2][3];일차원 배열int a[5];a[0] a[1] a[2] a[3] a[4] * a에는 a[0]의 물리적인 메모리의 주소값이 저장되어 있다.이차원 배열int a[2][3];a[0][0] a[0][1] a[0][2]a[1][0] a[1][1] a[1][2]* 이해하기 위함이고, 실제 저장은 일차원으로 저장됨 [23강] 포..
[14강] 조건문ifswitch조건에 따라서 다른 명령어들을 수행주어진 값에 맞는 명령어들을 수행**break에 주의! 브레이크나 나올때까지 쭉쭉쭉 실행! if (조건) { 조건이 만족할 때 처리;} [문제]switch(a){ case 0 : printf("%d\n",b++); break; case 1 : printf("%d\n",++b); break; default: print(%d\n,b); break;}* if ~ else문if (조건) { 조건이 만족할 때 처리;} else { 조건이 아닐때 처리}* 다중if문if (조건1) { 조건1이 만족할 때 } else if (조건2) { 조건2가 만족할 때}else { 모든 조건이 아닐때}[풀이] a=0 → case 0 → b를 출력 :1 → ..
[1강] 프로그래밍이란?* 프로그램 동작 과정선언 > 입력 > 처리 > 출력 * C언어 입출력- 입력함수 : scanf("형식", 매개변수)*int x; scanf("%i", &x); → 입력받은 값을 x의 주소에 저장 - 출력함수 : printf("형식", 매개변수 ) [2강] 컴파일러, 인터프리터* 컴파일 : 고급어(인간의 언어) → 저급어(기계어) 변환- 컴파일러(번역), 인터프리터(통역), 어셈블리어(어셈블리 언어를 번역) * 컴파일 과정.c → 전처리기 → .i → 컴파일러 → .s → 어셈블러 → .o → 링커 → .exe(실행파일) * 용어구분기능확장자전처리기전처리 구문을 처리하는 과정 #include내가 만든거랑 누가 만들어 놓은 #include 같은거 합쳐주는거.c(내가작성)*..
- Total
- Today
- Yesterday
- 아침
- 뉴스
- IH
- 미라클모닝
- Python
- 아침운동
- 고득점 Kit
- 운동
- 30분
- ChatGPT
- SQL
- 영어회화
- 빅데이터 분석기사
- 경제
- 갓생
- 오픽
- Ai
- 습관
- 다이어트
- 프로그래머스
- C언어
- llm
- 오블완
- opic
- 티스토리챌린지
- 실기
- 스크랩
- 루틴
- 줄넘기
- 기초
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |