형 변환 및 연산자 , 제어문 연습문제들
실행(출력) 결과 스크린샷은 너무 많아서... 포기..
그냥 지금까지 한 내용물들만 복사 붙어넣기..
#include <stdio.h>
#include <conio.h>
/*
void main ( )
{
int a = 1;
goto xx;
for ( a = 1 ; a <= 10 ; a++)
{
printf("a = %d\n", a);
}
xx :
printf(" 끝\n");
}
*/
/*
void main ( )
{
int a = 1;
xx :
printf("a = %d\n", a++);
if ( a <= 3)
{
goto xx;
}
}
*/
/*
void main ( )
{
int a = 1;
while(a++ <= 30)
{
if( a%2 == 0 || a%3 == 0 || a%5 == 0)
{
continue;
}
printf("a = %d\n", a);
}
}
*/
/*
void main ( )
{
int a;
for ( a = 1; a <= 10; a++)
{
if( a%2 != 0)
{
continue;
}
printf("a = %d\n", a);
}
}
*/
/*
void main ( )
{
int a, b;
for ( a = 1; a <= 5; a++)
{
for( b =1; b <= 3; b++)
{
if( a % 2 != 0)
{
break;
}
printf("a = %d, b = %d\n", a, b);
}
}
}
*/
/*
void main ( )
{
int num, a = 1;
while( 1 )
{
printf("%d", a);
if (kbhit())
{
break;
}
a = (a+1) & 10;
printf("\b");
}
printf("\n당신은 %d점 입니다.", a);
getch();
}
*/
/*
void main ( )
{
int nai;
while( 1 )
{
printf("나이를 입력해 주세요 : ");
scanf("%d", &nai);
if ( nai < 0 )
{
printf("나이는 영보다 작을 수 없습니다. 다시 입력하세요. \n");
}
else if (nai > 150)
{
printf("거짓말 마세요. 다시 입력하세요. \n");
}
else
{
break;
}
}
printf("당신의 나이는 %d살 입니다.\n", nai);
}
*/
/*
void main ( )
{
int a;
while ( 1 )
{
printf("나와 싸우려면 아무숫자나 입력하고 항복하려면 3을 입력 하세요 : ");
scanf("%d", &a);
if ( a == 3 )
{
break;
}
printf("다시 한번 생각해 보세요.\n");
}
printf("결국 항복 했군요.\n");
}
*/
/*
void main ( )
{
int a = 1;
for ( ; ; a++)
{
printf("a = %d,",a);
if ( a == 10)
{
break;
}
}
printf("\nfor 문 종료\n");
while( 1 )
{
printf("a = %d, ", a--);
if(!a)
{
break;
}
}
printf("\nwhile 문 종료\n");
do
{
printf("a = %d,", ++a);
if ( a == 10 )
{
break;
}
} while (1);
printf("\ndo ~ while문 종료\n");
}
*/
/*
void main ( )
{
int a;
for ( a = 1; a <= 100000000; a++)
{
break;
printf("a = %d\n", a);
}
while ( 1 )
{
break;
printf("a = %d\n", a);
}
do
{
break;
printf("a = %d\n", a);
} while(1);
printf("프로그램이 종료됩니다.");
}
*/
/*
void main ( )
{
int x = 0;
int man, woman;
do
{
x++;
woman = 24 + x * 2;
man = 6 + x * 3;
printf("%3d분 뒤 출발점으로부터 이동된 거리 : ", x);
printf("여자 = %3dKm, 남자 = %3dKm\n", woman, man);
} while ( man < woman);
}
*/
/*
void main ( )
{
int x = 1; // 초기식
do
{
x++;
} while (x*5+3 != 38);
printf("강아지의 나이는 %d살 입니다.\n", x);
}
*/
/*
void main ( )
{
int i = 1; // 초기식
do
{
printf("i = %d\n", i++);
} while ( i <= 10);
}
*/
/*
void main ( )
{
int i = 1, su = 0;
while ( i <= 100 )
{
if( i%3==0 && i%5==0)
su++;
i++;
}
printf("1~100까지의 수중 3과 5의 공배수의 갯수는 = %d\n", su);
}
*/
/*
void main ( )
{
int i = 1, sum = 0;
while ( i <= 100 )
{
sum = sum + i++;
}
printf("sum = %d\n", sum);
}
*/
/*
void main ( )
{
int i = 10; // 초기식
while( i ) // 조건식
{
printf("i = %d\n", i--); // 명령문과 증감식
}
}
*/
/*
void main ( )
{
int i = 1; // 초기식
while( i <= 10 ) // 조건식
{
printf("i = %d\n", i++); // 명령문과 증감식
}
}
*/
/*
void main ( )
{
int x, y;
for ( x = 1; x <= 5; x++)
{
for ( y = 1; y <= 5; y++)
{
printf("□");
}
printf("\n");
}
}
*/
/*
void main ( )
{
int x, y;
for ( x = 1; x <= 9; x++)
{
for ( y = 2; y <= 9; y++)
{
printf("%d*%d=%-3d", y, x, x*y);
}
printf("\n");
}
}
*/
/*
void main ( )
{
int x, y;
for ( x = 2; x <= 9; x++)
{
for (y = 1; y <= 9; y++)
{
printf("%d*%d=%-3d", x, y, x*y);
}
printf("\n");
}
}
*/
/*
void main ( )
{
int x, y;
for ( x = 1; x <= 100; x++)
{
for (y = 1; y <= 100; y++)
{
if ( x + y == 75 && x * y == 1400 && x > y)
{
printf("남편의 나이는 %d살 아내의 나이는 %d살 이다.\n", x, y);
}
}
}
}
*/
/*
void main ( )
{
int i, j;
for ( i = 1; i <= 2; i++)
{
printf("외부 for문이 %d번째 턴이 시작됩니다.\n", i);
for ( j = 1; j <= 3; j++)
{
printf("내부 for문의 %d턴 입니다. \n", j);
}
printf("외부 for문의 %d번째 턴이 종료합니다.\n", i);
}
}
*/
/*
void main ( )
{
int i, j, k = 1;
for ( i = 1; i <= 2; i++)
{
for ( j = 1; j <= 3; j++)
{
printf("i = %d, j = %d, k = %d\n", i, j, k++);
}
}
}
*/
/*
void main ( )
{
int i, j;
for ( i = 1; i <= 2; i++)
{
for ( j = 1; j <= 3; j++)
{
printf("i = %d, j = %d\n", i, j);
}
}
}
*/
/*
void main ( )
{
int a;
for ( a = 1; a <= 5; a++)
{
printf("%d", a);
}
printf("\n");
}
*/
/*
void main ( )
{
char a, b;
for ( a = 'A', b = 'Z' ; a <= 'Z' ; a++, b--)
{
printf("%c%c", a,b);
}
printf("\n");
}
*/
/*
void main ( )
{
int a = 1;
for ( ; ; ) // 조건이 참임으로 무한 반복된다.
{
printf("a = %d \n", a++);
}
}
*/
/*
void main ( )
{
int a = 1;
for ( ; a <= 3 ;)
{
printf("a = %d \n", a++); // 내용에 증감식이 있음으로 별도의 증감식을 만들 필요가 없다.
}
}
*/
/*
void main ( )
{
int a = 1;
for ( ; a <= 3 ;) // 증감식에 의한 조건식의 변화가 없다면 무한 반복된다.
{
printf("a = %d \n", a);
}
*/
/*
void main ( )
{
int a = 1;
for ( ; ; a++) // 조건식을 생략하면 조건이 항상 참이 되어 무한 반복한다.
{
printf("a = %d \n", a);
}
}
*/
/*
void main ( )
{
int a = 1;
for ( ; a <= 3; a++ ) // a가 이미 초기화 되어 잇음으로 초기화 할 필요가 없다.
{
printf("a = %d \n", a);
}
}
*/
/*
void main ( )
{
int in, sum = 0, max = 0, min = 100, a;
for ( a = 1 ; a <= 10; a++)
{
printf("%d번째 숫자를 입력해 주세요 : ", a);
scanf("%d", &in);
sum = sum + in;
if( max < in )
{
max = in;
}
if (min > in)
{
min = in;
}
}
printf("입력한 수의 평균은 %lf 입니다.\n", sum/10.0);
printf("입력한 수의 최대값은 %d 입니다.\n", max);
printf("입력한 수의 최소값은 %d 입니다.\n", min);
}
*/
/*
void main ( )
{
int a, even = 0, odd = 0, sam = 0;
for ( a = 1; a <= 100; a++)
{
if (a %2 != 0)
{
even = even + a;
}
else
{
odd = odd + a;
}
if (a %3 == 0)
{
sam = sam + a;
}
}
printf("1~100까지의 수 중 홀수의 합은 %d 입니다.\n", even);
printf("1~100까지의 수 중 짝수의 합은 %d 입니다.\n", odd);
printf("1~100까지의 수 중 3의 배수들의 합은 %d 입니다.\n", sam);
}
*/
/*
void main ( )
{
int a, sum = 0;
for ( a = 1; a <= 100; a++)
{
sum = sum + a;
}
printf("1~100까지 정수의 합은 %d 입니다.\n", sum);
}
*/
/*
void main ( )
{
int dan, a;
printf("출력할 단수를 입력해 주세요 : ");
scanf("%d", &dan);
for ( a = 1; a <= 9; a++)
{
printf("%d * %d = %d \n", dan, a, dan * a);
}
}
*/
/*
void main ( )
{
char a;
for ( a = 'A'; a <= 'Z'; a++)
{
printf("%c", a);
}
printf("\n");
}
*/
/*
void main ( )
{
int a;
for ( a = 5; a > 0; a = a--)
{
printf("a = %d\n", a);
}
}
*/
/*
void main ( )
{
int a;
for (a = 1; a <= 50; a = a++)
{
printf("a = %d\n", a*2);
}
}
*/
/*
void main ( )
{
int a;
for ( a = 2; a <= 100; a = a + 2)
{
printf("a = %d\n", a);
}
}
*/
/*
void main ( )
{
int a;
for (a = 1; a <= 100; a = a++ )
{
printf("a = %d\n", a);
}
}
*/
/*
void main ( )
{
int a;
for (a = 1; a <= 10; a = a + 2)
{
printf("a = %d\n", a);
}
}
*/
/*
void main ( )
{
int a;
for (a = 1; a <=3; a++ )
{
printf("a=%d\n",a);
}
}
*/
/*
void main ( )
{
char x;
printf("문자를 한개 입력해 주세요 : ");
scanf("%c", &x);
switch ( x )
{
case 'A' : printf("에이 입니다.\n"); break;
case 'B' : printf(" 비 입니다.\n"); break;
default : printf("잘 모르겠습니다.\n");
}
}
*/
/*
void main ( )
{
double a;
printf("평균점수를 입력해 주세요 : ");
scanf ("%lf", &a);
switch ( a / 10 )
{
case 10 : printf("A학점 입니다.\n"); break;
case 9 : printf("B학점 입니다.\n"); break;
case 8 : printf("C학점 입니다.\n"); break;
case 7 : printf("F학점 입니다.\n");
}
}
*/
/*
void main ( )
{
int a;
printf("정수를 하나 입력해 주세요 : ");
scanf("%d", &a);
switch ( a % 2 )
{
case 0 : printf("a는 짝수입니다.\n"); break;
case 1 : printf("a는 홀수입니다.\n"); break;
}
}
*/
/*
void main ( )
{
int a;
printf("정수를 하나 입력해 주세요.");
scanf("%d", &a);
switch ( a )
{
case 1 :
printf("a = 1입니다.\n");
printf("1은 홀수입니다.\n");
break;
case 2 :
printf("a = 2입니다.\n");
printf("2는 짝수입니다.\n");
break;
default :
printf("a는 1 도 아니고 2도 아닙니다.\n");
printf("짝수인지 홀수 인지 모르겠군요.");
}
}
*/
/*
void main ( )
{
int a;
printf("정수를 하나 입력해 주세요 : ");
scanf("%d", &a);
switch ( a )
{
case 1 : printf("a = 1입니다.\n"); break;
case 2 : printf("a = 2입니다.\n"); break;
default : printf("a는 1도 아니고 2도 아닙니다.\n");
}
}
*/
/*
void main ( )
{
int a;
printf("정수를 하나 입력해 주세요 : ");
scanf("%d", &a);
switch ( a )
{
case 1 : printf("a = 1입니다."); break;
case 2 : printf("a = 2입니다."); break;
}
}
*/
/*
void main ( )
{
double jumsu;
printf("평군점수를 입력해 주세요 : ");
scanf("%lf", &jumsu);
if ( jumsu >= 90)
{
printf("A학점 입니다.\n");
}
if ( jumsu < 90 && jumsu >= 80)
{
printf("B학점 입니다.\n");
}
if ( jumsu < 80 && jumsu >= 70)
{
printf("C학점 입니다.\n");
}
if ( jumsu < 70 )
{
printf("F학점 입니다.\n");
}
}
*/
/*
void main ( )
{
double jumsu;
printf("평균점수를 입력해 주세요 : ");
scanf("%lf", &jumsu);
if ( jumsu >= 90 )
{
printf("A학점 입니다.\n");
}
else if ( jumsu >= 80)
{
printf("B학점 입니다.\n");
}
else if ( jumsu >= 70)
{
printf("C학점 입니다.\n");
}
else
{
printf("F학점 입니다.\n");
}
}
*/
/*
void main ( )
{
int year;
printf("연도를 입력해 주세요 : ");
scanf("%d", &year);
if ( year%4==0 && year%100!=0 || year%400==0)
{
printf("%d년은 윤년입니다.\n", year);
}
else
{
printf("%d년은 윤년이 아닙니다.\n", year);
}
}
*/
/*
void main ( )
{
int kor, eng, mat;
double ave;
printf("국어 점수를 입력해 주세요 : ");
scanf("%d", &kor);
printf("영어 점수를 입력해 주세요 : ");
scanf("%d", &eng);
printf("수학 점수를 입력해 주세요 : ");
scanf("%d", &mat);
ave = (kor + eng + mat) / 3.0;
if ( ave >= 60 && kor >= 40 && eng >= 40 && mat >= 40 )
{
printf("당신은 합격입니다.\n");
}
else
{
printf("당신은 불학격입니다.\n");
}
}
*/
/*
void main ( )
{
int a;
printf("점수를 입력해 주세요 : ");
scanf("%d", &a);
if ( a < 90 && a >= 80 )
{
printf("당신은 B학점입니다.\n");
}
else
{
printf("당신은 B학점이 아닙니다.\n");
}
}
*/
/*
void main ( )
{
int a;
printf("점수를 하나 입력해 주세요 : ");
scanf("%d", &a);
if ( a % 2 == 0 )
{
printf("%d는 짝수입니다.\n", a);
}
else
{
printf("%d는 홀수입니다.\n", a);
}
}
*/
/*
void main ( )
{
int a;
printf("점수를 입력해 주세요 : ");
scanf("%d", &a);
if ( a < 90 && a >= 80 )
{
printf("당신은 B학점입니다.\n");
}
}
*/
/*
void main ( )
{
int a = -12;
if ( a < 0 )
{
printf("a는 음수입니다.\n");
printf("안녕\n");
}
if ( a > 0)
{
printf("a는 양수입니다.\n");
printf("안녕\n");
}
}
*/
/*
void main ( )
{
int a = 2;
if ( a < 0 )
printf("a는 음수 입니다.\n");
printf("안녕\n");
}
*/
/*
void main ( )
{
int a = -2;
if ( a < 0 )
printf("a는 음수 입니다.\n");
printf("안녕\n");
}
*/
/*
여기부터 4
---------------------------------------------------------------
아래는 3
*/
/*
void main ( )
{
int a, b, c;
a = 5, b = a + 3, c = b % 5;
printf("a = %d, b = %d, c = %d\n", a, b, c);
}
*/
/*
void main ( )
{
int a = 2, b = 2;
a <<= 2;
b >>= 2;
printf("a = %d, b = %d\n", a, b);
}
*/
/*
void main ( )
{
int a = 2, b = 4, c = 6, d = 8, e = 10;
a += 3; // a = a + 3과 같은 의미이다.
b -= 2; // b = b - 2와 같은 의미이다.
c *= 3; // c = c * 3과 같은 의미이다.
d /= 2; // d = d / 2와 같은 의미이다.
e %= 3; // e = e % 3과 같은 의미이다.
printf("a = %d, b = %d, c = %d, d = %d, e = %d\n", a, b, c, d, e);
}
*/
/*
void main ( )
{
int a = 5, b = 3;
printf("a = %d, b = %d \n", a, b);
a = b = 0;
printf("a = %d, b = %d \n", a, b);
}
*/
/*
void main ( )
{
int a;
printf("하나의 정수를 입력해 주세요 : ");
scanf("%d", &a);
a%2==0 ? printf("짝수입니다\n") : printf("홀수입니다\n");
}
*/
/*
void main ( )
{
int a, b;
printf("첫번째 정수를 입력해 주세요 : ");
scanf("%d", &a);
printf("두번째 정수를 입력해 주세요 : ");
scanf("%d", &b);
printf("입력한 두 정수 중 더 큰 수는 %d입니다.\n", a>b ? a : b);
}
*/
/*
void main ( )
{
printf("%d\n", 5>2 ? 5*3 : 25/5); // 5>2가 참임으로 5*3의 결과인 15가 출력
printf("%d\n", 2>2 ? 2-5 : 2+5); // 2>2가 거짓임으로 2+5의 결과인 7이 출력
}
*/
/*
void main ( )
{
int a = 10, b = 5, c;
c = b>a ? b : a;
printf("c = %d\n", c);
}
*/
/*
void main ( )
{
int a = 3, b = 3, c = 3;
printf("%d\n", a>b && ++c); // a>b가 거짓임으로 ++c는 실행되지 않는다.
printf("c = %d\n", c);
}
*/
/*
void main ( )
{
printf("5 > 2 && 3 > 2 = %d\n", 5 > 2 && 3 > 2); // 참 && 참 이니 결과는 참
printf("5 > 2 && 3 < 2 = %d\n", 5 > 2 && 3 < 2); // 거짓 && 거짓 이니 결과는 거짓
printf("5 > 2 || 3 > 2 = %d\n", 5 > 2 || 3 > 2); // 참 || 참 이니 결과는 참
printf("5 > 2 || 3 < 2 = %d\n", 5 > 2 || 3 < 2); // 참 || 거짓 이니 결과/는 참
}
*/
/*
void main ( )
{
printf("0 && 0 = %d\n", 0 && 0); // 거짓 && 거짓 이니 결과는 거짓
printf("0 && 4 = %d\n", 0 && 4); // 거짓 && 참 이니 결과는 거짓
printf("3 && 0 = %d\n", 3 && 0); // 참 && 거짓 이니 결과는 거짓
printf("3 && 4 = %d\n", 3 && 4); // 참 && 참 이니 결과는 참
printf("0 || 0 = %d\n", 0 || 0); // 거짓 || 거짓 이니 결과는 참
printf("0 || 4 = %d\n", 0 || 4); // 거짓 || 참 이니 결과는 참
printf("3 || 0 = %d\n", 3 || 0); // 참 || 거짓 이니 결과는 참
printf("3 || 4 = %d\n", 3 || 4); // 참 || 참 이니 결과는 참
}
*/
/*
void main ( )
{
int a = -1, b = -5, c;
c = a & b;
printf("c = %d\n", c);
c = a | b;
printf("c = %d\n", c);
c = a ^ b;
printf("c = %d\n", c);
}
*/
/*
void main ( )
{
int a = 10, b = 6, c;
c = a | b;
printf("c = %d\n", c);
c = a ^ b;
printf("c = %d\n", c);
}
*/
/*
void main ( )
{
int a = 10, b = 6, c;
c = a & b;
printf("c = %d\n", c);
}
*/
/*
void main ( )
{
printf("5 ! = 2 + 4 > 1 = %d\n", 5 != 2 + 4 > 1);
// 산술연산이 우선순위가 높음으로 5 !=6 > 1로 계산되며 >가 먼저 연산되어 5 != 1이 된다. 따라서 출력은 1이다.
}
*/
/*
void main ( )
{
int a = 3, b;
b = a > 2; // 참임으로 b는 1
printf("b = %d\n", b);
b = a < 2; // 거짓임으로 b는 0
printf("b = %d\n", b);
b = a == 3; // 참임으로 b는 1
printf("b = %d\n", b);
b = a != 3; // 거짓임으로 b는 0
printf("b = %d\n", b);
}
*/
/*
void main ( )
{
int a;
printf(" 3 < 5 = %d\n", 3 < 5);
printf(" 3 < 3 = %d\n", 3 < 3);
printf(" 3 <= 3 = %d\n", 3 <= 3);
printf(" 3 <= 2 = %d\n", 3 <= 2);
printf(" 5 > 3 = %d\n", 5 > 3);
printf(" 3 > 3 = %d\n", 3 > 3);
printf(" 3 >= 3 = %d\n", 3 >= 3);
printf(" 3 >= 5 = %d\n", 3 >= 5);
}
*/
/*
void main ( )
{
int a = 5;
printf("a << 1 = %d\n", a << 1);
printf("a << 2 = %d\n", a << 2);
printf("a << 3 = %d\n", a << 3);
printf("a >> 1 = %d\n", a >> 1);
printf("a >> 2 = %d\n", a >> 2);
printf("a >> 3 = %d\n", a >> 3);
printf("a = %d\n", a); // a의 값은 그대로 5 이다.
}
*/
/*
void main ( )
{
printf("4 << -1 = %d\n", 4 << -1);
printf("4 << -2 = %d\n", 4 << -2);
printf("4 << -3 = %d\n", 4 << -3);
printf("4 >> -1 = %d\n", 4 >> -1);
printf("4 >> -2 = %d\n", 4 >> -2);
printf("4 >> -3 = %d\n", 4 >> -3);
}
*/
/*
void main ( )
{
printf("-4 << 1 = %d\n", -4 << 1); // -8, -4 * 2와 결과가 같다.
printf("-4 << 2 = %d\n", -4 << 2); // -16, -4 * 4와 결과가 같다.
printf("-4 << 3 = %d\n", -4 << 3); // -32, -4 * 8과 결과가 같다.
printf("-4 >> 1 = %d\n", -4 >> 1); // -2, -4 / 2와 결과가 같다.
printf("-4 >> 2 = %d\n", -4 >> 2); // -1, -4 / 4와 결과가 같다.
printf("-4 >> 3 = %d\n", -4 >> 3); // -1에서 더 이상 변하지 않는다.
}
*/
/*
void main ( )
{
printf("4 << 1 = %d\n", 4 << 1); // 8, 4 * 2와 결과가 같다.
printf("4 << 2 = %d\n", 4 << 2); // 16, 4 * 4와 결과가 같다.
printf("4 << 3 = %d\n", 4 << 3); // 32, 4 * 8과 결과가 같다.
printf("4 >> 1 = %d\n", 4 >> 1); // 2, 4 / 2와 결과가 같다.
printf("4 >> 2 = %d\n", 4 >> 2); // 1, 4 / 4와 결과가 같다.
printf("4 >> 3 = %d\n", 4 >> 3); // 0, 4 / 8와 결과가 같다.
}
*/
/*
void main ( )
{
printf("%d\n", 2 + 3 * 4 + 5 % 2); // 2 + 12 + 1로 계산되어 나온다.
printf("%d\n", 3 % 4 * 5); // 우선순위가 같다면 앞쪽 연산이 먼저 수행된다.
}
*/
/*
void main ( )
{
int a = 5;
printf("a / 0 = %d\n", a / 0); // 0으로 나누면 에러가 발생한다.
}
*/
/*
void main ( )
{
int a = 5;
printf("a / 2 = %d\n", a / 2); // int / int 임으로 결과가 int로 나온다.
printf("a / 2.0 = %lf\n", a / 2.0); // int / double 임으로 결과가 double로 나온다.
}
*/
/*
void main ( )
{
int a = 6, b;
b = a * 4; // 6 곱하기 4의 결과인 24 가 b에 들어간다.
printf("b = %d\n", b); // 24
b = a / 2; // 6 나누기 2의 결과인 3이 b에 들어간다.
printf("b = %d\n", b); // 3
b = a % 4; // 6을 4로 나눈 나머지 값인 2가 b에 들어간다.
printf("b = %d\n", b); // 2
}
*/
/*
void main ( )
{
int a = 6, b = 4, c;
c = a + b; // 6 더하기 4의 결과인 10이 c에 들어간다.
printf("c = %d\n", c); // 10
c = a - b; // 6 빼기 4의 결과인 2가 c에 들어간다.
printf("c = %d\n", c); // 2
}
*/
/*
void main ( )
{
int a = 5;
int *ip; // int의 주소값을 보관할 수 있는 포인터 변수 ip가 만들어진다.
ip = &a; // ip에 변수 a의 주소값을 넣는다. (ip가 a를 가리키게 한다.)
printf(" a = %d\n", a); // 변수 a에 들어 있는 5가 출력된다.
printf(" &a = %d\n", &a); // 변수 a의 주소값이 출력된다.
printf(" ip = %d\n", ip); // ip에 들어 있는 a의 주소값이 출력된다.
printf("&ip = %d\n", &ip); // 변수 ip의 주소값이 출력된다.
printf("*ip = %d\n", *ip); // ip를 역참조한 값이 출력된다. ip의 역참조 값이란 ip가 가리키고 있는 변수 a의 값을 말한다.
}
*/
/*
void main ( )
{
int a = 5;
printf("a = %d\n", a); // 변수 a에 들어 있는 5가 출력된다.
printf("&a = %d\n", &a); // 변수 a의 주소값이 출력된다.
// %p는 주소값을 출력하는 printf의 출력서식이다.
}
*/
/*
void main ( )
{
int a = 5, b;
b = ++a + ++a; // ++ 두 번이 먼저 실행되어 a가 된 뒤 a + a가 계산됨으로 b에는 14가 들어간다.
printf("a = %d\n", a); // 7
printf("b = %d\n", b); // 14
b = a++ + a++; // a + a가 실행 된 뒤 ++이 두 번 연산되어 b에 14가 들어간 후a가 증가해 9가 된다.
printf("a = %d\n", a); // 9
printf("b = %d\n", b); // 14
b = --a + a++; // a가 1감소해 8이 된 뒤 a + a 연산을 해 b에 16을 넣고 a가 증가해 9가 된다.
printf("a = %d\n", a); // 9
printf("b = %d\n", b); // 16
}
*/
/*
void main ( )
{
int a = 5, b = 8, c;
c = a-- + ++b; // a는 더해진 후 감소하고 b는 증가한 뒤 더해진다.
// 따라서 5 + 9가 되어 14가 c에 들어 간 이후 a가 4가 된다.
printf("a = %d\n", a);
printf("b = %d\n", b);
printf("c = %d\n", c);
}
*/
/*
void main ( )
{
int a = 5, b = 5;
printf("a = %d\n", a++); // a를 출력 한뒤 a가 1증가 됨
printf("a = %d\n", a);
printf("a = %d\n", ++a); // a를 증가 시킨 뒤 출력 함
printf("a = %d\n", a);
printf("a = %d\n", b--); // b를 출력 한 뒤 b가 1감소 됨
printf("a = %d\n", b);
printf("a = %d\n", --b); // b를 감소 시킨 뒤 출력 함
printf("a = %d\n", b);
}
*/
/*
void main ( )
{
int a = 5, b;
b = a++; // ++이 a에 뒤에 있음으로 a의 값이 먼저 b에 대입되어
// b가 5가 된 뒤 행이 끝나면서 a가 1증가해 6이 된다.
printf("a = %d\n", a); // 6
printf("b = %d\n", b); // 5
}
*/
/*
void main ( )
{
int a = 5, b;
b = ++a; // ++이 a의 앞에 있음으로 a가 1증가해
// 6이 된 뒤 그 값이 b에 대입된다. b도 6
printf("a = %d\n", a); // 6
printf("b = %d\n", b); // 6
}
*/
/*
void main ( )
{
int a = 5, b = 5;
a++; // a의 값이 1증가해 6이 된다.
b--; // b의 값이 1감소해 4가 된다.
printf("a = %d\n", a);
printf("b = %d\n", b);
}
*/
/*
void main ( )
{
short a, b, c;
a = -4;
b = -a + -a;
c = - - a;
printf("a = %d\n", a);
printf("b = %d\n", b);
printf("c = %d\n", c);
}
*/
/*
void main ( )
{
short a, b;
a = 5;
b = -a;
printf("-a = %d\n", -a);
printf("b = %d\n", b);
}
*/
/*
void main ( )
{
short a, b;
a = -3;
b = +a;
printf("+a = %d\n", +a);
printf("b = %d\n", b);
}
*/
/*
void main ( )
{
short a, b;
a = 15 - 7;
b = 15 + (~7+1); // 빼기 대신 ~한 수를 1 증가시켜 원래 수에 더하면 뺄셈을 한 것과 같은 결과가 나오게 된다.
printf("a = %d\n", a);
printf("b = %d\n", b);
}
*/
/*
void main ( )
{
short a, b;
a = ~ 15; // 15를 ~ 하면 -16이 된다.
b = ~ -16; // -16을 ~ 하면 15가 된다.
printf("a = %d\n", a);
printf("b = %d\n", b);
}
*/
/*
void main ( )
{
short a, b;
a = ~0; // 0을 ~하면 -1이 된다.
b = ~1; // 1을 ~하면 -2가 된다.
printf("a = %d\n", a);
printf("b = %d\n", b);
}
*/
/*
void main ( )
{
int a, b;
a = !3 + !0 + !!14; // 3은 참임으로 !하면 0, 0은 거짓임으로 !하면 1,
// 4는 참임으로 !하면 0, 0을 다시 !하면 1이 된다.
// 따라서 a에는 0 + 1 + 1 의 결과인 2가 들어간다.
// > 보다 !이 우선순위가 높음으로 0 > 6이 되어 결과가 0
b = !3 > 6;
printf("a = %d\n", a);
printf("b = %d\n", b);
}
*/
/*
void main ( )
{
printf("%d\n", !0); // 거짓인 0을 ! 했음으로 1
printf("%d\n", !3); // 참인 3을 ! 했음으로 0
printf("%d\n", !'A'); // 참인 'A' 를 ! 헸음으로 0
printf("%d\n", (3>2)); // 3 > 2는 참임으로 1
printf("%d\n", !(3>2)); // 참인 3 > 2 를 ! 했음으로 0
}
*/
/*
void main ( )
{
int a, b;
a = !1; // 참인 1을 ! 했음으로 a에는 0이 들어간다.
b = !0; // 거짓인 0을 ! 했음으로 b에는 1이 들어간다.
printf("a = %d\n", a);
printf("b = %d\n", b);
}
*/
/*
struct st // 구조체 st를 만든다.
{
int nai; // 첫번째 멤버인 int nai 선언
double ki; // 두번째 멤버인 int ki 선언
};
void main ( )
{
struct st stu1; // struct st형으로 구조체형 변수 stu1을 만든다.
struct st *sp; // struct st형 포인터 변수 sp를 만든다.
sp = &stu1; // sp에 stu1의 주소값을 넣는다.
sp->nai = 10; // sp가 가리키고 있는 구조체형 변수 stu1의 nai에 10을 넣는다.
sp->ki = 100.5; // sp가 가리키고 있는 구조체형 변수 stu1의 ki에 100.5를 넣는다.
printf("sp->nai = %d\n", sp->nai);
printf("sp->ki = %lf\n", sp->ki);
}
*/
/*
struct st // 구조체 st를 만든다.
{
int nai; // 첫 번째 멤버인 int nai 선언
double ki; // 두 번째 멤버인 double ki 선언
};
void main ( )
{
struct st stu1; // struct st형으로 구조체형 변수 stu1을 만든다.
stu1.nai = 10; // stu1의 멤버인 nai에 10을 넣는다.
stu1.ki = 100.5; // stu1의 멤버인 ki에 100.5를 넣는다.
printf("stu1.nai = %d\n", stu1.nai);
printf("stu1.ki = %lf\n", stu1.ki);
}
*/
/*
void main ( )
{
int a[3]; // 크기가 3인 int형 배열을 만든다.
a[0] = 5; // 배열의 0번째 원소에 5를 집어 넣는다.
a[1] = 6; // 배열의 1번째 원소에 6를 집어 넣는다.
a[2] = 7; // 배열의 2번째 원소에 7를 집어 넣는다.
printf("a[0] = %d\n", a[0]);
printf("a[1] = %d\n", a[1]);
printf("a[2] = %d\n", a[2]);
}
*/
/*
void main ( )
{
int a, b;
a = 5 * 3 - 1; // a에 14가 들어간다.
b = 5 * (3 - 1); // b에 10이 들어간다.
printf("a = %d\n", a);
printf("b = %d\n", b);
}
*/
/*
void main ( )
{
double a = 12.34;
int b;
b = (int)a;
a = a - (double)b;
printf(" b= %d, a = %lf \n", b, a);
}
*/
/*
void main ( )
{
int a;
double b;
a = 1.5 + 1.5;
printf(" a = %d \n", a);
a = (int)1.5 + (int)1.5;
printf(" a = %d \n", a);
b = 1.7 + (int)1.7;
printf(" b = %lf \n", b);
}
*/
/*
void main ( )
{
int a;
double b = 3.14;
a = (int) b;
printf(" a = %d \n", a);
printf(" b = %lf \n", b);
}
*/
/*
void main ( )
{
int a;
char b;
double c;
a = 65.78;
b = 65.78;
printf(" a = %d \n", a);
printf(" b = %c \n", b);
c = b;
printf(" c= %lf \n", c);
}
*/
/*
void main ( )
{
printf("5 / 2 = %d\n", 5 / 2);
printf("5 / 2.0 = %lf\n", 5 / 2.0);
printf("5.0 / 2 = %lf\n", 5.0 / 2);
printf("5.0 / 2.0 = %lf\n", 5.0 / 2.0);
}
*/
/*
void main ( )
{
printf("int의 크기 = %d byte\n", sizeof(3));
printf("char의 크기 = %d byte\n", sizeof('A'));
printf("char + int의 크기 = %d byte\n", sizeof('A'+1));
printf("char + char의 크기 = %d byte\n", sizeof('A'+'B'));
printf("int + double의 크기 = %d byte\n", sizeof(3+3.14));
printf("char + double의 크기 = %d byte\n", sizeof('A'+3.14));
}
*/