[로데시] 개발

[정처기 실기] 6. 프로그래밍 언어 활용 요약 - C언어1 본문

자격증/정보처리기사 - 실기

[정처기 실기] 6. 프로그래밍 언어 활용 요약 - C언어1

로데시 2026. 3. 20. 19:37
반응형
☰   정보처리기사 실기  




Ⅵ. 프로그래밍 언어 활용

01. 프로그래밍을 위한 기본 사항

1️⃣ 진수

(1) 진수 변환
ㆍ2 <-> 10 진수 변환


(2) 아스키 코드 (ASCII Code)
10진수 부호
0 NULL
32 ' '(space)
48 0
65 A
97 a





02. C언어

1️⃣ C언어 기본

(1) C언어 기본 구조
ㆍ전처리 부분 + 본문
ㆍ헤더 - xxxx.h


(2) 전처리기(Preprocessor)
📌개념
전처리기 지시문(#)을 처리


📌 종류
ㆍ#include (헤더 파일),
ㆍ#define (매크로 정의, 예약어 - 상숫값 지정)




2️⃣ 자료형(Data Type)

(1) 자료형 유형
ㆍ문자 - char
ㆍ정수 - int
ㆍ부동 소수점 - float, double




3️⃣ 식별자(Identifier)

(1) 식별자 명명 규칙
ㆍ사용 가능 - 대/소문자, 숫자, 언더바(_)
ㆍ규칙 - 처음에 숫자 사용 X (1num) / 중간에 공백 X / 예약어 변수로 X (if)


(2) 식별자 표기법
ㆍ카멜(Camel) - inputFunction; 첫 단어 첫 글자 소문자, 나머지 단어 첫 글자 대문자
ㆍ파스칼(Pascal) - InputFunction; 모든 단어 첫 글자 대문자
ㆍ스네이크(Snake) - input_function; 모든 단어 사이에 언더바
ㆍ헝가리안(Hungarian) - nScore; 자료형 + 식별자
 int(n), char(c), 문자열(sz)




4️⃣ 변수(Variable)

(1) 변수 개념
ㆍ어떠한 값을 주기억 장치에 기억하기 위한 공간


(2) 변수 선언
ㆍ변수나 함수가 있음을 알려주는 행위
ㆍ 자료형 변수명; // 초기화 X
ㆍ 자료형 변수명 = 초깃값; // 초기화 O


(3) 변수 유효범위
📌 전역 변수(Global Variable)
ㆍ아무 곳에서 사용 가능
ㆍ생성 - 프로그램 시작
ㆍ종료 - 프로그램 종료
ㆍ초기화 X - 정수 = 0, 실수 = 0.0, 문자 = NULL 로 자동 초기화


📌 지역 변수(Local Variable)
ㆍ해당 블록 내에서만 사용 가능
ㆍ선언 - 블록이 시작하는 부분
ㆍ종료 - 중괄호가 닫히는 시점




5️⃣ 표준 입출력 함수

; <stdio.h> 선언

 
(1) 표준 출력 함수(printf)
📌 단순 출력
printf("문자열");


📌 이스케이프 문자 이용
printf("\t문자열\n"); // \n(개행 문자), \t(tab 수평이동)


📌 포맷스트링 이용
ㆍ문자 printf("%c", char);
ㆍ문자열 printf("%s", string);
ㆍ정수 printf("%u, %d, %o, %x, %X", 
unsigned_decimal, decimal, octal, hexa_decimal);
// 부호 없는 10진수 정수, 10진수 정수, 8진수 정수, 16진수 정수(영어 소문자, 대문자)
ㆍ부동소수점 printf("%e, %E, %f, %lf", 
exponent, floating_point, long_floating_point);
// 지수 표기, 부동 소수점, 부동 소수점(long)


📌 포맷스트링 - 부동 소수점 상세
%[-][0][전체자리수].[소수점자리수]스트링
- : - 를 붙이면 왼쪽 정렬, - 붙이지 않고 [전체자리수] 정해져 있으면 오른쪽 정렬
0 : 빈 공간을 0으로 채움
전체자리수 : 소수점(.) 포함
소수점자리수 : [소수점자리수]만큼 소수점 출력 (반올림)

1.234에 대해 각 포맷 스트링을 적용했을 때
%-05.lf 1 . 2
%05.lf 0 0 1 . 2
%5.lf     1 . 2
%.2f 1 . 2 3


(2) 표준 입력 함수(scanf)
ㆍ포맷 스트링으로 데이터 읽음
ㆍ포맷 스트링은 printf와 동일
scanf("%d %c", &age, &gender); // &변수 = 변수의 주솟값




6️⃣ 연산자(Operator)

(1) 연산자 종류
ㆍ증감 연산자   ++ --
ㆍ산술   + - * / %
ㆍ시프트   << >>
ㆍ관계   > < >= <= == !=
ㆍ비트   & | ^(XOR) ~
ㆍ논리   && || !
ㆍ삼항   (조건식) ? (참) : (거짓)
ㆍ대입  = += -= *= /= %=


(2) 연산자 우선순위
증감 산술 시프트 관계 비트 논리 삼항 대입
1. x++ x--
2. ++x --x
 !
 ~
3. * / %
4. + -
5. << >>
6. < <= > >=
7. == !=
8. &
9. ^
10. |
11. &&
12. ||
13. (조건식) ? (참) : (거짓)
14. = += -= *= /= %=


(3) 연산자 상세
 
📌 증감 연산자 (Incremenmt & Decrement Operator)
x++  vs.  ++x 차이점
ㆍx++ / x-- : 변수 값 사용 -> 값을 1 증가/감소
ㆍ++x / --x : 값을 1 증가/감소 -> 변수 값 사용


📌 산술 연산자
/ (나누기 연산)
ㆍ정수 / 정수 = 정수
ㆍ정수 / 실수 = 실수
ㆍ실수 / 정수 = 실수
ㆍ실수 / 실수 = 실수
 
% (나머지 연산)
ㆍ정수끼리만 사용


📌 시프트 연산자 (Shift Operator)
ㆍa << b: a * 2b
ㆍa >> b: a / 2b


📌 비트 연산자 (Bit Operator)
ㆍ& : AND 연산자. 모두 1이면 1, 하나라도 0이면 0
ㆍ| : OR 연산자. 하나라도 1이면 1, 모두 0이면 0
ㆍ^ : XOR 연산자. 서로 다르면 1, 같으면 0
ㆍ~ : NOT 연산자. 0 ↔ 1. 0이면 1, 1이면 0


📌 논리 연산자 (Logic Operator)
ㆍ&& : AND 연산자. 모두 True면 True, 하나라도 Fasle면 False
ㆍ|| : OR 연산자. 하나라도 True면 True, 모두 Fasle면 Fasle
ㆍ! : NOT 연산자. False ↔ True. False면 True, True면 False
ㆍcf : 참이면 1, 거짓이면 0을 반환




7️⃣ 조건문

(1) if 문
ㆍ조건의 참 거짓 여부에 따라 경로 선택
ㆍ코드 한 줄일 경우, 중괄호 생략 가능


(2) switch 문
ㆍ여러 개의 경로 중 하나의 경로 선택
ㆍ경우와 일치하는 case 문 실행
ㆍ경우와 일치하는 case 없으면 default 실행
ㆍbreak 만날 때 까지 계속 실행 (break 없으면 모든 case, default 까지 실행됨)




8️⃣ 반복문

(1) while 문
while(조건문){
  명령문;
}

ㆍ조건문이 참일 동안 명령문 반복 수행


(2) do while 문
do{
  명령문;
} while(조건문)

ㆍ조건문의 참 거짓 여부에 관련 없이 무조건 반복문 한 번 수행
ㆍ이후 조건문이 참일 동안 명령문 반복 수행


(3) for 문
for(초기식; 조건식; 증감식){
  명령문;
}

ㆍ조건식이 참일 경우 명령문 수행
ㆍ증감식으로 값 변경, 조건식 참일 경우 명령문 수행 과정을 반복


(4) 루프 제어 명령어
ㆍbreak 문- 만나면 즉시 반복문 탈출
ㆍcontinue 문- 다음 코드를 실행하지 않고 while 문 시작 부분인 조건식으로 돌아와 이후 과정을 수행


 

 

반응형