How We Coding

Week 01

Tutoring/18-1 C Lang2018. 3. 21. 17:29

< 180321 >




- C 언어는 main() 에서부터 시작한다..!!



- 첫 프로그래밍


1
2
3
4
5
6
7
#include <stdio.h>
 
int main()
{
    printf("Hello World"); 
    return 0;
}
cs


>> 1 : 헤더파일 선언, #include <stdio.h> 에서 stdio는 standard input output 의 약자.



- 주석처리


1
2
3
4
5
6
7
//#include <stdio.h>
 
int main()
{
    printf("Hello World"); 
    return 0;
}
cs


>> 1 : // 는 한줄을 주석처리 한다. 주석처리 하면 해당 라인을 무시한다.

>> 위의 경우 1번 라인을 무시하게 되면 printf() 를 사용할 수 없게 된다.



- 서식문자 : %d, %c, %lf


1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int main()
{
    printf("int : %d\n"20);
    printf("char : %c\n"'A');
    printf("double : %lf\n"3.141592);
    return 0;
}
cs


>> 20 은 상수형 정수

>> 'A' 는 상수형 문자

>> 3.141592 는 상수형 실수

>> printf() 에서 정수를 출력하고 싶을 땐 서식문자 %d를, 문자는 %c, 실수는 %lf 를 사용한다.


>> 위의 경우 세종류의 데이터가 있다. 정수형, 문자형, 실수형



- 변수를 선언하고, 값을 대입하고 출력하기.


1) 정수


1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int main()
{
    int num;
    num = 3;
    printf("num = %d\n", num);
    return 0;
}
cs


>> 5 : 정수형 변수 선언. 정수형 데이터를 담는 변수를 선언하기 위해서는 int 라는 자료형을 선언하고 한칸 띄고 변수 이름을 쓴다. (변수이름은 마음데로, 하지만 작명규칙이 존재, 찾아볼것.)

>> 6 : 정수값을 num 이란 변수에 대입. 여기서 = 는 대입연산자 이다.


1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main()
{
    int num;
    num = 3;
    printf("num = %d\n", num); // num = 3
 
    num = 7;
    printf("num = %d\n", num); // num = 7
    return 0;
}
cs


>> 9 : num 이란 변수에 7을 대입. 10 라인에서 num = 7 이란 결과가 출력

>> 변수 vs 상수 : 변수는 변하는 값. 어떤 값을 대입하냐에 따라 값이 바뀔 수 있다. 하지만 상수는 그 값 자체로만 사용이 가능. 그래서 상수.



2) 문자


1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int main()
{
    char ch;
    ch = 'A';
    printf("ch = %c\n", ch); // ch = A
    return 0;
}
cs


>> 5 : 문자를 담는 변수를 선언하기 위해서는 자료형 char 을 사용



3) 실수


1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int main()
{
    double dnum;
    dnum = 3.14;
    printf("dnum = %lf\n", dnum); // dnum = 3.140000 
    return 0;
}
cs


>> 5 : 실수를 담는 변수를 선언하기 위해서는 자료형 double 를 선언한다.

>> 7 : 실행결과는 dnum = 3.140000 , 기본적으로 소수점 6자리까지 출력한다.



- 문자의 정체


1
2
3
4
5
6
7
8
#include <stdio.h>
 
int main()
{
    char ch = 'b'-'a';
    printf("ch = %d\n", ch); // ch = 1
    return 0;
}
cs


>> 5 : 변수 ch를 선언과 동시에 'b'-'a' 값으로 초기화

>> 여기서 'b'-'a' 라는 연산이 가능하다...!!


1) 문자의 정체는 정수. 실제로 어떤 문자는 어떤 정수의 값으로 매핑(매칭)되어 있다. (아스키 코드표 참조)


2) 아스키 코드값의 특징

>> 문자인 숫자는 '0', '1', '2', ... '9' 의 순서로 되어 있다. 얼마에 매핑되어 있는지는 외울 필요 없음.

>> 알파벳 대문자는 'A', 'B', 'C', ... , 'Z' 순으로 되어있다.

>> 알파벳 소문자는 'a', 'b', 'c', ... , 'z' 순으로 되어 있따.

>> 알파벳 대문자가 소문자보다 앞선다. (작은 값을 갖는다.)

>> 'a' 와 'A'의 차이, 'b' 와 'B'등 소문자와 대문자 사이의 아스키코드 값 차이는 일정하다.

>> 널문자의 아스키 코드값은 0 (알아두면 좋음.)



- 소문자를 대문자로, 대문자를 소문자로 변경해서 출력하기.


1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main()
{
    char ch1 = 'a';
    char ch2 = 'A';
    char diff = 'a'-'A';
    printf("a => %c\n", ch1-diff); // a => A
    printf("A => %c\n", ch2+diff); // A => a
    return 0;
}
cs


>> 소문자와 대문자의 차이가 일정하기 때문에, 그 일정한 값을 대문자에서 더해주면 소문자가 되고, 소문자에서 빼주면 대문자가 된다...!!



- 문자 '9' 를 정수 9로 표현하기.


1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int main()
{
    char num = '9';
    printf("num = %c\n", num); 
    printf("num = %d\n", num-'0'); 
    return 0;
}
cs


>> 6, 7번라인 모두 9를 출력한다. 6의 결과는 문자형태의 9, 7의 결과는 정수형태의 9.

>> '1' 과 '0' 의 차이는 1 이다.

>> '2' 와 '1'의 차이도 1 이다.

>> '2' 와'0'의 차이는 2이다. >> '9' 와 '0'의 차이는 9 가 된다..!!



- 기타

1) 검색은 구글에서.

2) 소스코드를 실행했을 때 뜨는 창의 이름은 콘솔창.

3) VS2017 에서 빌드하고 컴파일 할때 단축시 사용하기..!! 

4) C 언어의 소스코드 확장자는 .c

5) 과제는 기왕이면 해와서 튜터링 시간에 맞춰보기.



- 숙제


1) 1 vs '1' 의 차이 알아보기.



'Tutoring > 18-1 C Lang' 카테고리의 다른 글

Week 06  (0) 2018.04.23
Week 05  (0) 2018.04.18
Week 04  (0) 2018.04.11
Week 03  (0) 2018.04.04
Week 02  (2) 2018.03.28