1. if와 if else
if 영어로 우리는 "만약에" 라고하져...
if 의 문법은 다음과 같습니다.
if ( 조건부 ) {
실행부
}
조건부가 맞는다면 실행부가 실행됩니다.
예를 들어,
int i = 0;
if ( i == 0 ) {
printf("%d\n",i);
}
이런 것이 메인에 있다면, i 가 0과 같다면, printf가 실행되고, 그게 아니면 if문을 건너 띄고 실행됩니다.
영어에서 if가 있다면 else도 있습니다. else는 if와 붙어서 "그렇지 않다면" 이라고하져...
else의 문법은 if와 비슷합니다.
if ( 조건부1 ){
실행부1
}else if( 조건부2 ) {
실행부2
}else{
실행부3
}
조건부1에 맞다면 실행부 1이 실행되고 조건부2에 맞다면 실행부2.. 조건부1과 조건부2에 맞지 않다면 실행부3이 실행됩니다.
예를들어,
char c;
scanf ("%c",&c);
if ( c == '+' ) {
printf("%c\n",c);
}else if ( c == '-' ) {
printf("%c\n",c);
}else{
printf("%c : error\n",c);
}
이런것이 있다면, c에 문자를 받아서, c가 +라면 +가 출력되고, c가 -면 -가 출력되고, 둘다 아니면 error과 그 문자를 출력하게됩니다.
2. if문을 배우면서 배운 여러가지 연산자
ⓐ <, >, >=, <=, ==
<, >, >=, <=은 수학에서 다 배웠듣이 부등호입니다. 세미나에서 봣을때 가장 색갈려하는 부분은 == 인것 같습니다.
= 는 이전에 우리가 썻듯이 대입할때 쓰는 연산자입니다. 그외 두 개가 같은지를 알아보기 위해서는 ==를 써야됩니다.
if ( a = 1 ) // 이렇게 쓴다면 a에 1을 대입하고 if문을 실행할 것입니다.
if ( a == 1 ) // 이렇게 쓴다면 a가 1과 같은지를 판단하고, 결론을 내려 실행할 것입니다.
ⓑ &&, ||
&&는 그리고라고 하며 and라고 생각하면됩니다. 우리가 if문에서 조건을 쓸때 어떤 숫자가 0<a<10 을 나타내고 싶다면
if (( a > 0 )&&( a < 10 )) 이렇게 써 줘야합니다.
컴퓨터는 각 하나의 연산에 대해서만 결론을 내릴수 있기때문에 &&를 써서 나타내야됩니다.
if ( 조건1 && 조건2 && 조건3 &&.....){ 실행부 } //조건1, 조건2, 조건3, ....의 조건을 만족해야지 실행부가 실행되는 것이죠
||는 또는이라고하며 or라고 생각하면됩니다. 우리가 어떤 숫자가 a < 0 , a > 100 의 조건을 나타내고 싶다면
if ((a < 0 )||(a > 100 )) 이렇게 써주면됩니다.
컴퓨터는 위에서(&&)를 설명할때와같이 하나씩 연산을 하기때문에 다음과같이 나눠서 써줘야됩니다.
if ( 조건1 || 조건2 || ... ){ 실행부 } // 조건1, 조건2, ...의 조건중 하나만 맞는다면 실행부가 시작됩니다.
3. getchar와 putchar
우리가 프로그램을 배울때 getchar와 putchar를 겟차, 풋차 라고하지만 정식명치은 getcharacter, putcharacter라고합니다.
getcahr와 putchar는 한 문자를 받고 한문자를 출력할때 씁니다.
하지만, getchar와 putchar를 쓸때 우리는 char타입이아닌 int타입을 사용합니다.
왜 그럴 까요?
컴퓨터는 ASC||(아스키코드)라는 것으로 문자를 생각해냅니다.
아스키코드는 여러나라의 문자를 각각의 숫자에 대입하여 사용 하는 코드를 일컷습니다.
putchar와 getchar는 아스키코드를 사용하여 입력과 출력하는 것입니다.
int c;
c = getchar();
putchar(c);
이렇게 쓴다면 c에 하나의 문자를 받아 putchar로 출력하는 프로그램이 됩니다.
int c;
c = getchar();
putchar(c);
printf("%d",c);
이렇게 int형에 문자를 받았기 때문에 printf를 이용하여 그 문자에 해당하는 아스키코드 숫자를 알아 낼수 있습니다.
세미나때 a의 아스키코드가 97입니다. 라는 것을 출력하는 프로그램을 만들 었을 것이다.
putchar(97);
이렇게 해주면 a가 출력된다. 즉 putchar(아스키코드)를 해도 되는 것이다.
4. while
while문은 반복문중 하나로 조건을 검색하고 조건이 맞는다면 조건과 맞지 않을때까지 실행하는 것을 말한ㄷ.
문법은 다음과 같다.
조건변수 초기화
while ( 조건변수 확인 ) {
실행부
조건변수 변경
}
while문을 들어가기전에 조건변수를 초기화 해주고, 조건변수를 확인하여 조건이 맞다면 실행부를 실행하고
조건변수를 변경하는 것입니다. 만약, 조건 변수를 변경하지 안흔다면 whlie문의 조건변수 확인이 항상 참이되어 무한 반복을 할
것 입니다.
int i;
i = 0;
while ( i < 5 ) {
pirntf("%d실행\n",i);
i++;
}
이렇게 본다면, 결과로 0실행//1실행//2실행//3실행//4실행// 후 종류가 될것입니다.
5. for
for문은 whle문의 여러가지를 한줄로 줄일 수 있는 것이라고 생각하면됩니다.
바로 문법을 본다면 다음과 같습니다.
for ( 조건변수 초기화 ; 조건변수 확인 ; 조건변수 변경 ){
실행부
}
위의 while문과 비교하면 여러가지 비슷한점을 발견할수 있습니다.
0실행//1실행//2실행//3실행//4실행//를 출력하는 것을 for문으로 만든다면
for ( i = 0 ; i < 5; i++ ){
printf("%d실행\n",i);
}
가 된다.
6. do while문
do while문은 while의 변형모드로 일단 실행부를 실행하고 조건을 검색한다.
문법을본다면
조건변수 초기화
do {
실행부
조건변수 변경
} while ( 조건변수 확인 ) ;
이렇게 된다. 예는 쓰지 않겠다. 나도 잘안 쓰니깐 =ㅅ=;;
7. 배열...
다음에 다시한다고 하니 패스 하겠다.