Hugh_휴 님의 블로그

C언어 코드 공부1 본문

실습 연습

C언어 코드 공부1

Hugh_휴 2026. 4. 2. 22:14

이번에 처음으로 C언어를 배우게 됐다. 수업을 따라가는 것이 쉽지 않았는데, 다행히 숙제를 내주셔서 스스로 해볼 시간이 생겼다.

코드 적고 하나하나에 주석을 달면서  공부하는 것이 큰 도움이 되는 것 같다. 부족한 점이 많겠지만, 조금씩 공부해가겠다. 

“data_type1.c”

#include <stdio.h>//stdio.h - 헤더 이름. printf를 쓰기 위해 필요함.

int main(void) //int(integer): 결과값을 정수로 돌려준다는 이야기. main: 1개만 있어야 하고, 시작하는 곳.
//void: 빈공간을 뜻하는데, 프로그램 시작 시 외부에서 전달받는 재료가 없다는 이야기.
{
    int a = 2147483648;//일반적인 숫자. 일반적인 숫자 담을 때 사용.
    short b = 65536;//작은 용량. 작은 숫자 담을 때 사용.
    long c = 2147483648;//대형 용량. 큰 숫자나 긴 데이터 담을 때 사용.

    printf("int : %d\n", a);//a에 있는 값을 %d에 해당하는 값으로 = 부호가 있는 10진 정수형태로 바꿔서 넣어라. \n은 줄바꿈.
    printf("short : %hd\n", b);//b에 있는 값을 hd에 해당하는 값으로 바꿔서 넣어라. hd = half decimal : short를 출력할때 사용.
    printf("long : %ld\n", c);//c에 있는 값을 ld에 해당하는 값으로 바꿔서 넣어라. ld = long decimal : long를 출력할때 사용.
    return 0;//종료 신호.
}

 

“data_type2.c”

#include <stdio.h>//헤더 이름, printf를 쓰기 위한 헤더.

int main(void)//main: 1개만 있어야 하고, 시작하는 곳.
//void: 빈공간을 뜻하는데, 프로그램 시작 시 외부에서 전달받는 재료가 없다는 이야기.
{
    printf("short size : %d\n", sizeof(short));//sizeof: short값의 크기가 얼마인지 물어보는 것. 
    printf("int size : %d\n", sizeof(int));//int 값의 크기가 얼마인지 물어보는 것.
    printf("long size : %d\n", sizeof(long));//long 값의 크기가 얼마인지 물어보는 것.
    printf("char size : %d\n", sizeof(char));//char 값의 크기가 얼마인지 물어보는 것.
    printf("float size : %d\n", sizeof(float));//float 값의 크기가 얼마인지 물어보는 것.
    printf("double size : %d\n", sizeof(double));//double 값의 크기가 얼마인지 물어보는 것.
    printf("long double size : %d\n", sizeof(long double));//long double 값의 크기가 얼마인지 물어보는 것.
    
    return 0;//종료신호.
}

 

<용어정리>

  • char: 하나의 문자
  • float: 일반적인 소수점 숫자
  • double: 가장 많이 쓰이는 실수
  • long double: 극도로 정밀한 계산

 

“Escape_Sequence1.c”

#include <stdio.h>

int main(void)
{
    printf("[탭] : <\t \\t>\n");//출력할 때, 탭이 눌러진걸 화면에 보여주고 \t를 보여주고 다음글자 아랫줄에 써라.
    printf("[백스페이스] : <No\b\bYes>\n");//출력할 때, NO를 지우고 Yes를 출력해라. 다음글자는 아랫줄에 써라.
    printf("[특수문자] : <\"나 \\를 넣으려면 \\를 붙여야 합니다.>\n");//명령이 시작되고 나 \를 넣으려면 \를 붙여야 합니다.라는 문자를 출력해라. 다음글자는 아랫줄에 써라.
    printf("[캐리지 리턴]\n<it is a boy>\r<he\n");//아랫줄에 쓰기 시작하고, <it is a boy>를 썼다 커서 제일 앞으로 가서 앞의 <it을 <he가 덮어쓰게 해라. 그리고 다음글자는 아랫줄에 써라.
    printf("[수직 탭] : <hi\vhello>\n");//<hi를 쓰고 아랫줄로 내려라(커서는 i가 있던 위치만큼 오른쪽으로 밀려남.) 다음글자는 아랫줄에 써라.
    printf("[폼 피드] : <hi\fhello>\n");//<hi 뒤의 값은 다음장에 써라. hello 뒤의 값은 아랫줄에 써라.

    return 0;//종료신호.
}

 

