if문 예제p3-5
if문으로 큰 수 나오게 입력하기 어제 공부했듯이 if문은 참일 때만 실행된다. if(num1 <num2)에서 num1이 num2보다 작을 경우 참이 되므로 num2는 bigger에 대입된다. 그래서 10, 20을 입력했을 때 20이 num2에 저장되므로 출력된다. 20 10으로 입력된경우 넘1이 넘2보다 더 크므로 if의 조건은 거짓이 된다. 그래서 num1이 그래도 20이라는 값을 가진다. 그래서 아래 프린트문에 출력된다. 프린트문은 if과 관게없는 관계로 무조건 출력된다. if else문 예제 p3-6 |
#include <stdio.h> |
위와 마찬가지로 if문에 조건이 맞으면 그래도 bigger = num2에 정장.
smaller = num1이다. 그러난 조건이 거짓이면,
else문으로 넘어가 num1이 bigger에 대입되고
num2가 smaller가 된다. 그리고
printf문으로 출력된다.
주의할 점은 if, if else에서는 들여쓰기가 중요하다.
들여쓰기
만약에 if(조건) { 명령문, 명령문,~~~~
길게 이어쓸수 있지만, 시각적으로 좋지 않기
때문에 프로그램이 장문인 경우 좋지 않다. 그래서
int main()
{
if(조건)
{
명령문
}
}
이런식으로 {}중괄호를 쓰면, if의 명령문이 어디까지인지
보기가 좋고 나중에 에러가 떴을 때 쉽게
수정해나갈 수 있다.
#include <stdio.h> |
그런데 여기에서는 마지막 빼고는 else if를 썻다.
그이유는 else는 중첩해서 쓸수 없기 때문이다.
elseif가 차례대로 실행된다. 예를 들면 90을 입력한다.
90의 조건에 맞는 첫번째 if문에 참값이 된다.
그리고 나머지 엘스 이프~~~엘스를 건너뛰어
else if((score < 70)&&(score >=60))문에 만족시킴으로
참값이 되고 아래를 건너뛰어 출력이 D로 출력된다.
하지만,엘스가 없다고 가정하자.
아래 if문을 건너뛰지 않고 따지게 된다.
즉, 처리속도가 느려서 문제가 발생할 수도 있다.
따라서, elseif를 쓴것이다.
if
스위치문(swich).
바꾸다, 변환하다라는 뜻.
case 형식: case 정수(정수중에서 상수) ;
p3-8
|
만약에 90이라 입력하면 score에서 연산/을 하여 9가 된다.
9가 되면, case 9: 의 값이 들어가고 A가 출력된다.
'A'는 아스키코드. 끝에 확장자 %c이기 때문에 그대로 A출력된다.
elseif- 범위지정
swich - 값을 일일이 지정해야한다.
예를 들어 99를 입력하면 case99:~~~~
이렇게 적어놓아야 한다.
위의 소스는 score =score /10을 하여 10을 나눔으로서
일의 자리로 값을 나누게 된다. 99를 9.9로 되고 .9를 날려서
9의 값을 가지고 case 9:에 실행된다.
elseif는 범위지정을 하고 프로그램을 짤때
유리하고 swich(case)문은 값이 명확할때 유용하다.
#include <stdio.h> |
이경우 어떠한 수를 넣어도 F가 출력한다.
break는 조건을 만족시키면 정지시키고 printf문으로 바로
출력할 수 있게 한다. 그러나, 모두 break를 주석처리
했기때문에 멈추지 않아 결국 default값으로 저장된다.
|
0에서 9범위안에 숫자를 넣으면 해당 프린트문이출력된다.
'C언어 수업정리 > 3월 수업정리' 카테고리의 다른 글
3월14일 수업정리 구구단의 악몽. (1) | 2013.03.14 |
---|---|
3월 13일 정리 문자입출력함수 (0) | 2013.03.13 |
3월 12일 부가연산자, 함수, 제어문(if, else....) (0) | 2013.03.12 |
3월11일 아스키코드, 유니코드 ,연산자, 논리식.... (0) | 2013.03.11 |
3월 8일 형수정자 연산자 sizeof (1) | 2013.03.08 |