C 6Day (20160114)
by jennysgap기타연산자
sizeof연산자 : 크기를 바이트 단위로 표기
콤마연산자 : 식들을 콤마로 구분하여 연산의 결과가 아닌 '구분'을 목적으로 주로 사용된다.
#include <stdio.h>
int main(void)
{
int a=0, b=0, c=0;
printf("정수의 크기는 %d입니다. \n", sizeof(int));
return 0;
}
기타연산자 예제
#include <stdio.h>
int main(void)
{
int su1=123;
char ch='a';
float su2=12.345;
printf("변수 su1의 크기 : %d byte \n", sizeof(su1));
printf("문자형 자료형의 크기 : %d byte \n", sizeof(char));
printf("수식(su1+su2)의 크기 : %d byte \n", sizeof(su1+su2));
printf("실수 1.23456의 크기 : %d byte \n", sizeof(1.23456));
printf("문자형 상수 'a'의 크기 : %d byte \n", sizeof('a'));
}
분석
su1+su2는 4byte형태에 4byte를 더했으니 당연히 4
1.23456은 기본적으로 8byte로 표현
왜 문자형 상스크기가 4byte로 나오는 거지? 아스키코드 'a'는 정수로 97이기 때문이다.
문제 풀어보기 전에 간단히 if문에 대해서 알아보기!
조건식 : if문
값이 짝수면 짝수라고 출력해줘
값이 홀수면 홀수라고 출력해줘
#include <stdio.h>
int main(void)
{
int num=0;
//if (조건식)
if (num==0)
{
printf("Hi~^^\n");
}
return 0;
}
조건식이 참이면 중괄호에 있는 문장을 수행해라 (거짓이면 수행 안함)
*주의* if문에서는 세미클론(;) 안쓴다!
문제
- 수를 입력 받아 짝, 홀수를 구분하여 출력하시오
http://colorscripter.com/s/ZBc44HV - 수를 입력 받아 3의 배수이면 출력하시오
http://colorscripter.com/s/68Ef0bE - 두 수를 입력 받아 큰 수를 출력하시오
http://colorscripter.com/s/W6ZNw7b - 세 수를 입력 받아 큰 수를 출력하시오
http://colorscripter.com/s/OVX2U9a - 두 수를 입력 받아 큰 수가 짝수이면 출력하시오
http://colorscripter.com/s/G2zBC32 - 두 수를 입력 받아 합이 짝수이고 3의 배수인 수를 출력하시오
http://colorscripter.com/s/nKAJImH
조건문(if)
정의 : 조건식을 평가하여 프로그램의 실행순서를 결정하는 제어문
단순 if문 : 조건식을 평가하여 참이면 종속문장을 거짓이면 다음 문장을 실행
flow-chart
조건문(계산기 기능 추가) 예제
#include <stdio.h>
int main(void)
{
int opt, n1, n2;
printf("1.덧셈 2.뺄셈 3.곱셈 4.나눗셈 \n");
scanf("%d", &opt);
printf("연산할 두 수를 입력하세요 :");
scanf("%d %d", &n1, &n2);
if (opt==1)
printf("%d+%d=%d\n", n1, n2, n1+n2);
if (opt==2)
printf("%d-%d=%d\n", n1, n2, n1-n2);
if (opt==3)
printf("%d*%d=%d\n", n1, n2, n1*n2);
if (opt==4)
printf("%d/%d=%d\n", n1, n2, n1/n2);
return 0;
}
조건문(if~else)
if else문 : 조건식을 평가하여 참이면 if와 else사이의 문장을 거짓이면 else 이후 문장 실행
* 도 아니면 모라는 문장을 쓸 때 많이 씀 *
#include <stdio.h>
int main(void)
{
int num1, num2;
scanf ("%d %d", &num1, &num);
if(num1 > num2) //num1>num2이 '참'이면 아래의 if블록을 실행!
{
printf("num1이 num2보다 큽니다. \n);
printf("%d > %d \n", num1, num2);
}
else //num1>num2이 '거짓'이면 아래의 else블록을 실행
{
printf("num1이 num2보다 크지 않습니다. \n);
printf("%d <= %d \n", num1, num2);
}
return 0;
}
조건문(if...else is...else)
- 셋 이상의 블록 중 하나를 선택해서 실행하는 구조
- 조건의 만족여부 검사는 위에서 아래로 진행이 된다.
- 조건이 만족되어서 해당 블록을 실행하고 나면 마지막 else까지도 건너뛴다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int main(void) { int opt,n1, n2; printf("1.덧셈 2.뺄셈 3.곱셈 4.나눗셈\n"); scanf("%d", &opt); printf("연산할 두 수를 입력하세요 :"); scanf("%d %d", &n1, &n2); if (opt==1) printf("%d+%d=%d\n", n1, n2, n1+n2); else if (opt==2) printf("%d-%d=%d\n", n1, n2, n1-n2); else if (opt==3) printf("%d*%d=%d\n", n1, n2, n1*n2); else printf("%d/%d=%d\n", n1, n2, n1/n2); return 0; } | cs |
조건문(삼항 연산자)
'BOX' 카테고리의 다른 글
C 8Day (20160118) (0) | 2016.01.21 |
---|---|
C 7Day (20160115) (0) | 2016.01.21 |
C 5Day (20160113) (0) | 2016.01.20 |
C 4Day (20160112) (0) | 2016.01.20 |
C 3Day (20160111) (0) | 2016.01.20 |
블로그의 정보
jennysgap
jennysgap