[삼항연산자]
:항이 3개인 연산자
항 == 피연산자
연산의 목적: 조건에 의해서 참일 때와 거짓일 때의 결과값을 연산하기 위한 연산자
구조
조건식 ? 참일때값 : 거짓일때 값;
<실습> 삼항연산자.c
사용자에게 2개의 숫자를 입력받아, 변수에 저장하고 두 변수 중 큰 값을 출력해라.
#include <stdio.h>
int main() {
int x, y,max;
printf("숫자1 입력:");
scanf("%d", &x);
printf("숫자2 입력:");
scanf("%d", &y);
//max=x와y중 더 큰수;
max = x < y ? y : x;
printf("더 큰 수는 %d 입니다!\n",max);
return 0;
}
——————————————————
<실습> 동의.c
동의하면 ‘y’ 동의하지 않으면 ‘n’을 입력받아, 변수에 저장하고 두 변수 중 큰 값을 출력해라
#include <stdio.h>
int main() {
char user;
printf("동의하시겠습니까?(y,n)\n");
scanf("%c", &user);
printf("%s", user == 'y' ? "사용자는 동의하였습니다" : user=='n'?"사용자는 동의하지 않으셨습니다.":"잘못입력하셨습니다");
return 0;
}
—————————————————
[제어문]
프로그램의 흐름을 제어하는 문법
프로그램의 흐름?
: 명령의 실행하는 순서
제어문의 종류
- 조건문
: 조건에 따라 명령을 실행할지 안할지를
제어하는 문법
- 반복문
: 조건에 따라 명령을 반복할지 안할지를
제어하는 문법
————————————————
[조건문]
조건문의 종류
-if문
-switch문
[if문]
만약 (조건)이 참이라면 명령을 실행해라
<구조>
if(조건식1){
조건1이 참일 때 실행할 명령;
}
else if(조건식2){
조건1이 거짓이면서
만약에 조건2가 참일때 실행할 명령;
}
else{
조건2가 거짓일 때 실행할 명령;
}
*else는 바로 위에오는 조건식이 거짓일때 실행하는 명령이다.
[switch문]
<구조>
switch(변수){
case 값1:
변수==값1 일때, 실행할 명령;
break; //값 비교를 중단해라
case 값2:
변수==값2 일때, 실행할 명령;
break;
case 값3:
변수==값3 일때, 실행할 명령;
break;
...
default:
모든 case가 아닐때, 실행할 명령;
}
if문 vs switch문
if문: 조건이 참,거짓인가에 따라서 명령 실행할지 말지 결정
switch문: 변수의 값에 따라 case별로 실행할 명령을 경우에 따라 나눔
<switch문 주의 할점!!>
1) case의 값은 switch(변수 or 식)가 가질수 있는 자료형으로 적어주기
2) case의 값들은 서로 다른 값이어야함
3)각 case들은 명령이 끝나면, break 꼭 적어주기