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);// ~ // 리 면 러 는데 74 맞 러 ??? 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) 문를 .