Contents
1. ¶
3/16 | 3/23 | 3/30 | 3/31 | 4/7 | 4/27 | 5/4 | 5/11 | 5/18 | 5/25 | 6/8 | |
O | O | O | O | O | O | O | O | O | O | O | |
국 | O | O | O | O | O | O | O | O | X | O | O |
O | O | △ | O | O | O | O | O | O | O | O |
2.1.1. ¶
- C
- C &
- 그 과
/* Hello.c */ #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; }
2.1.2. QnA ¶
- ?
Application DB 그 공 core 구 고
- 공간 ; ?
- ; , printf("Hello World"); 까 공간 공간 그 .
- ; , printf("Hello World"); 까 공간 공간 그 .
- C low-level 그 , ?
- 깨 까 ...
- 깨 까 ...
- printf ?
- 과 게 , 기 구고 게 .
- 과 게 , 기 구고 게 .
- C B A ?
- 기계 .obj ?
- 깨 ㅠㅠ 결그 Visual Studio 거. 010100 길 16 .
- 깨 ㅠㅠ 결그 Visual Studio 거. 010100 길 16 .
2.2.1. ¶
- , - printf, scanf
- redirection
-
#include <stdio.h> //printf int main(void) { int val1 = 4; int val2 = 2; printf(" : %d\n", val1+val2); printf(" : %d\n", val1-val2); return 0;
- 기
#include <assert.h> //assert int main(void) { int val1 = 4, val2 = 2; val1 += 3; val2 *= 2; assert(val1 == 7); //val1 7 경 , 경 assert(val2 == 4); //val2 4 경 , 경 return 0; }
- , 감
#include <assert.h> //assert int main(void) { int val = 10; assert(val++ == 10); //val++ 값 10과 . assert(++val == 12); //++val 값 12과 . return 0; }
- 계
#include <assert.h> //assert int main(void) { int val1 = 10; int val2 = 12; assert(val1 <= val2); //val2값 val1값 거 . return 0; }
#include <assert.h> //assert int main(void) { int val1 = 10; int val2 = 12; assert(val1 < val2 && val2 == 12); //val2값 val1값 고, val2값 12 . assert(val1 > val2 || val2 != 11); //val2값 val1값 거, val2값 11 . return 0; }
2.2.2. 과 ¶
- val1과 val2 곱, , 구 .
- 기 assert(val1 == 7); assert(val1 != 7); 꾸 기.
- 기 -= , /= , %= 결과 assert(val1 == 7); assert .
- 감 감 .
- 계 >= , != ( val3 ).
- (float) 2개 (scanf), 값 값 , (assert)
2.2.3. 과 ¶
#include <stdio.h> int main() { int val1 = 4; int val2 = 2; printf ("%d\n",val1*val2); system("pause"); return 0; }
#include <stdio.h> int main() { int val1 = 4; int val2 = 2; printf ("%d\n", val1/val2); system("pause"); return 0; }
#include <stdio.h> int main() { int val1 = 3; int val2 = 2; printf("%d\n", val1%val2); system("pause"); return 0; }
#include <assert.h> int main() { int val1 = 4, val2 = 2; val1 += 3; val2 *= 2; assert(val1 != 7);//printf 고 값 assert 궁금 . assert(val2 != 4);//간 ~ // 그고 거 값 7과4 까 ??? return 0; }
#include <assert.h> int main() { int val1 = 10, val2 = 8; val1 -= 3; val2 /= 2; assert(val1 != 7); assert(val2 != 4); return 0; // 거 (간 ) }
#include <assert.h> int main() { int val1 = 4, val2 = 2; val1 %= 3; val2 %= 2; assert(val1 != 1); assert(val2 != 0); return 0; // ;; }
#include <assert.h> int main() { int val = 15; assert(--val == 14); assert(val-- == 14); system("pause"); return 0; }
#include <assert.h> int main() { int val1 = 13; int val2 = 12; int val3 = 13; assert(val1 >= val2); assert(val1 != val3); return 0; //게 ;; 그고 main() void // void ??? }
#include <assert.h> int main() { float val1,val2; scanf("%d %d", &val1, &val2); assert(val1 < val2 && val2 == 12); assert(val1 < val2 || val1 != 11); return 0; // 근 거 . // 그고 float ??? // 경 int 게 ??? }
2.2.4. QnA ¶
- assert ?
#include <assert.h> int main() { int val1 = 10, val2 = 8; val1 -= 3; val2 /= 2; assert(val1 != 7); assert(val2 != 4); return 0; }
- assert 게 경 val1 7 ! val2 4 ! 고 . val1값 7고, val2 값 4까 고 거. assert != 그 . == , != 계.
- int main(void) void ?
- void고 개 고 !!고 , 그.
- void고 개 고 !!고 , 그.
2.3.2. QnA ¶
- 2 고, ?
- 2 2 . 0000 0010 1000 0010 고, 2 1111 1110 ! 계 게 기 그. 2-2 0고 계 , 2+(-2) 꿔 0000 0010 과 1111 1110 0000 0000 게 . 기 기 고 ㅠㅠㅋ
- 2 2 . 0000 0010 1000 0010 고, 2 1111 1110 ! 계 게 기 그. 2-2 0고 계 , 2+(-2) 꿔 0000 0010 과 1111 1110 0000 0000 게 . 기 기 고 ㅠㅠㅋ
2.4.1. ¶
- while
- while
#include <stdio.h> int main() { int i = 1; while(i<=10) { printf("%d \n",i); i++; } return 0; }
- do~while
#include <stdio.h> int main() { int i = 1; do { printf("%d \n",i); i++; }while(i<=10); return 0; }
- for
#include <stdio.h> int main() { int i; for(i=1; i<=10; i++) { printf("%d \n",i); } return 0; }
-
- for
- for
#include <stdio.h> int main() { int i, j; for(i=0; i<2; i++) { printf("j for i값=%d\n",i); for(j=0; j<3; j++) { printf("기 for! j=%d\n",j); } printf("j for i값=%d\n",i); } return 0; }
2.5.1. ¶
- if, else if, else
- switch, break, continue
- if, switch, while
#include <stdio.h> #include <stdlib.h> int main() { int choice=0;//int 기 char day;//char while(1) { printf(" 기\n"); printf("국 (1: 2: 3: 4:겹 0:) "); do { scanf("%d",&choice);// switch(choice) { case 1: printf(", "); break; case 2: printf(", "); break; case 3: printf(", "); break; case 4: printf("겹, "); break; case 0: printf("() .\n"); break; default: printf(", "); break; } }while(choice != 0); printf("그고 교 갔.\n"); printf(" 국(1:구 2:PC 3:) "); scanf("%d",&choice);// switch(choice) { case 1: printf("구 갔."); break; case 2: printf("PC 갔."); break; case 3: printf(" 갔."); break; default: printf(" 그 갔."); break; } printf(" 고 고 .\n"); printf(" ?(y:yes n:no) "); fflush(stdin);// . '\n' 까. scanf("%c",&day);//'%c' . if(day == 'n') { printf(" 갔.\n"); break; } system("pause");// system("cls");//clear screen } }
- 기
#include <stdio.h> int main() { int i,j,h; for(i=1;i<=10;i++)//10 { for(j=1;j<=i;j++)// 갯 { printf("*"); } printf("\n"); } return 0; }
2.5.3. 과 ¶
#include <stdio.h> int main() { int i,j; for(i=1;i<=5;i++) { for(j=5;i<=j;j--) printf("*"); printf("\n"); } return 0; }
#include<stdio.h> int main() { int i,j,h; scanf("%d",&h); for(i=0;i<h;i++) { for(j=1;h-i>j;j++) printf(" "); for(j=0;i>=j;j++) printf("o"); printf("\n"); } return 0; }// ㅇ 까 ㅇㅅㅇ ㅋ?
2.6.1. ¶
- rand() up-down 게 기
#include <stdio.h> #include <stdlib.h> //srand, rand #include <time.h> //time int main() { int num, i; srand((unsigned)time(NULL)); printf("%u\n",(unsigned)time(NULL)); for(i=0; i<10;i++){ num=rand()%5; printf("%d ",num); } return 0; }
2.6.2. ¶
#include <stdio.h> #include <stdlib.h> //srand, rand #include <time.h> //time int main() { int num,i,min=0,max=99; srand((unsigned)time(NULL)); num=rand()%100; while(1){ scanf("%d",&i); if(num>i){ printf("up\n"); if(min<i){ min=i; } printf("%d %d \n",min,max); }else if(num<i){ printf("down\n"); if(max>i){ max=i; } printf("%d %d \n",min,max); }else break; } return 0; }
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int n,a,min=0,max=99; srand((unsigned)time(NULL)); n = rand()%100; while(1) { scanf("%d",&a); if(a<n){ if(a>min) min=a; printf("up (%d<n<%d)\n",min,max); } else if(a>n){ if(max>a) max=a; printf("down (%d<n<%d)\n",min,max); } else break; } return 0; }
2.6.3. 과 ¶
- 개 1~9 구구 게 .
-
3 * 5 => // 13 ( 값) . 3 * 5 => // 15 ( 값) . 그겠까?(y: yes, n: no) => n 7 * 9 => // 63 ( 값) . 그겠까?(y: yes, n: no) => y
2.6.4. 과 ¶
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int a,b,c,i; srand((unsigned)time(NULL)); while(1){a=(rand()%9)+1; b=(rand()%9)+1; printf("%d*%d=",a,b); while(1){ scanf("%d",&i); if(i==a*b) break; else printf("\n"); } printf(".\n"); printf("그겠까?(0:quit 1:continue)\n"); scanf("%d",&c); if(c==0) break; else system("cls"); } return 0; }
* 국
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int n,m,a; char d,y='y'; srand((unsigned)time(NULL)); while(1) { n = rand()%9+1; m = rand()%9+1; while(1) { printf("%d*%d=?",n,m); scanf("%d",&a); if(n*m==a) { printf("%d*%d => // %d\n\n그겠까?(y: yes, n: no)",n,m,a); fflush(stdin); scanf("%c",&d); if(d==y) { printf(" => y\n"); exit(0); } else printf(" => n\n"); break; } else { printf("%d*%d => // %d ( 값)\n.)",n,m,a); } } } return 0; }
2.9.1. ¶
- Function Call Stack
- , stack 고 stack 간. LIFO(Last In First Out) ..
- , stack 고 stack 간. LIFO(Last In First Out) ..
- 과
-
- 과
- 1
- 길: 구 개
- : 구
- : 근
- 길: 구 개
-
- (null) .
- (null) : \0 ( 값 0)
- (null)
- 기
- 기 값과 경계 기
- Printf 결 .
- 기
- (null) .