씨 프로그래밍(67)
-
상수-상수 종류, 정수형상수, 문자형상수
상수(constant) · 어떤 상황에서도 변하지 않는 값을 의미합니다. · 한번 값이 결정되면 프로세스가 종료될 때까지 값을 변경할 수 없습니다. · 프로그램에서 데이터는 변수 또는 상수의 형태로 사용합니다. · 동일한 상수를 여러 번 사용할 경우에는 값 자체를 직접 표현하지않고, 상수를 선언하여 값 대신에 이름(상수명)을 사용할 수 있습니다. 상수 사용시 장점 · 가독성 향상 · 수정 용이 · 오류 방지
-
Ex-typedef 키워드 사용
typedef 키워드 사용 typedef 사용하는 이유는 가독성을 높여주기 위해 사용하는 경우가 많습니다. 소스코드 #include typedef int cash; //int자료형을 cash라는 이름으로 재정의 사용하겠다는 의미 int main(void) { cash num1=1000; cash num2=10000; cash num3=5000; int num4=2000; cash total=0; total=num1+num2+num3+num4; printf("total amount : %d won \n", total); return 0; } 출력결과
-
Ex-강제 형변환 필요성
강제 형변환 필요성 정수를 정수 나눌 경우 데이터 손실이 발생 소스코드 #include int main(void) { int num1=10; //정수 int num2=3; //정수 double result; //실수 //정수형/정수형 -> 자동형변환에 의해 연산결과인 3.333 값에서 정수값만 result에 저장됩니다. result=num1/num2; //3 = 10/3 (3.333....) printf("결과1 : %lf \n", result); //데이터 손실 발생 result=(double)num1/num2; //강제 형변환, 실수형/정수형 printf("결과2 : %lf \n", result); result=num1/(double)num2; //강제 형변환, 정수형/실수형 printf("결과3 :..
-
Ex-자동 형변환(대입 연산자)
자동 형변환(대입 연산자) 대입 연산자를 기준으로 오른쪽에서 왼쪽으로 자동 형변환 소스코드 #include int main(void) { //문자형(작은 자료형) = int형(큰 자료형) //127까지 표현범위인데 130이므로 오버플로우 발생한 값을 다시 문자형으로 저장 char num1=130; //데이터 오버플로우 발생 //정수(작은 자료형) = 실수(큰자료형) int num2=3.14; //데이터 손실 //실수(큰 자료형) = 정수(작은 자료형) double num3=5; //데이터 손실 없음 printf("%d, %d, %lf \n", num1, num2, num3); return 0; } 출력결과
-
자동 형변환 (산술연산)
자동 형변환 (산술연산) 다른 자료형 간 산술 연산의 경우에 작은 자료형에서 큰 자료형으로 자동 형변환 소스코드 #include int main(void) { int num1=100; // 정수 double num2=3.14; // 실수 //작은 자료형에서 큰 자료형으로 자동 형변환 printf("%lf \n", num1+num2); // 정수 + 실수 printf("%lf \n", num1/num2); // 정수 + 실수 //2째자리까지 출력 printf("%.2lf \n", num1+num2); // 정수 + 실수 return 0; } 출력결과
-
알파벳을 입력하면 ASCII코드 값을 출력하고 ASCII코드 값을 입력하면 문자 출력하기
알파벳을 입력하면 ASCII코드 값을 출력하고 ASCII코드 값을 입력하면 문자 출력하기 소스코드 #include int main(void) { char val1; int val2; printf("문자 입력 > "); fflush(stdout); scanf("%c", &val1); printf("ASCII 코드 값: %d \n", val1); printf("ASCII 코드 값 입력 > "); fflush(stdout); scanf("%d", &val2); printf("문자: %c\n", val2); return 0; } 출력결과