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











면 더 .!!! 리 루 받 말 .