728x90

연재 완료/C Lang 예제코드 모음 83

C언어 연습문제 풀이 CH11 (5~8)

5. 문자열 "information"과 "communication"을 두 개의 포인터 변수에 각각 저장하고, 두 문자열을 합하여 출력하는 프로그램을 작성하라. //문자열 "information"과 "communication"을 두 개의 포인터 변수에 각각 저장하고, 두 문자열을 합하여 출력하는 프로그램을 작성하라. #include #include #include int main() { const char* str1 = "information "; const char* str2 = "communication"; char* str = (char*)malloc(sizeof(char) * (strlen(str1) + strlen(str2) + 1)); strcpy_s(str, _msize(str), str1);..

C언어 연습문제 풀이 CH11 (1 ~ 4)

1. isalpha()를 이용하여 알파벳 대/소문자를, isdigit()와 ispunct()함수를 이용하여 숫자와 특수 문자를 출력하는 프로그램을 작성하라. //isalpha()를 이용하여 알파벳 대/소문자를, isdigit()와 ispunct()함수를 이용하여 숫자와 특수 문자를 출력하는 프로그램을 작성하라. #include #include //C언어는 아스키코드로 문자를 표현하고 아스키코드는 총 256개(1byte)이다. int main() { printf("isalpha : "); for (int i = 0; i < 256; i++) { if (isalpha(i)) { printf("%c ", i); } } printf("\n"); printf("isdigit : "); for (int i = 0;..

C언어 표준 라이브러리 주요예제 3 (자료 변환 처리 함수 ~ 시간 관련 함수)

1. 키보드로부터 두 문자열을 입력받고, 이것을 double형 실수로 변환하여 합하는 프로그램을 작성하라. #include #include #include int main() { char buffer1[120]; char buffer2[120]; printf("첫번째 실수를 입력하세요 : "); gets_s(buffer1,120); printf("두번째 실수를 입력하세요 : "); gets_s(buffer2,120); printf("두 수의 합은 %g입니다. \n", atof(buffer1)+atof(buffer2)); } 2. 키보드로부터 두 문자열을 입력받고, 이것을 int형 정수로 변환하여 합하는 프로그램을 작성하라. #include #include #include int main() { char ..

C언어 표준 라이브러리 주요예제 2 (기억장치 관리 함수 ~ 문자 처리 함수)

기억 장치 관리 함수1. 10 바이트의 기억 공간을 확보하여 "Hello" 문자열에 할당하고 출력하는 프로그램을 작성하라. #include #include #include int main() { char* p; if ((p = (char*)malloc(10)) == NULL) { printf("메모리 할당 실패 \n"); return 0; } strcpy_s(p, 10, "Hello"); printf("%s",p); free(p); } 2. 5개의 변수에 대해 128 바이트 기억 공간을 확보하고, 만약 기억 공간을 할당받지 못할 경우 "메모리 할당 실패" 메시지와 함께 프로그램에서 빠져나오고, 할당받을 경우에는 한 문자열을 키보드를 통해 입력받을 수 있는 프로그램을 작성하라. #include #inclu..

C언어 표준 라이브러리 주요예제 1 (문자열 처리 함수)

1. 문자열을 복사하고, 길이를 구하는 프로그램을 작성하라. #include #include int main() { char str1[10]; strcpy_s(str1, "abc"); printf("%s", str1); printf("%zd \n",strlen(str1)); } 2. 키보드로부터 입력되는 두 문자열을 연결하는 프로그램을 작성하라. #define _CRT_SECURE_NO_WARNINGS //scanf로만 되기 때문에 넣어뒀다. //별로 좋은 예제는 아님. #include #include int main() { char str1[100]; char str2[100]; printf("첫번째 문자열을 입력하세요 : "); scanf("%s", str1); printf("두번째 문자열을 입력하세..

C언어 연습문제 풀이 CH10 (9-11)

9. 다음 주어진 프로그램을 전처리기가 처리한 후 결과가 어떻게 나올지 써보라. 의도한 것과 다르다면 소스를 고쳐라. #define SQR(x) ((x)*(x)) void main(void) { int i = 2; printf("%d\n", SQR(++i)) } //전처리기 처리 후 코드 #include #define SQR(x) ((x)*(x)) void main(void) { int i=2; printf("%d\n", SQR(++i)); //위의 코드는 printf("%d\n", (++i) * (++i)); //와 같다. 즉 3*4가 되어 12가 나온다. //매크로 함수에서는 증감연산자를 쓸 수 없다고 생각하는게 좋으니 i = 2; ++i; printf("%d\n", SQR(i)); //i값을 꼭 증..

C언어 연습문제 풀이 CH10 (6-8)

6. 입력받은 세 개의 정수 중 가장 큰 값을 구하는 프로그램을 매크로 MAX(A,B,C)를 이용하여 작성하라. #include #define MAX(a,b,c) (((a)>(b)) ? ((a) > (c) ? (a) : (c)) : ((b) > (c) ? (b) : (c))) int main() { int a, b, c; printf("a값을 입력하세요 : "); scanf_s("%d", &a); printf("b값을 입력하세요 : "); scanf_s("%d", &b); printf("c값을 입력하세요 : "); scanf_s("%d", &c); printf("입력하신 값 중에서 가장 큰 값은 %d입니다. \n", MAX(a, b, c)); } 7. 프로그램의 실행결과가 다음과 같이 되도록 매크로 pr..

C언어 연습문제 풀이 CH10 (1-5)

1. 매크로 정의를 이용하여 원의 둘레를 구하는 프로그램을 작성하라. #include #define PI 3.141592 #define circumference(r) 2*PI*r int main(void) { double r; printf("원의 반지름을 입력하세요 : "); scanf_s("%lf", &r); printf("반지름이 %g인 원의 둘레는 %g입니다 \n",r,circumference(r)); } 2. 매크로 정의를 이용하여 5의 세제곱의 값을 구하여 출력하는 프로그램을 작성하라. #include #define cube(r) r*r*r int main(void) { printf("5의 세제곱 : %d \n", cube(5)); } 3. 다음 프로그램에서 전처리기가 #define, #ifde..

C언어 연습문제 풀이 CH9 (15~19)

15. 복소수 곱셈을 수행하는 함수를 작성하라. 이때, complex에 대한 포인터를 반환하는 함수와 complex형의 값을 반환하는 두개의 함수를 각각 작성하라. #include #include //malloc(), free() 사용 struct complex { double real_number; //실수부 double imaginary_number; //허수부 }; complex cp_mult(complex c1, complex c2); complex* cp_mult_rp(complex c1, complex c2); int main() { complex c1, c2, c3; complex* cp; printf("복소수의 곱셈을 합니다. \n"); printf("첫번째 복소수의 실수부를 입력하세요 :..

C언어 연습문제 풀이 CH9 (6~14)

6. 백화점 신용카드 고객 중 "Johnson"의 정보를 출력하는 프로그램을 작성하라. #include #include struct Customer { int ID; char name[10]; char address[30]; char phone[15]; int price; }; int main() { Customer list[10]; list[0] = { 1234, "Johnson", "Taejon,Korea", "042-654-0987", 200000 }; printf("고 객 번 호 : %d \n", list[0].ID); printf(" 이 름 : %s \n", list[0].name); printf(" 주 소 : %s \n", list[0].address); printf("전 화 번 호 : %s ..

반응형