C언어(학점아님) 9

7-1. 배열

배열의 선언 배열은 다른 자료형처럼 선언을 통해서 저장 공간을 확보한다. 기존 int형 변수를 하나씩 선언하지 않고, 하나의 이름으로 한꺼번에 확보한다. int형요소가 5개인 배열을 선언하는 예는 다음과 같다. int ary[5]; int : 자료형 ary : 배열명 5 : 요소 개수 예제를 통해 알아보자. #include int main() { int ary[5]; //int형 요소 5개의 배열 선언 ary[0] = 10; //첫 번째 배열 요소에 10 대입 ary[1] = 20; //두 번째 배열 요소에 20 대입 ary[2] = ary[0] + ary[1]; //첫 번째와 두 번째 요소를 더해 세 번째 요소에 저장 scanf("%d", &ary[3]); //키보드로 입력받아 네 번째 요소에 저장 p..

6-2. 여러 가지 함수 유형

함수의 원형은 반환형 함수명(매개변수)이다. 하지만 언제나 함수에 반환형과 매개변수가 있는 것은 아니다. 매개변수가 없는 함수 예제를 통해 알아보자. #include int get_num(void); //함수 선언 int main(void) { int result; result = get_num(); //함수 호출, 반환값은 result에 저장 printf("반환값 : %d\n", result); //반환값 출력 return 0; } int get_num(void) //매개변수가 없고 반환형만 있다 { int num; //키보드 입력값을 저장할 변수 printf("양수 입력 : "); //입력 안내 메시지 scanf("%d", &num); //키보드 입력 return num; //입력한 값 반환 } in..

6-1. 함수

함수란 기능을 수행하는 코드 단위를 말한다. 함수를 만들려면 3가지가 중요하다. 함수 정의 : 함수를 실제 코드로 만드는 것이며 기능을 구현한다. 함수 호출 : 함수 호출을 해야지 함수를 사용할 수 있다. 함수 선언 : 프로그램의 상단에서 어떤 함수를 사용할 것이라고 컴파일러에 정보를 주는 역할을 한다. 함수 정의 새로운 함수를 만드는 방법도 main함수를 만드는 방법과 크게 다르지 않다. 다만 함수를 만들기 전에 3가지 먼저 질문을 하겠다. 1. 함수의 기능에 맞는 이름은 무엇인가. 2. 함수가 기능을 수행하는 데 필요한 데이터는 무엇인가? 3. 함수가 수행한 후의 결과는 무엇인가? 1. 함수의 기능에 맞는 이름은 무엇인가? //함수명 ㄴ 구현하려는 기능 = 더하기 = 영어로는 sum 2.함수가 기능을..

5. 반복문

일정 조건을 만족하는 동안 같은 실행문을 반복하는 게 반복문이다. 반복문에는 항상 반복의 조건을 정의하는 조건식과 조건을 만족했을 때 실행하는 문장이 있으며, 조건식의 위치에 따라 크게 3가지 반복문으로 구분할 수 있다. while (조건식) for (초기식; 조건식; 증감식) do { { { 실행문; 실행문; 실행문; } } }while(조건식); while문 while문은 조건식을 먼저 검사하고 조건식이 참인 동안 실행문을 반복한다. 예제로 알아보자. #include int main(void) { int a = 1; //변수를 선언하고 곱셈을 하기 위해 1로 초기화 while(a < 10) //a가 10보다 작으므로 조건식은 참 { a = a * 2; //a에 2를 곱해 다시 저장 } printf("..

4. 선택문(if, switch ~ case)

제어문은 크게 선택문, 반복문, 분기문으로 나누어진다. 선택문 : if, switch ~ case 반복문 : while, for, do ~ while 분기문 : break, continue, goto, return 이번엔 선택문을 다룰 것이다. if문의 기본 형식 if문도 여러 가지가 있는데 가장 기본인 if문을 살펴보자. 예를 들어 a값이 10보다 클 때만(조건) b에 a를 대입하고 싶다면 다음과 같이 작성한다. if (a > 10) //조건식 { b = a; //실행문 } 조건식을 만족할 때 실행할 실행문은 중괄호로 묶어준다. 예제를 통해 구체적인 실행 과정을 알아보자. #include int main() { int a = 20; int b = 0; if(a > 10) //조건식 : a가 10보다 크..

