프로그램은 함수들로 만들어진다
- 함수는 입력되는 데이터를 가공, 판단, 반복, 처리하여 특별한 출력을 만들어내는 단위코드이다.
메인함수( main() )
- 세 개의 함수로 구성된 프로그램(10과 20을 더하여 화면에 출력)
- 프로그램에는 반드시 하나의 메인함수가 있어야 한다.
- 컴퓨터가 프로그램을 시작하기 위해서 항상 main 함수를 호출한다.
- 프로그램의 시작점
- 함수는 머리와 몸통으로 구성된다.
함수의 머리에는 세 가지 정보를 표현
- "함수의 기능에 맞는" 함수의 이름
- 함수가 기능을 수행하는 데 필요한 데이터의 개수와 형태
- 함수가 기능을 수행하고 나서 돌려주는 값의 형태
10과 20을 더하는 기능을 가진 함수의 예
int sum(int a, in b)
int : 돌려주는 값의 형태
sum : 함수의 이름
int a, int b : 필요한 데이터의 개수와 형태
int main()
-> int main(int argc, int *argv[])
※실행문장은 위에서 아래로 하나씩 실행된다
printf("Hello World!");
#include <stdio.h>
int main()
{
printf("Hello World!");
return 0;
}
-> 화면 출력
Hello World!
-printf 함수는 기본적으로 문자열만을 출력하므로 정수값을 출력할 때는 문자열로 변환시키는 과정이 필요하다
printf("%d", 10);
-> 화면 출력 : 10
- 여러 개의 정수값을 출력할 때는 변환문자열을 그 수만큼 사용한다
printf("%d %d", 10, 20); -> 화면출력 : 10 20
- 수식의 결과값을 바로 출력할 수 있다
printf("%d", 10+20); -> 화면출력 : 30
- 출력할 문자열 안에 변환문자열을 넣어 함께 사용한다
printf("은하철도 %d", 999); -> 화면출력 : 은하철도 999
- 정수값이 여러 개라면 변환문자열도 그 개수에 맞게 사용한다
printf("%d과 %d의 합은 %d입니다.", 10, 20, 30); -> 화면출력 : 10과 20의 합은 30입니다.
printf("[이름] [나이]\n");
printf("===============\n");
printf("홍길동 21");
-> 화면출력 : [이름] [나이]
===============
홍길동 21
- 변수는 데이터를 저장할 수 있는 메모리의 기억공간이다
- 컴파일러에게 형태와 이름을 알려준다
-변수의 형태 : 변수가 저장할 수 있는 값의 종류
-변수의 이름 : 사용할 메모리 기억공간의 이름
- 정수값을 저장하기 위해서는 int 예약어를 사용한다
int num; // int: 변수의 형태, num: 변수의 이름
- 같은 형태의 변수는 한번에 선언할 수 있다
int ping; int pong; 한 문장으로 -> int ping, pong;
변수에 값을 저장할 때는 대입연산자(=)를 사용한다
- 대입연산자는 오른쪽의 값을 왼쪽의 변수에 저장한다.
num = 10;
- 대입연산자 왼쪽에는 값을 저장할 기억공간(변수)이 와야 한다.
- 대입연산자 오른쪽에 변수가 올 때는 그 값을 왼쪽의 변수에 복하는 것이다.
- 변수를 사용하여 10과 20을 더해서 출력하는 프로그램
#include <stdio.h> int main() { int sum; sum = 10 + 20; printf("%d", sum); return 0; }
#include <stdio.h>
int main()
{
int num;
printf("쓰레기값 : %d\n", num);
return 0;
}
-> 쓰레기값 : -858993460
int height:
height = 168;
초기화 -> int height=168;
키보드에서 입력하는 것은 모두 문자열이다.
-키보드에서 10을 입력하면 문자1과 문자0이 붙어 있는 문자열이 된다.
-따라서 키보드 입력을 수치값으로 변환하여 변수에 저장한다.정수값을 입력 받을 때는 %d 변환문자열을 사용한다.
변수명 앞에 &기호를 사용한다.
scanf("%d", &num);
- 키보드로부터 변수에 정수값을 입력 받아 출력하는 예
#include <stdio.h> int main() { int num; printf("정수값 하나를 입력하세요 : "); scanf("%d", &num); printf("입력받은 정수값은 %d입니다.\n", num); return 0; }
- 여러 개의 변수에 값을 한번에 입력받을 수 있다.
-이 때는 변수의 개수에 맞게 변환 문자열을 사용한다.int num1, num2; scanf("%d%d", &num1, &num2);
- 두 정수값을 입력할 때는 두 값 사이에 공백, 탭, 엔터키를 쳐서 두 값을 구분해야 한다.
정수값 두 개를 입력하세요: 10 20(엔터) //10 20 사이에 하나 이상의 공백, 탭, 엔터키를 친다.
scanf("정수값 하나를 입력하세요 : %d", &num);
//정수값 하나를 입력하세요 -> 불필요한 문자열
※출력과 입력을 구분하여 작성한다.
printf("정수값 하나를 입력하세요 : ");
scanf("%d", &num);
scanf("%d %d", &num1, &num2); // 공백X
scanf("%d\n", &num); // 줄바꿈X
일반적인 프로그램의 작성 순서
변수 선언 -> 데이터 입력 -> 데이터 처리 -> 결과 출력
- 프로그램의 문장을 구분하는 것은 세미콜론(;)이다.
한 줄에 여러 문장을 작성해도 되고 한 문장을 여러 줄에 작성해도 된다.
- 한 줄 주석문(//)
-주석기호 이후 그 줄 끝까지 모두 주석처리가 된다.printf("Hello World!\d"); // Hello World!출력
- 여러 줄 주석문
-여러 줄을 한꺼번에 묶어서 주석처리 할 수 있다.
-"/"로 시작하여 "*/"로 끝을 표시한다.// 메인함수가 전부 주석인 프로그램 #include <stdio.h> /* int main() { int a=5, b=10, c=0; c = a+b; printf("%d\n", c); return 0; } */
식별자를 만드는 규칙
- 알파벳 대문자 A~Z, 소문자 a~z, 숫자 0~9, 밑줄 _으로 구성된다.
- 첫 문자에는 숫자가 올 수 없다.
- 대문자와 소문자는 서로 다른 식별자다.
- 예약어는 식별자로 사용할 수 없다.
-예약어는 컴파일러와 그 의미가 약속되어 있는 단어
식별자
result
Honggil_dong
_ab_c
world7
Korea식별자X
28man
hello-world
Dr kim -> 띄어쓰기X
int(예약어) -> X