본 내용은 해당 강의 토대로 작성
교육환경
Visual Studio Code
Hello World
#include <stdio.h> //standard input - output
int main() {
printf("Hello Word \n");
return 0;
}
#include <stdio.h>
: 표준 입출력
정수와 변수
정수 : -2, -1, 0, 1
실수 : 더 큰 범위의 수. -2.0 , 1.3 과 같이 소수점이 붙은 것
변수 : 변하는 수. 상수의 반대
#include <stdio.h>
int main(void)
{
int age = 12; //변수 선언시, 정수 자료형(int) 선언
printf("%d\n", age);
age = 13; //정수형을 선언했으므로 int를 안 붙여도 됨
printf("%d\n", age);
return 0;
}
int
: 정수 자료형
%d
: 정수형 값을 출력할 때 넣는다.
\n
: 줄바꿈
주석
소스코드 안에서 메모나 코드의 설명을 하고 싶을 때, 아래의 기호를 쓴다.
/* 주석 내용 */
// 주석 내용
실수형 변수
#include <stdio.h>
int main(void)
{
float f = 46.5f;
printf("%.2f\n", f); //46.50 출력
double d = 4.428;
printf("%.2lf\n", d); //4.43 출력
return 0;
}
float
: 실수 자료형
%f
: 실수형 값을 출력할 때 넣는다. 소수점 아래 6자리까지 출력
-'%f.2' : 소수점 셋 째 자리에서 반올림하여 둘 째자리까지 표현
double
: 실수 자료형, 표현하는 범위가 float
보다 큼
상수
상수는 변하지 않는 수이다. 한 번 정하면 더 이상 바꿀 수 없다. C에서는 보통 대문자로 처리한다.
#include <stdio.h>
int main(void)
{
const int YEAR = 1993;
printf("태어난년도 : %d\n", YEAR); //1993 출력
return 0;
}
const
: 상수라는 의미
위 명령어로 인해서, YEAR
는 상수이다. 만약, YEAR
에 다른 값을 넣으려는 시도를 하면, 아래처럼 나온다.
printf
C의 출력 명령어인 printf
는 아래와 같은 특징이 있다.
#include <stdio.h>
int main(void)
{
int add = 3 + 7; //10
printf("3 + 7 =%d\n", add); //10출력
printf("%d x %d = %d\n", 30, 79, 30 * 79); //2370 출력
return 0;
}
연산이 포함된 변수를 printf
로 출력하면 연산되어 나온다. printf
에 연산을 바로 포함해서 출력할 수도 있고 맨 아래의 경우 처럼%d
를 이용해서 여러가지의 값을 동시 출력할 수도 있다.
scanf
scanf
는 키보드의 입력을 받아 저장한다.
#include <stdio.h>
int main(void)
{
int one, two, three; //세개의 정수
printf("3개의 정수를 입력하세요 : "); //안내 문구
scanf("%d %d %d", &one, &two, &three); //세 개의 정수를 입력 받아 저장
printf("첫번째 값 : %d\n", one); // 각각 출력
printf("두번째 값 : %d\n", two);
printf("세번째 값 : %d\n", three);
return 0;
}
&
: 각 변수가 정의 된 곳에 값을 입력 받음
문자열
문자는 한글자이고 문자열은 한 글자 이상의 여러글자이다. 문자의 선언은 아래와 같다.
#include <stdio.h>
int main(void)
{
char c = 'A';
printf("%c\n", c) //A 출력
return 0;
}
char
: 문자 자료형
%c
: 문자열을 받음
#include <stdio.h>
int main(void)
{
char str[256]; //str에 256만큼 빈 공간 만듦
scanf("%s", str, sizeof(str)); // 크기를 초과히지 않도록 함
printf("%s\n", str); //입력 문자열이 그대로 출력
return 0;
}
위의 명령어에서 256만큼의 빈 공간이 만들어진 str
에 scanf_s
로 데이터를 넣기 전에 그 크기를 넘지 않도록 sizeof
로 그 이하의 문자열만 받는다고 명시해준다.
느낀점
세팅하는데 한참을 걸렸다… C는 Python보다 문법에 훨씬 더 엄격한 것 같고 Mac이나 Windows의 환경에 따라서 명령어의 차이가 있다. 좀 걱정되네… 아직까지는 할만하다. 그 악명높은 투포인터가 나오기 전이니…
'programming study > C' 카테고리의 다른 글
[나도코딩]C 프로그래밍 - 입문부터 게임 개발까지 (6)(2020.12.28) (0) | 2020.12.28 |
---|---|
[나도코딩]C 프로그래밍 - 입문부터 게임 개발까지 (5)(2020.12.27) (2) | 2020.12.27 |
[나도코딩]C 프로그래밍 - 입문부터 게임 개발까지 (4)(2020.12.27) (0) | 2020.12.27 |
[나도코딩]C 프로그래밍 - 입문부터 게임 개발까지 (3)(2020.12.26) (0) | 2020.12.26 |
[나도코딩]C 프로그래밍 - 입문부터 게임 개발까지 (2)(2020.12.26) (0) | 2020.12.26 |