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

[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으로 채움
        • [전체자리수] 만큼 공간 확보 / 소수점도 한 자리수로 포함
        • .[소수점자리수] 만큼 소수점 출력 / 실수형일 때만 적용
#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
반응형