2-6.다음 프로그램의 결과는?
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int p=32767;
int n=-32768;
printf(" %d ",p+1);
printf(" %d ",n-1);
}
=>-32768 32767 (p,n모두 int자료형의 범위를 초과하여 엉뚱한 값을 출력)
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int p=32767;
int n=-32768;
printf(" %d ",p+1);
printf(" %d ",n-1);
}
=>-32768 32767 (p,n모두 int자료형의 범위를 초과하여 엉뚱한 값을 출력)
2-7.다음 프로그램에서 질문에 답하기
#include <stdio.h>
#include <conio.h>
void display_line(void); //(3) 함수의 prototype 선언
void main()
{
clrscr();
display_line();
printf("\n This is an Example program!\n");
display_line();
}
/* print asterisk line */ //(4) 설명문
void display_line(void) //(2) 함수 정의 부분
{
int counter; //(1) 변수 선언
for(counter=0; counter<20; counter++)
printf(" * ");
}
/* end of program */ //(4) 설명문
2-9.상수와 매크로 정의하기
#include <stdio.h>
#include <conio.h>
#define PI 3.141592 //(1) 3.141592값을 갖는 상수 PI를 정의
#define CERCUMFERENCE(x) x*x*PI //(2) CERCUMFERENCE를 macro를 사용하여 정의
void main()
{
int radius,a;
clrscr();
{
int radius,a;
clrscr();
scanf("%d",&radius);
a=(int)CERCUMFERENCE(radius);
printf("%d",a);
}
a=(int)CERCUMFERENCE(radius);
printf("%d",a);
}
2-10.상황에 맞는 선행처리기 쓰기.
#include <stdio.h>
#include <conio.h>
#define CELSIUS 1 // 매크로 상수 CELUIUS가 정의됨->1을 0으로 바꾸면 정의되지 않은 것임.
#if CELSIUS //매크로 상수 CELUIUS가 정의되었다면
#define temperature(t) 0.5555555*(t-32) // 0.5555555*(t-32)를 나타내는 매크로 temperature를 정의.
#else //매크로 상수 CELUIUS가 정의되지 않았다면
#define temperature(t) 1.8*t+32 // 1.8*t+32를 나타내는 매크로 temperature를 정의.
#endif
void main()
{
int x;
float k;
clrscr();
scanf("%d",&x); //실행 후 정수를 입력하세요.
k=(float)temperature(x);
printf("%f",k);
}