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

새싹교실/2012/AClass/1회차

From ZeroWiki
Revision as of 11:54, 16 June 2012 by imported>jereneal20
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

곽길문

복습과제

  1. 컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.

-컴파일 : 프로그래밍언어로 코딩한 것을 컴퓨터가 이해할 수 있는 기계어 코드로 변환하는 작업

빌드: 컴파일과 링크를 합쳐 빌드라 한다. 빌드를 해야 컴퓨터가 실행할수 있는 형태의 기계   링크: 프로그램마다의 라이브러리를 내가 만든 것과 연결해 주는 작업

2.상수형, 변수형에 관해서 쓰고, 그 예를 2개만 들어주세요. -상수형 :상수는 변환 할 수 없는 고유의 수, 프로그램을 개발할 때 변경되어 발생 할 수 있는 버그등의 위험을 줄이기 위해 사용(#define,const)

변수형 (변수의 데이터 타입을 선언해 준다.int, float)

3.char형에 관해 써 주세요. ASCII코드를 통해 나타낸다는 것이 무엇을 의미하는지도 써 주세요. -char형(문자를 저장할 때 써주는 데이터 타입)

ascii코드는 표준으로 선택해서 문자를 표현함. 알파벳과 일부 특수문자를 포함하여 128개의 문자로 이루어짐

4.#include, 전처리과정이 무엇인지 쓰고, include의 예를 들어주세요. -전처리 과정이랑 컴퓨터가 코딩한 파일을 컴파일 하기 전에 여러 텍스트를 바꾸고 고치는 기능. include<stdio.h>

5.#define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.

  • 확장성이 큰 것으로 , 긴 프로그램을 설계할 때 #define으로 정의된 것을 사용할수 있어서 편리하다.

6.++, --, &&, ||, +,-, !=, ==, = 이 무엇을 의미하는지 간단간단히 써 주세요.

-++:하나씩 증가시키는 것
 --:하나씩 감소
 &&:and
 ||:or
 +: 더하는 함수
 -: 줄이는 함수
 !=:not
 ==:같다
 =:오른쪽의 값을 왼쪽에 할당

7.if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.

⁃ #include<stdio.h>

int main(void) { int num1; int num2;

printf(“relationships they satisfy: ”);

scanf(“%d%d”,&num1,&num2);

if(num1==num2){ printf(“%d is equal to %d\n”, num1,num2);

}else if(num1 != num2){ printf(“%d is not equal to %d\n”, num1, num2); }else if(num1 < num2){ printf(“%d is less than %d\n”, num1, num2); }else if(num1> num2){ printf(“%d is greater than %d\n”, num1, num2); }


return 0;

}


8.switch-case문을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C) 성적 계산기의 경우 90점이상 A, 80점이상 B와 같은 구조입니다. 100점만점을 10으로 나누면 switch문으로 풀 수 있습니다.

  1. include <stdio.h>

int main() { int grade;

printf(“Enter the grades.\n”); scanf(“%d”,&grade);


switch(grade/10){

case 10: case 9: printf(“A”); break;

case 8: printf(“B”); break;

case 7: printf(“C”); break;

case 6: printf(“D”); break;

case 5: case 4: case 3: case 2: case 1: printf(“F”); break; }

}

9.while문을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.

#include<stdio.h>

int main(){


int grade; int counter=1;

while(counter <= 3){ printf(“Enter grade:”); scanf(“%d”, &grade); counter= counter +1;

} } 10.위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.


#include<stdio.h> int main(){

int counter =1; int grade;

do { printf(“Enter grade:”); scanf(“%d”,&grade); counter = counter +1; }while(counter<=3);

} 11.위 프로그램을 for문으로 바꿔 풀어보세요.

#include<stdio.h>

int main(){

int counter =1; int grade;

for(counter<=3){

printf(“Enter grade:”); scanf(“%d”,&grade); counter = counter +1; } } 12.2중 for문을 이용하여 다음 모양의 별찍기를 작성해주세요.

파일 첨부

예습과제

예습을 위한 과제

