옥수수와 식빵 그리고 코딩

3장 실습예제 본문

C/2021겨울계절 - 프로그래밍 이해

3장 실습예제

옥식 2021. 12. 24. 10:25

3장

p.9 주석

/*
    솔루션 / 프로젝트 / 소스파인: ch03 / Prj01 / 01comments.c
    C프로그램의 기초를 다지기 위한 주석, 문장, 키워드 등 이해
    V 1.0
 */

#include <stdio.h>


//운영체제가 호출하는 함수, void로 매개변수 없음을 표시
int main(void)
{
    puts("3장 첫 C프로그램! \n");

    printf("키워드: int void return 등\n");
    printf("식별자: main puts prinntf 등\n");

    return 0;
}

 

p.14 변수의 선언과 사용

/**
    * 소스: 02ㅍㅁ갸뮤ㅣㄷㄴ.ㅊ
    * 버전: V 1.0

**/

#include <stdio.h>

int main(void)
{
    int year = 2022;	//선언과 동시에 변수 초기화

    int dredits;
    dredits = 15;		//선언된 변수에 초기화

    printf("%d년도\n", year);
    printf("이수학점: %d\n", dredits);

    return 0;
}

 

p.16  변수의 값을 더하고 빼기

/**
    * 소스: 03addsub.c
    * 버전: V 1.0

**/

#include <stdio.h>

int main(void)
{
    int data1 = 20, data2 = 13;

    //대입 연산자의 왼쪽과 오른쪽에서의 변수의 의미 해석
    int diff = data1 - data2;
    int sum = data1 + data2;

    printf("data1: %d, data2: %d\n", data1, data2);
    printf("차: %d, 합: %d\n", diff, sum);


    return 0;
}

p.20 정수표현을 위한 c언어의 다양한 자료형

/**
    * 소스: 04integer.c
**/

#include <stdio.h>

int main(void)
{
    short sVar = 32000; //-32767에서 32767까지
    int iVar = -2140000000; //약 21억 정도까지 저장 가능

    printf("저장 값: %d, %d\n", sVar, iVar);

    //C99이후 추가된 자료형: 64비트의 정수형 지원
    long long dist1 = 2720000000000;
    __int64 dist2 = 4500000000000;

    printf("지구와 천왕성 간의 거리(km): %lld\n", dist1);
    printf("태양과 해왕성 간의 거리(km): %lld\n", dist2);

    return 0;
}

 

p.21 부동소수형의 표현 범위

/**
    * 소스: 05flatdouble.c
**/

#include <stdio.h>

int main(void)
{
    float x = 3.14F; //float x = 3.314;인 경우, 경고 발생
    double y = -3.141592; // double 저장공간 크기는 float의 2배
    long double z = 29.74;

    printf("부동소수 값 %f %f %f\n", x, y, z); //모두 %f로 출력 가능

    return 0;
}

p.23 문자형 변수의 선언과 이용(아스키코드)

/**
    * 소스: 06char.c
**/

#include <stdio.h>

int main(void)
{
    char c1 = 'a'; //소문자 a
    char c2 = 65; //대문자 A가 코드 값 65
    char c3 = '\127'; // 대문자 W의 8진수 코드 값
    char c4 = '\x57'; // 대문자 W의 16진수 코드 값

    printf("문자 값(문자): %c %c %c %c\n", c1, c2, c3, c4);
    printf("코드 값(번호): %d %d %d %d\n", c1, c2, c3, c4);

    return 0;
}

p.27 변수의 크기와 오버플로

/**
    * 소스: 07sizeflow.c
**/

#include <stdio.h>

int main(void)
{
    printf("자료형 : 크기(바이트)\n");
    printf("char : %d\n", sizeof(char));
    printf("int : %d %d\n", sizeof(int), sizeof(200));
    printf("long long : %d %d\n", sizeof(long long), sizeof(900LL));
    printf("float : %d %d\n", sizeof(float), sizeof 3.14F);
    printf("long double : %d %d\n", sizeof(long double), sizeof 3.24L);

    short s = 32767;
    printf("%d\n", s);
    s = s + 1;
    printf("%d\n", s); // 오버플로 발생

    return 0;
}

p.32 이스케이프 문자를 등 다양한 문자 리터러르이 표현

/**
    * 소스: 08charliteral.c
**/

#include <stdio.h>

int main(void)
{
    printf("%Cava", 'J'); //java출력
    
    char sq = '\'';
    printf("%c\7\n", '\a'); //경고음 출력 \7 = \a
    printf("%c자바 언어'\n", sq); //문자열 내부에서는 작은따옴표 그대로 사용 가능

    //문자열 내부에서는 큰따옴표 반드시 \"로 사용
    printf("\"C언어\" 정말 재미있다!\n");

    return 0;
}

p.35 정수형과 실수형 리터럴 상수의 다양한 표현

/* 소스: 09numliteral.c*/

#include <stdio.h>

int main(void)
{
    printf("%d, %d\n", 010, 015); //8진수
    printf("%d, %d\n", 10, 15); //10진수
    printf("%d, %d\n", 0x1a, 0x15); //16진수

    printf("%f, ", 2.71825);
    printf("%f, ", 2.71825E+2); //27.1~
    printf("%f, ", 2.71825e-2); //0.027~

    return 0;
}

p.36 키워드 const를 사용한 상수 표현

/* 소스: 10const.c*/

#include <stdio.h>

int main(void)
{
    //키워드 const로 상수 만들기
    double const e = 2.718281;  
    
    //e = 3 을 넣으면 오류남, const로 인해 e는 상수가 되었기 때문
    printf("오일러 수 %f\n", e);


    return 0;
}

p.38 enum의 열거형 상수

/* 소스: 11enum.c*/

#include <stdio.h>

int main(void)
{
    //키워드 enum으로 열거형 정수 상수 목록 만들기
    enum DAY { SUN, MON, TUE, WED, THU, FRI, SAT };
    printf("%d %d\n", SUN, THU);
    
    enum SHAPE { POINT, LINE, TRI = 3, RECT, OCTA = 8, CIRCLE};
    printf("LINE: %d, RECT: %d, CIRCLE: %d\n", LINE, RECT, CIRCLE);

    return 0;
}

 

'C > 2021겨울계절 - 프로그래밍 이해' 카테고리의 다른 글

if else를 이용한 연봉 계산  (0) 2021.12.29
7장 실습예제  (0) 2021.12.29
6장 실전예제  (0) 2021.12.28
5장 실습예제  (0) 2021.12.27
4장 실습예제  (0) 2021.12.27
Comments