본문 바로가기

IT/C언어

(15)
C언어본색 연습문제 Part2.3.2 1. 문제 다음 코드를 분석해서 그 결과를 그림으로 나타내세요. 2. 결과 3. 코드1234567891011121314151617181920212223#include int main(){ int a = 10; int b = 20; int temp; int* p1 = NULL; int* p2 = NULL; p1 = &a; p2 = &b; temp = *p1; *p1 = *p2; *p2 = temp; printf("%d %d \n", a, b); return 0; }cs 4. 설명 1번 문제를 풀었다면 2번 문제도 어렵지 않게 풀으실 수 있을겁니다.간단히 말해보자면,int형 포인터 2개를 선언하고, 각각 포인터 변수에 a, b를 넣고 *참조연산자를 통해서서로 값을 바꿔주는 코드겠네요.그래서 a의 값에 20이..
C언어본색 연습문제 Part2.3.1 1. 문제 다음 코드를 분석해서 그 결과를 그림으로 나타내세요. 2. 결과 3. 코드 int main(){ char c = 'B'; int num = 10; char* cp = NULL; int* ip = NULL; cp = &c; ip = # *cp = 'A'; *ip = 20; printf("%x %d \n", &num, num); printf("%x %d \n", ip ,*ip); printf("%x %c \n", &c, c); printf("%x %c \n", cp, *cp);} 4. 설명 이건 코드를 분석하는 문제입니다. 언어본색에서는 변수와 주소를 표현하는 방법이 있는데요.처음에는 어색하고 헷갈리겠지만 하다보면 굉장히 쉽게 이해가 되실겁니다.왼쪽 윗 모퉁이에 시작주소를 적고 네모 안에는..
C언어본색 연습문제 Part 2-2-5 1. 문제 int array[2][3] = {1,2,3,4,5,6}을 선언하고, array[i] == *(array+i) 표현을 이용하여 2차원 배열 요소들의 주소와 값을 출력하는 프로그램을 작성하세요. 2. 결과 3. 코드 #include int main(){int array[2][3] = { 1,2,3,4,5,6 };int i, j;for (i = 0; i
C 언어본색 연습문제 PART2-2-4 1. 문제 4행 3열의 2차원 배열 두 개에서 같은 배열 요소의 행과 열 간의 합과 차를 구하세요. 즉, 행렬의 합과 차를 구하는 프로그램을 작성하세요. 2. 결과 3. 코드#include int main(){ int array1[4][3] = { 23,75,85,12,77,51,25,66,30,19,90,88 }; int array2[4][3] = { 11,15,47,74,85,69,57,86,28,90,22,33 }; int i, j; printf("array1 + array2 \n"); for (i = 0; i
C 언어본색 연습문제 PART2-2-3 1. 문제 9행 9열의 int형 2차원 배열 이름 array를 선언합니다. 2단부터 9단까지의 구구단 결과를 저장하는 프로그램 작성하시오. 2. 결과 3. 코드#include int main(){ int array[9][9] = { 0 }; int i, j; for (i = 1; i
C 언어본색 연습문제 Part2-2-2 1. 문제 중심가에 위치한 3층 짜리 열혈아파트는 각 층마다 세 세대가 있습니다.각 세대의 가족수를 사용자로부터 입력받아 열혈아파트의 전체 주민의 수를 구하세요. 실행결과 1층 1호의 가족은 몇 명입니까? : 11층 2호의 가족은 몇 명입니까? : 21층 3호의 가족은 몇 명입니까? : 42층 1호의 가족은 몇 명입니까? : 72층 2호의 가족은 몇 명입니까? : 62층 3호의 가족은 몇 명입니까? : 53층 1호의 가족은 몇 명입니까? : 33층 2호의 가족은 몇 명입니까? : 43층 3호의 가족은 몇 명입니까? : 4열혈아파트 총 주민수는 36명입니다. 2. 결과 3. 코드#include int main(){ int array1[3][3] = { 0 }; int i, j; int sum = 0; fo..
C 언어본색 연습문제 Part2-2-1 1. 문제 그림과 같이 배열을 90도 회전시키세요. int array1[2][4] int array2[4][2]1 2 3 4 >> 5 15 6 7 8 6 2 7 3 8 4 2. 결과 3. 코드 #include int main(){ int i, j; int array1[2][4] = { { 1,2,3,4 },{ 5,6,7,8 } }; int array2[4][2] = { 0 }; for (i = 0; i