코린이
Day7 본문
반응형
삼항 연산자
삼항 연산자는 다른 연산자들과는 다르게 피연산자가 3개이며 C언어에만 있는 연산자이다.
삼항 연산자의 원형으로는 조건식 ? 반환값1 : 반환값 2로 되어 있고 반환값 1은 참일 때의 값을 반환하고 반환값 2는 거짓일 때의 값을 반환한다.
#include<stdio.h>
int main(){
printf("연산 결과: %d\n",3 == 5 ? 11 : 22);
return 0;
}
위의 코드를 보면 연산 결과가 3과 5가 같으면 11을 반환하고 아니면 22를 반환하는 코드이다.
sizeof 연산자
sizeof 연산자는 넘겨주는 값의 크기를 구하는 연산자로 메모리 크기를 알려주는 함수이다.
sizeof 연산자의 원형은 sizeof(크기를 구해줄 값)으로 되어있다.
(sizeof는 학원에서 제대로 알려주지 않아서 나중에 따로 공부해 봐야 할 거 같다...)
#include<stdio.h>
int main(){
printf("크기: %d\n",sizeof(10.12)); //정답: 8
return 0;
}
오늘 배운 내용 응용해 보기!!
Q1) 숫자를 입력받고 해당 숫자가 14 이상일 때는 "14보다 크거나 같은 수"를 출력, 14미만일 때는 "14보다 작은 수"를 출력해 주는 프로그램을 작성(단, 코드 작성 시 삼항 연산 사용)
#include<stdio.h>
int main(){
int num;
printf("숫자를 입력하시오: ");
scanf("%d",&num);
printf("출력: %s\n",num >= 14 ? "14보다 크거나 같은 수" : "14보다 작은 수" );
reuturn 0;
}
Q2) 숫자를 입력받고 숫자가 3의 배수일 때는 참, 아닐 때는 거짓을 출력하는 프로그램 작성(코드 작성 시 삼항 연산자 사용)
#include<stdio.h>
int main(){
int sum;
printf("\n숫자를 입력하시오: ");
scanf("%d", &sum);
//printf("출력: %s\n", sum % 3 == 0 ? "참" : "거짓");
printf("출력: %s\n", sum % 3 ? "거짓" : "참"); //컴퓨터 입장에서는 0이 거짓
reuturn 0;
}
(1번 문제 보다 생각을 좀 더 해서 풀어서 선생님한테 보여드렸는데 맞긴 맞았는데 더 간소하게 쓸 수 있다고 거절당했다... 그래서 좀 더 고민해 보고 밑에 다시 적어서 보여드렸더니 그제야 선생님한테 통과 받았다)
반응형
Comments