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 ¶
- ?
갈 개 . (3-1기) . 그고 그(4-1기) . 간 기, C 그 그 기 ㅎㅎ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) .











과 .!!! 그고 간. ㅋㅋ