반응형

【 C 언어 】 #55 문자열 복사 strcpy() 사용자 정의 함수 만들기

 


 strcpy() 함수와 같은 문자열을 복사해주는 사용자 정의 함수를 만들어 봄으로서 C언어에서 자주 활용되는 포인터 등의 개념에 익숙해지도록 한다. 


▶ 문제  : "여름" 이라는 문자열을 복사하는 사용자 정의 함수(User_strcopy()) 를 작성하라.


▶ 실행 결과 :


(이미지 클릭, 확대해서 보세요)




▶ 포인트 


- strcpy() 함수 의 원형 :  char* strcpy(char* dest, const char* src);


-문자열을 부분적으로 복사하려면, strncpy() 함수를 사용하라. 


- 문자열이 NULL('0') 값인지 비교하고 값이 있을 경우 puts()를 이용해 출력한다.





▶ 프로그램 (답안 예시) : 

(이미지 클릭, 확대해서 보세요)


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


▶ 소스코드 다운로드 :  


55 문자열 복사(strcpy())함수 만들기.cpp


반응형
반응형

【 C 언어 】 #53 puts() 사용하여 문자열 출력하기



 문자열 전용 출력 함수인 puts()에 대해 다루어 보고, 역시 문자열 출력이 가능한 printf()와의 차이점에 대해서도 설명하려 한다. 


▶ 문제 1 

 "봄", "여름", "가을", "겨울" 각각의 단어를 define문으로 정의 하고ㅔputs() 함수를 사용하여 화면에 출력 하시오.  (SPRING, SUMMER, AUTUMN, WINTER)

또한 여름을 summer,  가을을 autumn 으로 문자열 상수(const char*) 로 선언하여 함께 출력해보라.


▶ 실행 결과 :

(이미지 클릭, 확대해서 보세요)

▶ 포인트 

- puts() 함수의 원형   :  int puts(const char* string); 

- #define SPRING "봄"  ,  #define SUMMER "여름" ,  ....


▶ 프로그램 (답안 예시) : 

(이미지 클릭, 확대해서 보세요)



▶ 코드 설명 :  

- const char* summer = "여름";  으로 정의 하여 사용하게 되면 프로그램 내에서는 변경이 불가 하다. 

- const char* autumn = AUTUMN;     처럼 기존 #define 문으로 정의 된 AUTUMN을 대입 선언할 수 도 있다.




----------------------------------------------------------------------------------------------------------


▶ 문제 2 

 위 프로그래밍 내용에서 printf() 문을 추가 사용하여 "봄", "여름", "가을", "겨울" 을 각각 출력하시오.  puts(), 와 printf()문의 차이를 확인하시오.


▶ 실행 결과 :

(이미지 클릭, 확대해서 보세요)



▶ 포인트 


[ puts() 함수와 printf() 함수와의 차이 ]


puts() 함수는 캐리지 리턴 이라고 하는 개행 문자('\n') , 즉 줄바꿈 명령어가 자동으로 기능한다.  이에 반해 printf()는 줄바꿈을 하려면 개행문자가 필요하다

- puts()는 문자열만 출력 가능하지만,  printf()는 문자열 뿐 아니라, %d, %f, %c, %s 등 정수, 실수, 문자, 문자열 등 다양한 출력이 가능하다)

- 따라서 printf()는 puts() 보다 리소스 자원을 많이 차지 하게 되고, 프로그램 실행속도에도 영향을 미치게 된다.  그러므로 필요한경우 puts()와 printf()를 적절히 구분해서 사용하면 된다. 



▶ 프로그램 (답안 예시) : 

(이미지 클릭, 확대해서 보세요)



+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



▶ 소스코드 다운로드 :  


문제 1,2 :  

52 puts() 사용하여 문자열 출력하기.cpp


반응형

【 C 언어 】 #51 printf() 사용하여 문자열 출력하기

Language/C & C++ 2018. 5. 18. 10:44 Posted by 엑소더스팩토리
반응형

【 C 언어 】 #50 printf() 사용하기



 printf()으로 큰 따옴표를 사용하여( ".... " ) 내용을 출력할 수 있지만. 문자열 변환 문자인 %s를 사용하여 출력할 수 있다. 이에 대해 좀더 살펴보자.


▶ 문제  

 1. "My birthday is twenty fourths of January"를 기본 printf()문으로 출력한다

 2. "My birthday is" , "January" , "twenty fourths" 를 문자열 변수로 각각 선언하고 printf()문에서 %s 를 사용하여 1번과 같은 문장이 되도록 출력한다. 



▶ 실행 결과 :


(이미지 클릭, 확대해서 보세요)



▶ 포인트 


- 문자열 변수 선언 :  char *text = "My birthday"



▶ 프로그램 (답안 예시) : 

(이미지 클릭, 확대해서 보세요)


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



▶ 소스코드 다운로드 :  


51 printf()로 문자열 출력하기.cpp



반응형

【 C 언어 】 #50 printf() 사용하기

Language/C & C++ 2018. 5. 18. 09:54 Posted by 엑소더스팩토리
반응형

【 C 언어 】 #50 printf() 사용하기



 C 프로그래밍을 할 때 데이터를 모니터 화면 출력을 위해 가장 많이 쓰는 함수가 printf()이다. 이번 시간에는 printf()의 좀더 다양한 표현 방법을 배워 보도록 하겠다. 


▶ 문제  : 먼저 a= 123, b=1234, c=12345 를 int로 d=123.45를 float로 선언한다. 


 1.  a,b,c를 정렬없이 printf()문으로 기본 출력. 

 2.  a,b,c를 5자리로 고정 출력.

 3.  a,b,c를 7자리로 좌측 정렬 출력.

 4.  a,b,c 를 한번에(하나의 printf()문으로) 출력

 5. a,b,c,d를 %f를 사용하여 실수 형태로 출력 (%7.2f 등등)


▶ 실행 결과 :


(이미지 클릭, 확대해서 보세요)




▶ 포인트 


%d는 별다른 옵션 없이 출력하면 우측으로 자동정렬된다

- %7d 와 같이 자리수를 지정할 수 있다

- %7.2f 처럼 실수 타입의 소숫점 및 전체 자리수를 지정할 수 있다

- 실수값을 정수형 %d 로 잘못 출력할 경우 임의의 쓰레기(garbage) 값이 들어간다



▶ 프로그램 (답안 예시) : 

(이미지 클릭, 확대해서 보세요)


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



▶ 소스코드 다운로드 :  


50 printf() 사용하기.cpp



반응형