Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

새싹교실/2017/C언어가르쳐조/4월11일: Difference between revisions

From ZeroWiki
No edit summary
(Repair batch-0006 pages from live compare)
 
(15 intermediate revisions by 2 users not shown)
Line 65: Line 65:


* 제어문  
* 제어문  
  *조건문(if switch)
  *조건문(if, switch)
  *반복문(while, do-while, for)
  *반복문(while, do-while, for)


* if문
* if문
  *if(조건) -> 참일때 여러개의 문장을 실행시켜라
  *if(조건) -> 참일때 여러개의 문장을 실행시켜라
  *else if -> else 다음 if 가 나오는 거다.
  *else if -> else 다음 if 가 나오는 거다.
** &&일때 앞이가 0이면 뒤에것 실행 안함, ||일때 앞이가 1이면 뒤에것 실행 안함.
** &&일때 앞이가 0이면 뒤에것 실행 안함, ||일때 앞이가 1이면 뒤에것 실행 안함.
  *()안에 =을 넣어도 컴파일 오류 안뜸. 쓰면 ㄴㄴ ~~뭔가 더 해줄라고 했는데 생각이 안난데~~
  *()안에 =을 넣어도 컴파일 오류 안뜸. 쓰면 ㄴㄴ ~~뭔가 더 해줄라고 했는데 생각이 안난데~~


* while문
* while문
  *(조건)에 해당하는 경우에만 실행.
  *(조건)에 해당하는 경우에만 실행.
  *맨처음부터 조건이 0일시 실행되지 않음.
  *맨처음부터 조건이 0일시 실행되지 않음.
  *(1)무한 루프 걸림.  
  *(1)무한 루프 걸림.  
  *do~while()은 뒤에 조건 들어가서 무조건 1번 실행
  *do~while()은 뒤에 조건 들어가서 무조건 1번 실행
  *do ~ while(); while()에 세미콜론 꼭 쓰기!!!!
  *do ~ while(); while()에 세미콜론 꼭 쓰기!!!!


* for문
* for문
  *for(초기;조건;증감)
  *for(초기;조건;증감)
  *초기안에 여러개 동시 사용 가능(i=0, j=0.....) 등등 다른 것들도 뭐 마찬가지
  *초기안에 여러개 동시 사용 가능(i=0, j=0.....) 등등 다른 것들도 뭐 마찬가지
  *증감문에서 2개씩 증가하고 싶다.(i+=2 사용!)
  *증감문에서 2개씩 증가하고 싶다.(i+=2 사용!) ~~(i+2얘만 쓰면 안된다!)~~
  *증감문 안에 printf 써도 됨.
  *증감문 안에 printf 써도 됨.
  *어디부터 시작, 조건 항상 신중하게 생각 ~~안그러면 배열에서 터진다~~
  *for문 무한루프 = for(;;)  ~~while에서는 비우면 안된다!~~
 
*break
  *주로 if문에서 사용, 아니면 switch문에서 사용!
  *무한루프 만들어 놓고 조건 만족시 프로그램 종료시킬 때 주로 사용.
 
*continue
  *조건 만족시 제일 처음으로 되돌아 간다.
  *if문이랑 많이 쓴다.  ~~근데 보통 많이 안쓴다고 한다.~~
  *for문 내에서 if문과 결합시켜서 특정 조건을 건너뛰고 싶을 때 if문 안에서 사용가능하다!(if 안에 continue 쓴 부분은 패스하고 다시
  앞으로 돌아가서 실행!)
 
*switch
  *switch()안에는 무조건 정수형(문자를 넣어도 실행되는 이유는 char이 결국 정수형이라서!)
  *해당하는 case가 없는 경우에는 default로 감.
  *break가 없을 경우 c가 1로 가면 1을 시행 후 그 뒤에 값을 전부 시행! (그래서 break 사용)
  *case 1뒤에는 콜론 사용 ':' ~~세미콜론이랑 다르니까 조심~~
 
*goto  ~~왠만하면 쓰지 마세용~~
  *'a_lable :' 이렇게 쓰고 뒤에 코드 작성 가능.
  *예시
***** int main()
          {
              def:
              goto abc;
           
 
              abc:
              goto def;
          }
                이런식으로 작성가능하다! 어느 위치에 있던지(위든 아래든) 이동 가능하다!!!!!!!
                ~~무한 반복, 생략의 오류 많이 생길 수 있으므로 되도록 사용 말것!!!~~
  *~~goto를 쓰는 상황이면 뭔가 잘못된 상황이다. 되도록 쓰지 않도록!!!~~
 
