프로그래밍/C언어

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 8 (1,2,3,4,5)

    1. 배열에 저장된 값 중 사용자가 입력한 값이 몇 개 들어 있는지 표시하려고 한다. 이 프로그램에서 밑줄 친 곳에는 무언가가 생략되어 있거나 에러가 난다. 잘못된 이유와 어떻게 수정해야 하는지 적으시오. #include #define N 30 void print_title(); void main() { int result[N] = { ... }; int count, i, target; scanf("%d", &target); print_title; count = frequency(result[N], target); return 0; } void print_title() { ... } int frequency(int arr[N], value) { ... } void main() : 함수 내에서 0을 반환하..

    (C언어) 배열과 함수, 배열과 포인터

    일반적인 매개 변수 #include int square(int a); int main(void) { int p = 16; int res = square(p); return 0; } int square(int a) { return a * a; } 일반적인 매개 변수는 함수가 실행되면 기억 장소가 할당된다. 위 예에서도 square 함수가 실행되면 a에 실제로 기억 장소가 할당되고 p값은 16이 저장된다. 배열 매개 변수 변수를 함수로 전달하듯이 배열도 함수로 전달할 수 있다. 다만 동작 방식이 조금 다르다. #include int square(int a[]); int main(void) { int p[3] = { 1,2,3 }; square(p); return 0; } int square(int a[]) ..

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 7(11, 12)

    11. 2*3 행렬 A와 3 * 4 행렬 B를 곱한 결과인 2 * 4 행렬 C를 구하여 다음과 같이 출력하시오. #include #define M 2 #define N 3 #define O 4 int main() { int a[M][N] = { {1,2,3}, {4,5,6} }; int b[N][O] = { {3,4,5,6}, {1,2,4,3}, {4,2,6,1} }; int c[M][O] = { 0 }; int i, j, k; for (i = 0; i < M; i++) { for (j = 0; j < O; j++) { for (k = 0; k < N; k++) { c[i][j] += a[i][k] * b[k][i]; } } } for (i = 0; i < M; i++) { printf("["); for..

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 7(6, 7, 8, 9, 10)

    6. 5번의 프로그램에서 달의 일수가 30일인 달의 수를 다음과 같이 출력하시오. #include int main(void) { //첨자 번호가 월과 일치하도록 첫 요소는 0으로 초기화 int days[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; int count = 0; printf("12달 중 30일까지 있는 달은"); for (int i = 0; i < 13; i++) { if (days[i] == 30) { printf(" %d,", i); count++; } } printf("\b "); printf("총 %d달입니다.", count); return 0; } 7. 행렬의 덧셈 결과를 다음과 같이 출력하도록 [프로그램 7-7]을 수정..

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 7(1, 2, 3, 4, 5)

    1. 1차원 배열의 크기 즉 원소수가 10일 때 유효한 첨자의 범위를 적으시오. 0~9 2. 다음 문장 중 틀린 것을 고르시오. ① 다음과 같이 배열을 선언한 후 대입문으로 배열명에 배열 원소들을 한꺼번에 저장할 수 있다. int a[5] a = {1, 2, 3, 4, 5}; ② 배열의 여러 원소 중 한 개를 지정하기 위해 '배열명[2]'와 같이 [] 안에 명시하는 정수를 첨자라고 한다. ③ 1차원 배열 ary의 크기 즉 배열의 원소수가 10이라면 첫 원소는 ary[1], 마지막 원소는 ary[10]으로 참조한다. - 첫 원소는 ary[0], 마지막 원소는 ary[10]으로 참조한다. ④ int형 자료 10개, double형 자료 10개, char형 자료 10개 모두 30개의 자료를 하나의 배열에 저장할..

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 6 (11, 12, 13)

    11. 키보드로 10진 정수를 입력받은 후 입력받은 정수를 8진수, 10진수, 16진수의 형태로 출력하는 매크로 함수를 정의하시오. 1 2 3 4 5 6 7 8 9 10 11 12 #include #define NUMBER(x) printf(">>결과:8진수 10진수 16진수\n\t%o\t%d\t%x", x, x, x) int main(void) { int num; printf("정수 입력: "); scanf_s("%d", &num); NUMBER(num); return 0; } Colored by Color Scripter cs 12. 11번 문제에서 정희한 매크로를 이용해 1~15를 8진수, 10진수, 16진수로 출력하는 프로그램을 작성하시오. 1 2 3 4 5 6 7 8 9 10 11 12 13 #..

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 6 (7,8,9,10)

    7. 1~n의 정수를 각각 제곱하여 합한 결과를 구하는 프로그램을 작성하시오. 각 정수의 제곱을 구하는 기능은 매크로로 구현한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include #define SQ(x) ((x)*(x)) int main(void) { int n, i = 1, sum = 0; printf("n의 값을 입력하세요: "); scanf_s("%d", &n); for (i = 1; i

    <C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 6 (1,2,3,4,5,6)

    1.전처리기 지시자 #include 뒤에 나오는 과 "헤더 파일"의 차이를 설명하시오. 은 표준 라이브러리를 포함할 때 사용하고, "헤더 파일"은 표준 라이브러리 또는 사용자 정의 라이브러리를 포함할 때 사용한다. 2. #define을 이용해 x를 상수 10으로 정의하는 문장을 고르시오. ①#define x=10 ②#define x==10 ③#define x 10 ④#define 10 x 3. 다음 문장의 의미를 설명하시오. #define MIN(x, y) ((x < y) ? (x) : (y))​ x, y를 인수로 가지는 매크로 함수 MIN을 정의한다. x가 y보다 작으면 x를, 아니면 y를 반환한다. 4. 다음 프로그램의 에러를 찾아서 바로잡고 실행결과를 추정하시오. #include #define MU..