C 언어 코딩 도장 1
컴퓨팅 사고
= 큰 문제를 작은 문제로 분해 > 문제의 패턴을 발견 > 어떤 데이터를 이용해야 하는지 결정 > 문제를 일반화하고 모델링
알고리즘
= 문제에서 일정한 패턴을 발견 > 패턴을 토대로 문제를 해결하는 절차
C언어 = 메모리, 하드웨어 직접 제어 가능
▼코딩 도장 소스 코드
https://github.com/namjaeyoon/c.dojang
GitHub - namjaeyoon/c.dojang: C 언어 코딩 도장
C 언어 코딩 도장. Contribute to namjaeyoon/c.dojang development by creating an account on GitHub.
github.com
Hello, world!로 시작하기
프로젝트와 솔루션
- 프로젝트 : 소스 파일, 헤더 파일 등의 모음, 프로그램을 만들 때 필요한 파일과 각종 설정이 담겨 있음
- 솔루션 : 프로젝트 모음, 솔루션에는 여러 프로젝트가 들어갈 수 있음
F7 -> 컴파일
Ctrl + F5 -> 실행
#include <stdio.h>
int main()
{
printf("Hello, world!"\n);
return 0;
}
파일의 변화
hello.c -> hello.obj -> hello.exe
서식 지정자 사용하기
#include <stdio.h>
int main()
{
printf("%s\n", "Hello, world!");
return 0;
}
#include <stdio.h>
int main()
{
printf("%s %s","Hello,", "1234");
return 0;
}
#include <stdio.h>
int main()
{
printf("%s, %s","Hello", "1234");
return 0;
}
- %s: 문자열(String)의 약어
3.6 Quiz 완료
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
printf("1234567890\n");
return 0;
}
#include <stdio.h>
int main()
{
printf("Hello, %s\n", "world!");
return 0;
}
3.9 심사 문제 완료
printf("Hello, world!\n");
printf("%s, %s\n","Hello","world!");
▲ 정답으로 제출한 코드
3.10 심사 문제 완료
"Hello","C","Language"
▲ 정답으로 제출한 코드
기본 문법 알아보기
세미콜론 ;
C 언어 구문이 끝날 때 붙임
생략 시 -> 컴파일 에러 발생 ∴ 항상 주의할 것
But, 내용이 이어지는 문법은 세미콜론 붙이지 않음
주석 //, /**/
사람만 알아볼 수 있도록 작성하는 부분
- 한 줄 주석 : 한 줄 전체를 (// 이후에 오는) 주석으로 만들 수 있음
//Hello, world! 출력
printf("Hello, world!\n");
- 범위 주석 : 여러 줄, 한 줄에서도 부분만 주석으로 만들 수 있음
/*
printf("Hello, world!\n");
printf("1234567890");
*/
prinft("Hello" /*안녕하세요*/);
중괄호 {}
주로 코드의 범위를 나타냄
- main 함수에 소속된 코드
int main()
{
printf("Hello, world!\n");
return 0;
}
- if, for 등의 키워드가 영향을 미치는 영역을 정할 때도 사용
if (a > 10)
{
printf("a");
}
for (int i = 0; i < 10; i++)
{
printf("Hello, world!\n");
}
- 구조체(공용체, 열거형)를 정의할 때도 사용
struct Hello {
int a;
int b;
};
+) 중괄호 뒤에는 세미콜론을 붙일 때도 있고, 붙이지 않을 때도 있음
+) C 언어는 주로 중괄호는 구조체, 공용체, 열거형을 정의할 때만 줄의 맨 마지막에 중괄호를 사용하고, 보통은 줄의 시작 부분에 중괄호를 사용함
들여쓰기
보통 { 가 시작될 때 들여쓰기 함
들여쓰기를 하지 않더라도 컴파일 에러는 발생하지 않음
하지만, 코드를 쉽게 알아볼 수 있어야 하므로 들여쓰기는 필수임
Debug 모드와 Release 모드의 차이
- Debug : 실행 파일에 디버깅 정보가 포함됨
- Release : 실행 파일에 디버깅 정보가 포함되지 않고, 속도와 크기가 최적화됨