*
= 실습 =
= 실습 =
* 실습 코드를 여기 작성해 주세요.
* 실습 코드를 여기 작성해 주세요.
* 6번 추가됨
* 안재형
** #1
#include <stdio.h>
int main()
{
int temp_a, temp_b;
for (temp_a=1 ; temp_a<=10 ; temp_a++)
{
for (temp_b = 1; temp_b <= temp_a; temp_b++)
{
printf("*");
}
printf("\n");
}
return 0;
}
** #2
#include <stdio.h>
int main()
{
int temp_a, temp_b;
for (temp_a=1 ; temp_a<=10 ; temp_a++)
{
for (temp_b = 10; temp_b >= temp_a; temp_b--)
{
printf("*");
}
printf("\n");
}
return 0;
}
** #3
#include <stdio.h>
int main()
{
int temp_a, temp_b;
temp_a = 1;
while (temp_a <= 10)
{
temp_b = 1;
while (temp_b <= temp_a)
{
temp_b++;
printf("*");
}
printf("\n");
temp_a++;
}
return 0;
}
** #4
#include <stdio.h>
int main()
{
int decide;
int temp_a, temp_b;
for (temp_a = 1; temp_a <= 10; temp_a++)
{
for (temp_b = 1; temp_b <= temp_a; temp_b++)
{
switch (temp_a % 3)
{
case 0: printf("#");
break;
case 1: printf("*");
break;
case 2: printf("@");
break;
}
}
printf("\n");
}
return 0;
}
** ~~재능낭비 5번 패스~~
** #6
#include <stdio.h>
int main()
{
int temp_a, temp_b, temp_c;
for (temp_a = 1; temp_a <= 10; temp_a++)
{
for (temp_c = temp_a - 1 ; temp_c > 0; temp_c--)
{
printf(" ");
}
for (temp_b = 10; temp_b >= temp_a; temp_b--)
{
printf("*");
}
printf("\n");
}
return 0;
}
*이민지
  *#1
#include <stdio.h>
int main()
{
int i, j;
for (i = 1; i < 11; i++)
{
for (j = 0;j<i; j++)
{
printf("*");
}
printf("\n");
}
printf("\n");
return 0;
}
  *#2
#include <stdio.h>
int main()
{
int i, j;
for (i = 1; i < 11; i++)
{
for (j = 11; j>i; j--)
{
printf("*");
}
printf("\n");
}
printf("\n");
return 0;
}
  *#3
#include <stdio.h>
int main()
{
int i=1, j;
while (i < 11)
{
j = 0;
while(i>j)
{
printf("*");
j++;
}
printf("\n");
i++;
}
printf("\n");
return 0;
}
 
  *#4
    #include <stdio.h>
int main()
{
int n, i, j;
printf("원하는 수를 입력하시오. : ");
scanf_s("%d", &n);
for (i = 1; i <= n; i++)
{
if (i%3==1)
{
for (j = 0; j < i; j++)
{
printf("*");
}
printf("\n");
}
else if(i%3==2)
{
for (j = 0; j < i; j++)
{
printf("@");
}
printf("\n");
}
else if(i%3==0)
{
for (j = 0; j < i; j++)
{
printf("#");
}
printf("\n");
}
}
printf("\n");
return 0;
}
  *#6
#include <stdio.h>
int main()
{
int i=1, j;
while (i < 11)
{
j = 0;
while(i>j)
{
printf("*");
j++;
}
printf("\n");
i++;
}
printf("\n");
return 0;
}
김경태
1번
#include <stdio.h>
main()
{
int a, b;
for (a = 1; a <= 10; a++)
{
for (b = 1; b <= a; b++)
printf("*");
printf("\n");
}
}
2번
#include <stdio.h>
main()
{
int a, b;
for (a = 1; a <=10; a++)
{
for(b=10; b>=a; b--)
printf("*");
printf("\n");
}
}
3번
#include <stdio.h>
main()
{
int i=1, j=1;
while (i <= 10)
{
while (j <= i)
{
printf("*");
j++;
}
j = 1;
i++;
printf("\n");
}
}
4번
#include <stdio.h>
main()
{
int n, a, i;
scanf_s("%d", &n);
for (a = 1; a <= n; a++)
{
switch (a % 3)
{
case 1:
for (i = 1; i <= a; i++)
printf("*");
printf("\n");
break;
case 2:
for (i = 1; i <= a; i++)
printf("@");
printf("\n");
break;
case 0:
for (i = 1; i <= a; i++)
printf("#");
printf("\n");
break;
}
}
}
6번
#include <stdio.h>
main()
{
int i, j, l, k;
scanf_s("%d", &j);
for (i = 1; i <= j; i++)
{
for (l = 1; l <= i-1; l++)
printf(" ");
for (k = i; k <= j; k++)
printf("*");
printf("\n");
}
}
= 기타 / 후기 / 방명록 =
= 기타 / 후기 / 방명록 =


