조건문 if
if(조건1) 만일 조건1과 일치하면 처리1을 수행한다
{
처리1;
}
#include <stdio.h>
int main(void)
{
int num;
printf("5의 배수");
scanf("%d", &num);
if(num>=0)
printf("양수입니다");
if(num<0)
prinft("음수입니다.");
return 0;
}
if ~ else문
if(조건 1)
{
처리1;
}
else
{
처리2;
}
조건이 1과 일치하면 처리1을 수행하고, 조건1과 일치하지않으면 처리2를 수행한다.
#include <stdio.h>
int main(void)
{
int age;
printf("5의 배수");
scanf("%d", &age);
if(age>=15 && age<=100)
printf("회원가입이 가능합니다.\n");
else
prinft("회원가입이 불가능합니다.\n.");
return 0;
}
if ~ else if문
if(조건 1)
{
처리1;
}
else if
{
처리2;
}
else
{
처리3;
}
조건이 1과 일치하면 처리1을 수행하고, 조건1과 일치하지않으면 처리2를 수행한다.
#include <stdio.h>
int main(void)
{
int num;
printf("5의 배수");
scanf("%d", &num);
if(num>0)
printf("0보다 큰 수가 num에 저장.\n");
else if(num==0)
prinft("0이 num에 저장.\n.");
else(num<0)
printf("0보다 작은 수가 num에 저장\n")
return 0;
}
for문
ex) int i;
①초기값; ②조건값, ④증감값
for(i= 0; num<5; i++)
{
③printf("반복내용 : %d \n", num;
}
#include <stdio.h>
int main(void)
{
int i;
for(i=0; i<6; i++)
{
printf("%d 반복내용 \n", i);
}
printf("%d번 반복되었습니다. \n" , i); 반복이 다 된후에 실행되는데 루프를 빠져나오기전에 조건을 확인한다.
return 0;
}
반복내용
반복내용
반복내용
반복내용
반복내용
반복내용
6번 반복되었습니다.
중첩 for문
int i,j;
int result;
for(i=2; i<10; i++) 2,3,4,5,6,7,8,9
{
for(j=1; j<10; j++) 1,2,3,4,5,6,7,8,9
{
result = i * j;
printf("%d * %d = %d \n", i , j, result);
}
printf("----------- \n");
}
return 0;
}
while문
while문은 for문과 비슷하다.
int result = 0; //초기값
int i ;
for(i<10)// 조건식
{
반복 수행 할 문장;
i++; (증감값)
}
위 위식을 while문으로 바꾸어보자
#include <stdio.h>
int main(void)
{
int i=0; //초기식
while(i<6) //조건문
{
printf("%d 반복내용 \n", i);
i++;
}
printf("%d번 반복되었습니다. \n" , i); 루프를 빠져나오기전에 먼저 조건을 확인한후 거짓이면 빠져나온다.
return 0;
}
do while문
- while문과 for문에 비해 사용빈도가 적다
while문 과 do while문의 비교
-while문: 조건이 만족하지 않으면 반복할 내용을 실행하지 않는다.
-do while문 : 최소한 한번은 반복할 내용 실시
초기식
do
{
반복할 내용
}while(조건식) ;
반복하고 나서 조건식을 나중에 검사한다.
#include<stdio.h>
int main(void)
{
int num = 10;
do
{
printf("%d", num);
num++;
}
while(num <10);
printf("\n 반복문을 종료합니다.");
return 0;
}
Switch ~ case문
조건문을 표현하는 방식
if ~ else문을 간결하게 표현 한다.
if ~ else문에 비해 가독성이 높다.
if ~ else문에 비해 약간의 제약이 있다.
다음을 가정하자
1번스위치를 누른경우 전등이 켜짐
2번 스위치를 누른경우 전등이 꺼짐
3번 스위치를 누른경우 고장
4번 고장
기본 : 스위치 오류
#include<stdio.h>
int main(void)
{
int num;
printf("스위치를 1~3번중 선택하세요 \n");
scanf("%d",&num); //scanf로 입력받아 num값을 저장한다.
switch(num)
{
case 1 : //마지막 부분에 콜론을 입력
printf("1번 스위치를 선택하였습니다.");
break; //마지막 부분에 break을 입력
case 2 : //마지막 부분에 콜론을 입력
printf("2번 스위치를 선택하였습니다.");
break; //마지막 부분에 break을 입력
case 3 : //마지막 부분에 콜론을 입력
printf("3번 스위치를 선택하였습니다.");
break; //마지막 부분에 break을 입력
case 4 : //마지막 부분에 콜론을 입력
printf("고장입니다.");
break; //마지막 부분에 break을 입력
default ://마지막 부분에 break을 입력 x
printf("스위치 오류입니다.");
}
}
break문 continue문
종료해라!!!! 계속해라!!!
1. break문의 기능
- 조건문을 종료
- 반복문을 종료
2. continue의 기능
- 반복문을 생략
- while문, for문, do ~ while문과 같음 반복문에 사용
- switch문에서는 사용할 수 없다.
main()
{
. . .
while(조건식)
{
내용 1;
내용 2;
break;
}
내용3;
}
반복문에서 break를 만나면 무조건 반복문을 종료하고
다음문장(내용3)을 실행한다.
main()
{
. . .
while(조건식)
{
내용 1;
continue;
내용 2;
}
내용3;
}
반복문에서 confinue를 만나면 무조건 조건식을 실행. 내용2를 실행하지 않는다.
for문의 경우 증감문을 수행하게 된다.
#include<stdio.h>
int main(void)
{
char ch ;
printf("문자를 입력하세요.\n");
while(1)
{
scanf("%c", &ch);
if(ch == 'q')
break;
}
printf("반복문을 종료합니다.\n");
return 0;
}
-------------------------------------------------------------------------------------
#include<stdio.h>
int main(void)
{
int num;
for(num= 0; num<101; num++) 0부터 100까지 짝수만 출력
{
if(num%2 == 1) ----> 홀수는 실행하지 않는다.
continue;
printf("%d\n",num);----> 처음에 0이 출력
}
return 0;
}
'프로그래밍 > c언어' 카테고리의 다른 글
3. 연산자 (1190) | 2017.09.22 |
---|---|
2.데이터형과 입출력 (523) | 2017.08.26 |
1. C언어 기본 (506) | 2017.08.23 |