<?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=59.187.205.109</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=59.187.205.109"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php/Special:Contributions/59.187.205.109"/>
	<updated>2026-05-15T08:27:14Z</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/0523&amp;diff=58668</id>
		<title>새싹교실/2017/꽃밭/0523</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/0523&amp;diff=58668"/>
		<updated>2017-05-25T17:14:51Z</updated>

		<summary type="html">&lt;p&gt;59.187.205.109: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[새싹교실/2017/꽃밭/0516|◀이전수업]]▒▒▒▒▒[[새싹교실/2017/꽃밭/0530|다음수업▶]]&lt;br /&gt;
[[새싹교실/2017]] [[새싹교실/2017/꽃밭]]&lt;br /&gt;
__TOC__&lt;br /&gt;
= 실습 =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 실습 1 : 대문자로 바꾸는 함수 ==&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;
 #include &amp;amp;lt;string.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 void toUpper(char* str);&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	char input[100];&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;\n 문자열을 입력하세요(영문자로만 공백없이) : &amp;quot;);&lt;br /&gt;
 	gets(input);&lt;br /&gt;
 &lt;br /&gt;
 	toUpper(input);&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;\n 변환된 문자열 : &amp;quot;);&lt;br /&gt;
 	puts(input);&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 //알파벳 소문자를 대문자로 변환하는 함수&lt;br /&gt;
 void toUpper(char* str){&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
== 실습 2 : 내가 좋아하는 색깔은? ==&lt;br /&gt;
 #include &amp;quot;header.h&amp;quot;&lt;br /&gt;
 #ifdef String_Quiz&lt;br /&gt;
 #define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;string.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	char input[7][10] = { &amp;quot;red&amp;quot;, &amp;quot;blue&amp;quot;, &amp;quot;orange&amp;quot;, &amp;quot;green&amp;quot;, &amp;quot;black&amp;quot;, &amp;quot;white&amp;quot;, &amp;quot;pink&amp;quot; };&lt;br /&gt;
         char* computerColor = input[random];    //computerColor : 컴퓨터가 좋아하는 색깔&lt;br /&gt;
 	char* comp = &amp;quot;Computer&amp;quot;, *user = &amp;quot;User&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 	srand(time(NULL));&lt;br /&gt;
 	int random = rand() % 7;     //컴퓨터가 좋아하는 색깔 생성하기&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;%10s : what is your favorite color? &amp;quot;, comp);&lt;br /&gt;
 	//문자열을 선언해서, strcpy로 &amp;quot;My favorite color is &amp;quot;로 초기화합니다.&lt;br /&gt;
         //gets로 내가 좋아하는 색을 입력받고&lt;br /&gt;
         //strcat을 써서 &amp;quot;My favorite color is &amp;amp;lt;색깔이름&amp;amp;gt;&amp;quot;이라는 문자열을 만듭니다.&lt;br /&gt;
 	printf(&amp;quot;%10s : &amp;quot;, user);&lt;br /&gt;
 	//완성된 문자열을 여기서 출력해주세요.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 	if (/* 만약에 컴퓨터와 내가 좋아하는 색깔이 같다면(strcmp를 사용) */){&lt;br /&gt;
 		printf(&amp;quot;%10s : We like same color!\n&amp;quot;, comp);&lt;br /&gt;
 &lt;br /&gt;
 	}&lt;br /&gt;
 	else{&lt;br /&gt;
 		printf(&amp;quot;%10s : I don&#039;t like that color. I like %s\n&amp;quot;, comp, computerColor);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
= 과제 소개 =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 과제 제출 =&lt;br /&gt;
== 현지==&lt;br /&gt;
#include&amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include&amp;lt;time.h&amp;gt;&lt;br /&gt;
#define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	char input&amp;amp;#91;7&amp;amp;#93;&amp;amp;#91;10&amp;amp;#93; = { &amp;quot;red&amp;quot;, &amp;quot;blue&amp;quot;, &amp;quot;orange&amp;quot;, &amp;quot;green&amp;quot;, &amp;quot;black&amp;quot;, &amp;quot;white&amp;quot;, &amp;quot;pink&amp;quot; };&lt;br /&gt;
	    &lt;br /&gt;
	char* comp = &amp;quot;Computer&amp;quot;, *user = &amp;quot;User&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	srand(time(NULL));&lt;br /&gt;
	int random = rand() % 7;     //컴퓨터가 좋아하는 색깔 생성하기&lt;br /&gt;
	char* computerColor = input&amp;amp;#91;random&amp;amp;#93;;//computerColor : 컴퓨터가 좋아하는 색깔&lt;br /&gt;
&lt;br /&gt;
	printf(&amp;quot;%10s : what is your favorite color? &amp;quot;, comp);&lt;br /&gt;
	&lt;br /&gt;
	char str1&amp;amp;#91;100&amp;amp;#93;;&lt;br /&gt;
	char str2&amp;amp;#91;100&amp;amp;#93;;&lt;br /&gt;
	strcpy(str1, &amp;quot;My favorite color is&amp;quot;);&lt;br /&gt;
	gets(str2);&lt;br /&gt;
	//문자열을 선언해서, strcpy로 &amp;quot;My favorite color is &amp;quot;로 초기화합니다.&lt;br /&gt;
	//gets로 내가 좋아하는 색을 입력받고&lt;br /&gt;
	//strcat을 써서 &amp;quot;My favorite color is &amp;lt;색깔이름&amp;gt;&amp;quot;이라는 문자열을 만듭니다.&lt;br /&gt;
	printf(&amp;quot;%10s : %s&amp;quot;, user,strcat(str1,str2));&lt;br /&gt;
	//완성된 문자열을 여기서 출력해주세요.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	if (strcmp(computerColor,str2)==0) {&lt;br /&gt;
		printf(&amp;quot;%10s : We like same color!\n&amp;quot;, comp);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	else {&lt;br /&gt;
		printf(&amp;quot;%10s : I don&#039;t like that color. I like %s\n&amp;quot;, comp, computerColor);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
== 현지 ==&lt;br /&gt;
 #include&amp;amp;lt;stdlib.h&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;time.h&amp;amp;gt;&lt;br /&gt;
 #define _CRT_SECURE_NO_WARNINGS&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;string.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	char input[7][10] = { &amp;quot;red&amp;quot;, &amp;quot;blue&amp;quot;, &amp;quot;orange&amp;quot;, &amp;quot;green&amp;quot;, &amp;quot;black&amp;quot;, &amp;quot;white&amp;quot;, &amp;quot;pink&amp;quot; };&lt;br /&gt;
 	    &lt;br /&gt;
 	char* comp = &amp;quot;Computer&amp;quot;, *user = &amp;quot;User&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 	srand(time(NULL));&lt;br /&gt;
 	int random = rand() % 7;     //컴퓨터가 좋아하는 색깔 생성하기&lt;br /&gt;
 	char* computerColor = input[random];//computerColor : 컴퓨터가 좋아하는 색깔&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;%10s : what is your favorite color? &amp;quot;, comp);&lt;br /&gt;
 	&lt;br /&gt;
 	char str1[100];&lt;br /&gt;
 	char str2[100];&lt;br /&gt;
 	strcpy(str1, &amp;quot;My favorite color is&amp;quot;);&lt;br /&gt;
 	gets(str2);&lt;br /&gt;
 	//문자열을 선언해서, strcpy로 &amp;quot;My favorite color is &amp;quot;로 초기화합니다.&lt;br /&gt;
 	//gets로 내가 좋아하는 색을 입력받고&lt;br /&gt;
 	//strcat을 써서 &amp;quot;My favorite color is &amp;amp;lt;색깔이름&amp;amp;gt;&amp;quot;이라는 문자열을 만듭니다.&lt;br /&gt;
 	printf(&amp;quot;%10s : %s&amp;quot;, user,strcat(str1,str2));&lt;br /&gt;
 	//완성된 문자열을 여기서 출력해주세요.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 	if (strcmp(computerColor,str2)==0) {&lt;br /&gt;
 		printf(&amp;quot;%10s : We like same color!\n&amp;quot;, comp);&lt;br /&gt;
 &lt;br /&gt;
 	}&lt;br /&gt;
 	else {&lt;br /&gt;
 		printf(&amp;quot;%10s : I don&#039;t like that color. I like %s\n&amp;quot;, comp, computerColor);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 	return 0;&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;
 #include &amp;amp;lt;string.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdlib.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;time.h&amp;amp;gt;&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	char input[7][10] = { &amp;quot;red&amp;quot;, &amp;quot;blue&amp;quot;, &amp;quot;orange&amp;quot;, &amp;quot;green&amp;quot;, &amp;quot;black&amp;quot;, &amp;quot;white&amp;quot;, &amp;quot;pink&amp;quot; };&lt;br /&gt;
 	&lt;br /&gt;
 	char* comp = &amp;quot;Computer&amp;quot;, *user = &amp;quot;User&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 	srand(time(NULL));&lt;br /&gt;
 	int random = rand() % 7;     //컴퓨터가 좋아하는 색깔 생성하기&lt;br /&gt;
 	char* computerColor = input[random];    //computerColor : 컴퓨터가 좋아하는 색깔&lt;br /&gt;
 	printf(&amp;quot;%10s : what is your favorite color? \n&amp;quot;, comp);&lt;br /&gt;
 	//문자열을 선언해서, strcpy로 &amp;quot;My favorite color is &amp;quot;로 초기화합니다.&lt;br /&gt;
 	char str[50];&lt;br /&gt;
 	strcpy(str, &amp;quot;My favorite color is &amp;quot;);&lt;br /&gt;
 	//gets로 내가 좋아하는 색을 입력받고&lt;br /&gt;
 	char color[10];&lt;br /&gt;
 	gets(color);&lt;br /&gt;
 	//strcat을 써서 &amp;quot;My favorite color is &amp;amp;lt;색깔이름&amp;amp;gt;&amp;quot;이라는 문자열을 만듭니다.&lt;br /&gt;
 	strcat(str, color);&lt;br /&gt;
 	printf(&amp;quot;%10s : &amp;quot;, user);&lt;br /&gt;
 	//완성된 문자열을 여기서 출력해주세요.&lt;br /&gt;
 	printf(&amp;quot;%s\n&amp;quot;, str);&lt;br /&gt;
 &lt;br /&gt;
 	if (/* 만약에 컴퓨터와 내가 좋아하는 색깔이 같다면(strcmp를 사용) */strcmp(computerColor,color)==0)&lt;br /&gt;
 	{&lt;br /&gt;
 		printf(&amp;quot;%10s : We like same color!\n&amp;quot;, comp);&lt;br /&gt;
 &lt;br /&gt;
 	}&lt;br /&gt;
 	else{&lt;br /&gt;
 		printf(&amp;quot;%10s : I don&#039;t like that color. I like %s\n&amp;quot;, comp, computerColor);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 	return 0;&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;
== 혜민 ==&lt;br /&gt;
&lt;br /&gt;
많이 쓰이는 함수 strlen, strcpy, strcat, strcmp의 사용법을 알게 되었고 사용해서 실습도 해보니 더욱 이해가 잘되었다. 스페이스 공간을 다른 문자로, 영문자를 대문자로 바꾸는 방법도 알게되어 유익했다.&lt;br /&gt;
------------&lt;br /&gt;
[[새싹교실/2017/꽃밭/0516|◀이전수업]]▒▒▒▒▒[[새싹교실/2017/꽃밭/0530|다음수업▶]]&lt;br /&gt;
[[새싹교실/2017]] [[새싹교실/2017/꽃밭]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>59.187.205.109</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/0502&amp;diff=58640</id>
		<title>새싹교실/2017/꽃밭/0502</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/0502&amp;diff=58640"/>
		<updated>2017-05-07T15:08:07Z</updated>

		<summary type="html">&lt;p&gt;59.187.205.109: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[새싹교실/2017/꽃밭/0501|◀이전수업]]▒▒▒▒▒[[새싹교실/2017/꽃밭/0516|다음수업▶]]&lt;br /&gt;
[[새싹교실/2017]] [[새싹교실/2017/꽃밭]]&lt;br /&gt;
__TOC__&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;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	int arr[10] = { -1,2,8,-9,-10,6,5,4,3,0 };&lt;br /&gt;
 	int i, j, temp = 0;&lt;br /&gt;
 	printf(&amp;quot;정렬전&amp;quot;);&lt;br /&gt;
 	for (i = 0; i &amp;amp;lt; 10; i++)&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, arr[i]);&lt;br /&gt;
 	printf(&amp;quot;\n정렬후:&amp;quot;);&lt;br /&gt;
 	for (i = 0; i &amp;amp;lt; 10; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for (j = 0; j&amp;amp;lt; 9; j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			if (arr[j] &amp;amp;gt; arr[j + 1])&lt;br /&gt;
 			{&lt;br /&gt;
 				temp = arr[j];&lt;br /&gt;
 				arr[j] = arr[j + 1];&lt;br /&gt;
 				arr[j + 1] = temp;&lt;br /&gt;
 			}&lt;br /&gt;
 			&lt;br /&gt;
 		}&lt;br /&gt;
 	&lt;br /&gt;
 	}&lt;br /&gt;
 	for (i = 0; i &amp;amp;lt; 10; i++)&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, arr[i]);&lt;br /&gt;
 	printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 	system(&amp;quot;pause&amp;quot;);&lt;br /&gt;
 	return 0;&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
== 혜민 ==&lt;br /&gt;
 #include&amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	int a[10] = { 2,8,4,1,0,9,6,3,7,13 }, b, i, j;&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;%d %d %d %d %d %d %d %d %d %d&amp;quot;, a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]);&lt;br /&gt;
 	for (j = 0; j &amp;amp;lt; 10; ++j)&lt;br /&gt;
 	{&lt;br /&gt;
 		for (i = 0; i &amp;amp;lt; 9; ++i)&lt;br /&gt;
 		{&lt;br /&gt;
 			if (a[i] &amp;amp;gt; a[i + 1])&lt;br /&gt;
 			{&lt;br /&gt;
 				b = a[i];&lt;br /&gt;
 				a[i] = a[i + 1];&lt;br /&gt;
 				a[i + 1] = b;&lt;br /&gt;
 &lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	printf(&amp;quot;\n%d %d %d %d %d %d %d %d %d %d&amp;quot;, a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]);&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
== 유진 ==&lt;br /&gt;
 int main(){&lt;br /&gt;
 	int arr[10] = { -10, 3, -8, 9, 6, 11, 2, 3, 17, 0 };&lt;br /&gt;
 	int i, j;&lt;br /&gt;
 	int b;&lt;br /&gt;
 	printf(&amp;quot;처음 배열 : \n&amp;quot;);&lt;br /&gt;
 	for (i = 0; i &amp;amp;lt; 10; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		printf(&amp;quot;%d\t&amp;quot;, arr[i]);&lt;br /&gt;
 	}&lt;br /&gt;
 	for (j = 0; j &amp;amp;lt; 10; j++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for (i = 0; i &amp;amp;lt; 9-j; i++)&lt;br /&gt;
 		{&lt;br /&gt;
 			if (arr[i] &amp;amp;gt; arr[i + 1])&lt;br /&gt;
 			{&lt;br /&gt;
 				b = arr[i];&lt;br /&gt;
 				arr[i] = arr[i + 1];&lt;br /&gt;
 				arr[i + 1] = b;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	printf(&amp;quot;\n나중 배열 : \n&amp;quot;);&lt;br /&gt;
 	for (i = 0; i &amp;amp;lt; 10; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		printf(&amp;quot;%d\t&amp;quot;, arr[i]);&lt;br /&gt;
 	}&lt;br /&gt;
 	return 0;&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;
&lt;br /&gt;
원래 정렬을 어떻게 하는 건지 교수님 수업을 들을 때까지만 해도 이해하지 못했는데 오늘 수업듣고 혼자 실습까지 하니까 완전히 이해가 되어서 기뻤다.&lt;br /&gt;
&lt;br /&gt;
------------&lt;br /&gt;
[[새싹교실/2017/꽃밭/0501|◀이전수업]]▒▒▒▒▒[[새싹교실/2017/꽃밭/0516|다음수업▶]]&lt;br /&gt;
[[새싹교실/2017]] [[새싹교실/2017/꽃밭]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>59.187.205.109</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/0417&amp;diff=58614</id>
		<title>새싹교실/2017/꽃밭/0417</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/0417&amp;diff=58614"/>
		<updated>2017-04-17T14:17:57Z</updated>

		<summary type="html">&lt;p&gt;59.187.205.109: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[새싹교실/2017/꽃밭/0410|◀이전수업]]▒▒▒▒▒[[새싹교실/2017/꽃밭/0418|다음수업▶]]&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= 실습 1 : 소수 출력 프로그램 =&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(void)&lt;br /&gt;
 {&lt;br /&gt;
 	int n, i, j;&lt;br /&gt;
 	int isPrime;&lt;br /&gt;
 &lt;br /&gt;
 	//n 입력받기&lt;br /&gt;
 	while (1){&lt;br /&gt;
 		printf(&amp;quot;Input Number n : &amp;quot;);&lt;br /&gt;
 		scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;n);&lt;br /&gt;
 &lt;br /&gt;
 		if (n &amp;amp;lt; 2){&lt;br /&gt;
 			printf(&amp;quot; n should be bigger than 1. Input n again.\n&amp;quot;);&lt;br /&gt;
 		}&lt;br /&gt;
 		else{&lt;br /&gt;
 			break;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
         //소수인지 확인하여 출력하기&lt;br /&gt;
 	for (i = 2; i &amp;amp;lt;= n; i++){&lt;br /&gt;
 		isPrime = 1;  // 1이면 소수&lt;br /&gt;
 		for (j = 2; j &amp;amp;lt;= i - 1; j++){&lt;br /&gt;
 			if (i%j == 0){        // i가 j로 나누어떨어진다면&lt;br /&gt;
 				isPrime = 0;  // 소수가 아니다&lt;br /&gt;
 				break;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		if (isPrime == 1){   // 소수이면&lt;br /&gt;
 			printf(&amp;quot;%d &amp;quot;, i);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
= 실습 2 : 자릿수 쪼개는 프로그램 =&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(void)&lt;br /&gt;
 {&lt;br /&gt;
 	int n;&lt;br /&gt;
 	int digit[5];&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;Enter N : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;n);&lt;br /&gt;
 	&lt;br /&gt;
 	digit[0] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[1] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[2] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[3] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[4] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	&lt;br /&gt;
 	printf(&amp;quot;%d %d %d %d %d\n&amp;quot;, digit[4], digit[3], digit[2], digit[1], digit[0]);&lt;br /&gt;
 &lt;br /&gt;
         return 0;&lt;br /&gt;
 }&lt;br /&gt;
= 과제 제출 =&lt;br /&gt;
== 현지 ==&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
 	int n, digit[7];&lt;br /&gt;
 	printf(&amp;quot;7자리 숫자 입력: &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;n);&lt;br /&gt;
 	digit[0] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[1] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[2] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[3] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[4] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[5] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[6] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	printf(&amp;quot;%d %d %d %d %d %d %d &amp;quot;,digit[6],digit[5],digit[4],digit[3],digit[2],digit[1],digit[0]);&lt;br /&gt;
 	system(&amp;quot;pause&amp;quot;);&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
* comment : 출력할 때는 digit[[6]]부터 출력하는 것이 더 보기 좋겠죠??&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;
== 현지 ==&lt;br /&gt;
&lt;br /&gt;
예전에 Prime number를 구할때 이해가 안돼서 헤맸었는데 오늘 배운 방법으로 하니까 이해가 잘 돼서 좋았다.진짜 시험에 나왔으면 맞힐 수 있을 것 같다 ㅎㅎ&lt;br /&gt;
== 혜민 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------&lt;br /&gt;
[[새싹교실/2017/꽃밭/0410|◀이전수업]]▒▒▒▒▒[[새싹교실/2017/꽃밭/0418|다음수업▶]]&lt;br /&gt;
[[새싹교실/2017]] [[새싹교실/2017/꽃밭]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>59.187.205.109</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/0417&amp;diff=58613</id>
		<title>새싹교실/2017/꽃밭/0417</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/0417&amp;diff=58613"/>
		<updated>2017-04-17T14:16:32Z</updated>

		<summary type="html">&lt;p&gt;59.187.205.109: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[새싹교실/2017/꽃밭/0410|◀이전수업]]▒▒▒▒▒[[새싹교실/2017/꽃밭/0418|다음수업▶]]&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= 실습 1 : 소수 출력 프로그램 =&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(void)&lt;br /&gt;
 {&lt;br /&gt;
 	int n, i, j;&lt;br /&gt;
 	int isPrime;&lt;br /&gt;
 &lt;br /&gt;
 	//n 입력받기&lt;br /&gt;
 	while (1){&lt;br /&gt;
 		printf(&amp;quot;Input Number n : &amp;quot;);&lt;br /&gt;
 		scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;n);&lt;br /&gt;
 &lt;br /&gt;
 		if (n &amp;amp;lt; 2){&lt;br /&gt;
 			printf(&amp;quot; n should be bigger than 1. Input n again.\n&amp;quot;);&lt;br /&gt;
 		}&lt;br /&gt;
 		else{&lt;br /&gt;
 			break;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
         //소수인지 확인하여 출력하기&lt;br /&gt;
 	for (i = 2; i &amp;amp;lt;= n; i++){&lt;br /&gt;
 		isPrime = 1;  // 1이면 소수&lt;br /&gt;
 		for (j = 2; j &amp;amp;lt;= i - 1; j++){&lt;br /&gt;
 			if (i%j == 0){        // i가 j로 나누어떨어진다면&lt;br /&gt;
 				isPrime = 0;  // 소수가 아니다&lt;br /&gt;
 				break;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		if (isPrime == 1){   // 소수이면&lt;br /&gt;
 			printf(&amp;quot;%d &amp;quot;, i);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
= 실습 2 : 자릿수 쪼개는 프로그램 =&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(void)&lt;br /&gt;
 {&lt;br /&gt;
 	int n;&lt;br /&gt;
 	int digit[5];&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;Enter N : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;n);&lt;br /&gt;
 	&lt;br /&gt;
 	digit[0] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[1] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[2] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[3] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[4] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	&lt;br /&gt;
 	printf(&amp;quot;%d %d %d %d %d\n&amp;quot;, digit[4], digit[3], digit[2], digit[1], digit[0]);&lt;br /&gt;
 &lt;br /&gt;
         return 0;&lt;br /&gt;
 }&lt;br /&gt;
= 과제 제출 =&lt;br /&gt;
== 현지 ==&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
 	int n, digit[7];&lt;br /&gt;
 	printf(&amp;quot;7자리 숫자 입력: &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;n);&lt;br /&gt;
 	digit[0] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[1] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[2] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[3] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[4] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[5] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	digit[6] = n % 10;&lt;br /&gt;
 	n = n / 10;&lt;br /&gt;
 	printf(&amp;quot;%d %d %d %d %d %d %d &amp;quot;,digit[6],digit[5],digit[4],digit[3],digit[2],digit[1],digit[0]);&lt;br /&gt;
 	system(&amp;quot;pause&amp;quot;);&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
* comment : 출력할 때는 digit[[6]]부터 출력하는 것이 더 보기 좋겠죠??&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;
== 현지 ==&lt;br /&gt;
&lt;br /&gt;
== 혜민 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------&lt;br /&gt;
[[새싹교실/2017/꽃밭/0410|◀이전수업]]▒▒▒▒▒[[새싹교실/2017/꽃밭/0418|다음수업▶]]&lt;br /&gt;
[[새싹교실/2017]] [[새싹교실/2017/꽃밭]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>59.187.205.109</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/0404&amp;diff=58565</id>
		<title>새싹교실/2017/꽃밭/0404</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/0404&amp;diff=58565"/>
		<updated>2017-04-09T14:40:05Z</updated>

		<summary type="html">&lt;p&gt;59.187.205.109: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[새싹교실/2017/꽃밭/0403|◀이전수업]]▒▒▒▒▒[[새싹교실/2017/꽃밭/0410|다음수업▶]]&lt;br /&gt;
__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
== 무한 루프, break &amp;amp; continue ==&lt;br /&gt;
반복문을 쓰다 보면 무한히 반복하게 해야할 때가 있습니다.&lt;br /&gt;
무한 반복문은 이렇게 만들 수 있죠.&lt;br /&gt;
&lt;br /&gt;
[[File:infinite_loop1.png|340]]&lt;br /&gt;
[[File:infinite_loop2.png|340]]&lt;br /&gt;
&lt;br /&gt;
근데 프로그램을 종료하려면 언젠가는 반복문을 빠져나와야 하는데,&lt;br /&gt;
무한루프에서는 어떻게 빠져나오죠?&lt;br /&gt;
그 때 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;break&#039;&#039;&#039;&lt;br /&gt;
문을 이용하면 됩니다.&lt;br /&gt;
break를 만나면 바로 반복문 밖으로 빠져나오게 되지요.&lt;br /&gt;
&lt;br /&gt;
[[File:break.png|340]]&lt;br /&gt;
&lt;br /&gt;
그런데 완전히 빠져나오고 싶지는 않고&lt;br /&gt;
뒷부분을 skip하고 싶을 때도 있죠.&lt;br /&gt;
그 때 사용하는 것이 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;continue&#039;&#039;&#039;&lt;br /&gt;
입니다.&lt;br /&gt;
&lt;br /&gt;
[[File:continue.png|340]]&lt;br /&gt;
&lt;br /&gt;
continue를 만나면 뒷 부분을 건너 뛰고 다시 처음부터 반복하게 됩니다.&lt;br /&gt;
그러나 사실 이 경우는 뒷부분이 항상 실행이 안 되기 때문에 있으나마나죠.&lt;br /&gt;
그래서 break와 continue는 &#039;&#039;&#039;조건문&#039;&#039;&#039;과 같이 쓰입니다.&lt;br /&gt;
       while(true){&lt;br /&gt;
          code1...&lt;br /&gt;
          code2...&lt;br /&gt;
          if( 조건1 ) break;    // 조건1을 만족하면 while문을 빠져나와라&lt;br /&gt;
          code3...&lt;br /&gt;
          code4...&lt;br /&gt;
          if( 조건2 ) continue; // 조건2를 만족하면 code5를 실행하지 말고 다시 code1부터 실행해라&lt;br /&gt;
          code5...&lt;br /&gt;
      }&lt;br /&gt;
== 배열 ==&lt;br /&gt;
배열은 변수 여러 개를 모은 것입니다.&lt;br /&gt;
&lt;br /&gt;
성적 처리 프로그램을 만든다고 합시다.&lt;br /&gt;
학생 100명의 성적을 저장해야 해요.&lt;br /&gt;
그러면 변수 100개를 일일이 선언하실 건가요? 너무 귀찮죠.&lt;br /&gt;
그 때 배열을 이용하면 100개라 할지라도 간편하게 선언할 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
[[File:array1.png|600]]&lt;br /&gt;
&lt;br /&gt;
배열은 메모리상에서 이렇게 나타낼 수 있습니다.&lt;br /&gt;
&lt;br /&gt;
[[File:array2.png|600]]&lt;br /&gt;
&lt;br /&gt;
각각의 원소는 student&amp;amp;#91;0&amp;amp;#93;, student&amp;amp;#91;1&amp;amp;#93;, ...., student&amp;amp;#91;99&amp;amp;#93;로, 번호를 붙여서 부릅니다.&lt;br /&gt;
배열 원소는 항상 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
번부터 시작합니다. 꼭 기억하세요!&lt;br /&gt;
&lt;br /&gt;
그렇다면 원소가 n개일 때,&lt;br /&gt;
마지막 원소는 &#039;&#039;&#039;n-1&#039;&#039;&#039;번입니다.&lt;br /&gt;
i번 원소는 &#039;&#039;&#039;i+1&#039;&#039;&#039;번째 원소이지요.&lt;br /&gt;
&lt;br /&gt;
퀴즈! int a&amp;amp;#91;100&amp;amp;#93;의 원소를 차례로 출력하려면 for문 안에 어떤 내용이 들어가야 할까요?&lt;br /&gt;
    for (      ;       ;      ){&lt;br /&gt;
 	printf(&amp;quot;%d &amp;quot;, a[i]);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 실습 =&lt;br /&gt;
[[File:loop_break_cnt.png|600]]&lt;br /&gt;
&lt;br /&gt;
* 슈도 코드&lt;br /&gt;
     for(무한){&lt;br /&gt;
          if(양수면)&lt;br /&gt;
            덧셈&lt;br /&gt;
          else if(음수면)&lt;br /&gt;
            다시 받기&lt;br /&gt;
          else&lt;br /&gt;
             프로그램 종료&lt;br /&gt;
      }&lt;br /&gt;
= 과제 소개 =&lt;br /&gt;
여러분, 천천히 생각해보세요!! 여러분은 머리가 좋아서 충분히 여유를 가지고 설계하면 풀 수 있습니다~&lt;br /&gt;
&lt;br /&gt;
[[File:loop_break_cnt_adv.png|600]]&lt;br /&gt;
&lt;br /&gt;
= 과제 제출 =&lt;br /&gt;
== 현지 ==&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;quot;stdafx.h&amp;quot;&lt;br /&gt;
#include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	int i = 0;&lt;br /&gt;
	int n = 0;&lt;br /&gt;
	int num&amp;amp;#91;100&amp;amp;#93;;&lt;br /&gt;
	int sum = 0;&lt;br /&gt;
	for (;;)&lt;br /&gt;
	{&lt;br /&gt;
&lt;br /&gt;
		printf(&amp;quot;\n숫자를 입력하세요&amp;quot;);&lt;br /&gt;
		scanf_s(&amp;quot;%d&amp;quot;, &amp;amp;num&amp;amp;#91;i&amp;amp;#93;);&lt;br /&gt;
		if (num&amp;amp;#91;i&amp;amp;#93; &amp;gt; 0)&lt;br /&gt;
		{&lt;br /&gt;
&lt;br /&gt;
			sum = sum + num&amp;amp;#91;i&amp;amp;#93;;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
		else if (num&amp;amp;#91;i&amp;amp;#93; &amp;lt; 0)&lt;br /&gt;
		{&lt;br /&gt;
&lt;br /&gt;
			printf(&amp;quot;\n음수를 입력하셨습니다. \n다시 입력하세요&amp;quot;);&lt;br /&gt;
			continue;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
&lt;br /&gt;
			printf(&amp;quot;\n프로그램을 종료합니다.&amp;quot;);&lt;br /&gt;
			break;&lt;br /&gt;
&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	printf(&amp;quot;입력한 숫자의 합: &amp;quot;);&lt;br /&gt;
	scanf_s(&amp;quot;%d&amp;quot;, &amp;amp;sum);&lt;br /&gt;
	int max = 0;&lt;br /&gt;
	for (i = 0; i &amp;lt; n; i++)&lt;br /&gt;
	{&lt;br /&gt;
		if (num&amp;amp;#91;i&amp;amp;#93; &amp;gt; max)&lt;br /&gt;
		{&lt;br /&gt;
&lt;br /&gt;
			max = num&amp;amp;#91;i&amp;amp;#93;;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
			printf(&amp;quot;가장 큰 수는 %d입니다.\n&amp;quot;, max);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
	&lt;br /&gt;
	system(&amp;quot;pause&amp;quot;);&lt;br /&gt;
	return 0;&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;
== 유진 ==&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;
[[새싹교실/2017/꽃밭/0403|◀이전수업]]▒▒▒▒▒[[새싹교실/2017/꽃밭/0410|다음수업▶]]&lt;br /&gt;
[[새싹교실/2017]] [[새싹교실/2017/꽃밭]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>59.187.205.109</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/0328&amp;diff=58486</id>
		<title>새싹교실/2017/꽃밭/0328</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/0328&amp;diff=58486"/>
		<updated>2017-03-30T15:07:10Z</updated>

		<summary type="html">&lt;p&gt;59.187.205.109: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
과제 리뷰를 하며 아스키코드와 버퍼를 설명했습니다. 그러고나서 이론을 가르쳤습니다.&lt;br /&gt;
== 아스키 코드 ==&lt;br /&gt;
0과 1로 동작하는 컴퓨터에게 모든 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;숫자&#039;&#039;&#039;&lt;br /&gt;
로 통합니다.&lt;br /&gt;
문자도 &#039;&#039;&#039;숫자&#039;&#039;&#039;, &lt;br /&gt;
소리도 &#039;&#039;&#039;숫자&#039;&#039;&#039;,&lt;br /&gt;
그림도 &#039;&#039;&#039;숫자&#039;&#039;&#039;로 취급해서 다루죠.&lt;br /&gt;
&lt;br /&gt;
그런데 우리는 이미 printf와 scanf를 통해서 문자를 입력받고 출력받고 있습니다.&lt;br /&gt;
숫자만을 알고 있는 컴퓨터가 어떻게 문자를 다룰 수 있는 걸까요?&lt;br /&gt;
답은 간단합니다. 문자 하나마다 숫자를 하나씩 매칭하는거죠.&lt;br /&gt;
숫자 97은 문자 a이다, 라고 약속을 하는 겁니다.&lt;br /&gt;
그런 약속이 모여서 아스키 테이블이 만들어졌습니다.&lt;br /&gt;
&lt;br /&gt;
[[File:ascii_table.png|300]]&lt;br /&gt;
&lt;br /&gt;
printf(&amp;quot;%c&amp;quot;, 숫자)에서 &#039;숫자&#039; 자리에 위 테이블에 있는 숫자를 하나씩 넣어보세요.&lt;br /&gt;
그 숫자에 해당되는 문자가 출력될 것입니다.&lt;br /&gt;
&lt;br /&gt;
아스키 코드의 숫자는 0부터 127까지입니다.&lt;br /&gt;
그래서 우리가 문자를 출력할 때, 0~127을 벗어나는 수를 넣게 되면 문제가 생기게 되지요(물론 저 범위에서 확장된 확장형 아스키 코드가 있긴 하지만, 그건 지금 얘기하지는 않겠습니다).&lt;br /&gt;
== 문자열 입출력 ==&lt;br /&gt;
    char name[100];&lt;br /&gt;
    scanf(&amp;quot;%s&amp;quot;, name);&lt;br /&gt;
string을 입력받을 때는 변수 앞에 &#039;&amp;amp;&#039;가 붙지 않습니다.&lt;br /&gt;
지금은 요정도만 알아두세요.&lt;br /&gt;
== 문자 입력받기는 까다롭다! 버퍼 알아보기 ==&lt;br /&gt;
과제 코드의 일부를 가져와봤습니다.&lt;br /&gt;
 printf(&amp;quot;첫 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch1);&lt;br /&gt;
 	printf(&amp;quot;두 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch2);&lt;br /&gt;
 	printf(&amp;quot;세 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch3);&lt;br /&gt;
문자 세 개를 입력받아 ch1, ch2, ch3 변수에 넣고 있습니다.&lt;br /&gt;
하지만 이대로는 문자 세 개가 정상적으로 입력되지 않습니다.&lt;br /&gt;
바로 버퍼 때문인데요, scanf는 입력을 버퍼에 저장합니다.&lt;br /&gt;
그래서 사용자가 이렇게 입력을 하면,&lt;br /&gt;
 첫 번째 문자 입력하세요 : a&lt;br /&gt;
 두 번째 문자 입력하세요 : b&lt;br /&gt;
 세 번째 문자 입력하세요 : c&lt;br /&gt;
버퍼는 요런 상태가 되지요.&lt;br /&gt;
[[File:buffer1.png|480]]&lt;br /&gt;
a, b, c가 나란히 들어가 있는 것이 아니라 사이사이에 엔터(\n)가 들어간 것을 볼 수 있습니다.&lt;br /&gt;
a를 입력하고 누른 엔터, b를 입력하고 누른 엔터가 다 들어간 것이지요.&lt;br /&gt;
그래서 변수 ch2에는 b가 아니라 &amp;quot;a를 입력하고 누른 엔터&amp;quot;가 들어가는 것입니다.&lt;br /&gt;
[[File:buffer2.png|480]]&lt;br /&gt;
이 문제를 어떻게 해결해야 할까요?&lt;br /&gt;
흠, 엔터를 받아서 어디다 던져 버리면 되지 않을까요?&lt;br /&gt;
[[File:buffer3_v2.png|480]]&lt;br /&gt;
 {color:red}&#039;&#039;&#039;getchar()&#039;&#039;&#039;&lt;br /&gt;
함수는 문자 하나를 받는 함수입니다.&lt;br /&gt;
이 함수를 이용해서 엔터를 받으면, ch2에는 b가 들어가게 되겠죠.&lt;br /&gt;
getchar()를 추가해서 다시 코드를 작성해 볼까요?&lt;br /&gt;
 printf(&amp;quot;첫 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch1); // a 받고,&lt;br /&gt;
         getchar();         // 엔터 받아오기&lt;br /&gt;
 	printf(&amp;quot;두 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch2); // b 받고,&lt;br /&gt;
         getchar();         // 엔터 받아오기&lt;br /&gt;
 	printf(&amp;quot;세 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch3);&lt;br /&gt;
이렇게 문제가 해결됩니다.&lt;br /&gt;
&lt;br /&gt;
결론 : &lt;br /&gt;
 {color:blue}&#039;&#039;&#039;문자나 문자열 입력을 받을 때는 그것이 항상 버퍼에 들어간다는 것을 기억하세요!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 반복문 - for문 ==&lt;br /&gt;
코딩을 하다보면 중복되는 부분들이 참 많습니다.&lt;br /&gt;
예를 들어 구구단을 출력하는 프로그램을 만든다고 하면,&lt;br /&gt;
     printf(&amp;quot;구구단 2단을 외자!\n&amp;quot;);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 2, 2*2);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 3, 2*3);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 4, 2*4);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 5, 2*5);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 6, 2*6);&lt;br /&gt;
     .....&lt;br /&gt;
     .....&lt;br /&gt;
이렇게 일일이 타이핑을 하기에는 너무나 귀찮죠.&lt;br /&gt;
그 때 반복문을 쓰면 코드가 아주 심플해집니다.&lt;br /&gt;
     int i;&lt;br /&gt;
     printf(&amp;quot;구구단 2단을 외자!\n&amp;quot;);&lt;br /&gt;
     for( i=2 ; i&amp;amp;lt;=9 ; i++){&lt;br /&gt;
           printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, i, 2*i);&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
C에서 반복문은 두 가지가 있는데, 먼저 for문을 배워보겠습니다.&lt;br /&gt;
for문은 매우 간단합니다.&lt;br /&gt;
    for(){&lt;br /&gt;
       반복할내용;&lt;br /&gt;
    }&lt;br /&gt;
그냥 for 적으시고 안에 반복할 내용을 넣으면 됩니다.&lt;br /&gt;
하지만 인생은 그리 만만하지 않죠..&lt;br /&gt;
여기에는 사실 &#039;&#039;&#039;제어 변수&#039;&#039;&#039;라는 게 들어갑니다.&lt;br /&gt;
그림에서 i가 제어변수예요.&lt;br /&gt;
[[File:for1.png|470]]&lt;br /&gt;
다시 구구단 코드를 보겠습니다.&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}2&lt;br /&gt;
, 2*{{{{color:red}2}}});&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}3&lt;br /&gt;
, 2*{{{{color:red}3}}});&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}4&lt;br /&gt;
, 2*{{{{color:red}4}}});&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}5&lt;br /&gt;
, 2*{{{{color:red}5}}});&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}6&lt;br /&gt;
, 2*{{{{color:red}6}}});&lt;br /&gt;
&lt;br /&gt;
모든 줄이 같은 듯 하지만 딱 두 군데 변하는 부분이 있죠?&lt;br /&gt;
이렇게 유일하게 변화하는 부분을 해결하는 것이 i입니다.&lt;br /&gt;
맨 처음에 i에 2를 넣고, 1씩 증가시키면서 9가 될 때까지 구구단을 출력하는 거죠.&lt;br /&gt;
&lt;br /&gt;
for문의 실행 순서는 이렇게 됩니다.&lt;br /&gt;
[[File:for2.png|470]]&lt;br /&gt;
초기화는 맨 처음에 &#039;&#039;&#039;한 번만&#039;&#039;&#039; 진행되고, 그 뒤부터는 &#039;&#039;&#039;조건검사-&amp;gt;내용실행-&amp;gt;증가&#039;&#039;&#039;가 계속 반복됩니다.&lt;br /&gt;
그러다가 조건이 맞지 않게 되면(i가 10이 되면) 반복문을 빠져나오게 되죠.&lt;br /&gt;
[[File:for3.png|470]]&lt;br /&gt;
실행 순서를 잘 익혀놓으세요.&lt;br /&gt;
&lt;br /&gt;
그런데 반복할 내용에 또 for문을 넣게 되면 어떻게 될까요?&lt;br /&gt;
2중 for문이 됩니다.&lt;br /&gt;
    for(){&lt;br /&gt;
       for(){&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
2중 for문에서의 실행 흐름을 잘 알아두세요.&lt;br /&gt;
//도식화는 다음에..&lt;br /&gt;
= 과제 소개 =&lt;br /&gt;
교수님이 C의 자잘한 문법보다는 손코딩을 좋아하시는 분이라, 실습 위주로 가려합니다.&lt;br /&gt;
&lt;br /&gt;
문제를 보고 나서, 생각 없이 바로 키보드에 손을 얹지 말아주세요.&lt;br /&gt;
반드시 손으로 한 줄이라도 &#039;&#039;&#039;설계를 해보고&#039;&#039;&#039; 코딩을 하시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
== 과제1 : 별찍기 Lv.1 ==&lt;br /&gt;
사용자로부터 숫자 N을 입력 받아, 다음과 같이 별을 찍으세용&lt;br /&gt;
[[File:star_lv.1.png|250]]&lt;br /&gt;
&lt;br /&gt;
같이 손코딩 했었죠?&lt;br /&gt;
손코딩을 할 때는&lt;br /&gt;
&lt;br /&gt;
* 첫째, 문제를 작게 만들어서 손으로 풀어보세요&lt;br /&gt;
* 둘째, 손으로 풀면서 &#039;&#039;&#039;패턴&#039;&#039;&#039;을 찾아내세요. 어느 부분이 반복되고, 어느 부분이 변하는지(i를 써야하는 부분인지)?&lt;br /&gt;
* 셋째, 패턴을 코드로 써 보세요.&lt;br /&gt;
&lt;br /&gt;
손으로 코드를 쓸 때는 C문법을 지키지 않아도 돼요.&lt;br /&gt;
그냥 의미 전달만 되게 쓰시면 됩니다.&lt;br /&gt;
그런 코드를 &lt;br /&gt;
 {color:red}슈도 코드&lt;br /&gt;
(pseudo code)라고 해요.&lt;br /&gt;
&lt;br /&gt;
이 과제의 경우 슈도 코드를 이렇게 써볼 수 있습니다.&lt;br /&gt;
    for( i는 1부터 N까지 )&lt;br /&gt;
      for( j는 1부터 i까지 )&lt;br /&gt;
          print(&amp;quot;*&amp;quot;)&lt;br /&gt;
      print(&amp;quot;\n&amp;quot;)&lt;br /&gt;
심플하죠? 하핫 &lt;br /&gt;
브라켓({})을 칠 필요도, 세미콜론을 붙일 필요도 없습니다.&lt;br /&gt;
근데 저게 어색해서 그냥 C문법대로 쓰는 게 편하다, 하시면 그렇게 쓰셔도 돼요~&lt;br /&gt;
== 과제2 : 별찍기 Lv.2 ==&lt;br /&gt;
사용자로부터 숫자 N을 입력 받아, 다음과 같이 별을 찍으세용&lt;br /&gt;
[[File:star_lv.2.png|250]]&lt;br /&gt;
&lt;br /&gt;
== 선택과제 : 별찍기 Lv.3 ==&lt;br /&gt;
짜잔!&lt;br /&gt;
[[File:star_lv.3.png|600]]&lt;br /&gt;
한 번 해보면 생각보다 어렵지 않다는 걸 느낄거예요.&lt;br /&gt;
= 과제 제출 =&lt;br /&gt;
== 현지 ==&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	int i,j;&lt;br /&gt;
	for (i = 1; i &amp;lt;= 10; i++)&lt;br /&gt;
	{&lt;br /&gt;
		for (j = 1; j &amp;lt;= i; j++)&lt;br /&gt;
		&lt;br /&gt;
			printf(&amp;quot;*&amp;quot;);&lt;br /&gt;
			printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	int i, j;&lt;br /&gt;
	for (i = 1; i &amp;lt;= 10; i++)&lt;br /&gt;
	{&lt;br /&gt;
		for (j = 1; j&amp;lt;=10-i; j++)&lt;br /&gt;
			printf(&amp;quot; &amp;quot;);&lt;br /&gt;
		for (j = 1; j &amp;lt;=i; j++)&lt;br /&gt;
			printf(&amp;quot;*&amp;quot;);&lt;br /&gt;
		printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&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;
 다음엔 좀 더 천천히, 쉽게 가려고 합니다.&lt;br /&gt;
 새싹들이 너무 잘 들어주고 예뻐서(?) 가르치는 게 즐거워요♥ 우힛&lt;br /&gt;
 새싹들이 똑똑해서 질문도 많이 합니다. 허허&lt;br /&gt;
[[이현지]]&lt;br /&gt;
입력하기 전에 스페이스바 한 번 누르고 시작해주세요!!&lt;br /&gt;
이거말고,&lt;br /&gt;
 요렇게&lt;br /&gt;
 printf,scanf같은 기본적인 것만 해보다가 for문을 배워보니까 재미있었고 생각보다 어렵지 않았다.&lt;br /&gt;
 항상 코딩을 하려하면 막막했었는데 손코딩을 먼저 해봄으로써 어떤식으로 코드를 짤지 생각하기 수월해진 것 같다.&lt;br /&gt;
 선배님이 너무 잘 가르쳐주셔서 아쉬운점이 없다 ♥&lt;br /&gt;
[[김혜민]]&lt;br /&gt;
&lt;br /&gt;
[[유진]]&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
[[새싹교실/2017]]   [[새싹교실/2017/꽃밭]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>59.187.205.109</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/0328&amp;diff=58485</id>
		<title>새싹교실/2017/꽃밭/0328</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/0328&amp;diff=58485"/>
		<updated>2017-03-30T15:00:55Z</updated>

		<summary type="html">&lt;p&gt;59.187.205.109: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
과제 리뷰를 하며 아스키코드와 버퍼를 설명했습니다. 그러고나서 이론을 가르쳤습니다.&lt;br /&gt;
== 아스키 코드 ==&lt;br /&gt;
0과 1로 동작하는 컴퓨터에게 모든 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;숫자&#039;&#039;&#039;&lt;br /&gt;
로 통합니다.&lt;br /&gt;
문자도 &#039;&#039;&#039;숫자&#039;&#039;&#039;, &lt;br /&gt;
소리도 &#039;&#039;&#039;숫자&#039;&#039;&#039;,&lt;br /&gt;
그림도 &#039;&#039;&#039;숫자&#039;&#039;&#039;로 취급해서 다루죠.&lt;br /&gt;
&lt;br /&gt;
그런데 우리는 이미 printf와 scanf를 통해서 문자를 입력받고 출력받고 있습니다.&lt;br /&gt;
숫자만을 알고 있는 컴퓨터가 어떻게 문자를 다룰 수 있는 걸까요?&lt;br /&gt;
답은 간단합니다. 문자 하나마다 숫자를 하나씩 매칭하는거죠.&lt;br /&gt;
숫자 97은 문자 a이다, 라고 약속을 하는 겁니다.&lt;br /&gt;
그런 약속이 모여서 아스키 테이블이 만들어졌습니다.&lt;br /&gt;
&lt;br /&gt;
[[File:ascii_table.png|300]]&lt;br /&gt;
&lt;br /&gt;
printf(&amp;quot;%c&amp;quot;, 숫자)에서 &#039;숫자&#039; 자리에 위 테이블에 있는 숫자를 하나씩 넣어보세요.&lt;br /&gt;
그 숫자에 해당되는 문자가 출력될 것입니다.&lt;br /&gt;
&lt;br /&gt;
아스키 코드의 숫자는 0부터 127까지입니다.&lt;br /&gt;
그래서 우리가 문자를 출력할 때, 0~127을 벗어나는 수를 넣게 되면 문제가 생기게 되지요(물론 저 범위에서 확장된 확장형 아스키 코드가 있긴 하지만, 그건 지금 얘기하지는 않겠습니다).&lt;br /&gt;
== 문자열 입출력 ==&lt;br /&gt;
    char name[100];&lt;br /&gt;
    scanf(&amp;quot;%s&amp;quot;, name);&lt;br /&gt;
string을 입력받을 때는 변수 앞에 &#039;&amp;amp;&#039;가 붙지 않습니다.&lt;br /&gt;
지금은 요정도만 알아두세요.&lt;br /&gt;
== 문자 입력받기는 까다롭다! 버퍼 알아보기 ==&lt;br /&gt;
과제 코드의 일부를 가져와봤습니다.&lt;br /&gt;
 printf(&amp;quot;첫 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch1);&lt;br /&gt;
 	printf(&amp;quot;두 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch2);&lt;br /&gt;
 	printf(&amp;quot;세 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch3);&lt;br /&gt;
문자 세 개를 입력받아 ch1, ch2, ch3 변수에 넣고 있습니다.&lt;br /&gt;
하지만 이대로는 문자 세 개가 정상적으로 입력되지 않습니다.&lt;br /&gt;
바로 버퍼 때문인데요, scanf는 입력을 버퍼에 저장합니다.&lt;br /&gt;
그래서 사용자가 이렇게 입력을 하면,&lt;br /&gt;
 첫 번째 문자 입력하세요 : a&lt;br /&gt;
 두 번째 문자 입력하세요 : b&lt;br /&gt;
 세 번째 문자 입력하세요 : c&lt;br /&gt;
버퍼는 요런 상태가 되지요.&lt;br /&gt;
[[File:buffer1.png|480]]&lt;br /&gt;
a, b, c가 나란히 들어가 있는 것이 아니라 사이사이에 엔터(\n)가 들어간 것을 볼 수 있습니다.&lt;br /&gt;
a를 입력하고 누른 엔터, b를 입력하고 누른 엔터가 다 들어간 것이지요.&lt;br /&gt;
그래서 변수 ch2에는 b가 아니라 &amp;quot;a를 입력하고 누른 엔터&amp;quot;가 들어가는 것입니다.&lt;br /&gt;
[[File:buffer2.png|480]]&lt;br /&gt;
이 문제를 어떻게 해결해야 할까요?&lt;br /&gt;
흠, 엔터를 받아서 어디다 던져 버리면 되지 않을까요?&lt;br /&gt;
[[File:buffer3_v2.png|480]]&lt;br /&gt;
 {color:red}&#039;&#039;&#039;getchar()&#039;&#039;&#039;&lt;br /&gt;
함수는 문자 하나를 받는 함수입니다.&lt;br /&gt;
이 함수를 이용해서 엔터를 받으면, ch2에는 b가 들어가게 되겠죠.&lt;br /&gt;
getchar()를 추가해서 다시 코드를 작성해 볼까요?&lt;br /&gt;
 printf(&amp;quot;첫 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch1); // a 받고,&lt;br /&gt;
         getchar();         // 엔터 받아오기&lt;br /&gt;
 	printf(&amp;quot;두 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch2); // b 받고,&lt;br /&gt;
         getchar();         // 엔터 받아오기&lt;br /&gt;
 	printf(&amp;quot;세 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch3);&lt;br /&gt;
이렇게 문제가 해결됩니다.&lt;br /&gt;
&lt;br /&gt;
결론 : &lt;br /&gt;
 {color:blue}&#039;&#039;&#039;문자나 문자열 입력을 받을 때는 그것이 항상 버퍼에 들어간다는 것을 기억하세요!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 반복문 - for문 ==&lt;br /&gt;
코딩을 하다보면 중복되는 부분들이 참 많습니다.&lt;br /&gt;
예를 들어 구구단을 출력하는 프로그램을 만든다고 하면,&lt;br /&gt;
     printf(&amp;quot;구구단 2단을 외자!\n&amp;quot;);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 2, 2*2);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 3, 2*3);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 4, 2*4);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 5, 2*5);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 6, 2*6);&lt;br /&gt;
     .....&lt;br /&gt;
     .....&lt;br /&gt;
이렇게 일일이 타이핑을 하기에는 너무나 귀찮죠.&lt;br /&gt;
그 때 반복문을 쓰면 코드가 아주 심플해집니다.&lt;br /&gt;
     int i;&lt;br /&gt;
     printf(&amp;quot;구구단 2단을 외자!\n&amp;quot;);&lt;br /&gt;
     for( i=2 ; i&amp;amp;lt;=9 ; i++){&lt;br /&gt;
           printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, i, 2*i);&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
C에서 반복문은 두 가지가 있는데, 먼저 for문을 배워보겠습니다.&lt;br /&gt;
for문은 매우 간단합니다.&lt;br /&gt;
    for(){&lt;br /&gt;
       반복할내용;&lt;br /&gt;
    }&lt;br /&gt;
그냥 for 적으시고 안에 반복할 내용을 넣으면 됩니다.&lt;br /&gt;
하지만 인생은 그리 만만하지 않죠..&lt;br /&gt;
여기에는 사실 &#039;&#039;&#039;제어 변수&#039;&#039;&#039;라는 게 들어갑니다.&lt;br /&gt;
그림에서 i가 제어변수예요.&lt;br /&gt;
[[File:for1.png|470]]&lt;br /&gt;
다시 구구단 코드를 보겠습니다.&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}2&lt;br /&gt;
, 2*{{{{color:red}2}}});&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}3&lt;br /&gt;
, 2*{{{{color:red}3}}});&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}4&lt;br /&gt;
, 2*{{{{color:red}4}}});&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}5&lt;br /&gt;
, 2*{{{{color:red}5}}});&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}6&lt;br /&gt;
, 2*{{{{color:red}6}}});&lt;br /&gt;
&lt;br /&gt;
모든 줄이 같은 듯 하지만 딱 두 군데 변하는 부분이 있죠?&lt;br /&gt;
이렇게 유일하게 변화하는 부분을 해결하는 것이 i입니다.&lt;br /&gt;
맨 처음에 i에 2를 넣고, 1씩 증가시키면서 9가 될 때까지 구구단을 출력하는 거죠.&lt;br /&gt;
&lt;br /&gt;
for문의 실행 순서는 이렇게 됩니다.&lt;br /&gt;
[[File:for2.png|470]]&lt;br /&gt;
초기화는 맨 처음에 &#039;&#039;&#039;한 번만&#039;&#039;&#039; 진행되고, 그 뒤부터는 &#039;&#039;&#039;조건검사-&amp;gt;내용실행-&amp;gt;증가&#039;&#039;&#039;가 계속 반복됩니다.&lt;br /&gt;
그러다가 조건이 맞지 않게 되면(i가 10이 되면) 반복문을 빠져나오게 되죠.&lt;br /&gt;
[[File:for3.png|470]]&lt;br /&gt;
실행 순서를 잘 익혀놓으세요.&lt;br /&gt;
&lt;br /&gt;
그런데 반복할 내용에 또 for문을 넣게 되면 어떻게 될까요?&lt;br /&gt;
2중 for문이 됩니다.&lt;br /&gt;
    for(){&lt;br /&gt;
       for(){&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
2중 for문에서의 실행 흐름을 잘 알아두세요.&lt;br /&gt;
//도식화는 다음에..&lt;br /&gt;
= 과제 소개 =&lt;br /&gt;
교수님이 C의 자잘한 문법보다는 손코딩을 좋아하시는 분이라, 실습 위주로 가려합니다.&lt;br /&gt;
&lt;br /&gt;
문제를 보고 나서, 생각 없이 바로 키보드에 손을 얹지 말아주세요.&lt;br /&gt;
반드시 손으로 한 줄이라도 &#039;&#039;&#039;설계를 해보고&#039;&#039;&#039; 코딩을 하시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
== 과제1 : 별찍기 Lv.1 ==&lt;br /&gt;
사용자로부터 숫자 N을 입력 받아, 다음과 같이 별을 찍으세용&lt;br /&gt;
[[File:star_lv.1.png|250]]&lt;br /&gt;
&lt;br /&gt;
같이 손코딩 했었죠?&lt;br /&gt;
손코딩을 할 때는&lt;br /&gt;
&lt;br /&gt;
* 첫째, 문제를 작게 만들어서 손으로 풀어보세요&lt;br /&gt;
* 둘째, 손으로 풀면서 &#039;&#039;&#039;패턴&#039;&#039;&#039;을 찾아내세요. 어느 부분이 반복되고, 어느 부분이 변하는지(i를 써야하는 부분인지)?&lt;br /&gt;
* 셋째, 패턴을 코드로 써 보세요.&lt;br /&gt;
&lt;br /&gt;
손으로 코드를 쓸 때는 C문법을 지키지 않아도 돼요.&lt;br /&gt;
그냥 의미 전달만 되게 쓰시면 됩니다.&lt;br /&gt;
그런 코드를 &lt;br /&gt;
 {color:red}슈도 코드&lt;br /&gt;
(pseudo code)라고 해요.&lt;br /&gt;
&lt;br /&gt;
이 과제의 경우 슈도 코드를 이렇게 써볼 수 있습니다.&lt;br /&gt;
    for( i는 1부터 N까지 )&lt;br /&gt;
      for( j는 1부터 i까지 )&lt;br /&gt;
          print(&amp;quot;*&amp;quot;)&lt;br /&gt;
      print(&amp;quot;\n&amp;quot;)&lt;br /&gt;
심플하죠? 하핫 &lt;br /&gt;
브라켓({})을 칠 필요도, 세미콜론을 붙일 필요도 없습니다.&lt;br /&gt;
근데 저게 어색해서 그냥 C문법대로 쓰는 게 편하다, 하시면 그렇게 쓰셔도 돼요~&lt;br /&gt;
== 과제2 : 별찍기 Lv.2 ==&lt;br /&gt;
사용자로부터 숫자 N을 입력 받아, 다음과 같이 별을 찍으세용&lt;br /&gt;
[[File:star_lv.2.png|250]]&lt;br /&gt;
&lt;br /&gt;
== 선택과제 : 별찍기 Lv.3 ==&lt;br /&gt;
짜잔!&lt;br /&gt;
[[File:star_lv.3.png|600]]&lt;br /&gt;
한 번 해보면 생각보다 어렵지 않다는 걸 느낄거예요.&lt;br /&gt;
= 과제 제출 =&lt;br /&gt;
== 현지 ==&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	int i,j;&lt;br /&gt;
	for (i = 1; i &amp;lt;= 10; i++)&lt;br /&gt;
	{&lt;br /&gt;
		for (j = 1; j &amp;lt;= i; j++)&lt;br /&gt;
		&lt;br /&gt;
			printf(&amp;quot;*&amp;quot;);&lt;br /&gt;
			printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	int i, j;&lt;br /&gt;
	for (i = 1; i &amp;lt;= 10; i++)&lt;br /&gt;
	{&lt;br /&gt;
		for (j = 1; j&amp;lt;=10-i; j++)&lt;br /&gt;
			printf(&amp;quot; &amp;quot;);&lt;br /&gt;
		for (j = 1; j &amp;lt;=i; j++)&lt;br /&gt;
			printf(&amp;quot;*&amp;quot;);&lt;br /&gt;
		printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&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;
 다음엔 좀 더 천천히, 쉽게 가려고 합니다.&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;
----------&lt;br /&gt;
[[새싹교실/2017]]   [[새싹교실/2017/꽃밭]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>59.187.205.109</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/0328&amp;diff=58484</id>
		<title>새싹교실/2017/꽃밭/0328</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/0328&amp;diff=58484"/>
		<updated>2017-03-30T14:58:42Z</updated>

		<summary type="html">&lt;p&gt;59.187.205.109: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
= 수업 내용 =&lt;br /&gt;
과제 리뷰를 하며 아스키코드와 버퍼를 설명했습니다. 그러고나서 이론을 가르쳤습니다.&lt;br /&gt;
== 아스키 코드 ==&lt;br /&gt;
0과 1로 동작하는 컴퓨터에게 모든 것은 &lt;br /&gt;
 {color:red}&#039;&#039;&#039;숫자&#039;&#039;&#039;&lt;br /&gt;
로 통합니다.&lt;br /&gt;
문자도 &#039;&#039;&#039;숫자&#039;&#039;&#039;, &lt;br /&gt;
소리도 &#039;&#039;&#039;숫자&#039;&#039;&#039;,&lt;br /&gt;
그림도 &#039;&#039;&#039;숫자&#039;&#039;&#039;로 취급해서 다루죠.&lt;br /&gt;
&lt;br /&gt;
그런데 우리는 이미 printf와 scanf를 통해서 문자를 입력받고 출력받고 있습니다.&lt;br /&gt;
숫자만을 알고 있는 컴퓨터가 어떻게 문자를 다룰 수 있는 걸까요?&lt;br /&gt;
답은 간단합니다. 문자 하나마다 숫자를 하나씩 매칭하는거죠.&lt;br /&gt;
숫자 97은 문자 a이다, 라고 약속을 하는 겁니다.&lt;br /&gt;
그런 약속이 모여서 아스키 테이블이 만들어졌습니다.&lt;br /&gt;
&lt;br /&gt;
[[File:ascii_table.png|300]]&lt;br /&gt;
&lt;br /&gt;
printf(&amp;quot;%c&amp;quot;, 숫자)에서 &#039;숫자&#039; 자리에 위 테이블에 있는 숫자를 하나씩 넣어보세요.&lt;br /&gt;
그 숫자에 해당되는 문자가 출력될 것입니다.&lt;br /&gt;
&lt;br /&gt;
아스키 코드의 숫자는 0부터 127까지입니다.&lt;br /&gt;
그래서 우리가 문자를 출력할 때, 0~127을 벗어나는 수를 넣게 되면 문제가 생기게 되지요(물론 저 범위에서 확장된 확장형 아스키 코드가 있긴 하지만, 그건 지금 얘기하지는 않겠습니다).&lt;br /&gt;
== 문자열 입출력 ==&lt;br /&gt;
    char name[100];&lt;br /&gt;
    scanf(&amp;quot;%s&amp;quot;, name);&lt;br /&gt;
string을 입력받을 때는 변수 앞에 &#039;&amp;amp;&#039;가 붙지 않습니다.&lt;br /&gt;
지금은 요정도만 알아두세요.&lt;br /&gt;
== 문자 입력받기는 까다롭다! 버퍼 알아보기 ==&lt;br /&gt;
과제 코드의 일부를 가져와봤습니다.&lt;br /&gt;
 printf(&amp;quot;첫 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch1);&lt;br /&gt;
 	printf(&amp;quot;두 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch2);&lt;br /&gt;
 	printf(&amp;quot;세 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch3);&lt;br /&gt;
문자 세 개를 입력받아 ch1, ch2, ch3 변수에 넣고 있습니다.&lt;br /&gt;
하지만 이대로는 문자 세 개가 정상적으로 입력되지 않습니다.&lt;br /&gt;
바로 버퍼 때문인데요, scanf는 입력을 버퍼에 저장합니다.&lt;br /&gt;
그래서 사용자가 이렇게 입력을 하면,&lt;br /&gt;
 첫 번째 문자 입력하세요 : a&lt;br /&gt;
 두 번째 문자 입력하세요 : b&lt;br /&gt;
 세 번째 문자 입력하세요 : c&lt;br /&gt;
버퍼는 요런 상태가 되지요.&lt;br /&gt;
[[File:buffer1.png|480]]&lt;br /&gt;
a, b, c가 나란히 들어가 있는 것이 아니라 사이사이에 엔터(\n)가 들어간 것을 볼 수 있습니다.&lt;br /&gt;
a를 입력하고 누른 엔터, b를 입력하고 누른 엔터가 다 들어간 것이지요.&lt;br /&gt;
그래서 변수 ch2에는 b가 아니라 &amp;quot;a를 입력하고 누른 엔터&amp;quot;가 들어가는 것입니다.&lt;br /&gt;
[[File:buffer2.png|480]]&lt;br /&gt;
이 문제를 어떻게 해결해야 할까요?&lt;br /&gt;
흠, 엔터를 받아서 어디다 던져 버리면 되지 않을까요?&lt;br /&gt;
[[File:buffer3_v2.png|480]]&lt;br /&gt;
 {color:red}&#039;&#039;&#039;getchar()&#039;&#039;&#039;&lt;br /&gt;
함수는 문자 하나를 받는 함수입니다.&lt;br /&gt;
이 함수를 이용해서 엔터를 받으면, ch2에는 b가 들어가게 되겠죠.&lt;br /&gt;
getchar()를 추가해서 다시 코드를 작성해 볼까요?&lt;br /&gt;
 printf(&amp;quot;첫 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch1); // a 받고,&lt;br /&gt;
         getchar();         // 엔터 받아오기&lt;br /&gt;
 	printf(&amp;quot;두 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch2); // b 받고,&lt;br /&gt;
         getchar();         // 엔터 받아오기&lt;br /&gt;
 	printf(&amp;quot;세 번째 문자 입력하세요 : &amp;quot;);&lt;br /&gt;
 	scanf(&amp;quot;%c&amp;quot;, &amp;amp;amp;ch3);&lt;br /&gt;
이렇게 문제가 해결됩니다.&lt;br /&gt;
&lt;br /&gt;
결론 : &lt;br /&gt;
 {color:blue}&#039;&#039;&#039;문자나 문자열 입력을 받을 때는 그것이 항상 버퍼에 들어간다는 것을 기억하세요!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 반복문 - for문 ==&lt;br /&gt;
코딩을 하다보면 중복되는 부분들이 참 많습니다.&lt;br /&gt;
예를 들어 구구단을 출력하는 프로그램을 만든다고 하면,&lt;br /&gt;
     printf(&amp;quot;구구단 2단을 외자!\n&amp;quot;);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 2, 2*2);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 3, 2*3);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 4, 2*4);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 5, 2*5);&lt;br /&gt;
     printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, 6, 2*6);&lt;br /&gt;
     .....&lt;br /&gt;
     .....&lt;br /&gt;
이렇게 일일이 타이핑을 하기에는 너무나 귀찮죠.&lt;br /&gt;
그 때 반복문을 쓰면 코드가 아주 심플해집니다.&lt;br /&gt;
     int i;&lt;br /&gt;
     printf(&amp;quot;구구단 2단을 외자!\n&amp;quot;);&lt;br /&gt;
     for( i=2 ; i&amp;amp;lt;=9 ; i++){&lt;br /&gt;
           printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, i, 2*i);&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
C에서 반복문은 두 가지가 있는데, 먼저 for문을 배워보겠습니다.&lt;br /&gt;
for문은 매우 간단합니다.&lt;br /&gt;
    for(){&lt;br /&gt;
       반복할내용;&lt;br /&gt;
    }&lt;br /&gt;
그냥 for 적으시고 안에 반복할 내용을 넣으면 됩니다.&lt;br /&gt;
하지만 인생은 그리 만만하지 않죠..&lt;br /&gt;
여기에는 사실 &#039;&#039;&#039;제어 변수&#039;&#039;&#039;라는 게 들어갑니다.&lt;br /&gt;
그림에서 i가 제어변수예요.&lt;br /&gt;
[[File:for1.png|470]]&lt;br /&gt;
다시 구구단 코드를 보겠습니다.&lt;br /&gt;
&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}2&lt;br /&gt;
, 2*{{{{color:red}2}}});&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}3&lt;br /&gt;
, 2*{{{{color:red}3}}});&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}4&lt;br /&gt;
, 2*{{{{color:red}4}}});&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}5&lt;br /&gt;
, 2*{{{{color:red}5}}});&lt;br /&gt;
    printf(&amp;quot;%d * %d = %d\n&amp;quot;, 2, &lt;br /&gt;
 {color:red}6&lt;br /&gt;
, 2*{{{{color:red}6}}});&lt;br /&gt;
&lt;br /&gt;
모든 줄이 같은 듯 하지만 딱 두 군데 변하는 부분이 있죠?&lt;br /&gt;
이렇게 유일하게 변화하는 부분을 해결하는 것이 i입니다.&lt;br /&gt;
맨 처음에 i에 2를 넣고, 1씩 증가시키면서 9가 될 때까지 구구단을 출력하는 거죠.&lt;br /&gt;
&lt;br /&gt;
for문의 실행 순서는 이렇게 됩니다.&lt;br /&gt;
[[File:for2.png|470]]&lt;br /&gt;
초기화는 맨 처음에 &#039;&#039;&#039;한 번만&#039;&#039;&#039; 진행되고, 그 뒤부터는 &#039;&#039;&#039;조건검사-&amp;gt;내용실행-&amp;gt;증가&#039;&#039;&#039;가 계속 반복됩니다.&lt;br /&gt;
그러다가 조건이 맞지 않게 되면(i가 10이 되면) 반복문을 빠져나오게 되죠.&lt;br /&gt;
[[File:for3.png|470]]&lt;br /&gt;
실행 순서를 잘 익혀놓으세요.&lt;br /&gt;
&lt;br /&gt;
그런데 반복할 내용에 또 for문을 넣게 되면 어떻게 될까요?&lt;br /&gt;
2중 for문이 됩니다.&lt;br /&gt;
    for(){&lt;br /&gt;
       for(){&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
2중 for문에서의 실행 흐름을 잘 알아두세요.&lt;br /&gt;
//도식화는 다음에..&lt;br /&gt;
= 과제 소개 =&lt;br /&gt;
교수님이 C의 자잘한 문법보다는 손코딩을 좋아하시는 분이라, 실습 위주로 가려합니다.&lt;br /&gt;
&lt;br /&gt;
문제를 보고 나서, 생각 없이 바로 키보드에 손을 얹지 말아주세요.&lt;br /&gt;
반드시 손으로 한 줄이라도 &#039;&#039;&#039;설계를 해보고&#039;&#039;&#039; 코딩을 하시기 바랍니다.&lt;br /&gt;
&lt;br /&gt;
== 과제1 : 별찍기 Lv.1 ==&lt;br /&gt;
사용자로부터 숫자 N을 입력 받아, 다음과 같이 별을 찍으세용&lt;br /&gt;
[[File:star_lv.1.png|250]]&lt;br /&gt;
&lt;br /&gt;
같이 손코딩 했었죠?&lt;br /&gt;
손코딩을 할 때는&lt;br /&gt;
&lt;br /&gt;
* 첫째, 문제를 작게 만들어서 손으로 풀어보세요&lt;br /&gt;
* 둘째, 손으로 풀면서 &#039;&#039;&#039;패턴&#039;&#039;&#039;을 찾아내세요. 어느 부분이 반복되고, 어느 부분이 변하는지(i를 써야하는 부분인지)?&lt;br /&gt;
* 셋째, 패턴을 코드로 써 보세요.&lt;br /&gt;
&lt;br /&gt;
손으로 코드를 쓸 때는 C문법을 지키지 않아도 돼요.&lt;br /&gt;
그냥 의미 전달만 되게 쓰시면 됩니다.&lt;br /&gt;
그런 코드를 &lt;br /&gt;
 {color:red}슈도 코드&lt;br /&gt;
(pseudo code)라고 해요.&lt;br /&gt;
&lt;br /&gt;
이 과제의 경우 슈도 코드를 이렇게 써볼 수 있습니다.&lt;br /&gt;
    for( i는 1부터 N까지 )&lt;br /&gt;
      for( j는 1부터 i까지 )&lt;br /&gt;
          print(&amp;quot;*&amp;quot;)&lt;br /&gt;
      print(&amp;quot;\n&amp;quot;)&lt;br /&gt;
심플하죠? 하핫 &lt;br /&gt;
브라켓({})을 칠 필요도, 세미콜론을 붙일 필요도 없습니다.&lt;br /&gt;
근데 저게 어색해서 그냥 C문법대로 쓰는 게 편하다, 하시면 그렇게 쓰셔도 돼요~&lt;br /&gt;
== 과제2 : 별찍기 Lv.2 ==&lt;br /&gt;
사용자로부터 숫자 N을 입력 받아, 다음과 같이 별을 찍으세용&lt;br /&gt;
[[File:star_lv.2.png|250]]&lt;br /&gt;
&lt;br /&gt;
== 선택과제 : 별찍기 Lv.3 ==&lt;br /&gt;
짜잔!&lt;br /&gt;
[[File:star_lv.3.png|600]]&lt;br /&gt;
한 번 해보면 생각보다 어렵지 않다는 걸 느낄거예요.&lt;br /&gt;
= 과제 제출 =&lt;br /&gt;
== 현지 ==&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	int i,j;&lt;br /&gt;
	for (i = 1; i &amp;lt;= 10; i++)&lt;br /&gt;
	{&lt;br /&gt;
		for (j = 1; j &amp;lt;= i; j++)&lt;br /&gt;
		&lt;br /&gt;
			printf(&amp;quot;*&amp;quot;);&lt;br /&gt;
			printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
	int i,j;&lt;br /&gt;
	for (i = 1; i &amp;lt;= 10; i++)&lt;br /&gt;
	{&lt;br /&gt;
		for (j = 1; j &amp;lt;= i; j++)&lt;br /&gt;
		&lt;br /&gt;
			printf(&amp;quot;*&amp;quot;);&lt;br /&gt;
			printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&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;
 다음엔 좀 더 천천히, 쉽게 가려고 합니다.&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;
----------&lt;br /&gt;
[[새싹교실/2017]]   [[새싹교실/2017/꽃밭]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>59.187.205.109</name></author>
	</entry>
</feed>