<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=119.193.218.199</id>
	<title>ZeroWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=119.193.218.199"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php/Special:Contributions/119.193.218.199"/>
	<updated>2026-05-15T06:00:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58424</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58424"/>
		<updated>2017-03-25T10:50:30Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 프로그래밍 언어란? ==&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
== C코드는 어떻게 .exe가 되나 ==&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
== Visual Studio는 컴파일러인가? ==&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
== Hello World! 코드 뜯어보기 ==&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
== 변수와 자료형 ==&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
= 참고 코드 =&lt;br /&gt;
결과를 보고 코드의 각 줄이 무엇을 의미하는지 맞춰보는 시간을 가졌습니다.&lt;br /&gt;
&lt;br /&gt;
* 코드&lt;br /&gt;
 #define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
 	printf(&amp;quot;Characters: %c %c \n&amp;quot;, &#039;a&#039;, 65);&lt;br /&gt;
 	printf(&amp;quot;Decimal: %d\n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;floats: %f %E \n&amp;quot;,3.1416, 3.1416);&lt;br /&gt;
 	printf(&amp;quot;%s \n&amp;quot;, &amp;quot;A string&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;Preceding with blanks: %10d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Preceding with zeros: %010d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Some different radices: %d %x %o %#x %#o \n&amp;quot;, 100, 100, 100, 100, 100);&lt;br /&gt;
 	printf(&amp;quot;Width trick: %*d \n&amp;quot;, num, 10);&lt;br /&gt;
 &lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 결과&lt;br /&gt;
 Characters: a A&lt;br /&gt;
 Decimal: 1977&lt;br /&gt;
 floats: 3.141600 3.141600E+000&lt;br /&gt;
 A string&lt;br /&gt;
 Preceding with blanks:       1977&lt;br /&gt;
 Preceding with zeros: 0000001977&lt;br /&gt;
 Some different radices: 100 64 144 0x64 0144&lt;br /&gt;
 Width trick:    10&lt;br /&gt;
출처 : [http://www.cplusplus.com/reference/cstdio/printf/ CPlusPlus.com]&lt;br /&gt;
&lt;br /&gt;
printf, scanf에는 생각 이상으로 기능이 많습니다. 물론 모든 기능을 다 알 필요는 없지만, 유용한 기능이 몇 가지 있어 한 번 보여줘봤어요. ㅎㅎ 그리고 남들이 모르는 독특한 거 알고 있으면 좀 있어보이잖아여 ㅎㅎㅋㅋ &amp;gt;&amp;lt;&lt;br /&gt;
혹시 코드 중에 모르겠는거 있으면 제 새싹들에게 물어보세여 친절하게 알려줄겁니당 후후&lt;br /&gt;
= 과제 =&lt;br /&gt;
* &#039;&#039;&#039;과제 1 : 다양한 자료형의 입력과 출력&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 문자 입력하세요 : d&lt;br /&gt;
 정수 입력하세요 : 123&lt;br /&gt;
 문자열 입력하세요 : hello&lt;br /&gt;
 실수 입력하세요 : -12.323&lt;br /&gt;
 d 100(d의 아스키코드)&lt;br /&gt;
 123&lt;br /&gt;
 hello&lt;br /&gt;
 -12.323000&lt;br /&gt;
&lt;br /&gt;
참고로 여러분이 아직 문자열을 안 배웠기 때문에, 문자열 입력 출력 방법을 제공해드립니닷&lt;br /&gt;
 //문자열 변수 선언&lt;br /&gt;
 char string[100];&lt;br /&gt;
 //문자열 입력받기&lt;br /&gt;
 scanf(&amp;quot;%s&amp;quot;, string); //&amp;amp;amp;를 붙이지 않는 것에 주의!&lt;br /&gt;
 //문자열 출력&lt;br /&gt;
 printf(&amp;quot;%s\n&amp;quot;, string);&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;과제 2 : 문자 3개 입력받아 아스키코드(ASCII code) 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 첫 번째 문자 입력하세요 : b&lt;br /&gt;
 두 번째 문자 입력하세요 : c&lt;br /&gt;
 세 번째 문자 입력하세요 : a&lt;br /&gt;
 98 99 97&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;선택과제 : 정수 4개 입력받아 오른쪽 정렬해서 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 정수 네 개를 입력하세요 : 1 -233 4 19&lt;br /&gt;
          1&lt;br /&gt;
       -233&lt;br /&gt;
          4&lt;br /&gt;
         19&lt;br /&gt;
출력되는 칸의 길이는 총 10칸으로 합니다.&lt;br /&gt;
== 유진 ==&lt;br /&gt;
(여기에 과제 코드를 올려주세용!!)&lt;br /&gt;
== 현지 ==&lt;br /&gt;
(여기에 과제 코드를 올려주세용!!)&lt;br /&gt;
== 혜민 ==&lt;br /&gt;
(여기에 과제 코드를 올려주세용!!)&lt;br /&gt;
= 후기 =&lt;br /&gt;
* [[유진]]&lt;br /&gt;
&lt;br /&gt;
이번 시간에 프로그래밍 언어의 가장 기본적인 변환 방식과 자료형에 대해 배웠다.&lt;br /&gt;
새싹교실을 통해 c언어의 기초를 잘 다질 수 있으면 좋겠다^^&lt;br /&gt;
&lt;br /&gt;
* [[이현지]]&lt;br /&gt;
&lt;br /&gt;
c언어의 특징과 정보가 exe의 형태로 변환되는 과정 등에 대해 배웠다.&lt;br /&gt;
c언어를 처음 배우는 나에게 많은 도움이 될 것 같다. &lt;br /&gt;
&lt;br /&gt;
* [[김혜민]]&lt;br /&gt;
&lt;br /&gt;
프로그래밍 언어의 역할을 배웠고 여러가지 자료형의 종류와 쓰임을 예문을 통해 배웠다.&lt;br /&gt;
교수님보다 차근차근 처음부터 잘 알려주셔서 수업을 통해 프로그래밍에 대해 자신감을 향상시킬 수 있을 것 같다.&lt;br /&gt;
배우는 수업 내용을 프린트물로 받아서 집에서도 다시 복습할 수 있었으면 좋겠다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58378</id>
		<title>새싹교실/2017/꽃밭</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58378"/>
		<updated>2017-03-25T10:34:34Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 구성원 =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 물주는사람&lt;br /&gt;
| 이지수&lt;br /&gt;
| 14학번&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 꽃&lt;br /&gt;
| 김혜민&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 17학번&lt;br /&gt;
|-&lt;br /&gt;
| 유진&lt;br /&gt;
|-&lt;br /&gt;
| 이현지&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
멘티들 너무 사랑스럽고 예뻐요!! 저는 행복한 멘토입니다..&lt;br /&gt;
= 목표 =&lt;br /&gt;
어려운 실습, 내 힘으로 해보자!&lt;br /&gt;
&lt;br /&gt;
== 3월 24일 수업 ==&lt;br /&gt;
[[새싹교실/2017/꽃밭/0324|3월24일 수업]]&lt;br /&gt;
&lt;br /&gt;
* C언어란&lt;br /&gt;
* C 소스코드가 .exe가 되는 과정&lt;br /&gt;
* 변수, 자료형&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58377</id>
		<title>새싹교실/2017/꽃밭</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58377"/>
		<updated>2017-03-25T10:33:23Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 구성원 =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 물주는사람&lt;br /&gt;
| 이지수&lt;br /&gt;
| 14학번&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 꽃&lt;br /&gt;
| 김혜민&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 17학번&lt;br /&gt;
|-&lt;br /&gt;
| 유진&lt;br /&gt;
|-&lt;br /&gt;
| 이현지&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
멘티들 너무 사랑스럽고 예뻐요!! 저는 행복한 멘토입니다..&lt;br /&gt;
= 목표 =&lt;br /&gt;
어려운 실습, 내 힘으로 해보자!&lt;br /&gt;
&lt;br /&gt;
== 3월 24일 수업 ==&lt;br /&gt;
[[새싹교실/2017/꽃밭/0324|내용정리 및 과제]]&lt;br /&gt;
&lt;br /&gt;
* C언어란&lt;br /&gt;
* C 소스코드가 .exe가 되는 과정&lt;br /&gt;
* 변수, 자료형&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58376</id>
		<title>새싹교실/2017/꽃밭</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58376"/>
		<updated>2017-03-25T10:33:15Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 구성원 =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 물주는사람&lt;br /&gt;
| 이지수&lt;br /&gt;
| 14학번&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 꽃&lt;br /&gt;
| 김혜민&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 17학번&lt;br /&gt;
|-&lt;br /&gt;
| 유진&lt;br /&gt;
|-&lt;br /&gt;
| 이현지&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
멘티들 너무 사랑스럽고 예뻐요!! 저는 행복한 멘토입니다..&lt;br /&gt;
= 목표 =&lt;br /&gt;
어려운 실습, 내 힘으로 해보자!&lt;br /&gt;
&lt;br /&gt;
== 3월 24일 수업 ==&lt;br /&gt;
 [[새싹교실/2017/꽃밭/0324|내용정리 및 과제]]&lt;br /&gt;
&lt;br /&gt;
* C언어란&lt;br /&gt;
* C 소스코드가 .exe가 되는 과정&lt;br /&gt;
* 변수, 자료형&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58375</id>
		<title>새싹교실/2017/꽃밭</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58375"/>
		<updated>2017-03-25T10:32:00Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 구성원 =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 물주는사람&lt;br /&gt;
| 이지수&lt;br /&gt;
| 14학번&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 꽃&lt;br /&gt;
| 김혜민&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 17학번&lt;br /&gt;
|-&lt;br /&gt;
| 유진&lt;br /&gt;
|-&lt;br /&gt;
| 이현지&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
멘티들 너무 사랑스럽고 예뻐요!! 저는 행복한 멘토입니다..&lt;br /&gt;
= 목표 =&lt;br /&gt;
어려운 실습, 내 힘으로 해보자!&lt;br /&gt;
&lt;br /&gt;
== 3월 24일 수업 ==&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;수업내용 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C언어란&lt;br /&gt;
* C 소스코드가 .exe가 되는 과정&lt;br /&gt;
* 변수, 자료형&lt;br /&gt;
 [[새싹교실/2017/꽃밭/0324|내용정리 및 과제]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58374</id>
		<title>새싹교실/2017/꽃밭</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58374"/>
		<updated>2017-03-25T10:31:49Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 구성원 =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 물주는사람&lt;br /&gt;
| 이지수&lt;br /&gt;
| 14학번&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 꽃&lt;br /&gt;
| 김혜민&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 17학번&lt;br /&gt;
|-&lt;br /&gt;
| 유진&lt;br /&gt;
|-&lt;br /&gt;
| 이현지&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
멘티들 너무 사랑스럽고 예뻐요!! 저는 행복한 멘토입니다..&lt;br /&gt;
= 목표 =&lt;br /&gt;
어려운 실습, 내 힘으로 해보자!&lt;br /&gt;
&lt;br /&gt;
== 3월 24일 수업 ==&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;수업내용 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* C언어란&lt;br /&gt;
* C 소스코드가 .exe가 되는 과정&lt;br /&gt;
* 변수, 자료형&lt;br /&gt;
 [[::새싹교실/2017/꽃밭/0324|내용정리 및 과제]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58423</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58423"/>
		<updated>2017-03-25T10:29:11Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 프로그래밍 언어란? ==&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
== C코드는 어떻게 .exe가 되나 ==&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
== Visual Studio는 컴파일러인가? ==&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
== Hello World! 코드 뜯어보기 ==&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
== 변수와 자료형 ==&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
= 참고 코드 =&lt;br /&gt;
결과를 보고 코드의 각 줄이 무엇을 의미하는지 맞춰보는 시간을 가졌습니다.&lt;br /&gt;
&lt;br /&gt;
* 코드&lt;br /&gt;
 #define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
 	printf(&amp;quot;Characters: %c %c \n&amp;quot;, &#039;a&#039;, 65);&lt;br /&gt;
 	printf(&amp;quot;Decimal: %d\n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;floats: %f %E \n&amp;quot;,3.1416, 3.1416);&lt;br /&gt;
 	printf(&amp;quot;%s \n&amp;quot;, &amp;quot;A string&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;Preceding with blanks: %10d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Preceding with zeros: %010d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Some different radices: %d %x %o %#x %#o \n&amp;quot;, 100, 100, 100, 100, 100);&lt;br /&gt;
 	printf(&amp;quot;Width trick: %*d \n&amp;quot;, num, 10);&lt;br /&gt;
 &lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 결과&lt;br /&gt;
 Characters: a A&lt;br /&gt;
 Decimal: 1977&lt;br /&gt;
 floats: 3.141600 3.141600E+000&lt;br /&gt;
 A string&lt;br /&gt;
 Preceding with blanks:       1977&lt;br /&gt;
 Preceding with zeros: 0000001977&lt;br /&gt;
 Some different radices: 100 64 144 0x64 0144&lt;br /&gt;
 Width trick:    10&lt;br /&gt;
출처 : [http://www.cplusplus.com/reference/cstdio/printf/ CPlusPlus.com]&lt;br /&gt;
&lt;br /&gt;
printf, scanf에는 생각 이상으로 기능이 많습니다. 물론 모든 기능을 다 알 필요는 없지만, 유용한 기능이 몇 가지 있어 한 번 보여줘봤어요. ㅎㅎ 그리고 남들이 모르는 독특한 거 알고 있으면 좀 있어보이잖아여 ㅎㅎㅋㅋ &amp;gt;&amp;lt;&lt;br /&gt;
혹시 코드 중에 모르겠는거 있으면 제 새싹들에게 물어보세여 친절하게 알려줄겁니당 후후&lt;br /&gt;
= 과제 =&lt;br /&gt;
* &#039;&#039;&#039;과제 1 : 다양한 자료형의 입력과 출력&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 &lt;br /&gt;
 문자 입력하세요 : d&lt;br /&gt;
 정수 입력하세요 : 123&lt;br /&gt;
 문자열 입력하세요 : hello&lt;br /&gt;
 실수 입력하세요 : -12.323&lt;br /&gt;
 d 100&lt;br /&gt;
 123&lt;br /&gt;
 hello&lt;br /&gt;
 -12.323000&lt;br /&gt;
&lt;br /&gt;
참고로 여러분이 아직 문자열을 안 배웠기 때문에, 문자열 입력 출력 방법을 제공해드립니닷&lt;br /&gt;
 //문자열 변수 선언&lt;br /&gt;
 char string[100];&lt;br /&gt;
 //문자열 입력받기&lt;br /&gt;
 scanf(&amp;quot;%s&amp;quot;, string); //&amp;amp;amp;를 붙이지 않는 것에 주의!&lt;br /&gt;
 //문자열 출력&lt;br /&gt;
 printf(&amp;quot;%s\n&amp;quot;, string);&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;과제 2 : 문자 3개 입력받아 아스키코드(ASCII code) 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 첫 번째 문자 입력하세요 : b&lt;br /&gt;
 두 번째 문자 입력하세요 : c&lt;br /&gt;
 세 번째 문자 입력하세요 : a&lt;br /&gt;
 98 99 97&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;선택과제 : 정수 4개 입력받아 오른쪽 정렬해서 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 정수 네 개를 입력하세요 : 1 -233 4 19&lt;br /&gt;
          1&lt;br /&gt;
       -233&lt;br /&gt;
          4&lt;br /&gt;
         19&lt;br /&gt;
출력되는 칸의 길이는 총 10칸으로 합니다.&lt;br /&gt;
== 유진 ==&lt;br /&gt;
(여기에 과제 코드를 올려주세용!!)&lt;br /&gt;
== 현지 ==&lt;br /&gt;
(여기에 과제 코드를 올려주세용!!)&lt;br /&gt;
== 혜민 ==&lt;br /&gt;
(여기에 과제 코드를 올려주세용!!)&lt;br /&gt;
= 후기 =&lt;br /&gt;
* [[유진]]&lt;br /&gt;
&lt;br /&gt;
이번 시간에 프로그래밍 언어의 가장 기본적인 변환 방식과 자료형에 대해 배웠다.&lt;br /&gt;
새싹교실을 통해 c언어의 기초를 잘 다질 수 있으면 좋겠다^^&lt;br /&gt;
&lt;br /&gt;
* [[이현지]]&lt;br /&gt;
&lt;br /&gt;
c언어의 특징과 정보가 exe의 형태로 변환되는 과정 등에 대해 배웠다.&lt;br /&gt;
c언어를 처음 배우는 나에게 많은 도움이 될 것 같다. &lt;br /&gt;
&lt;br /&gt;
* [[김혜민]]&lt;br /&gt;
&lt;br /&gt;
프로그래밍 언어의 역할을 배웠고 여러가지 자료형의 종류와 쓰임을 예문을 통해 배웠다.&lt;br /&gt;
교수님보다 차근차근 처음부터 잘 알려주셔서 수업을 통해 프로그래밍에 대해 자신감을 향상시킬 수 있을 것 같다.&lt;br /&gt;
배우는 수업 내용을 프린트물로 받아서 집에서도 다시 복습할 수 있었으면 좋겠다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58422</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58422"/>
		<updated>2017-03-25T10:28:56Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 프로그래밍 언어란? ==&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
== C코드는 어떻게 .exe가 되나 ==&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
== Visual Studio는 컴파일러인가? ==&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
== Hello World! 코드 뜯어보기 ==&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
== 변수와 자료형 ==&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
= 참고 코드 =&lt;br /&gt;
결과를 보고 코드의 각 줄이 무엇을 의미하는지 맞춰보는 시간을 가졌습니다.&lt;br /&gt;
&lt;br /&gt;
* 코드&lt;br /&gt;
 #define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
 	printf(&amp;quot;Characters: %c %c \n&amp;quot;, &#039;a&#039;, 65);&lt;br /&gt;
 	printf(&amp;quot;Decimal: %d\n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;floats: %f %E \n&amp;quot;,3.1416, 3.1416);&lt;br /&gt;
 	printf(&amp;quot;%s \n&amp;quot;, &amp;quot;A string&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;Preceding with blanks: %10d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Preceding with zeros: %010d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Some different radices: %d %x %o %#x %#o \n&amp;quot;, 100, 100, 100, 100, 100);&lt;br /&gt;
 	printf(&amp;quot;Width trick: %*d \n&amp;quot;, num, 10);&lt;br /&gt;
 &lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 결과&lt;br /&gt;
 Characters: a A&lt;br /&gt;
 Decimal: 1977&lt;br /&gt;
 floats: 3.141600 3.141600E+000&lt;br /&gt;
 A string&lt;br /&gt;
 Preceding with blanks:       1977&lt;br /&gt;
 Preceding with zeros: 0000001977&lt;br /&gt;
 Some different radices: 100 64 144 0x64 0144&lt;br /&gt;
 Width trick:    10&lt;br /&gt;
출처 : [http://www.cplusplus.com/reference/cstdio/printf/ CPlusPlus.com]&lt;br /&gt;
&lt;br /&gt;
printf, scanf에는 생각 이상으로 기능이 많습니다. 물론 모든 기능을 다 알 필요는 없지만, 유용한 기능이 몇 가지 있어 한 번 보여줘봤어요. ㅎㅎ 그리고 남들이 모르는 독특한 거 알고 있으면 좀 있어보이잖아여 ㅎㅎㅋㅋ &amp;gt;&amp;lt;&lt;br /&gt;
혹시 코드 중에 모르겠는거 있으면 제 새싹들에게 물어보세여 친절하게 알려줄겁니당 후후&lt;br /&gt;
= 과제 =&lt;br /&gt;
* &#039;&#039;&#039;과제 1 : 다양한 자료형의 입력과 출력&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 &lt;br /&gt;
 문자 입력하세요 : d&lt;br /&gt;
 정수 입력하세요 : 123&lt;br /&gt;
 문자열 입력하세요 : hello&lt;br /&gt;
 실수 입력하세요 : -12.323&lt;br /&gt;
 d 100&lt;br /&gt;
 123&lt;br /&gt;
 hello&lt;br /&gt;
 -12.323000&lt;br /&gt;
&lt;br /&gt;
참고로 여러분이 아직 문자열을 안 배웠기 때문에, 문자열 입력 출력 방법을 제공해드립니닷&lt;br /&gt;
 //문자열 변수 선언&lt;br /&gt;
 char string[100];&lt;br /&gt;
 //문자열 입력받기&lt;br /&gt;
 scanf(&amp;quot;%s&amp;quot;, string); //&amp;amp;amp;를 붙이지 않는 것에 주의!&lt;br /&gt;
 //문자열 출력&lt;br /&gt;
 printf(&amp;quot;%s\n&amp;quot;, string);&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;과제 2 : 문자 3개 입력받아 아스키코드(ASCII code) 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 첫 번째 문자 입력하세요 : b&lt;br /&gt;
 두 번째 문자 입력하세요 : c&lt;br /&gt;
 세 번째 문자 입력하세요 : a&lt;br /&gt;
 98 99 97&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;선택과제 : 정수 4개 입력받아 오른쪽 정렬해서 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 정수 네 개를 입력하세요 : 1 -233 4 19&lt;br /&gt;
          1&lt;br /&gt;
       -233&lt;br /&gt;
          4&lt;br /&gt;
         19&lt;br /&gt;
출력되는 칸의 길이는 총 10칸으로 합니다.&lt;br /&gt;
== 유진 ==&lt;br /&gt;
(여기에 과제 코드를 올려주세용!!)&lt;br /&gt;
== 현지 ==&lt;br /&gt;
(여기에 과제 코드를 올려주세용!!)&lt;br /&gt;
== 혜민 ==&lt;br /&gt;
(여기에 과제 코드를 올려주세용!!)&lt;br /&gt;
= 후기 =&lt;br /&gt;
* [[유진]]&lt;br /&gt;
&lt;br /&gt;
이번 시간에 프로그래밍 언어의 가장 기본적인 변환 방식과 자료형에 대해 배웠다.&lt;br /&gt;
&lt;br /&gt;
새싹교실을 통해 c언어의 기초를 잘 다질 수 있으면 좋겠다^^&lt;br /&gt;
&lt;br /&gt;
* [[이현지]]&lt;br /&gt;
&lt;br /&gt;
c언어의 특징과 정보가 exe의 형태로 변환되는 과정 등에 대해 배웠다.&lt;br /&gt;
&lt;br /&gt;
c언어를 처음 배우는 나에게 많은 도움이 될 것 같다. &lt;br /&gt;
&lt;br /&gt;
* [[김혜민]]&lt;br /&gt;
&lt;br /&gt;
프로그래밍 언어의 역할을 배웠고 여러가지 자료형의 종류와 쓰임을 예문을 통해 배웠다.&lt;br /&gt;
&lt;br /&gt;
교수님보다 차근차근 처음부터 잘 알려주셔서 수업을 통해 프로그래밍에 대해 자신감을 향상시킬 수 있을 것 같다.&lt;br /&gt;
&lt;br /&gt;
배우는 수업 내용을 프린트물로 받아서 집에서도 다시 복습할 수 있었으면 좋겠다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58421</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58421"/>
		<updated>2017-03-25T10:27:59Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 프로그래밍 언어란? ==&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
== C코드는 어떻게 .exe가 되나 ==&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
== Visual Studio는 컴파일러인가? ==&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
== Hello World! 코드 뜯어보기 ==&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
== 변수와 자료형 ==&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
= 참고 코드 =&lt;br /&gt;
결과를 보고 코드의 각 줄이 무엇을 의미하는지 맞춰보는 시간을 가졌습니다.&lt;br /&gt;
&lt;br /&gt;
* 코드&lt;br /&gt;
 #define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
 	printf(&amp;quot;Characters: %c %c \n&amp;quot;, &#039;a&#039;, 65);&lt;br /&gt;
 	printf(&amp;quot;Decimal: %d\n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;floats: %f %E \n&amp;quot;,3.1416, 3.1416);&lt;br /&gt;
 	printf(&amp;quot;%s \n&amp;quot;, &amp;quot;A string&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;Preceding with blanks: %10d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Preceding with zeros: %010d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Some different radices: %d %x %o %#x %#o \n&amp;quot;, 100, 100, 100, 100, 100);&lt;br /&gt;
 	printf(&amp;quot;Width trick: %*d \n&amp;quot;, num, 10);&lt;br /&gt;
 &lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 결과&lt;br /&gt;
 Characters: a A&lt;br /&gt;
 Decimal: 1977&lt;br /&gt;
 floats: 3.141600 3.141600E+000&lt;br /&gt;
 A string&lt;br /&gt;
 Preceding with blanks:       1977&lt;br /&gt;
 Preceding with zeros: 0000001977&lt;br /&gt;
 Some different radices: 100 64 144 0x64 0144&lt;br /&gt;
 Width trick:    10&lt;br /&gt;
출처 : [http://www.cplusplus.com/reference/cstdio/printf/ CPlusPlus.com]&lt;br /&gt;
&lt;br /&gt;
printf, scanf에는 생각 이상으로 기능이 많습니다. 물론 모든 기능을 다 알 필요는 없지만, 유용한 기능이 몇 가지 있어 한 번 보여줘봤어요. ㅎㅎ 그리고 남들이 모르는 독특한 거 알고 있으면 좀 있어보이잖아여 ㅎㅎㅋㅋ &amp;gt;&amp;lt;&lt;br /&gt;
혹시 코드 중에 모르겠는거 있으면 제 새싹들에게 물어보세여 친절하게 알려줄겁니당 후후&lt;br /&gt;
= 과제 =&lt;br /&gt;
* &#039;&#039;&#039;과제 1 : 다양한 자료형의 입력과 출력&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 &lt;br /&gt;
 문자 입력하세요 : d&lt;br /&gt;
 정수 입력하세요 : 123&lt;br /&gt;
 문자열 입력하세요 : hello&lt;br /&gt;
 실수 입력하세요 : -12.323&lt;br /&gt;
 d 100&lt;br /&gt;
 123&lt;br /&gt;
 hello&lt;br /&gt;
 -12.323000&lt;br /&gt;
&lt;br /&gt;
참고로 여러분이 아직 문자열을 안 배웠기 때문에, 문자열 입력 출력 방법을 제공해드립니닷&lt;br /&gt;
 //문자열 변수 선언&lt;br /&gt;
 char string[100];&lt;br /&gt;
 //문자열 입력받기&lt;br /&gt;
 scanf(&amp;quot;%s&amp;quot;, string); //&amp;amp;amp;를 붙이지 않는 것에 주의!&lt;br /&gt;
 //문자열 출력&lt;br /&gt;
 printf(&amp;quot;%s\n&amp;quot;, string);&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;과제 2 : 문자 3개 입력받아 아스키코드(ASCII code) 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 첫 번째 문자 입력하세요 : b&lt;br /&gt;
 두 번째 문자 입력하세요 : c&lt;br /&gt;
 세 번째 문자 입력하세요 : a&lt;br /&gt;
 98 99 97&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;선택과제 : 정수 4개 입력받아 오른쪽 정렬해서 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 정수 네 개를 입력하세요 : 1 -233 4 19&lt;br /&gt;
          1&lt;br /&gt;
       -233&lt;br /&gt;
          4&lt;br /&gt;
         19&lt;br /&gt;
출력되는 칸의 길이는 총 10칸으로 합니다.&lt;br /&gt;
== 유진 ==&lt;br /&gt;
(여기에 과제 코드를 올려주세용!!)&lt;br /&gt;
== 현지 ==&lt;br /&gt;
(여기에 과제 코드를 올려주세용!!)&lt;br /&gt;
== 혜민 ==&lt;br /&gt;
(여기에 과제 코드를 올려주세용!!)&lt;br /&gt;
= 후기 =&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58420</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58420"/>
		<updated>2017-03-25T10:27:04Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 프로그래밍 언어란? ==&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
== C코드는 어떻게 .exe가 되나 ==&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
== Visual Studio는 컴파일러인가? ==&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
== Hello World! 코드 뜯어보기 ==&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
== 변수와 자료형 ==&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
= 참고 코드 =&lt;br /&gt;
결과를 보고 코드의 각 줄이 무엇을 의미하는지 맞춰보는 시간을 가졌습니다.&lt;br /&gt;
&lt;br /&gt;
* 코드&lt;br /&gt;
 #define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
 	printf(&amp;quot;Characters: %c %c \n&amp;quot;, &#039;a&#039;, 65);&lt;br /&gt;
 	printf(&amp;quot;Decimal: %d\n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;floats: %f %E \n&amp;quot;,3.1416, 3.1416);&lt;br /&gt;
 	printf(&amp;quot;%s \n&amp;quot;, &amp;quot;A string&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;Preceding with blanks: %10d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Preceding with zeros: %010d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Some different radices: %d %x %o %#x %#o \n&amp;quot;, 100, 100, 100, 100, 100);&lt;br /&gt;
 	printf(&amp;quot;Width trick: %*d \n&amp;quot;, num, 10);&lt;br /&gt;
 &lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 결과&lt;br /&gt;
 Characters: a A&lt;br /&gt;
 Decimal: 1977&lt;br /&gt;
 floats: 3.141600 3.141600E+000&lt;br /&gt;
 A string&lt;br /&gt;
 Preceding with blanks:       1977&lt;br /&gt;
 Preceding with zeros: 0000001977&lt;br /&gt;
 Some different radices: 100 64 144 0x64 0144&lt;br /&gt;
 Width trick:    10&lt;br /&gt;
출처 : [http://www.cplusplus.com/reference/cstdio/printf/ CPlusPlus.com]&lt;br /&gt;
&lt;br /&gt;
printf, scanf에는 생각 이상으로 기능이 많습니다. 물론 모든 기능을 다 알 필요는 없지만, 유용한 기능이 몇 가지 있어 한 번 보여줘봤어요. ㅎㅎ 그리고 남들이 모르는 독특한 거 알고 있으면 좀 있어보이잖아여 ㅎㅎㅋㅋ &amp;gt;&amp;lt;&lt;br /&gt;
혹시 코드 중에 모르겠는거 있으면 제 새싹들에게 물어보세여 친절하게 알려줄겁니당 후후&lt;br /&gt;
= 과제 =&lt;br /&gt;
* &#039;&#039;&#039;과제 1 : 다양한 자료형의 입력과 출력&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 &lt;br /&gt;
 문자 입력하세요 : d&lt;br /&gt;
 정수 입력하세요 : 123&lt;br /&gt;
 문자열 입력하세요 : hello&lt;br /&gt;
 실수 입력하세요 : -12.323&lt;br /&gt;
 d 100&lt;br /&gt;
 123&lt;br /&gt;
 hello&lt;br /&gt;
 -12.323000&lt;br /&gt;
&lt;br /&gt;
참고로 여러분이 아직 문자열을 안 배웠기 때문에, 문자열 입력 출력 방법을 제공해드립니닷&lt;br /&gt;
 //문자열 변수 선언&lt;br /&gt;
 char string[100];&lt;br /&gt;
 //문자열 입력받기&lt;br /&gt;
 scanf(&amp;quot;%s&amp;quot;, string); //&amp;amp;amp;를 붙이지 않는 것에 주의!&lt;br /&gt;
 //문자열 출력&lt;br /&gt;
 printf(&amp;quot;%s\n&amp;quot;, string);&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;과제 2 : 문자 3개 입력받아 아스키코드(ASCII code) 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 첫 번째 문자 입력하세요 : b&lt;br /&gt;
 두 번째 문자 입력하세요 : c&lt;br /&gt;
 세 번째 문자 입력하세요 : a&lt;br /&gt;
 98 99 97&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;선택과제 : 정수 4개 입력받아 오른쪽 정렬해서 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 정수 네 개를 입력하세요 : 1 -233 4 19&lt;br /&gt;
          1&lt;br /&gt;
       -233&lt;br /&gt;
          4&lt;br /&gt;
         19&lt;br /&gt;
출력되는 칸의 길이는 총 10칸으로 합니다.&lt;br /&gt;
= 후기 =&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58419</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58419"/>
		<updated>2017-03-25T10:26:51Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 프로그래밍 언어란? ==&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
== C코드는 어떻게 .exe가 되나 ==&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
== Visual Studio는 컴파일러인가? ==&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
== Hello World! 코드 뜯어보기 ==&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
== 변수와 자료형 ==&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
= 참고 코드 =&lt;br /&gt;
결과를 보고 코드의 각 줄이 무엇을 의미하는지 맞춰보는 시간을 가졌습니다.&lt;br /&gt;
&lt;br /&gt;
* 코드&lt;br /&gt;
 #define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
 	printf(&amp;quot;Characters: %c %c \n&amp;quot;, &#039;a&#039;, 65);&lt;br /&gt;
 	printf(&amp;quot;Decimal: %d\n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;floats: %f %E \n&amp;quot;,3.1416, 3.1416);&lt;br /&gt;
 	printf(&amp;quot;%s \n&amp;quot;, &amp;quot;A string&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;Preceding with blanks: %10d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Preceding with zeros: %010d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Some different radices: %d %x %o %#x %#o \n&amp;quot;, 100, 100, 100, 100, 100);&lt;br /&gt;
 	printf(&amp;quot;Width trick: %*d \n&amp;quot;, num, 10);&lt;br /&gt;
 &lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 결과&lt;br /&gt;
 Characters: a A&lt;br /&gt;
 Decimal: 1977&lt;br /&gt;
 floats: 3.141600 3.141600E+000&lt;br /&gt;
 A string&lt;br /&gt;
 Preceding with blanks:       1977&lt;br /&gt;
 Preceding with zeros: 0000001977&lt;br /&gt;
 Some different radices: 100 64 144 0x64 0144&lt;br /&gt;
 Width trick:    10&lt;br /&gt;
출처 : [http://www.cplusplus.com/reference/cstdio/printf/ CPlusPlus.com]&lt;br /&gt;
&lt;br /&gt;
printf, scanf에는 생각 이상으로 기능이 많습니다. 물론 모든 기능을 다 알 필요는 없지만, 유용한 기능이 몇 가지 있어 한 번 보여줘봤어요. ㅎㅎ 그리고 남들이 모르는 독특한 거 알고 있으면 좀 있어보이잖아여 ㅎㅎㅋㅋ &amp;gt;&amp;lt;&lt;br /&gt;
혹시 코드 중에 모르겠는거 있으면 제 새싹들에게 물어보세여 친절하게 알려줄겁니당 후후&lt;br /&gt;
= 과제 =&lt;br /&gt;
* &#039;&#039;&#039;과제 1 : 다양한 자료형의 입력과 출력&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 &lt;br /&gt;
 문자 입력하세요 : d&lt;br /&gt;
 정수 입력하세요 : 123&lt;br /&gt;
 문자열 입력하세요 : hello&lt;br /&gt;
 실수 입력하세요 : -12.323&lt;br /&gt;
 d 100&lt;br /&gt;
 123&lt;br /&gt;
 hello&lt;br /&gt;
 -12.323000&lt;br /&gt;
&lt;br /&gt;
참고로 여러분이 아직 문자열을 안 배웠기 때문에, 문자열 입력 출력 방법을 제공해드립니닷&lt;br /&gt;
 //문자열 변수 선언&lt;br /&gt;
 char string[100];&lt;br /&gt;
 //문자열 입력받기&lt;br /&gt;
 scanf(&amp;quot;%s&amp;quot;, string); //&amp;amp;amp;를 붙이지 않는 것에 주의!&lt;br /&gt;
 //문자열 출력&lt;br /&gt;
 printf(&amp;quot;%s\n&amp;quot;, string);&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;과제 2 : 문자 3개 입력받아 아스키코드(ASCII code) 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 첫 번째 문자 입력하세요 : b&lt;br /&gt;
 두 번째 문자 입력하세요 : c&lt;br /&gt;
 세 번째 문자 입력하세요 : a&lt;br /&gt;
 98 99 97&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;선택과제 : 정수 4개 입력받아 오른쪽 정렬해서 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 정수 네 개를 입력하세요 : 1 -233 4 19&lt;br /&gt;
          1&lt;br /&gt;
       -233&lt;br /&gt;
          4&lt;br /&gt;
         19&lt;br /&gt;
출력되는 칸의 길이는 총 10칸으로 합니다.&lt;br /&gt;
= 후기 =&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58418</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58418"/>
		<updated>2017-03-25T10:26:34Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 프로그래밍 언어란? ==&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
== C코드는 어떻게 .exe가 되나 ==&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
== Visual Studio는 컴파일러인가? ==&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
== Hello World! 코드 뜯어보기 ==&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
== 변수와 자료형 ==&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
= 참고 코드 =&lt;br /&gt;
결과를 보고 코드의 각 줄이 무엇을 의미하는지 맞춰보는 시간을 가졌습니다.&lt;br /&gt;
&lt;br /&gt;
* 코드&lt;br /&gt;
 #define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
 	printf(&amp;quot;Characters: %c %c \n&amp;quot;, &#039;a&#039;, 65);&lt;br /&gt;
 	printf(&amp;quot;Decimal: %d\n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;floats: %f %E \n&amp;quot;,3.1416, 3.1416);&lt;br /&gt;
 	printf(&amp;quot;%s \n&amp;quot;, &amp;quot;A string&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;Preceding with blanks: %10d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Preceding with zeros: %010d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Some different radices: %d %x %o %#x %#o \n&amp;quot;, 100, 100, 100, 100, 100);&lt;br /&gt;
 	printf(&amp;quot;Width trick: %*d \n&amp;quot;, num, 10);&lt;br /&gt;
 &lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 결과&lt;br /&gt;
 Characters: a A&lt;br /&gt;
 Decimal: 1977&lt;br /&gt;
 floats: 3.141600 3.141600E+000&lt;br /&gt;
 A string&lt;br /&gt;
 Preceding with blanks:       1977&lt;br /&gt;
 Preceding with zeros: 0000001977&lt;br /&gt;
 Some different radices: 100 64 144 0x64 0144&lt;br /&gt;
 Width trick:    10&lt;br /&gt;
출처 : [http://www.cplusplus.com/reference/cstdio/printf/ CPlusPlus.com]&lt;br /&gt;
&lt;br /&gt;
printf, scanf에는 생각 이상으로 기능이 많습니다. 물론 모든 기능을 다 알 필요는 없지만, 유용한 기능이 몇 가지 있어 한 번 보여줘봤어요. ㅎㅎ 그리고 남들이 모르는 독특한 거 알고 있으면 좀 있어보이잖아여 ㅎㅎㅋㅋ &amp;gt;&amp;lt;&lt;br /&gt;
혹시 코드 중에 모르겠는거 있으면 제 새싹들에게 물어보세여 친절하게 알려줄겁니당 후후&lt;br /&gt;
= 과제 =&lt;br /&gt;
* &#039;&#039;&#039;과제 1 : 다양한 자료형의 입력과 출력&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
  다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 &lt;br /&gt;
 문자 입력하세요 : d&lt;br /&gt;
 정수 입력하세요 : 123&lt;br /&gt;
 문자열 입력하세요 : hello&lt;br /&gt;
 실수 입력하세요 : -12.323&lt;br /&gt;
 d 100&lt;br /&gt;
 123&lt;br /&gt;
 hello&lt;br /&gt;
 -12.323000&lt;br /&gt;
&lt;br /&gt;
참고로 여러분이 아직 문자열을 안 배웠기 때문에, 문자열 입력 출력 방법을 제공해드립니닷&lt;br /&gt;
 //문자열 변수 선언&lt;br /&gt;
 char string[100];&lt;br /&gt;
 //문자열 입력받기&lt;br /&gt;
 scanf(&amp;quot;%s&amp;quot;, string); //&amp;amp;amp;를 붙이지 않는 것에 주의!&lt;br /&gt;
 //문자열 출력&lt;br /&gt;
 printf(&amp;quot;%s\n&amp;quot;, string);&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;과제 2 : 문자 3개 입력받아 아스키코드(ASCII code) 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
결과 :&lt;br /&gt;
 첫 번째 문자 입력하세요 : b&lt;br /&gt;
 두 번째 문자 입력하세요 : c&lt;br /&gt;
 세 번째 문자 입력하세요 : a&lt;br /&gt;
 98 99 97&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;선택과제 : 정수 4개 입력받아 오른쪽 정렬해서 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
  다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 정수 네 개를 입력하세요 : 1 -233 4 19&lt;br /&gt;
          1&lt;br /&gt;
       -233&lt;br /&gt;
          4&lt;br /&gt;
         19&lt;br /&gt;
출력되는 칸의 길이는 총 10칸으로 합니다.&lt;br /&gt;
= 후기 =&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58417</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58417"/>
		<updated>2017-03-25T10:26:07Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 프로그래밍 언어란? ==&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
== C코드는 어떻게 .exe가 되나 ==&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
== Visual Studio는 컴파일러인가? ==&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
== Hello World! 코드 뜯어보기 ==&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
== 변수와 자료형 ==&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
= 참고 코드 =&lt;br /&gt;
결과를 보고 코드의 각 줄이 무엇을 의미하는지 맞춰보는 시간을 가졌습니다.&lt;br /&gt;
&lt;br /&gt;
* 코드&lt;br /&gt;
 #define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
 	printf(&amp;quot;Characters: %c %c \n&amp;quot;, &#039;a&#039;, 65);&lt;br /&gt;
 	printf(&amp;quot;Decimal: %d\n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;floats: %f %E \n&amp;quot;,3.1416, 3.1416);&lt;br /&gt;
 	printf(&amp;quot;%s \n&amp;quot;, &amp;quot;A string&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;Preceding with blanks: %10d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Preceding with zeros: %010d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Some different radices: %d %x %o %#x %#o \n&amp;quot;, 100, 100, 100, 100, 100);&lt;br /&gt;
 	printf(&amp;quot;Width trick: %*d \n&amp;quot;, num, 10);&lt;br /&gt;
 &lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 결과&lt;br /&gt;
 Characters: a A&lt;br /&gt;
 Decimal: 1977&lt;br /&gt;
 floats: 3.141600 3.141600E+000&lt;br /&gt;
 A string&lt;br /&gt;
 Preceding with blanks:       1977&lt;br /&gt;
 Preceding with zeros: 0000001977&lt;br /&gt;
 Some different radices: 100 64 144 0x64 0144&lt;br /&gt;
 Width trick:    10&lt;br /&gt;
출처 : [http://www.cplusplus.com/reference/cstdio/printf/ CPlusPlus.com]&lt;br /&gt;
&lt;br /&gt;
printf, scanf에는 생각 이상으로 기능이 많습니다. 물론 모든 기능을 다 알 필요는 없지만, 유용한 기능이 몇 가지 있어 한 번 보여줘봤어요. ㅎㅎ 그리고 남들이 모르는 독특한 거 알고 있으면 좀 있어보이잖아여 ㅎㅎㅋㅋ &amp;gt;&amp;lt;&lt;br /&gt;
혹시 코드 중에 모르겠는거 있으면 제 새싹들에게 물어보세여 친절하게 알려줄겁니당 후후&lt;br /&gt;
= 과제 =&lt;br /&gt;
* &#039;&#039;&#039;과제 1 : 다양한 자료형의 입력과 출력&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
   다음의 결과가 나오는 프로그램을 작성하세요.&lt;br /&gt;
 &lt;br /&gt;
 문자 입력하세요 : d&lt;br /&gt;
 정수 입력하세요 : 123&lt;br /&gt;
 문자열 입력하세요 : hello&lt;br /&gt;
 실수 입력하세요 : -12.323&lt;br /&gt;
 d 100&lt;br /&gt;
 123&lt;br /&gt;
 hello&lt;br /&gt;
 -12.323000&lt;br /&gt;
&lt;br /&gt;
참고로 여러분이 아직 문자열을 안 배웠기 때문에, 문자열 입력 출력 방법을 제공해드립니닷&lt;br /&gt;
 //문자열 변수 선언&lt;br /&gt;
 char string[100];&lt;br /&gt;
 //문자열 입력받기&lt;br /&gt;
 scanf(&amp;quot;%s&amp;quot;, string); //&amp;amp;amp;를 붙이지 않는 것에 주의!&lt;br /&gt;
 //문자열 출력&lt;br /&gt;
 printf(&amp;quot;%s\n&amp;quot;, string);&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;과제 2 : 문자 3개 입력받아 아스키코드(ASCII code) 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
결과 :&lt;br /&gt;
 첫 번째 문자 입력하세요 : b&lt;br /&gt;
 두 번째 문자 입력하세요 : c&lt;br /&gt;
 세 번째 문자 입력하세요 : a&lt;br /&gt;
 98 99 97&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;선택과제 : 정수 4개 입력받아 오른쪽 정렬해서 출력하기&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
결과 :&lt;br /&gt;
 정수 네 개를 입력하세요 : 1 -233 4 19&lt;br /&gt;
          1&lt;br /&gt;
       -233&lt;br /&gt;
          4&lt;br /&gt;
         19&lt;br /&gt;
출력되는 칸의 길이는 총 10칸으로 합니다.&lt;br /&gt;
= 후기 =&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58416</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58416"/>
		<updated>2017-03-25T09:47:12Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 프로그래밍 언어란? ==&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
== C코드는 어떻게 .exe가 되나 ==&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
== Visual Studio는 컴파일러인가? ==&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
== Hello World! 코드 뜯어보기 ==&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
== 변수와 자료형 ==&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
= 참고 코드 =&lt;br /&gt;
결과를 보고 코드의 각 줄이 무엇을 의미하는지 맞춰보는 시간을 가졌습니다.&lt;br /&gt;
&lt;br /&gt;
* 코드&lt;br /&gt;
 #define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
 	printf(&amp;quot;Characters: %c %c \n&amp;quot;, &#039;a&#039;, 65);&lt;br /&gt;
 	printf(&amp;quot;Decimal: %d\n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;floats: %f %E \n&amp;quot;,3.1416, 3.1416);&lt;br /&gt;
 	printf(&amp;quot;%s \n&amp;quot;, &amp;quot;A string&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;Preceding with blanks: %10d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Preceding with zeros: %010d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Some different radices: %d %x %o %#x %#o \n&amp;quot;, 100, 100, 100, 100, 100);&lt;br /&gt;
 	printf(&amp;quot;Width trick: %*d \n&amp;quot;, num, 10);&lt;br /&gt;
 &lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 결과&lt;br /&gt;
 Characters: a A&lt;br /&gt;
 Decimal: 1977&lt;br /&gt;
 floats: 3.141600 3.141600E+000&lt;br /&gt;
 A string&lt;br /&gt;
 Preceding with blanks:       1977&lt;br /&gt;
 Preceding with zeros: 0000001977&lt;br /&gt;
 Some different radices: 100 64 144 0x64 0144&lt;br /&gt;
 Width trick:    10&lt;br /&gt;
출처 : [http://www.cplusplus.com/reference/cstdio/printf/ CPlusPlus.com]&lt;br /&gt;
&lt;br /&gt;
printf, scanf에는 생각 이상으로 기능이 많습니다. 물론 모든 기능을 다 알 필요는 없지만, 유용한 기능이 몇 가지 있어 한 번 보여줘봤어요. ㅎㅎ 그리고 남들이 모르는 독특한 거 알고 있으면 좀 있어보이잖아여 ㅎㅎㅋㅋ &amp;gt;&amp;lt;&lt;br /&gt;
혹시 코드 중에 모르겠는거 있으면 제 새싹들에게 물어보세여 친절하게 알려줄겁니당 후후&lt;br /&gt;
= 과제 =&lt;br /&gt;
&lt;br /&gt;
= 후기 =&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58415</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58415"/>
		<updated>2017-03-25T09:43:55Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 프로그래밍 언어란? ==&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
== C코드는 어떻게 .exe가 되나 ==&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
== Visual Studio는 컴파일러인가? ==&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
== Hello World! 코드 뜯어보기 ==&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
== 변수와 자료형 ==&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
= 참고 코드 =&lt;br /&gt;
결과를 보고 코드의 각 줄이 무엇을 의미하는지 맞춰보는 시간을 가졌습니다.&lt;br /&gt;
&lt;br /&gt;
* 코드&lt;br /&gt;
 #define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
 	printf(&amp;quot;Characters: %c %c \n&amp;quot;, &#039;a&#039;, 65);&lt;br /&gt;
 	printf(&amp;quot;Decimal: %d\n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;floats: %f %E \n&amp;quot;,3.1416, 3.1416);&lt;br /&gt;
 	printf(&amp;quot;%s \n&amp;quot;, &amp;quot;A string&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;Preceding with blanks: %10d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Preceding with zeros: %010d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Some different radices: %d %x %o %#x %#o \n&amp;quot;, 100, 100, 100, 100, 100);&lt;br /&gt;
 	printf(&amp;quot;Width trick: %*d \n&amp;quot;, num, 10);&lt;br /&gt;
 &lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 결과&lt;br /&gt;
 Characters: a A&lt;br /&gt;
 Decimal: 1977&lt;br /&gt;
 floats: 3.141600 3.141600E+000&lt;br /&gt;
 A string&lt;br /&gt;
 Preceding with blanks:       1977&lt;br /&gt;
 Preceding with zeros: 0000001977&lt;br /&gt;
 Some different radices: 100 64 144 0x64 0144&lt;br /&gt;
 Width trick:    10&lt;br /&gt;
출처 : [http://www.cplusplus.com/reference/cstdio/printf/ CPlusPlus.com]&lt;br /&gt;
&lt;br /&gt;
printf, scanf에는 생각 이상으로 기능이 많습니다. 물론 모든 기능을 다 알 필요는 없지만, 유용한 기능이 몇 가지 있어 한 번 보여줘봤어요. ㅎㅎ 그리고 남들이 모르는 독특한 거 알고 있으면 좀 있어보이잖아여 ㅎㅎㅋㅋ &amp;gt;&amp;lt;&lt;br /&gt;
= 과제 =&lt;br /&gt;
&lt;br /&gt;
= 후기 =&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58414</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58414"/>
		<updated>2017-03-25T09:43:45Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 프로그래밍 언어란? ==&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
== C코드는 어떻게 .exe가 되나 ==&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
== Visual Studio는 컴파일러인가? ==&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
== Hello World! 코드 뜯어보기 ==&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
== 변수와 자료형 ==&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
= 참고 코드 =&lt;br /&gt;
결과를 보고 코드의 각 줄이 무엇을 의미하는지 맞춰보는 시간을 가졌습니다.&lt;br /&gt;
&lt;br /&gt;
* 코드&lt;br /&gt;
 &lt;br /&gt;
 #define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
 	printf(&amp;quot;Characters: %c %c \n&amp;quot;, &#039;a&#039;, 65);&lt;br /&gt;
 	printf(&amp;quot;Decimal: %d\n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;floats: %f %E \n&amp;quot;,3.1416, 3.1416);&lt;br /&gt;
 	printf(&amp;quot;%s \n&amp;quot;, &amp;quot;A string&amp;quot;);&lt;br /&gt;
 	printf(&amp;quot;Preceding with blanks: %10d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Preceding with zeros: %010d \n&amp;quot;, 1977);&lt;br /&gt;
 	printf(&amp;quot;Some different radices: %d %x %o %#x %#o \n&amp;quot;, 100, 100, 100, 100, 100);&lt;br /&gt;
 	printf(&amp;quot;Width trick: %*d \n&amp;quot;, num, 10);&lt;br /&gt;
 &lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
* 결과&lt;br /&gt;
 &lt;br /&gt;
 Characters: a A&lt;br /&gt;
 Decimal: 1977&lt;br /&gt;
 floats: 3.141600 3.141600E+000&lt;br /&gt;
 A string&lt;br /&gt;
 Preceding with blanks:       1977&lt;br /&gt;
 Preceding with zeros: 0000001977&lt;br /&gt;
 Some different radices: 100 64 144 0x64 0144&lt;br /&gt;
 Width trick:    10&lt;br /&gt;
출처 : [http://www.cplusplus.com/reference/cstdio/printf/ CPlusPlus.com]&lt;br /&gt;
&lt;br /&gt;
printf, scanf에는 생각 이상으로 기능이 많습니다. 물론 모든 기능을 다 알 필요는 없지만, 유용한 기능이 몇 가지 있어 한 번 보여줘봤어요. ㅎㅎ 그리고 남들이 모르는 독특한 거 알고 있으면 좀 있어보이잖아여 ㅎㅎㅋㅋ &amp;gt;&amp;lt;&lt;br /&gt;
= 과제 =&lt;br /&gt;
&lt;br /&gt;
= 후기 =&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58413</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58413"/>
		<updated>2017-03-25T09:37:33Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 프로그래밍 언어란? ==&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
== C코드는 어떻게 .exe가 되나 ==&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
== Visual Studio는 컴파일러인가? ==&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
== Hello World! 코드 뜯어보기 ==&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
== 변수와 자료형 ==&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
= 참고 코드 =&lt;br /&gt;
&lt;br /&gt;
= 과제 =&lt;br /&gt;
&lt;br /&gt;
= 후기 =&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58412</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58412"/>
		<updated>2017-03-25T09:36:54Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 프로그래밍 언어란? ==&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
== C코드는 어떻게 .exe가 되나 ==&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
== Visual Studio는 컴파일러인가? ==&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
== Hello World! 코드 뜯어보기 ==&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
== 변수와 자료형 ==&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58411</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58411"/>
		<updated>2017-03-25T09:35:30Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 프로그래밍 언어란? =&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
= C코드는 어떻게 .exe가 되나 =&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
= Visual Studio는 컴파일러인가? =&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
= Hello World! 코드 뜯어보기 =&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
= 변수와 자료형 =&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데요, 이러한 변수의 형태를 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58410</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58410"/>
		<updated>2017-03-25T09:33:37Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 프로그래밍 언어란? =&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
= C코드는 어떻게 .exe가 되나 =&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
= Visual Studio는 컴파일러인가? =&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
= Hello World! 코드 뜯어보기 =&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
= 변수와 자료형 =&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|460]]&lt;br /&gt;
&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|460]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데 이것을 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|400]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58409</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58409"/>
		<updated>2017-03-25T09:30:20Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 프로그래밍 언어란? =&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
= C코드는 어떻게 .exe가 되나 =&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
= Visual Studio는 컴파일러인가? =&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
= Hello World! 코드 뜯어보기 =&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
= 변수와 자료형 =&lt;br /&gt;
컴퓨터는 메모리에 정보를 저장합니다. 메모리는 대략 이렇게 생겼습니다.&lt;br /&gt;
[[File:memory.png|310]]&lt;br /&gt;
메모리에는 여러 칸이 있고, 이 칸에 정보가 들어가게 됩니다.&lt;br /&gt;
그러나 무턱대고 아무 칸에나 정보를 넣을 수 있는 것이 아니에요.&lt;br /&gt;
그 전에 먼저 &#039;내가 이 칸을 쓸거다&#039;라고 말을 해주어야 하는데, 그 때 사용하는 것이 변수입니다.&lt;br /&gt;
[[File:variable.png|310]]&lt;br /&gt;
&#039;&#039;&#039;변수&#039;&#039;&#039;는 &lt;br /&gt;
 {color:red}정보를 담는 &#039;&#039;&#039;그릇&#039;&#039;&#039;&lt;br /&gt;
입니다. 절대 &#039;&#039;&#039;숫자가 아니에요&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
그런데 변수에 넣게 되는 값들은 크기와 모양이 다 다릅니다.&lt;br /&gt;
작은 값이 있으면 큰 값도 있고, 실수, 정수, 심지어 문자도 있죠.&lt;br /&gt;
이런 다양한 값들을 같은 그릇에 담을 수는 없겠죠?&lt;br /&gt;
그래서 변수에도 여러 종류가 있게 되는데 이것을 &#039;&#039;&#039;자료형&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
[[File:data_type.png|350]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58408</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58408"/>
		<updated>2017-03-25T08:52:27Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 프로그래밍 언어란? =&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
= C코드는 어떻게 .exe가 되나 =&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
= Visual Studio는 컴파일러인가? =&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
= Hello World! 코드 뜯어보기 =&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
= 변수와 자료형 =&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58407</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58407"/>
		<updated>2017-03-25T08:52:15Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 프로그래밍 언어란? =&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
= C코드는 어떻게 .exe가 되나 =&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
= Visual Studio는 컴파일러인가? =&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
= Hello World! 코드 뜯어보기 =&lt;br /&gt;
여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
&#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
&lt;br /&gt;
수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png|300]]&lt;br /&gt;
&lt;br /&gt;
C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
 {font-size:20px}&#039;&#039;&#039;scanf함수&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
= 변수와 자료형 =&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58406</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58406"/>
		<updated>2017-03-25T08:49:11Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 프로그래밍 언어란? =&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
= C코드는 어떻게 .exe가 되나 =&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
= Visual Studio는 컴파일러인가? =&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
= Hello World! 코드 뜯어보기 =&lt;br /&gt;
 여기서 생애 첫 프로그램, hello world 프로그램을 보고 가도록 하겠습니다.&lt;br /&gt;
&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
 여기서 가장 중요한 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;함수&#039;&#039;&#039;&lt;br /&gt;
인데요,&lt;br /&gt;
 &#039;&#039;&#039;함수&#039;&#039;&#039;란 &#039;&#039;&#039;기능의 단위&#039;&#039;&#039;입니다.&lt;br /&gt;
 수학의 함수처럼, 입력에 대해 출력이 있죠.&lt;br /&gt;
[[File:func_prototype.png]]&lt;br /&gt;
 C 프로그램은 이런 함수들이 모여서 만들어집니다.&lt;br /&gt;
 그러나 아무리 함수를 잘 작성해도 &#039;&#039;&#039;main&#039;&#039;&#039;함수가 없으면 소용이 없어요.&lt;br /&gt;
 main함수는 건물의 기반 같은 함수입니다. C 프로그램 하나당 꼭 &#039;&#039;&#039;하나의&#039;&#039;&#039; main함수가 필요해요&lt;br /&gt;
&lt;br /&gt;
* scanf함수&lt;br /&gt;
 위의 코드에 입력 받는 부분을 추가해 보겠습니다.&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
  int number;&lt;br /&gt;
  printf(&amp;quot;hello world!\n&amp;quot;);&lt;br /&gt;
  scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;number);&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
 그런데 입력을 받으면 그 값을 어딘가에 저장을 해야겠죠. 그 때 필요한 것이 &#039;&#039;&#039;변수&#039;&#039;&#039;입니다.&lt;br /&gt;
= 변수와 자료형 =&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58405</id>
		<title>새싹교실/2017/꽃밭/0324</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD/0324&amp;diff=58405"/>
		<updated>2017-03-25T08:37:00Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 프로그래밍 언어란? =&lt;br /&gt;
* 프로그래밍 언어는 사람과 컴퓨터의 중간 언어입니다.&lt;br /&gt;
[[File:새싹교실__2017__꽃밭__0324__sample.png|560]]&lt;br /&gt;
* 사람이 이해하기 쉬울수록 high level, 컴퓨터가 이해하기 쉬울수록 low level이라고 하죠.&lt;br /&gt;
* high level language에는 Python, Java 등이 있고 low level language에는 assembly, 기계어(0과1)가 있습니다.&lt;br /&gt;
* C는 high level language이지만 다른 high 언어에 비해서는 상대적으로 low 쪽에 가까운 언어이죠.&lt;br /&gt;
   그래서 프로그램 실행 속도가 빠릅니다.&lt;br /&gt;
* &#039;&#039;&#039;컴파일러&#039;&#039;&#039;는 프로그래밍 언어를 기계어로 변환해주는 프로그램이에요.&lt;br /&gt;
= C코드는 어떻게 .exe가 되나 =&lt;br /&gt;
* Visual Studio에서 F5를 틱 누르면 프로그램이 휘리릭 실행되는데요,&lt;br /&gt;
   사실 그 간단한 동작에는 이렇게 복잡한 과정이 들어가 있습니다.&lt;br /&gt;
[[File:C_to_exe.png|435]]&lt;br /&gt;
* &#039;&#039;&#039;컴파일&#039;&#039;&#039;은 여러분이 작성한 .c파일을 기계어로 변환하는 과정입니다. 여기서 .obj 라는 기계어 파일이 생깁니다.&lt;br /&gt;
* 그러나 그 기계어 파일에는 빈 곳이 있지요. &#039;&#039;&#039;링크&#039;&#039;&#039;는 그 빈곳을 매워주는 과정입니다.&lt;br /&gt;
   #include&amp;lt;stdio.h&amp;gt;의 stdio.h 파일이 이 과정에서 include가 되지요.&lt;br /&gt;
   링크가 끝나면 비로소 .exe 파일이 생성됩니다.&lt;br /&gt;
* 그런데 막상 exe파일을 실행해보니 내가 코드를 잘못 작성했는지 결과가 제대로 나오질 않습니다.&lt;br /&gt;
   그럴 땐 코드를 다시 살펴보면서 버그를 잡아야겠죠. 이 과정을 &#039;&#039;&#039;디버깅&#039;&#039;&#039;이라고 부릅니다.&lt;br /&gt;
* 컴파일과 링크 과정을 합쳐서 빌드(build)라고 부릅니다. 단축키는 F7.&lt;br /&gt;
= Visual Studio는 컴파일러인가? =&lt;br /&gt;
* 컴파일러이기도 하고, 아니기도 하죠.&lt;br /&gt;
* 왜냐하면 IDE이기 때문입니다.&lt;br /&gt;
[[File:VS_is_IDE.png|430]]&lt;br /&gt;
* C 언어로 프로그램을 만들기 위해서는 무려 네 가지나 되는 프로그램이 필요합니다&lt;br /&gt;
* 과거에는 그 프로그램들을 일일이 불러와서 C 프로그램을 만들었지만, IDE가 생기면서부터는 훨씬 편하게 개발을 할 수 있게 되었습니다.&lt;br /&gt;
= Hello World! 코드 뜯어보기 =&lt;br /&gt;
&lt;br /&gt;
= 변수와 자료형 =&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58364</id>
		<title>새싹교실/2017/꽃밭</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58364"/>
		<updated>2017-03-25T07:29:04Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 구성원 =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 물주는사람&lt;br /&gt;
| 이지수&lt;br /&gt;
| 14학번&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 꽃&lt;br /&gt;
| 김혜민&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 17학번&lt;br /&gt;
|-&lt;br /&gt;
| 유진&lt;br /&gt;
|-&lt;br /&gt;
| 이현지&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 목표 =&lt;br /&gt;
어려운 실습, 내 힘으로 해보자!&lt;br /&gt;
&lt;br /&gt;
== 3월 24일 수업 ==&lt;br /&gt;
&lt;br /&gt;
후기&lt;br /&gt;
&lt;br /&gt;
[[유진]]&lt;br /&gt;
이번 시간에 프로그래밍 언어의 가장 기본적인 변환 방식과 자료형에 대해 배웠다.&lt;br /&gt;
새싹교실을 통해 c언어의 기초를 잘 다질 수 있으면 좋겠다^^&lt;br /&gt;
&lt;br /&gt;
[[이현지]]&lt;br /&gt;
c언어의 특징과 정보가 exe의 형태로 변환되는 과정 등에 대해 배웠다.&lt;br /&gt;
c언어를 처음 배우는 나에게 많은 도움이 될 것 같다. &lt;br /&gt;
&lt;br /&gt;
[[김혜민]]&lt;br /&gt;
프로그래밍 언어의 역할을 배웠고 여러가지 자료형의 종류와 쓰임을 예문을 통해 배웠다.&lt;br /&gt;
교수님보다 차근차근 처음부터 잘 알려주셔서 수업을 통해 프로그래밍에 대해 자신감을 향상시킬 수 있을 것 같다.&lt;br /&gt;
배우는 수업 내용을 프린트물로 받아서 집에서도 다시 복습할 수 있었으면 좋겠다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58363</id>
		<title>새싹교실/2017/꽃밭</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%88%EC%8B%B9%EA%B5%90%EC%8B%A4/2017/%EA%BD%83%EB%B0%AD&amp;diff=58363"/>
		<updated>2017-03-25T07:27:14Z</updated>

		<summary type="html">&lt;p&gt;119.193.218.199: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 구성원 =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 튜터&lt;br /&gt;
| 이지수&lt;br /&gt;
| 14학번&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 튜티&lt;br /&gt;
| 김혜민&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | 17학번&lt;br /&gt;
|-&lt;br /&gt;
| 유진&lt;br /&gt;
|-&lt;br /&gt;
| 이현지&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 목표 =&lt;br /&gt;
어려운 실습, 내 힘으로 해보자!&lt;br /&gt;
&lt;br /&gt;
== 3월 24일 수업 ==&lt;br /&gt;
&lt;br /&gt;
후기&lt;br /&gt;
&lt;br /&gt;
[[유진]]&lt;br /&gt;
이번 시간에 프로그래밍 언어의 가장 기본적인 변환 방식과 자료형에 대해 배웠다.&lt;br /&gt;
새싹교실을 통해 c언어의 기초를 잘 다질 수 있으면 좋겠다^^&lt;br /&gt;
&lt;br /&gt;
[[이현지]]&lt;br /&gt;
c언어의 특징과 정보가 exe의 형태로 변환되는 과정 등에 대해 배웠다.&lt;br /&gt;
c언어를 처음 배우는 나에게 많은 도움이 될 것 같다. &lt;br /&gt;
&lt;br /&gt;
[[김혜민]]&lt;br /&gt;
프로그래밍 언어의 역할을 배웠고 여러가지 자료형의 종류와 쓰임을 예문을 통해 배웠다.&lt;br /&gt;
교수님보다 차근차근 처음부터 잘 알려주셔서 수업을 통해 프로그래밍에 대해 자신감을 향상시킬 수 있을 것 같다.&lt;br /&gt;
배우는 수업 내용을 프린트물로 받아서 집에서도 다시 복습할 수 있었으면 좋겠다.&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>119.193.218.199</name></author>
	</entry>
</feed>