본문 바로가기

흔한 학교 생활/든든한 C 프로그래밍17

[C언어] 든든한 C 프로그래밍 3판 11장 워크북 답 풀이 1. level 1-1 for (i = 0; i sum += ptr->score[i]; ptr->avg = ptr->sum / 3.0; printf("%s, %d, %d, %d.. 2023. 7. 12.
[C언어] 든든한 C 프로그래밍 3판 12장 워크북 답 풀이 1. level 1-1 텍스트파일을 wt모드로 열고 파일을 열지 못했으면 Open Error를 출력한다 처음 asc는 48로 초기화되었고 asc가 57 이하일 때 asc를 파일에 작성하고 asc를 증가시킨다 텍스트 파일에는 0123456789 이 쓰인다. 2. level 1-2 while(fscanf(fp, "%c",&inputChar)!=EOF) { printf("%c ", inputChar); } fscanf(fp, "%c",&inputChar)!=EOF printf("%c ", inputChar); 3. level 2-1 구조체 배열에 저장된 학생정보 //파일 저장 for (i = 0; i < STU_SZ; i++) { fprintf(fp, "%s %3d %3d %3d %7f ", stu[i].na.. 2023. 7. 12.
[C언어] 든든한 C 프로그래밍 3판 12장 연습문제 답 풀이 12장 Quiz (빈칸채우기) 데이터가 입력될 때마다 구조체 변수에 저장하여 파일에 추가 입력이 종료되면 파일의 데이터를 처음부터 끝까지 출력 성명이 end면 반복 종료 fwrite() 로 입력된 emp변수 내용을 fp에 저장(기존 파일에 내용 추가) fopen() 추가모드로 파일 열기 fread() fp에서 읽어 구조체 변수에 저장 구조체 변수 emp 출력 fread()실패하면 반복 탈출, 성공하면 세 번째 인자 반환?#include #include #include #pragma warning(disable:4996) struct EMP { char name[20]; char telno[20]; int salary; }; int main() { FILE* fp; struct EMP emp; int i;.. 2023. 7. 11.
[C언어] 든든한 C 프로그래밍 3판 11장 연습문제 답 풀이 [11-4] sizeof(emps)는 112 sizeof(struct EMP) 는 28 이므로 답은 4 [11-5] //1번 struct A { int age; char name[20] //세미콜론 없음 }st; age=20; //st.age로 접근해야 함 //2번 struct A { int age; char name[20] //세미콜론 없음 }st,*ptr; ptr=st; //구조체 변수는 포인터가 아니므로 주소 연산자 & 를 붙여야 함 //3번 struct A { int age; char name[20] //세미콜론 없음 }st, *ptr; ptr=&st; ptr.age=25; //포인터 변수에는 (*ptr).age 혹은 ptr->age 사용해야함 11-6 학번 문자 크기가 6이라서 이상하게 나오는 .. 2023. 7. 10.
[C언어] 든든한 C 프로그래밍 3판 10장 워크북 답 풀이 1. level 1-1 실행결과를 기술하라 dnum의 주소를 포인터 dp에 저장 *dp=1.5; 로 1.5가 저장되었고 다음 코드로 1.5가 다시 더해져 dnum의 값은 3.0이 된다. dnum: 3.0, *dp: 3.0 2. level 1-2 문자 배열에 저장된 문자열을 포인터를 사용해 한 문자씩 출력하는 프로그램 사실 printf 할때 언제* 붙이고 안붙이는지 잘 모르겠다 문자 배열에는 *ptr 을 쓰는구나 그리고 while 문 안에 코드 두 줄이 들어가있는데 한줄만 썼다 #include #include #pragma warning(disable:4996) int main() { char msg[100] = "Hello World !!!"; char* ptr; printf("msg : %s \n", .. 2023. 7. 9.
[C언어] 든든한 C 프로그래밍 3판 9장 워크북 답 풀이 1. level 1-1 names 배열에 kim lee han park uk 저장 빈 tmp 배열 정의 names 배열에서 tmp에 복사한 후 쉼표 추가 tmp 출력 실행결과 tmp : kim,lee,han,park,uk 2. level 1-2 각 행의 점수 평균을 구하고 출력하는 프로그램 #include #include int main() { int score[4][5] = { 78,90,34,46,80,98,74,84,76,72,76,48,34,72,89,61,91,67,88,83 }; int i, j, sum = 0, row, col; row = sizeof(score)/sizeof(score[0]); col = sizeof(score[0])/sizeof(score[0][0]); for (i = 0.. 2023. 7. 8.
[C언어] 든든한 C 프로그래밍 3판 10장 연습문제 답 풀이 답안 코드에 필요없는 #pragma warning(disable:4996) 코드가 들어있을 수 있으니 이 점 유의하여주시기 바랍니다. [10-1] 1) 실행중인 프로세스의 메모리 주소를 포인터라 한다. 2) 변수의 시작주소를 사용하기 위해 주소 연산자 &를 사용한다. 3) 첨자가 없는 배열변수명은 그 배열이할당된 메모리의 시작주소를 의미한다. 4) 메모리 주소를 저장하여 데이터로 사용하는 변수를 포인터 변수라 한다. 5) 포인터 변수에 저장된 주소의 데이터에 참조하기 위해 간접 연산자를 사용한다. 6) 모든 포인터의 메모리할당은 선언되는 자료형과 관계없이 32비트 운영체제에서는 4 바이트를 할당 받는다. 7) 변수의 주소를 16진수로 출력하기 위한 printf() 함수의 형식 지정자는 %p 이다. 8) .. 2023. 7. 7.
[C언어] 든든한 C 프로그래밍 3판 9장 연습문제 답 풀이 [9-1] 1) 문자열 복사 함수는 strcpy 이다. 2) 문자열 추가 함수는 strcat 이다. 3) 문자열 비교 함수는 strcmp 이다. 4) 첫 번째 문자열 중 두 번째 문자열이 포함되어 있는지 확인할 수 있는 함수는 strstr 이다. 5) 답: 가로줄 6) 답: 2 7) 답: 0 [9-2] i는 문자열의 길이인 7 에 -1인 6이며 i가 6, 4, 2, 0 일 때 문자열이 출력된다. 때문에 m d n k 가 출력된다. [9-3] 정답 4 [9-4] 정답 1 [9-5] #include #include #pragma warning(disable:4996) int main(void) { int num[10], count[10], i, j; for (i = 0; i < 10; i++)//값 입력받기.. 2023. 7. 6.
[C언어] 든든한 C 프로그래밍 3판 3장 연습문제 답 풀이 [3-1]1) char int float double void 2) 1 2 4 4 8 3) int 4) double 5) 선언 6) &(주소연산자) 7) signed unsigned 8) cast [3-2]정답 3, 5, 6번 [3-3]정답 1, 4, 5번 1 - 운영체제에 따라 다름 4 - 메모리 할당 크기 같음 5 - 자동 변환 오류 X [3-4]정답 4번 [3-5]정답 1번 2023. 7. 4.
[C언어] 든든한 C 프로그래밍 3판 2장 연습문제 답 풀이 [2-1]1) .obj .exe 2) .c 3) main 4) syntzx 5) 논리 6) 부모 [2-2] [2-3] [2-4]정답 2, 3, 4번 2 - 숫자로 시작 X 3 - 띄어쓰기 X 4 - 예약어 X 2023. 7. 4.
[C언어] 든든한 C 프로그래밍 3판 5장 연습문제 답 풀이 [8-8] #include #pragma warning(disable:4996) #define MAX 5 int main() { int score[MAX], count, sum = 0, max, min; int i; for (i = 0; i 100) { i -= 1; } else sum = sum + score[i]; } max = min = score[0]; for (i = 1; i < MAX; i++) { int j; for (j = 0; j < 5 - i; j++) { if (max < score[j]) max = sc.. 2023. 7. 3.
[C언어] 든든한 C 프로그래밍 3판 6장 연습문제 답 풀이 [6-6] 8온스가 들어가는 컵이 있다. 온스를 컵의 단위로 바꾸는 프로그램을 작성하라 #include #pragma warning(disable:4996) int main() { int oun; printf("온스 입력 "); scanf("%d", &oun); printf("%d 온스는 %d 컵이다 ", oun, oun / 8 + (oun%8!=0)); return 0; } 결과 온스 입력 50 50 온스는 7 컵이다 온스 입력 48 48 온스는 6 컵이다 [6-8] #include #pragma warning(disable:4996) #define PI 3.14159 double area1(int r); double area2(int r); int main() { int radius; printf(".. 2023. 7. 3.
[C언어] 든든한 C 프로그래밍 3판 5장 연습문제 답 풀이 [5-5]2g, 3g, 5g 각 10개씩 있다. 81g이 되는 모든 경우의 수를 출력하라#include int main() { int i, j, k, tot, count = 0; for(i=1;ikg, K)kg ->pound ? p 파운드 입력 ? 35 35 파운드는 15.876 킬로그램이다.P)pound->kg, K)kg ->pound ? k 킬로그램 입력? 40 40.000 킬로그램은 88.185 파운드이다.P)pound->kg, K)kg ->pound ? a unknown command.[5-7] #include #pragma warning(disable:4996) int main() { int i, r; for (r = 'A'; r 2023. 7. 3.
[C언어] 든든한 C 프로그래밍 3판 3장 연습문제 답 풀이 [3-7] #define _CRT_SECURE_NO_WARNINGS #include int main() { int h, m; printf(" 시간\b\b\b\b\b\b"); scanf("%d", &h); printf(" 분\b\b\b\b"); scanf("%d", &m); system("cls"); printf("%d시간 %d분은 %d초입니다.\b", h, m, 3600 * h + 60 * m); return 0; } 결과 4시간 30분은 16200초입니다 [3-8] #include #pragma warning(disable:4996) int main() { int kor, eng, mth; printf("국어 ? "); scanf("%d", &kor); printf("영어 ? "); scanf("%d".. 2023. 7. 3.
[C언어] 든든한 C 프로그래밍 3판 4장 연습문제 답 풀이 [4-2] #include #pragma warning(disable:4996) #define PI 3.14159 int main() { int radius; printf("반지름 ? "); scanf("%d", &radius); printf("반지름이 %d인 원의 둘레 : %lf\n", radius, 2 * PI * radius); printf("반지름이 %d인 원의 넓이 : %lf\n", radius, PI * radius * radius); return 0; } 결과 반지름 ? 7 반지름이 7인 원의 둘레 : 43.982260 반지름이 7인 원의 넓이 : 153.937910 [4-8] double로 계산된 값을 int로 바꿔 출력하기에 경고 메세지가 뜨며 컴파일이 안될 수 있다. 때문에 #defin.. 2023. 7. 3.
[C언어] C 프로그래밍 중간고사 대비 연습문제 [든든한 C 프로그래밍 3판] CHAP1~CHAP8 배열과 문자열까지 핵심 복습 1. 팩토리얼 계산 코드(재귀 함수 이용) - 입력만 있고 반환값이 없음 static 이용 #include #pragma warning(disable:4996) //1. 팩토리얼 int fact(int); int main() { int num; printf("입력: "); scanf("%d", &num); printf("%d! : %d", num, fact(num)); } int fact(int n) { if (n > 0) return n * fact(n-1); else return 1; } 2. 소수 판단 코드(제어문 이용) #pragma warning(disable:4996) #include int main() { int.. 2023. 7. 2.
[C언어] C 프로그래밍 언어 math.h 헤더 파일 함수 종류 30가지, 간단한 예시 예제 #include #include int main(void) { //1. sqrt: root 값 계산 printf("4의 제곱근은 %lf\n", sqrt(4)); //2. acos: arc cosine 계산 printf("arccos(-1)은 %lf\n", acos(-1)); //3. asin: arc sine 계산 printf("arcsin(0)은 %lf\n", asin(0)); //4. atan: arc tangent 계산 printf("arctan(1)은 %lf\n", atan(1)); //5. cos: cosine 계산 printf("cos(0)은 %lf\n", cos(0)); //6. sin: sine 계산 printf("sin(3.14)은 %lf\n", sin(3.14)); //7. tan: t.. 2023. 6. 30.
반응형