1.함수가 무엇인지 쓰고, 예제 프로그램을 하나 만들어 주세요.

  • 함수란 프로그램내에서 동일한 명령문들의 반복되는 부분을 모아놓은 집합체이다. 피연산자나 식과 같이, 함수는 데이터형과 값을 갖고 있다.

float addfun (para11,para2) // float 데이터형으로 정의된 함수 addfun 선언 float para1,para2; // 데이터형 선언 { float a; // 함수 내부의 지역 변수 a 선언 a= para1 + para2; return a; //반환값 선언 }

2.return이 무엇인지 써 주세요.

  • return은 현재있는 함수에서 빠져나와 그 함수를 호출했던 곳으로 되돌아 가라는 뜻, 되돌아 가면서 그 함수를 호출했던 곳에 어떤 값을 반환하는 것,

return 0;은 0이라는 값을 반환하라는 의미

3.함수형이 무엇인지 쓰고, void타입은 왜 return하지 않는지 써주세요.

  • 함수형 프로그래밍은 프로그래밍의 주된 구조가 함수 호출에 기반을 둔 프로그래밍을 말한다. 기존 명령형 언어로 작성한 프로그램보다 간결하고 더 추상적이며 이해하기 쉽고 형식적인 분석과 조작이 용이하다는 특징이 있다.
void는 값을 반한하지 않는다는 뜻이므로 return하지 않는다. 

4.재귀함수가 무엇인지 써 주세요.

  • 함수내에서 자기자신을 다시 호출하는 함수

5.배열이 무엇인지 쓰고, 왜 배열이란 개념이 나타났는지(왜 쓰는지) 써 주세요. -동일한 데이터형을 가진 자료구조로, 변수이름을 각각 다른 이름으로 사용해야 하는 번거러움을 줄이기 위해 사용한다.

6.배열을 사용한 간단한 프로그램을 하나 만들어보세요.

  1. include<stdio.h>

int main() {

int x[3]; sum =0;

x[0] = 10; x[1] = 9; x[2] = 8;

for (i=0;i<3;i++) sum+= x[i]; printf("%d\n",sum); }

한송이

1.컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.

   컴파일 : 작성된 *.c파일을 기계어로 변환하는 과정
   빌드 :  실행파일을 만들어 내는 것 
   링크 :  기계어파일을 기타 라이브러리 파일과 묶어서 실행파일을 만드는 과정


2.상수형, 변수형에 관해서 쓰고, 그 예를 2개만 들어주세요.

  상수형 : int, double.... ???

3.char형에 관해 써 주세요. ASCII코드를 통해 나타낸다는 것이 무엇을 의미하는지도 써 주세요.

  문자형, 넓은 범위에서 보면 일종의 정수형으로 사용될수 있다. 
  
  

4.#include, 전처리과정이 무엇인지 쓰고, include의 예를 들어주세요.

  #include : 전처리 지시자,<stdio.h>같은 것을 찾아 지시자가 놓인 위치에 그 파일의 
             내용을 포함 시키도록 지시한다. 

표준 입출력 라이브러리 함수를 사용하기 위해서 쓴다.

  전처리 과정 : 컴파일러가 프로그램을 처리하기전에 특별한 일을 수행해주는 과정
               
          

5.#define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.

   #define : 특정 대상을 정의함으로써 전처리기가 이를 특별하게 다루도록 하고싶을때 사용한다.
             이렇게 정의된 특정 대상을 매크로 라고 한다. 매크로는 전처리기 과정에서 정의된 

내용으로 확장된다.

  1. include<stdio.h>
  2. define MASSAGE " have a nice day!"

int main(void) { puts(MASSAGE); return 0; }


6.++, --, &&, ||, +,-, !=, ==, = 이 무엇을 의미하는지 간단간단히 써 주세요.

   ++ : 증가연산자 예)a++는 a=a+1과 같다
   -- : 감소연산자 예)a--는 a=a-1과 같다
   && : 논리 AND 예) a&&b : a,b모두 참이면 1이고 그렇지 않으면 0이다
   || : 논리 OR  예)a||b : a,b중 적어도 한개가 참이면 1이고 그렇지 않으면 0이다
   +  : 더하기 
   -  : 빼기
   != : 같지 않다
   == : 같다
   = : 할당