Line 94: Line 465:
[[새싹교실/2017]]
[[새싹교실/2017]]


~~잘썼다~~

Latest revision as of 01:08, 27 March 2026

예정

  • 제어/반복문이니 오늘은 실습을 합니다.
  • 강의 1시간/실습 1시간 예정입니다.
  • 제어문
    • 조건문
    • if
    • else
    • if-else if
      • else if는 사실...
    • switch
      • switch-break
      • default
    • 반복문
    • while
    • do - while;
    • for
    • 무한루프
    • 기타 제어문
    • break
    • continue
    • goto
------------1시간-------------
  • 배열도 안배웠고 그냥 별이나 찍읍시다.
  • 시간 되는대로 합니다. ~~남으면 어쩔 수 없지~~
  • #1 : for문 실습
*
**
***
****
*****
******
*******
********
*********
**********
  • #2 : for문 계속
**********
*********
********
*******
******
*****
****
***
**
*
  • #3 : #1을 while문으로
  • #4 : for문 + if문 실습
*
@@
###
****
@@@@@
######
*******
@@@@@@@@
#########
**********
    • if이 아니어도 좋습니다.
  • ~~#5 : #1을 goto문으로~~
    • ~~내가 너무 똑똑해서 지능을 썩히기 아깝다면 해보세요.~~

진행

  • 제어문
  *조건문(if, switch)
  *반복문(while, do-while, for)
  • if문
  *if(조건) -> 참일때 여러개의 문장을 실행시켜라
  *else if -> else 다음 if 가 나오는 거다.
    • &&일때 앞이가 0이면 뒤에것 실행 안함, ||일때 앞이가 1이면 뒤에것 실행 안함.
  *()안에 =을 넣어도 컴파일 오류 안뜸. 쓰면 ㄴㄴ ~~뭔가 더 해줄라고 했는데 생각이 안난데~~
  • while문
  *(조건)에 해당하는 경우에만 실행.
  *맨처음부터 조건이 0일시 실행되지 않음.
  *(1)무한 루프 걸림. 
  *do~while()은 뒤에 조건 들어가서 무조건 1번 실행
  *do ~ while(); while()에 세미콜론 꼭 쓰기!!!!
  • for문
  *for(초기;조건;증감)
  *초기안에 여러개 동시 사용 가능(i=0, j=0.....) 등등 다른 것들도 뭐 마찬가지
  *증감문에서 2개씩 증가하고 싶다.(i+=2 사용!) ~~(i+2얘만 쓰면 안된다!)~~
  *증감문 안에 printf 써도 됨.
  *어디부터 시작, 조건 항상 신중하게 생각 ~~안그러면 배열에서 터진다~~
  *for문 무한루프 = for(;;)  ~~while에서는 비우면 안된다!~~
*break
  *주로 if문에서 사용, 아니면 switch문에서 사용!
  *무한루프 만들어 놓고 조건 만족시 프로그램 종료시킬 때 주로 사용.
*continue
  *조건 만족시 제일 처음으로 되돌아 간다.
  *if문이랑 많이 쓴다.  ~~근데 보통 많이 안쓴다고 한다.~~
  *for문 내에서 if문과 결합시켜서 특정 조건을 건너뛰고 싶을 때 if문 안에서 사용가능하다!(if 안에 continue 쓴 부분은 패스하고 다시 
  앞으로 돌아가서 실행!)
*switch
  *switch()안에는 무조건 정수형(문자를 넣어도 실행되는 이유는 char이 결국 정수형이라서!)
  *해당하는 case가 없는 경우에는 default로 감.
  *break가 없을 경우 c가 1로 가면 1을 시행 후 그 뒤에 값을 전부 시행! (그래서 break 사용)
  *case 1뒤에는 콜론 사용 ':' ~~세미콜론이랑 다르니까 조심~~
*goto  ~~왠만하면 쓰지 마세용~~
  *'a_lable :' 이렇게 쓰고 뒤에 코드 작성 가능.
  *예시
          • int main()
          {
             def:
             goto abc;
            
             abc:
             goto def;
          }
               이런식으로 작성가능하다! 어느 위치에 있던지(위든 아래든) 이동 가능하다!!!!!!! 
               ~~무한 반복, 생략의 오류 많이 생길 수 있으므로 되도록 사용 말것!!!~~
  *~~goto를 쓰는 상황이면 뭔가 잘못된 상황이다. 되도록 쓰지 않도록!!!~~
