본문 바로가기

C&C++_Basic

Effectivce C++ #define 대신 const, enum, inline http://www.yes24.com/Product/Goods/17525589 Effective C++ 이펙티브 C++ - YES24 www.yes24.com // 1. #define을 쓰려거든 const, enum, inline #define ASPECT_RATIO 1.653 // 1. const ----------------------------------------------------------------------------------------------------------------------------- /* 컴파일러 입장에서는 ASPECT_RATIO가 기호식 이름으로 전혀 보이지 않는다. 컴파일러에게 넘어가기 전에 선행 처리자(전처리기)가 밀어버리고 숫자 상수로 바꿔어 버리기 때문이다... 더보기
표준 입력으로 받은 정수 n에 대하여 1부터 n까지의 합을 구하는 함수를 재귀함수로 작성하고, 합이 출력되도록 프로그램 #include int factorial (int number); int main() { int input; printf("정수를 입력하세요\n"); scanf("%d",&input); printf("1부터 입력한 정수까지 더한 결과는 %d입니다\n",factorial(input)); return 0; } /* int factorial(int number) { int i; int sum = 0; while(1) { if(number 더보기
2개의 double 포인터 변수 입력받고 최대 최소간 사칙연산 다음을 참고로 표준입력으로 받은 double 형의 두 실수의 사칙연산을 수행하는 프로그램을 작성하시오. 두 개의 double 형 변수를 선언하여 표준입력을 받음 두 개의 double 형 포인터 변수를 선언하여 위 두 실수에 대한 사칙연산을 수행 #include # define MAX(x,y) ((x)>(y))? x : y # define MIN(x,y) ((x) 더보기
Double 을 int byte로 나눠서 사칙연산 다음을 참고로 표준입력으로 받은 int 형의 두 정수의 사칙연산을 수행하는 프로그램을 작성하시오. double 형 변수의 8바이트 저장 구조를 각각 4바이트의 저장 구조로 생각해서 표준입력으로 받은 두 정수를 저장 두 정수에 대하여 사칙연산을 수행 #include # define MAX(x,y) ((x)>(y))? x : y # define MIN(x,y) ((x)> &a : 주소값을 인자로 넣어주는 것 %d , %(d+4) / &(d+sizeof(int)) */ // 정수로 받겠습니다. 라는 표현. // , 8개로 선언해주되 // 앞 4byte는 int, 뒤에 +4 주소값해서 또 int 받기. // 즉, scanf 가 꼭 initialiation과.. 더보기
C언어 입력 정수 32비트 정보 모두 출력 다음 조건을 만족하면서 정수를 입력 받아 32비트의 비트 정보를 모두 출력하는 프로그램을 작성하시오. 입력 받은 정수가 0이면 종료하고 0이 아니면 계속 수행 #include int main() { printf("정수를 입력하세요\n"); int input,i,j; scanf("%d",&input); int result = input; if(input == 0) printf("프로그램을 종료합니다"); else for(i=31;i>=0;i--) { printf("%d",(input >> i) & 1); } return 0; } 윤성우의 열혈 자료구조:C언어를 이용한 자료구조 학습서 COUPANG www.coupang.com 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음 더보기
C언어 입력 숫자 만,천,백,십,일 단위 출력 정수인 천만 이하의 한 수를 입력 받아 우리가 사용하는 단위인 만, 천, 백, 십, 일 단위로 출력하는 프로그램을 작성하시오. 즉 입력이 2347653이면 “234만 7천 6백 5십 3입니다.” 로 출력 #include int main() { int num, i; int a,b,c,d,e; printf("천만 이하의 수를 입력하세요\n"); scanf("%d",&num); int result = num; while(result>=100) { if(result>=1000000) { a = result%10; result/=10; } else if(result>=100000) { b = result%10; result/=10; } else if(result>=10000) { c = result%10; res.. 더보기
C언어 표준입력 max,min 사이 몫 나머지 1. 표준입력으로 두 정수를 입력 받아 큰 수를 작은 수로 나눈 몫과 나머지를 각각 출력하는 프로그램을 작성하시오. #include int main() { int a,b; printf("두 정수를 입력하세요\n"); scanf("%d %d",&a,&b); if(a>=b) { printf("a를 b로 나눈 몫은 %d 이다\n",a/b); printf("a를 b로 나눈 나머지 %d 이다\n",a%b); } else { printf("b를 a로 나눈 몫은 %d 이다\n",b/a); printf("b를 a로 나눈 나머지 %d 이다\n",b%a); } } 더보기
C언어 우측정렬,좌측정렬 기초 두 실수를 표준입력으로 입력 받아 다음 조건을 만족하는 프로그램을 작성하시오. 두 실수가 가로, 세로인 사각형의 면적을 전체 폭 12, 소수 이하 3자리, 우측정렬로 출력 두 실수가 가로, 세로인 삼각형의 면적을 전체 폭 12, 소수 이하 3자지, 좌측정렬로 출력 #include int main() { float a,b; printf("가로와 세로 길이를 입력하세요\n"); scanf("%f %f",&a,&b); printf("사각형의 면적은 %12.3f이다\n",a*b); printf("삼각형의 면적은 %-12.3f이다\n",a*b*0.5); return 0; } 윤성우의 열혈 자료구조:C언어를 이용한 자료구조 학습서 COUPANG www.coupang.com 파트너스 활동을 통해 일정액의 수수료를 제.. 더보기