7.if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.

  1. include<stdio.h>

int main(void) { int a=10;

if(a>0) { printf("a는 0보다 크다"); }

else if(a<0) { printf("a는 0보다 작다"); }

else if(a==0) { printf("a는 0이다"); } return 0;

}

8.switch-case문을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)

  1. include<stdio.h>

int main(void) { int a; printf("1~4중 숫자를 선택하세요"); scanf("%d",&a);

switch(a) { case 1: printf("1을 선택했다."); break;

case 2: printf("2을 선택했다."); break;

case 3: printf("3을 선택했다."); break;

case 4: printf("4을 선택했다."); break;

default : printf("잘못된 입력"); } return 0; }


9.while문을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.

  1. include<stdio.h>

int main(void) { int a=1;

while(a<5) { a++; printf("%d\n",a); }



return 0; }


10.위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.

  1. include<stdio.h>

int main(void) { int a=1;

do{ a++; printf("%d\n",a); } while(a<5);


return 0; }


11.위 프로그램을 for문으로 바꿔 풀어보세요.

  1. include<stdio.h>

int main(void) { int a;

for(a=2;a<5;a++) { printf("%d\n",a); } return 0; }

12.2중 for문을 이용하여 다음 모양의 별찍기를 작성해주세요.

#include<stdio.h>

int main (void) {

int i,j;


printf("1\n") ; for(i=1;i<=5;i++) {

for(j=1;j<=i;j++) { printf(" "); }

for(j=5;j>=i;j--) { printf("*"); } printf("\n");

}

printf("2\n");

for(i=1;i<=5;i++) {

for(j=1;j<=i;j++) { printf("*"); }

for(j=5;j>=i;j--) { printf(" "); } printf("\n");

}

return 0; }


삼각형

  1. include<stdio.h>

int main (void) {

int i,j;


for(i=1;i<=5;i++) {

for(j=0;j<i;j++) { printf(" "); }

for(j=5;j>=i;j--) { printf("*"); } for(j=4;j>=i;j--) { printf("*"); }

printf("\n");

}


return 0; }

도상희

  1. 컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.
컴파일(Compile) : 컴퓨터가 이해할 수 있도록 기계어로 변환하는 과정
빌드(Build) : 소스파일이 다음 단계를 거쳐 실행파일이 생성되는 과정.
링크(Linking) : 컴파일된 코드를 라이브러리 파일과 연결시켜 주는 단계.
  1. 상수형, 변수형에 관해서 쓰고, 그 예를 2개만 들어주세요.

변수형 : 값을 저장하기 위한 공간, 데이터를 저장할 수 있는 메모리 공간에 붙여진 이름을 의미

  • int a; (int형 변수 a 선언), float b(실수형 변수 b 선언)

상수형 : 변할 수 없는 고유의 수

      • const int max=100; (int형 상수 max를 100으로 선언), #define AA 35(형태를 지정하지 않는 상수명 AA에 정수형 값을 대입)
  1. char형에 관해 써 주세요. ASCII코드를 통해 나타낸다는 것이 무엇을 의미하는지도 써 주세요.

Char 1바이트 크기의 정수형 변수 ASSCII코드를 통해 나타내는 것 : 숫자를 이용한 문자의 표현.

  1. #include, 전처리과정이 무엇인지 쓰고, include의 예를 들어주세요.

표준 라이브러리 함수를 사용하기 위해서 해당 함수의 선언을 포함하는 헤더파일을 포함해야한다.

  1. include <stdio.h>
  1. #define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.

매크로 상수를 정의할 때 사용. 01.c 첨부!

  1. ++, --, &&, ||, +,-, !=, ==, = 이 무엇을 의미하는지 간단간단히 써 주세요.
