C언어 printf()~scanf()
프로그램은 작업지시서이다.
작업의 지시는 함수(function)안에 들어 있다.
함수는 중괄호안에서 시작하고 종료되는데,
중괄호 사이에 작업의 지시가 들어가게 됨
C프로그램은 여러개의 함수로 이루어짐
-> 함수는 다시 여러개의 문장들로 이루어짐
-> 문장은 순차적으로 실행되면서 작업을 수행
함수안에 문장이 여러 개 있을 때
문장들은 차례대로 실행된다.
#include <stdio.h>
int main(void)
{
printf(“안녕하세요?”);
return 0;
}
#include <stdio.h> : 외부에서 파일 “stdio.h”을 불러들이는 문장
return 0 : 함수를 종료하는 문장, 전체 프로그램 종료
주석 : 소스 코드에 붙이는 설명 글
#include <stdio.h>
int main(void) // 헤더 파일 포함
{
printf(“안녕하세요?”); // 문자열 출력
return 0; // 메인 함수 종료
}
여러 줄 주석 : /* 내용 */
한 줄 주석 : // 내용
- 컴퓨터는 정수와 실수를 서로 다른 하드웨어로 처리함
- 컴퓨터는 모든 것을 0과 1만을 사용하는 이진수로 표현
printf(“%d은 정수입니다”, 10);
%d를 사용해서 정수를 화면에 출력할 수 있음
[printf 형식 지정자]
%d 정수로 출력
%f 실수로 출력
%c 문자로 출력
%s 문자열로 출력
printf(“%c는 첫 번째 글자이다,”, ‘A’);
문자는 위와 같이 작은 따옴표를 이용해서 표기함
printf(“%s는 문자열이다.”, “Hey”);
문자열은 여러개의 문자가 나열된 것
[이스케이프 시퀀스]
\n : 줄바꿈
\b : 백스페이스
\t : 탭
\\ : 백 슬래시
\’ : 작은따옴표 자체
\” : 큰 따옴표 자체
등등...
[변수]
- 변수는 컴퓨터의 메모리안에 만들어지는 공간으로 숫자나 문자를 저장할 수 있다.
- 사용자로부터 입력되는 숫자를 저정한 공간이 필요하다. 그래서 변수가 필요함
- 변수는 ‘데이터를 담아두는 상자’로 생각할 수 있다.
- 변수에 있는 값은 언제든지 바뀔 수 있다.
변수를 선언하려면 자료형과 변수의 이름을 적어준다
int x;
(자료형 변수이름;)
정수의 값이 저장되는 x라는 이름의 변수를 생성
int형의 변수 x를 선언한다고 함
데이터의 타입(종류)를 자료형(data type)라고 함
정수형 : int, short, long
실수형 : float, double
문자형 : char
변수의 이름짓기
- 영문자와 숫자, 밑줄 문자(_) 사용
- 첫 글자는 반드시 영문자 또는 밑줄 문자(_)
- 대문자와 소문자는 구별
- C 언어의 예약어와 똑같은 변수 이름은 허용되지 않는다.
- 의미있는 이름이 좋음
int value = 10;
- 변수를 선언할 때, 위처럼 변수 이름뒤에 = 을 붙이고 초기값을 적으면 된다.
- 변수의 값을 출력할 때는 %d, %f, number, grade등의 형식 지정자를 사용한다
- 변수의 값은 변경 가능하다
[산술연산자]
덧셈 +
뺄셈 +
곱셈 *
나눗셈 /
나머지 %
변수 : 값이 언제든지 변경될 수 있는 공간
상수 : 값이 변경되지 않는 데이터
기호 상수는 3.141592와 같은 상수에 이름을 붙인 것
#define PI 3.141592
상수 이름은 PI 상수의 값은 3.141592
ex)
#include <stdio.h>
#define PI 3.141592
int main(void)
{
float radius=10.0; // 원의 반지름
float area; // 원의 면적
area = PI * radius * radius;
printf("원의 면적: %f \n", area);
return 0;
}
원의 면적 : 3.14.159210 가 출력된다.
기호상수의 이점 : 수정이 필요할 경우 기호상수가 정의된 곳만 수정하면 된다.
scanf() 함수 : 키보드로부터 입력된 데이터를 지정된 형식으로 변환하여 변수에 저장하는 함수
- scanf()의 형식 지정자는 printf와 동일함
ex)
#include <stdio.h>
int main(void)
{
double grade;
printf("학점을 입력하시오: ");
scanf("%lf", &grade);
printf("학점이 %f이시군요! \n", grade);
return 0;
}
- 프로그램이 scanf()에 도달하면, 실행을 중지하고 사용자의 입력을 기다림
- scanf() 함수 앞에는 반드시 사용자에게 입력을 지시하는 문장이 있어야 한다.