:or
+: 더하는 함수
-: 줄이는 함수
!=:not
==:같다
=:오른쪽의 값을 왼쪽에 할당
7.if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.
⁃ #include
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문으로 풀 수 있습니다.
#include
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
int main(){
int grade;
int counter=1;
while(counter <= 3){
printf(“Enter grade:”);
scanf(“%d”, &grade);
counter= counter +1;
}
}
10.위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.
#include
int main(){
int counter =1;
int grade;
do {
printf(“Enter grade:”);
scanf(“%d”,&grade);
counter = counter +1;
}while(counter<=3);
}
11.위 프로그램을 for문으로 바꿔 풀어보세요.
#include
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.배열을 사용한 간단한 프로그램을 하나 만들어보세요.
#include
int main()
{
int x 3;
sum =0;
x 0 = 10;
x 1 = 9;
x 2 = 8;
for (i=0;i<3;i++)
printf("%d\n",sum);
}
한송이 ¶
1.컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.
컴파일 : 작성된 *.c파일을 기계어로 변환하는 과정
빌드 : 실행파일을 만들어 내는 것
링크 : 기계어파일을 기타 라이브러리 파일과 묶어서 실행파일을 만드는 과정
2.상수형, 변수형에 관해서 쓰고, 그 예를 2개만 들어주세요.
상수형 : int, double.... ???
3.char형에 관해 써 주세요. ASCII코드를 통해 나타낸다는 것이 무엇을 의미하는지도 써 주세요.
문자형, 넓은 범위에서 보면 일종의 정수형으로 사용될수 있다.
4.#include, 전처리과정이 무엇인지 쓰고, include의 예를 들어주세요.
#include : 전처리 지시자, 같은 것을 찾아 지시자가 놓인 위치에 그 파일의
내용을 포함 시키도록 지시한다.
표준 입출력 라이브러리 함수를 사용하기 위해서 쓴다.
전처리 과정 : 컴파일러가 프로그램을 처리하기전에 특별한 일을 수행해주는 과정
5.#define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
#define : 특정 대상을 정의함으로써 전처리기가 이를 특별하게 다루도록 하고싶을때 사용한다.
이렇게 정의된 특정 대상을 매크로 라고 한다. 매크로는 전처리기 과정에서 정의된
내용으로 확장된다.
#include
#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번이상 써 주세요.
#include
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)
#include
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수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.
#include
int main(void)
{
int a=1;
while(a<5)
{
a++;
printf("%d\n",a);
}
return 0;
}
10.위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.
#include
int main(void)
{
int a=1;
do{
a++;
printf("%d\n",a);
}
while(a<5);
return 0;
}
11.위 프로그램을 for문으로 바꿔 풀어보세요.
#include
int main(void)
{
int a;
for(a=2;a<5;a++)
{
printf("%d\n",a);
}
return 0;
}
12.2중 for문을 이용하여 다음 모양의 별찍기를 작성해주세요.
#include
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("\n");
}
printf("2\n");
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
{
printf("*");
}
for(j=5;j>=i;j--)
printf("\n");
}
return 0;
}
삼각형
#include
int main (void)
{
int i,j;
for(i=1;i<=5;i++)
{
for(j=0;j
{
printf(" ");
}
for(j=5;j>=i;j--)
for(j=4;j>=i;j--)
printf("\n");
}
return 0;
}
도상희 ¶
1. 컴파일(Compile), 빌드(Build), 링크(Linking)에 대해 책에서 찾아보고 써 주세요.
컴파일(Compile) : 컴퓨터가 이해할 수 있도록 기계어로 변환하는 과정
빌드(Build) : 소스파일이 다음 단계를 거쳐 실행파일이 생성되는 과정.
링크(Linking) : 컴파일된 코드를 라이브러리 파일과 연결시켜 주는 단계.
2. 상수형, 변수형에 관해서 쓰고, 그 예를 2개만 들어주세요.
변수형 : 값을 저장하기 위한 공간, 데이터를 저장할 수 있는 메모리 공간에 붙여진 이름을 의미
- int a; (int형 변수 a 선언), float b(실수형 변수 b 선언)
상수형 : 변할 수 없는 고유의 수
- const int max=100; (int형 상수 max를 100으로 선언), #define AA 35(형태를 지정하지 않는 상수명 AA에 정수형 값을 대입)
3. char형에 관해 써 주세요. ASCII코드를 통해 나타낸다는 것이 무엇을 의미하는지도 써 주세요.
Char 1바이트 크기의 정수형 변수
ASSCII코드를 통해 나타내는 것 : 숫자를 이용한 문자의 표현.
4. #include, 전처리과정이 무엇인지 쓰고, include의 예를 들어주세요.
표준 라이브러리 함수를 사용하기 위해서 해당 함수의 선언을 포함하는 헤더파일을 포함해야한다.
include
5. #define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
매크로 상수를 정의할 때 사용.
01.c 첨부!
6. ++, --, &&,
| , +,-, !=, ==, = 이 무엇을 의미하는지 간단간단히 써 주세요.
++ : 증가 연산자
-- : 감소 연산자
&& : 논리 연산자; 피연산자가 모두 참이면 true를 반환(and의 의미)
| : 논리 연산자 ;피연산 중 하나라도 참이면 ture를 반환(or의 의미)
+ : 덧셈 연산자 / 단항 연산자(피 연산자 하나) 기능도 지님
- : 뺄셈 연산자 / “
!= : 같지 않은지 비교하는 관계 연산자
== : 같은지 비교하는 관계 연산자
= : 대입 연산자
7. if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.
02.c 첨부!
8. switch-case문을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)
-성적 계산기의 경우 90점이상 A, 80점이상 B와 같은 구조입니다. 100점만점을 10으로 나누면 switch문으로 풀 수 있습니다.
03.c 첨부!
9. while문을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.
04.c 첨부!
10. 위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.
05.c 첨부!
11. 위 프로그램을 for문으로 바꿔 풀어보세요.
06.c 첨부!
12. 2중 for문을 이용하여 다음 모양의 별찍기를 작성해주세요.
07.c 첨부!
1. 형변환에 관하여
자동 형 변환
1)대입 연산시 발생 : 오른쪽에 존재하는 데이터가 왼쪽에 존재하는 데이터의 자료형으로 자동 형 변환된다. (값의 표현 범위가 넓은 데이터로의 형 변환은 아무런 문제가 발생하지 않는다.)
2)산술 연산 과정에서의 형 변환 : 산술 연산 과정에서 일어나는 형 변환은 데이터의 손실이 최소화되는 방향으로 진행된다.
강제 형 변환(명시적 형 변환)
변수 앞에 괄호를 열고 자료형의 이름을 넣어준다.
2. 삼항 연산자에 관하여
조건 ? 참 : 거짓
조건이 참이면 참문장 수행, 거짓이면 거짓 문장 수행
3. 혜림이누나, 상희누나 과제를 for문을 각각 3개, 4개만 써서 해보세요.(hint 2*n-1)
08.c첨부 – 힌트(2*n-1)이용해서 다이아몬드 윗부분은 찍었는데 밑에는 못하겠네영!
1. 함수가 무엇인지 쓰고, 예제 프로그램을 하나 만들어 주세요.
필요한 기능을 독립적으로 구현한 코드
09.c 첨부!
2. return이 무엇인지 써 주세요.
현재의 함수에서 빠져나가는 것.
3. 함수형이 무엇인지 쓰고, void타입은 왜 return하지 않는지 써주세요.
Void는 반환할 값이 없다고 선언한 것이므로 return 하지 않아도 된다.
4. 재귀함수가 무엇인지 써 주세요.
자신이 스스로를 호출하는 함수
5. 배열이 무엇인지 쓰고, 왜 배열이란 개념이 나타났는지(왜 쓰는지) 써 주세요.
사용자가 원하는 크기 만큼 변수를 선언할 수 있도록 해주는 변수 구조화 방법.
다수의 데이터를 저장하고 처리할 때 유용하게 사용되기 때문에
6. 배열을 사용한 간단한 프로그램을 하나 만들어보세요.
10.c 첨부!
1. 재귀함수를 이용한 프로그램을 하나 짜 보세요.(eg.1~n까지의 합, n!구하기등)
11.c 첨부!
2. 배열에 숫자를 넣고, 그 배열에 특정 값이 있는지 찾는 프로그램(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
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)을 작성해 주세요.
|