++ : 증가 연산자
-- : 감소 연산자
&& : 논리 연산자; 피연산자가 모두 참이면 true를 반환(and의 의미)
|| : 논리 연산자 ;피연산 중 하나라도 참이면 ture를 반환(or의 의미)
+ : 덧셈 연산자 / 단항 연산자(피 연산자 하나) 기능도 지님
- : 뺄셈 연산자 /                   “
!= : 같지 않은지 비교하는 관계 연산자
== : 같은지 비교하는 관계 연산자
= : 대입 연산자
  1. if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.

02.c 첨부!

  1. switch-case문을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)

-성적 계산기의 경우 90점이상 A, 80점이상 B와 같은 구조입니다. 100점만점을 10으로 나누면 switch문으로 풀 수 있습니다. 03.c 첨부!

  1. while문을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.

04.c 첨부!

  1. 위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.

05.c 첨부!

  1. 위 프로그램을 for문으로 바꿔 풀어보세요.

06.c 첨부!

  1. 2중 for문을 이용하여 다음 모양의 별찍기를 작성해주세요.

07.c 첨부!



  1. 형변환에 관하여

자동 형 변환 1)대입 연산시 발생 : 오른쪽에 존재하는 데이터가 왼쪽에 존재하는 데이터의 자료형으로 자동 형 변환된다. (값의 표현 범위가 넓은 데이터로의 형 변환은 아무런 문제가 발생하지 않는다.) 2)산술 연산 과정에서의 형 변환 : 산술 연산 과정에서 일어나는 형 변환은 데이터의 손실이 최소화되는 방향으로 진행된다.

강제 형 변환(명시적 형 변환) 변수 앞에 괄호를 열고 자료형의 이름을 넣어준다.

  1. 삼항 연산자에 관하여

조건 ? 참 : 거짓 조건이 참이면 참문장 수행, 거짓이면 거짓 문장 수행

  1. 혜림이누나, 상희누나 과제를 for문을 각각 3개, 4개만 써서 해보세요.(hint 2*n-1)

08.c첨부 – 힌트(2*n-1)이용해서 다이아몬드 윗부분은 찍었는데 밑에는 못하겠네영!

  1. 함수가 무엇인지 쓰고, 예제 프로그램을 하나 만들어 주세요.

필요한 기능을 독립적으로 구현한 코드 09.c 첨부!

  1. return이 무엇인지 써 주세요.

현재의 함수에서 빠져나가는 것.

  1. 함수형이 무엇인지 쓰고, void타입은 왜 return하지 않는지 써주세요.

Void는 반환할 값이 없다고 선언한 것이므로 return 하지 않아도 된다.

  1. 재귀함수가 무엇인지 써 주세요.

자신이 스스로를 호출하는 함수

  1. 배열이 무엇인지 쓰고, 왜 배열이란 개념이 나타났는지(왜 쓰는지) 써 주세요.

사용자가 원하는 크기 만큼 변수를 선언할 수 있도록 해주는 변수 구조화 방법. 다수의 데이터를 저장하고 처리할 때 유용하게 사용되기 때문에

  1. 배열을 사용한 간단한 프로그램을 하나 만들어보세요.

10.c 첨부!

  1. 재귀함수를 이용한 프로그램을 하나 짜 보세요.(eg.1~n까지의 합, n!구하기등)

11.c 첨부!

  1. 배열에 숫자를 넣고, 그 배열에 특정 값이 있는지 찾는 프로그램(Search)을 작성해 주세요.

황혜림

1) 1.컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요. 컴파일(Compile)

  • 고급언어로 작성된 프로그램을 기계어로 번역하는 것

빌드(Build)

  • 컴파일+링크

링크(Linking)

  • 라이브러리나 다른 파일에 있는 함수들과 연결시키는 과정

2.상수형, 변수형에 관해서 쓰고, 그 예를 2개만 들어주세요.

  • 상수는 프로그램이 실행되는 동안 값이 변하지 않는 데이터이고, 변수는 데이터를 저장하는 데 사용되는 기억 장소의 이름이다.