3-2. 그 외의 연산자

3-1에서 논리 연산자들을 알아봤다. 3-2에서는 그 외의 연산자들을 알아보겠다. 형 변환 연산자 형 변환 연산자는 피연산자가 1개이며 피연산자의 값을 원하는 형태로 바꾼다. 예를 들어 정수 -> 실수, 실수 -> 정수. 형 변환 연산자는 일시적으로 피연산자의 값을 원하는 형태로 바꾼다. 따라서 연산 후 메모리에 있는 피연산자의 형태나 값은 변하지 않는다. int a = 10; 이라고 선언하면 a는 정수형이며 그 안의 값은 정수형이다. 이 값을 일시적으로 실수로 사용하고 싶으면 a 앞에 괄호로 (double)처럼 원하는 자료형을 넣으면 된다. (자료형) 피연산자 처럼 말이다. (double)10 -> 10.0 //double을 사용해 실수로 바꿈 (int)10.0 -> 10 //int를 사용해 정수로 바..

3-1. 연산자

산술 연산자, 관계 연산자, 논리 연산자 산술 연산자는 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나머지(%)가 있다. 이 중 -연산자는 피연산자를 하나만 사용할 때 피연산자의 부호를 바꾸는 역할도 한다. ex) 1+a, a+b라는 문장에서 +는 연산자, 1, a, b는 피연산자이다. 예제로 대입, 더하기, 빼기, 곱하기 연산자를 먼저 보자. #include int main(void) { int a, b; int sum, sub, mul, inv; a = 10; //대입 연산(=) b = 20; //대입 연산(=) sum = a + b; //더하기 연산(+) 후 대입 연산 (=) sub = a - b; //빼기 연산(-) 후 대입 연산 (=) mul = a * b; //곱셈 연산(*) 후 대..

2. 변수와 데이터 입력

프로그램에서 데이터를 메모리에 저장해 놓으면 필요할 때마다 꺼내 사용할 수 있다. 이때 변수 선언을 통해 메모리에 저장 공간을 확보한다. 정수 : int 실수 : double 문자열 : char 변수 선언 방법은 간단하다. 데이터 종류에 맞는 자료형과 변수형을 나란히 쓰면 된다. int a; 이렇게 쓰면 정수를 저장할 공간을 a라 이름 붙여 메모리에 4byte 할당하겠다고 컴파일러에 알려준다. 컴퓨터의 메모리 공간은 재활용된다. 그렇기에 자칫하면 이 안에 있는 쓰레기 값 때문에 프로그램에 오류가 생길 수도 있다. 반드시 원하는 값으로 바꾸는 초기화 과정이 필요하다. 과정은 다음과 같다. a = 10; 흔히 =는 양쪽이 같다로 사용했지만, 프로그램에서는 대입 연산자라 부른다. 오른쪽 값을 왼쪽에 저장(할당..

1. 상수와 데이터 출력

c언어를 몰라 처음 개념부터 시작할 것이다. /* 작성자 : 창문밖하늘 제목 : 10 과 20을 더하는 프로그램 */ int main(void) { 10 + 20; return 0; } 위 코드는 10과 20을 더하는 프로그램이다. main 함수는 프로그램의 시작을 의미하기에 반드시 필요하다. 맨 위에 /* */ 처럼 주석을 처리할 수 있다. /* ~*/ 는 /* */ 안의 모든 내용이 주석 처리되며 //는 그 줄만 주석처리 된다. 또한 ;(세미클론)을 사용하여 문장의 끝을 표시해야 한다. 출력함수(printf)의 사용법 printf는 문자열을 출력해 준다. #include int main(void) { printf("Be Happy"); printf("My Friend"); return 0; } 위 프..