if문
if ( number > 0 )
printf("양수입니다\n"); // 참인 경우
if ( temperature < 0 )
printf("현재 영하입니다.\n"); // 참인 경우
printf("현재 온도는 %도 입니다.\n", temperature); // 거짓인 경우
복합문
- 중괄호를 사용하여 문장들을 그룹핑한다.
- 블록(block)이라고도 한다.
- 단일문 대신 들어갈 수 있다.
// 복합문
// 조건식이 참이면 2개의 문장이 묶여서 실행된다.
if(score >= 60)
{
printf("합격입니다.\n")
printf("장학금을 받을 수 있습니다.\n")
}
if else문
// 1번 예시
if( number > 0 )
printf("양수입니다.\n");
else
printf("음수입니다.\n");
// 2번 예시
if( score >= 60 )
{
printf("합격입니다\n");
printf("장학금을 받을 수 있습니다.\n");
}
else
{
printf("불합격입니다\n");
printf("다시 도전하세요.\n");
}
복잡한 조건식
// 학점 결정 코드
if(score >= 80)&&(score < 90)
grade = 'B';
// 공백 문자들의 개수를 세는 코드
if(ch ==''||ch == '\n'||ch == '\t')
white_space++
중첩 if
if문에 다시 if문이 포함 - 잘 쓰이지는 않는다
if(score >= 80)
if(score >= 90)
printf("당신의 학점은 A입니다.");
if else if else문
#inclue <stdio.h>
int main(void)
{
int score;
printf("성적을 입력하시오: ");
scanf("%d", &score);
if(score >= 90)
printf("합격: 학점A\n");
else if (score >= 80)
printf("합격: 학점B\n");
else if (score >= 70)
printf("합격: 학점C\n");
else if (score >= 60)
printf("합격: 학점D\n");
else
printf("합격: 학점F\n");
return 0;
}
// 문자들을 분류하는 프로그램
#inclue <stdio.h>
int main(void)
{
char ch;
printf("문자를 입력하시오.");
scanf("%c", &ch);
if( ch>='A'&& ch<='Z' )
printf("%c는 대문자입니다.\n", ch);
else if( ch>='a'&& ch<='z' )
printf("%c는 소문자입니다.\n", ch);
else if( ch>='0'&& ch<='9' )
printf("%c는 숫자입니다.\n", ch);
else
printf("%c는 기타문자입니다.\n", ch);
return 0;
}
switch문
- 제어식의 값에 따라서 여러 경로 중에서 하나를 선택할 수 있는 제어 구조
- case의 인덱스는 꼭 0,1,2,3,4...의 순서가 아닌 2, 4, 7, 9 처럼 정하는 것도 가능하다.
#inclue <stdio.h>
int main(void)
{
int number;
printf("정수를 입력하시오: ");
scanf("%d", &number);
switch(number) {
case 0:
printf("없음\n");
break;
case 1:
printf("하나\n");
break;
case 2:
printf("둘\n");
break;
default: //default 생략 가능
printf("많음\n");
break;
}
return 0;
}
허용되지 않는 인덱스 알아보기
#inclue <stdio.h>
int main(void)
{
int number;
printf("정수를 입력하시오: ");
scanf("%d", &number);
switch(number) {
case x: //변수는 사용할 수 없다
printf("없음\n");
break;
case (x+2): //변수가 들어간 수식은 사용할 수 없다
printf("하나\n");
break;
case 0.001: //실수는 사용할 수 없다
printf("둘\n");
break;
case "001": //(아스키코드)문자는 가능하지만 문자열은 사용할 수 없다
printf("많음\n");
break;
}
return 0;
}
아스키코드 인덱스에 대한 예제
#include <stdio.h>
int main(void)
{
char symbol;
printf("기호를 입력하시오: ");
scanf(" %c", &symbol);
switch(symbol) {
case '+':
printf("더하기 기호를 입력하셨습니다.\n");
break;
case '-':
printf("빼기 기호를 입력하셨습니다.\n");
break;
default:
printf("다른 기호를 입력하셨습니다.\n");
break;
}
return 0;
}
goto문
#include <stdio.h>
int main(void)
{
int i = 1;
printf("구구단 3단:\n");
loop:
printf("%d * %d = %d\n", 3 , i , 3 * i);
i++;
if (i == 10) goto end;
goto loop;
end:
return 0;
}
'C Language' 카테고리의 다른 글
C언어 라이브러리의 rand() 함수 (0) | 2024.06.18 |
---|---|
C언어 Basic 반복문 while, for 개념 (0) | 2024.06.18 |
C언어 수식과 연산자의 의미 학습하기 (2) | 2024.06.13 |
C언어 변수에 대해 학습하기 (2) (2) | 2024.06.12 |
C언어 변수에 대해 학습하기 (2) | 2024.06.11 |