3.char형에 관해 써 주세요. ASCII코드를 통해 나타낸다는 것이 무엇을 의미하는지도 써 주세요.

  • ASCII문자코드는 영문자, 숫자, 특수문자 등을 포함한 128개의 문자를 7비트를 사용하여 표현한다. 8진수로 표현된 가로와 16진수로 표현된 세로를 모으면 해당 문자의 코드가 된다. ‘A’는 10진수 65에 대응되고 ‘a’는 97에 대응된다.

4.#include, 전처리과정이 무엇인지 쓰고, include의 예를 들어주세요.

  • 컴파일러가 프로그램을 번역하기 전에 소스프로그램을 처리하는 과정
#include <stdio.h>

5.#define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.

  • 프로그램에서 여러 번 사용되는 상수 값을 매크로 상수로 정의해서 사용하는 것

6.++, --, &&, ||, +,-, !=, ==, = 이 무엇을 의미하는지 간단간단히 써 주세요.

 ++ : 값을 1 증가
 -- : 값을 1 감소
 && : AND 연산자
 || : OR 연산자 
 + : 값을 더해준다.
 - : 값을 빼준다.
 != : 같지 않으면 (비교)
 == : 같으면 (비교)
 = : 오른쪽의 값을 왼쪽에 넣어준다. 

7.if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.

8.switch-case문을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)

성적 계산기의 경우 90점이상 A, 80점이상 B와 같은 구조입니다. 100점만점을 10으로 나누면 switch문으로 풀 수 있습니다.

9.while문을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.

10.위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.

11.위 프로그램을 for문으로 바꿔 풀어보세요.

12.2중 for문을 이용하여 다음 모양의 별찍기를 작성해주세요

1.
*****
 ****
  ***
   **
    *
2.
*
**
***
****
*****

13.혜림이누나, 상희누나만 푸는 과제: 다음 별찍기를 만들어주세요. n으로 일반화하여 입력받은 만큼 별찍기를 하도록 만들면 더욱 좋습니다.

1.
*******
 *****
  ***
   *
2.
   *
  ***
 *****
*******
 *****
  ***
   *

2)

위 과제가 너무 쉬웠던 분들을 위한 추가 과제
1.형변환에 관하여
  • 묵시적 형 변환은 한 자료형에서 이 자료형의 값을 저장하는 데 필요한 기억 장소의 크기가 같거나 큰 다른 자료형으로 자동적으로 변환되는 것이고, 명시적 형 변환은 임시적으로 다른 형으로 변환하는 것

2.삼항 연산자에 관하여

? : 는 C언어의 유일한 삼항연산자이다. 피연산자가 세개가 필요한 연산자이다.

3.혜림이누나, 상희누나 과제를 for문을 각각 3개, 4개만 써서 해보세요.(hint 2*n-1)

  • 두 번째 별찍기 for문 4개만 사용해서 하는 것은 못했습니다.

3) 예습을 위한 과제

1.함수가 무엇인지 쓰고, 예제 프로그램을 하나 만들어 주세요.
  • 작은 프로그램, 서브프로그램

2.return이 무엇인지 써 주세요.

  • 함수의 결과 값으로 돌려주는 명령어

3.함수형이 무엇인지 쓰고, void타입은 왜 return하지 않는지 써주세요.

  • void타입은 리턴 할 값이 없을 때 사용하기 때문이다.

4.재귀함수가 무엇인지 써 주세요.

  • 함수 본체를 수행하는 도중에 자신을 다시 호출하는 함수

5.배열이 무엇인지 쓰고, 왜 배열이란 개념이 나타났는지(왜 쓰는지) 써 주세요.

  • 배열이란 같은 자료형의 변수 여러 개를 하나로 묶을 것을 말한다. 프로그램의 길이를 줄이기 위해서(?)

6.배열을 사용한 간단한 프로그램을 하나 만들어보세요.

4) 위 과제가 너무 쉬웠던 분들을 위한 추가 과제

1.재귀함수를 이용한 프로그램을 하나 짜 보세요.(eg.1~n까지의 합, n!구하기등)

2.배열에 숫자를 넣고, 그 배열에 특정 값이 있는지 찾는 프로그램(Search)을 작성해 주세요.


새싹교실/2012/AClass,새싹교실/2012,2012년활동지도