<용어정리>

  • \\t (Tab): 키보드의 tab키와 같음. 글자 사이를 일정 간격(보통 8칸 띄워줌)\\b (Backspace): 백스페이스. 커서를 한 칸 앞으로 옮겨서 바로 앞의 글자를 지우거나 덮어쓰게 합니다. (이미지에서 No\\b\\bYes는 No를 지우고 Yes를 쓴다는 뜻이죠.)백슬래시\\: "나는 지금부터 명령어를 내릴 거다!"라고 알려주는 역할
  • \\r (Carriage Return): 커서를 그 줄의 맨 앞으로 보낸다. 이미지의 it is a boy\\r<he는 맨 앞으로 가서 it 위에 <he를 덮어쓰게 됩니다. \\v (Vertical Tab): 수직 탭. 다음 줄로 내려가면서 현재 위치만큼 띄워준다. \\f (Form Feed): 다음 페이지로 넘기라는 뜻인데, 콘솔 화면에서는 특수한 기호로 보이거나 줄바꿈 정도로 작동합니다.
  • \\n (New Line): 줄바꿈(엔터). 다음 글자를 아래 줄에 쓰게 합니다. \\\\: 화면에 진짜 백슬래시(\\) 기호 자체를 출력하고 싶을 때 쓴다. 하나만 쓰면 명령어로 오해하니까 두 번 사용함.
  • 대괄호는 ""안에 있으니까 출력되는 일반 문자.

 

 

“Format_specifier1.c”

#include <stdio.h>

int main(void)//main: 1개만 있어야 하고, 시작하는 곳.
//void: 빈공간을 뜻하는데, 프로그램 시작 시 외부에서 전달받는 재료가 없다는 이야기.
{
    printf("%d + %d = %d\n", 10,20,10 + 20);//10 + 20 = 10 + 20 값을 출력 \n 줄바꾸자.
    printf("%f\n", 10.0 + 20.0);//10.0 + 20.0 출력 후 \n 줄바꾸자.
    printf("%d %c\n", 97,97);//뒤의 수를 10진수로 출력하고, 가장 뒤의 값을 하나의 문자로 바꿔줘.

return 0;//종료신호.
}

 

 

”Format_specifier2.c”

#include <stdio.h>

int main(void)
{
    printf("숫자출력: %d %d \n", 'a', 65);//부호 없는 10진 정수와 a라는 문자의 아스키코드 숫자값을 순서대로 출력하고, 다음글자는 아랫줄에 써라.
    printf("문자출력: %c %c \n", 'a', 65);//문자 a와 65에 해당하는 아스키코드 숫자값을 표현하고, 다음글자는 아랫줄에 써라.
    printf("n진법 출력: %d %x %o %#x %#o \n", 100, 100, 100, 100, 100);//각각에 해당하는 값을 출력하고, 다음글자는 아랫줄에 써라.
    //%x: 부호없는 16진 정수 %o: 부호없는 8진 정수 %#x와 %#o 앞의 #은 이 숫자가 몇진법인지 알 수 있는 '이름표'를 붙여라는 뜻.
    printf("실수: %4.2f %2.2e\n", 3.1416, 3.1416);//%4.2f는 전체폭 4칸, 소수점 아래 둘째 자리까지 실수 형태로 출력해라.단, 전체폭보다 숫자가 크면 전체값이 입력된다. 전체폭 = 최소값.  %2.2e는 전체폭 2칸, 소수점 아래 둘째자리까지 지수 표기법 형태로 출력해라. 다음글자는 아랫줄에 써라.
    printf("정수 출력 폭: \n %+5d\n %+5d\n %+5d\n %+5d\n", 1, 10, 100, 1000);//앞에 부호를 붙이고 전체폭 5칸인 10진 정수를 출력해라. 다음글자는 아랫줄에 써라.
    printf("실수 출력 정도: \n %.4f\n %.5f\n", 3.1415, 3.1415);//소수점 4자리까지 실수 형태로 출력해라는 의미. 다음글자 아랫줄에 써라.
    printf("<%s>\t <%.4s>\t <%4.s>\n", "A string", "A string", "A string");//문자열 형태, 4자리 문자열 형태, 탭키 누른 후 4자리 문자열 형태로 출력해라. 다음글자는 아랫줄에 써라.

    return 0;//종료신호.
}

 

**전체폭 보다 숫자가 크면 전체값이 나옴. / 전체값 = 최소값.

%+5d: 여기서 +는 무조건 부호를 붙여서 출력해라. 전체폭 5칸인 10진 정수를 출력해라.

%.4f에서 .은 여기부터는 소수점 아래 자릿수를 바로 출력하겠다. 소수점 4자리까지 실수 형태로 출력해라는 의미. %.4s에서 .은 소수점이 아니라 최대 몇 글자까지 보여줄 것인가를 나타낸다. .뒤에 숫자가 없으면 0으로 인식한다.