*

실습

  • 실습 코드를 여기 작성해 주세요.
  • 6번 추가됨
  • 안재형
    • #1
  1. include <stdio.h>

int main() { int temp_a, temp_b;

for (temp_a=1 ; temp_a<=10 ; temp_a++) { for (temp_b = 1; temp_b <= temp_a; temp_b++) { printf("*"); } printf("\n"); }

return 0; }

    • #2
  1. include <stdio.h>

int main() { int temp_a, temp_b;

for (temp_a=1 ; temp_a<=10 ; temp_a++) { for (temp_b = 10; temp_b >= temp_a; temp_b--) { printf("*"); } printf("\n"); }

return 0; }

    • #3
  1. include <stdio.h>

int main() { int temp_a, temp_b;

temp_a = 1; while (temp_a <= 10) { temp_b = 1; while (temp_b <= temp_a) { temp_b++; printf("*"); } printf("\n"); temp_a++; }

return 0; }

    • #4
  1. include <stdio.h>

int main() { int decide; int temp_a, temp_b;

for (temp_a = 1; temp_a <= 10; temp_a++) { for (temp_b = 1; temp_b <= temp_a; temp_b++) { switch (temp_a % 3) { case 0: printf("#"); break; case 1: printf("*"); break; case 2: printf("@"); break; } } printf("\n"); }

return 0; }

    • ~~재능낭비 5번 패스~~
    • #6
  1. include <stdio.h>

int main() { int temp_a, temp_b, temp_c;

for (temp_a = 1; temp_a <= 10; temp_a++) { for (temp_c = temp_a - 1 ; temp_c > 0; temp_c--) { printf(" "); } for (temp_b = 10; temp_b >= temp_a; temp_b--) { printf("*"); } printf("\n"); }

return 0; }




*이민지
 *#1
  1. include <stdio.h>

int main() { int i, j; for (i = 1; i < 11; i++) { for (j = 0;j<i; j++) { printf("*"); } printf("\n");

} printf("\n"); return 0; }

  *#2
  1. include <stdio.h>

int main() { int i, j; for (i = 1; i < 11; i++) { for (j = 11; j>i; j--) { printf("*"); } printf("\n");

} printf("\n"); return 0; }

  *#3
  1. include <stdio.h>

int main() { int i=1, j; while (i < 11) { j = 0; while(i>j) { printf("*"); j++; } printf("\n"); i++; } printf("\n"); return 0; }


  *#4
    #include <stdio.h>

int main() { int n, i, j; printf("원하는 수를 입력하시오. : "); scanf_s("%d", &n);

for (i = 1; i <= n; i++) { if (i%3==1) { for (j = 0; j < i; j++) { printf("*"); } printf("\n"); } else if(i%3==2) { for (j = 0; j < i; j++) { printf("@"); } printf("\n"); } else if(i%3==0) { for (j = 0; j < i; j++) { printf("#"); } printf("\n"); }

} printf("\n"); return 0; }

  *#6
  1. include <stdio.h>

int main() { int i=1, j; while (i < 11) { j = 0; while(i>j) { printf("*"); j++; } printf("\n"); i++; } printf("\n"); return 0; }



김경태 1번

  1. include <stdio.h>

main() { int a, b; for (a = 1; a <= 10; a++) { for (b = 1; b <= a; b++) printf("*"); printf("\n"); } } 2번

  1. include <stdio.h>

main() { int a, b; for (a = 1; a <=10; a++) { for(b=10; b>=a; b--) printf("*"); printf("\n"); } } 3번

  1. include <stdio.h>

main() { int i=1, j=1; while (i <= 10) { while (j <= i) { printf("*"); j++; } j = 1; i++; printf("\n"); } } 4번

  1. include <stdio.h>

main() { int n, a, i; scanf_s("%d", &n); for (a = 1; a <= n; a++) { switch (a % 3) { case 1: for (i = 1; i <= a; i++) printf("*"); printf("\n"); break; case 2: for (i = 1; i <= a; i++) printf("@"); printf("\n"); break; case 0: for (i = 1; i <= a; i++) printf("#"); printf("\n"); break; } } } 6번

  1. include <stdio.h>

main() { int i, j, l, k; scanf_s("%d", &j); for (i = 1; i <= j; i++) { for (l = 1; l <= i-1; l++) printf(" "); for (k = i; k <= j; k++) printf("*"); printf("\n"); } }

기타 / 후기 / 방명록


새싹교실/2017/C언어가르쳐조 새싹교실/2017

~~잘썼다~~