자격증/정보처리기사 실기
[6-1] 프로그래밍 기본 사항 / C언어(1)
염두리안
2024. 3. 6. 11:56
728x90
반응형
CH1. 프로그래밍을 위한 기본 사항
- 진수 변환
- 10진수 → N진수 변환) 10진수 값을 몫이 N보다 작을 때까지 N으로 나눔
- 16진수) 10 = A / 11 = B / 12 = C / 13 = D / 14 = E / 15 = F
- N진수 → 10진수 변환) 자리 숫자에 자릿값을 곱한 값 계산
- 주요 아스키 코드(ASCII)
10진수 | 부호 |
0 | NULL |
32 | ' ' (Space) |
48 | 0 |
49 | 1 |
65 | A |
66 | B |
67 | C |
68 | D |
97 | a |
98 | b |
99 | c |
100 | d |
CH2. C언어
- C언어 기본) 전처리&본문으로 구성 / 헤더 안에는 프로그래밍에 필요한 함수 포함
- 전처리기) 실행 파일을 생성하는 과정에서 소스파일 내 존재하는 전처리 지시문 처리하는 작업
- #include - C 프로그램에 헤더 파일 포함할 때 사용
- #define - 매크로 정의할 때 / 상숫값 지정 위한 예약어
- 전처리기) 실행 파일을 생성하는 과정에서 소스파일 내 존재하는 전처리 지시문 처리하는 작업
- 자료형
- 문자형(char) - 문자 하나를 저장 / 메모리에 저장은 숫자로 저장됨
- 정수(int) - 정숫값을 저장
- 부동 소수점(float(4byte, 소수점 6자리), double(8byte, 소수점 15자리)) - 소수점을 포함하는 실숫값을 저장
- 식별자
- 규칙) 사용 가능 문자 / 변수 사용 규칙(첫자리 숫자 X, 변수 이름 중간에 공백 X) / 변수 의미 부여(예약어 X)
- 식별자 표기법
- 카멜(Camel) - 여러 단어가 이어지면 첫 단어 시작만 소문자, 각 단어의 첫 글자는 대문자로 지정 (inputFunction)
- 파스칼(Pascal) - 여러 단어가 이어지면 각 단어의 첫글자는 대문자로 지정 (InputFunction)
- 스네이크(Snake) - 여러 단어가 이어지면 단어 사이에 언더바 (input_function)
- 헝가리안(Hungarian) - 두어에 자료형 붙임 / int - n, char - c, 문자열 - sz (nScore)
- 변수
- 변수 선언 - (초기화X) 자료형 변수명; / (초기화) 자료형 변수명 = 초깃값;
- 변수 유효범위
- 전역변수(Global Variable) - 어떤 블록에도 속하지 않는 변수 / 프로그램 시작 시 변수 생성, 종료 시 소멸 / 초기화 안하면 정수형 0, 실수형 0.0, 문자형 NULL / 아무 곳이나 사용 ㄱㄴ
- 지역변수(Local Variable) - 블록 내에서 선언하는 변수 / 블록이 시작되는 부분에 바로 선언, 중괄호가 닫히는 시점에 소멸 / 해당 블록 안에서만 사용 ㄱㄴ
- static변수 - 블록 내외부 상관없이 선언 ㄱㄴ / 선언 시 static 키워드 붙여야 함 / 블록 내외부 상관없이 프로그램 시작 시 변수 생성, 종료 시 소멸 / 전역 변수로 선언하면 프로그램 전체에 사용 ㄱㄴ, 블록 내 선언시 블록 내에서만 ㄱㄴ
#include <stdio.h>
void fn() {
static int a = 3;
a = a + 1;
printf("%d\n", a);
}
void main() {
fn();
fn();
}
>> 4
>> 5
- 표준 입출력 함수
- printf - 표준 출력 함수
- \n - 다음 줄 / \t - 일정 간격으로 수평 이동
- 포맷 스트링을 이용한 변수 출력 - printf(포맷 스트링이 포함된 문자열, 인자);
- 문자) %c - 문자 1글자에 대한 형식
- 문자열) %s - 문자가 여러 개인 문자열에 대한 형식
- 정수) %u - 부호 없는 10진수 정수 / %d - 10진수 정수 / %o - 8진수 정수 / %x, %X - 16진수 정수... 소문자는 소문자, 대문자는 대문자로 표시
- 부동 소수점) %e, %E - 지수, e는 e, E는 E로 표기 / %f, %lf - 부동소수점 표기
- 포맷 스트링을 이용한 변수 상세 출력) %[-][0][전체자리수].[소수점자리수]스트링
- [-] 를 붙이면 왼쪽 정렬 / 안 붙이고 [전체자리수]가 정해져 있으면 오른쪽 정렬
- [0] 을 붙이면 전체 자릿수에서 앞 빈공간 만큼 0으로 채움
- [전체자리수] 만큼 공간 확보 / 소수점도 한 자리수로 포함
- .[소수점자리수] 만큼 소수점 출력 / 실수형일 때만 적용
- printf - 표준 출력 함수
#include <sttio.h>
void main() {
float a = 1.234;
int b = 10;
printf("%.2f\n", a); # 1.23
printf("%5.1f\n", a); # __1.2
printf("%05.1f\n", a); # 001.2
printf("%-05.1f\n", a); # 1.2__
printf("%5d\n", b); # ___10
printf("05d\n", b); # 00010
prnitf("%-5d\n", b); # 10___
printf("%-05d\n", b); # 10___
}
- scanf (표준 입력 함수) - printf 포맷 스트링과 동일
728x90
반응형