1. 식별자 개념과 규칙
가. 식별자(identifier)
구별하기 위해 사용되는 이름
변수명, 배열명, 함수명, 구조체명
나. 키워드(keyword)
예약어(reserved word)
C언어에서 고유한 의미를 가지고 있는 특별한 단어
다. 변수명 작성 규칙
영문자, 숫자, 밑줄(_) 사용 가능
첫 번째 문자는 반드시 영문자 또는 밑줄(_)이어야 함.
예약어 사용 불가
특수문자 사용 불가(밑줄 제외)
대소문자 구별함.
라. 좋은 변수 이름
역할을 가장 잘 설명하는 이름
여러 단어로 되어 있는 변수 이름은 단어와 단어를 밑줄로 연결하거나 다음 단어의 첫문자를 대문자로 사용
일관성 있도록 사용
2. printf() 함수
가. 기능
모니터에 출력을 하기 위한 표준 출력 라이브러리 함수
#include <stdio.h>
나. 역할
주어진 문자열을 출력함.
주어진 값을 형식(format)에 맞춰 출력하는 기능
다. 형식화(Formatted) 출력
printf("%d", num);
라. 형식 지정자(format specifier)
값을 출력하는 형식을 지정
형식지정자가 사용된 위치에 지정된 값을 출력
형식 문자열 안에 형식 지정자를 여러 개 지정 가능
형식 지정자의 개수와 출력할 값의 개수가 일치해야 함.(형식 지정자의 개수가 더 많으면 오류, 변수의 개수가 더 많으면 무시)
형식 지정자의 자료형과 변수의 자료형이 반드시 일치해야 함.
형식지정자 | 의미 | 사용 예 |
%d | 10진 정수로 출력 | printf("%d", 10); |
%f | 실수로 출력 | printf("%f", 3.2); |
%c | 문자로 출력 | printf("%c", 'a'); |
%s | 문자열로 출력 | printf("%s", "abc"); |
마. 문자 폭 지정
문자 폭을 지정하면 출력할 값의 앞에 남는 부분에 빈칸 출력
문자 폭과 함께 0을 지정하면 빈칸 대신 0으로 채움.
문자 폭보다 큰 값은 폭을 넘어서 출력
printf("%d\n", 12345); // 12345
printf("%d\n", 12345*1000); // 12345000
printf("%8d\n", 12345); // 12345
printf("%08d\n", 12345); // 00012345
printf("%08d\n", 12345*100000); // 1234500000
바. 정밀도(precision) 지정
실수를 출력할 때 소수점 이하 6자리로 출력(디폴트)
정밀도: 소수점 이하 자릿수
점(.) 다음에 정수로 지정
printf("%f\n", 12.34567); // 12.34567
printf("%.2f\n", 12.34567); // 12.34
printf("%8.2f\n", 12.34567); // 12.34
정수 출력에도 정밀도 사용 가능
정수는 출력할 숫자의 자릿수를 의미함.(정밀도보다 적으면 0으로 출력)
printf("%8.4d\n", 123); // 0123
사. 제어 문자(Escape Sequence)
인쇄 목적이 아니라 제어 목적으로 사용되는 문자들
예: 줄바꿈 문자, 탭 문자, 벨소리 문자, 백스페이스 문자
제어문자 | 이름 | 의미 |
\0 | 널문자 | 문자열의 끝 |
\n | 줄바꿈 | 다음 라인의 시작 위치로 커서 이동 |
\t | 탭문자(tab) | 다음 탭 위치로 커서 이동 |
\' | 작은따옴표 | 원래의 작은따옴표 출력 |
\" | 큰따옴표 | 원래의 큰따옴표 출력 |
\\ | 역슬러시 | 원래의 역슬러시 출력 |
3. scanf() 함수
가. 기능
키보드로부터 입력을 하기 위한 표준 입력 라이브러리 함수
#include <stdio.h>
나. 역할
키보드로부터 값을 받아서 변수에 저장
변수의 주소 사용
입력되는 데이터의 형식을 지정할 수 있음.
값을 저장할 변수 앞에 &를 붙여야함.(변수의 주소를 의미)
다. 형식지정자
값을 입력하는 형식을 지정
형식지정자 | 의미 | 사용 예 |
%d | 10진 정수로 입력 | scanf("%d", &i); |
%f | float형 실수로 입력 | scanf("%f", &f); |
%lf | double형 실수로 입력 | scanf("%lf", &d); |
%c | 문자로 입력 | scanf("%c", &c); |
%s | 문자열로 입력 | scanf("%s", s); |
라. 안내문 사용
scanf() 함수를 사용하기 전에 printf() 함수로 안내문 사용 필요
사용자가 어떤 자료를 입력해야하는지 알 수 있음.