Minwoo Dev.
1. 기본적인 C언어 본문
▷ Visual studio Code를 통한 C언어 개발환경 준비
Google에 vscode를 검색하여 공식 사이트로 접속한다.
접속한 사이트에서 최신 버전의 vscode를 설치받는다.
아래 사이트에 접속하여 MinGW를 다운로드한다.
MinGW - Minimalist GNU for Windows - Browse Files at SourceForge.net
mingw-developer-toolkit, mingw32-base, mingw32-gcc-g++, msys-base에 체크하여 Apply Changes를 클릭한다.
시스템 환경 변수 편집 창에 들어가 Path 부분을 편집한다. (C:\MinGW\bin 추가)
cmd 에서 gcc -v 명령어를 입력해 설치가 제대로 되었는지 확인한다.
vscode를 실행하여 상단 Termianl - Configue Default Build Task 탭을 클릭한다.
https://k.kakaocdn.net/dn/brDC5p/btqFn0fPsBW/B75rJiBqICBUkxkxMahI21/tfile.txt
위 링크의 코드를 task.json에 붙여넣는다.
vscode의 KeyBoard Shortcut에 들어가 아래의 Keybinding 파일을 붙여넣는다.
https://k.kakaocdn.net/dn/bHhiX4/btqFnwGB6cs/JjH0MCuwrGT1PavzRu6921/tfile.txt
▷ 기본적인 코드의 구성
기본적으로 프로그램은 메인 함수 내부의 코드가 실행된다.
#include<stdio.h>
int main(void)
{
~~~
return 0;
}
보통 위와 같은 형식으로 간단한 프로그램을 작성한다.
첫 줄의 #include<stdio.h> 는 C언어의 기본 프로그램을 실행하기 위한 헤더파일이다.
※ stdio.h를 studio.h로 헷갈리는 경우가 많으니 오타에 신경써야한다.
int main(void) 는 int main() 와 같이 사용하기도 하는데, void 자체가 '아무것도 없는, 빈 상태' 를 의미하기 때문이다.
※ int는 정수형을 반환하는 함수, main은 함수의 이름, 괄호 안은 함수에서 사용할 인자의 값이 들어간다.
▷ 기본 출력, 입력
#include<stdio.h>
int main(void)
{
int n; // 변수를 사용하기 위해 선언하였다.
scanf("%d",&n); // 기본 입력함수
printf("%d\n",n); // 기본 출력함수
return 0; // int, 정수형 함수이므로 반환값이 정수인 0이다.
}
입력은 기본적으로 scanf를 사용한다.
scanf("%d",&n);
- 큰따옴표로 둘러싸인 %d는 정수형 값을 입력받는다는 것을 명시한다.
- &n은 의미상 n이라는 변수에 입력받은 값을 넣는다는 뜻이며, 변수에 &를 붙여 변수가 할당된 주소값에 입력값이 들어가도록 한다. ( 포인터에서 자세히 다룬다. 깊게 알려고 하지 말자. )
printf("%d\n",n);
- 큰따옴표로 둘러싸인 %d는 위와 같이 정수형 값을 입력받는다는 것이다.
- 그 뒤의 \n은 한 줄을 띄워준다. 순서대로 프로그램을 실행하면 n값을 출력하고 한 줄을 띄우고 프로그램이 종료될 것이다. 하지만 띄우는 것은 이 프로그램에서 크게 의미가 없다.
※ 이스케이프 시퀀스(escape sequence)
\n : 줄 바꿈
\t : 가로 탭
\v : 세로 탭
\b : 백 스페이스
\' : 작은 따옴표 출력
\" : 큰 따옴표 출력
\\ : 백슬래시 출력
\? : 물음표 출력
- 기본 구문에서 사용되어 헷갈릴 수 있는 따옴표와 백슬래시를 출력하려면 위와 같이 적어야함
※ 서식 문자
서식문자 | 출력 대상(자료형) | 출력 형태 |
%d | char, short, int | 부호 있는 10진수 정수 |
%ld | long | 부호 있는 10진수 정수 |
%lld | long long | 부호 있는 10진수 정수 |
%u | unsigned int(int) | 부호 없는 10진수 정수 |
%o | unsigned int(int) | 부호 없는 8진수 정수 |
%x, %X | unsigned int(int) | 부호 없는 16진수 정수 |
%f | float, double | 10진수 방식의 부동소수점 실수 |
%Lf | long double | 10진수 방식의 부동소수점 실수 |
%e, %E | float, double | e 또는 E 방식의 부동소수점 실수 |
%g, %G | float, double | 값에 따라 %f와 %e 사이에서 선택 |
%c | char, short, int | 값에 대응하는 문자 |
%s | char * | 문자열 |
%p | void * | 포인터의 주소값 |
- int 형 변수를 %c를 통해 출력하면 해당하는 아스키코드의 문자가 출력된다.
- 반대로 char형 변수를 int 를 통해 출력하면 해당하는 아스키코드값이 출력된다.
#include<stdio.h>
int main(void){
int n = 65;
printf("%c ",n);
char c = B;
printf("%d",c);
return 0;
}
// A 66
위와 같이 문자와 숫자는 아스키코드 상으로 자유롭게 바꾸어진다.
'C++' 카테고리의 다른 글
<윤성우의 열혈 C프로그래밍> :: 12. 포인터의 이해 문제풀이 (0) | 2023.09.04 |
---|---|
<윤성우의 열혈 C프로그래밍> :: 11. 1차원 배열 문제풀이 (0) | 2023.09.04 |
<윤성우의 열혈 C프로그래밍> :: 10. 도전! 프로그래밍 1 문제풀이 (0) | 2023.09.04 |
3. 자료형 (1) | 2023.06.03 |
2. 기본적인 연산자 (0) | 2023.06.03 |