본문 바로가기

Programming/컴퓨터프로그래밍및실습20

[컴프실] 제13장: 구조체 자료형의 분류 구조체의 필요성 // 구조체 struct student { int number; //학번 char name[10]; //이름 double grade; //학점 }; 배열과 구조체 배열: 서로 같은 타입의 변수들을 묶는다. 구조체: 서로 다른 타입의 변수들을 묶는다. 구조체 선언 // 구조체 선언: struct struct student { // 구조체 이름 int number; // 구조체 멤버 char name[10]; double grade; }; 구조체 선언의 예 // x값과 y값으로 이루어지는 화면의 좌표 struct point { int x; int y; }; // 날짜 struct date { int month; int day; int year; }; // 사각형 struct r.. 2023. 8. 29.
[컴프실] 제12장: 문자와 문자열 문자열 표현 방법 문자열(string): 문자들이 여러 개 모인 것 문자열 변수: 변경 가능한 문자열을 저장할 수 있는 변수 NULL 문자 : 문자열의 끝을 나타낸다. #include int main(void) { int i; char str[4]; str[0] = 'a'; str[1] = 'b'; str[2] = 'c'; str[3] = '\0'; //NULL 문자 i = 0; while (str[i] != '\0') { printf("%c", str[i]); i++; } return 0; } 문자 배열의 초기화 char str[4] = {'a', 'b', 'c', '\0'}; 문자열의 출력 char str[] = "abc"; printf("%s", str); #include int main(void).. 2023. 8. 27.
[컴프실] 제11장: 포인터 포인터란? 포인터: 주소를 가지고 있는 변수 변수는 어디에 저장되는가? 변수는 메모리에 저장된다. 메모리는 바이트 단위로 액세스된다. 변수와 메모리 변수의 크기에 따라서 차지하는 메모리 공간이 달라진다. 변수의 주소 변수의 주소를 계산하는 연산자: & 변수 i의 주소: &i //변수의 주소 출력하기 #include int main(void) { int i = 10; char c = 69; float f = 12.3; printf("i의 주소: %p\n", &i); printf("c의 주소: %p\n", &c); printf("f의 주소: %p\n", &f); return 0; } 포인터의 선언 포인터: 변수의 주소를 가지고 있는 변수 포인터와 변수의 연결 int i = 10; //정수형 변수 i 선언 i.. 2023. 8. 11.
[컴프실] 제10장-2: 정렬 정렬이란? : 물건을 크기순으로 오름차순이나 내림차순으로 나열하는 것 선택정렬(selection sort) : 정렬이 안 된 숫자들 중에서 최솟값을 선택하여 배열의 첫 번째 요소와 교환 //선택정렬 #include #define SIZE 10 int main(void) { int list[SIZE] = { 0, 3, 4, 1, 9, 8, 2, 5, 6, 7 }; int i, j, temp, least; for (i = 0; i < SIZE - 1; i++) { least = i; //최솟값 = i for (j = i + 1; j < SIZE; j++) //i뒷부분부터 i와 비교함 if (list[j] < list[least]) //i보다 작으면 least = j least = j; temp = list[.. 2023. 7. 23.
[컴프실] 9~12일차 실습문제 9일차 실습문제 //문제7 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { char ch1, ch2; printf("ch1, ch2 입력(ch1 2023. 7. 20.
[컴프실] 제10장: 배열 배열 배열을 사용하면 한 번에 여러 개의 변수를 생성할 수 있다. int s[10]; 배열의 특징 배열은 메모리의 연속적인 공간에 저장된다. 예를 들어, 배열 요소 s[0]과 s[1]은 실제 메모리 상에서도 서로 붙어있다. 배열의 가장 큰 장점은 서로 관련된 데이터를 차례로 접근하여서 처리할 수 있다는 점이다. 배열 선언 int scores[10]; //자료형, 배열 이름, 요소의 개수 int score[60]; //60개의 int형 값을 가지는 배열 score float cost[12]; //12개의 float형 값을 가지는 배열 cost char name[50]; //50개의 char형 값을 가지는 배열 name 기호 상수 사용 #define SIZE 30 //기호 상수 사용 int score[SIZ.. 2023. 7. 19.
[컴프실] 제9장: 함수와 변수 변수의 속성 범위: 변수가 사용 가능한 범위, 가시성 생존 시간: 메모리에 존재하는 시간 연결: 다른 영역에 있는 변수와의 연결 상태 변수의 범위 전역변수: 함수 외부에서 선언되는 변수 지역변수: 블록 안에 선언되는 변수 생존 기간 정적 할당: 프로그램 실행 시간 동안 계속 유지 자동 할당: 블록에 들어갈 때 생성, 블록에서 나올 때 소멸 ▶ 생존 기간을 결정하는 요인 변수가 선언된 위치 저장 유형 지정자 ▶ 저장 유형 지정자 auto register static extern 저장 유형 지정자: auto auto int sum = 0; 변수를 선언한 위치에서 자동으로 만들어지고, 블록을 벗어나게 되면 자동으로 소멸되는 저장 유형 저장 유형 지정자: static static int scount = 0; 정.. 2023. 7. 17.
[컴프실] 제8장: 함수 함수가 필요한 이유 동일한 코드가 여러 곳에서 사용된다고 하자. 함수를 작성하면 동일한 코드를 하나로 만들 수 있다. 함수의 특징 함수는 특정한 작업을 수행하기 위한 명령어들의 모음이다. 함수는 서로 구별되는 이름을 가지고 있다. 함수는 특정한 작업을 수행한다. 함수는 입력을 받을 수 있고 결과를 반환할 수 있다. 함수의 종류 사용자 정의 함수 라이브러리 함수: 기본적으로 제공되는 함수 함수의 정의 반환형: 함수가 처리를 종료한 후에 호출되는 곳으로 반환하는 데이터의 종류 함수 이름 //printStars() 함수를 2번 호출하는 프로그램 #include void printStars() { //함수 정의 int i = 0; for (i = 0; i < 10; i++) printf("*"); printf(.. 2023. 7. 16.
[컴프실] 제7장: 반복문 반복 구조 : 어떤 조건이 만족될 때까지 루프를 도는 구조 반복문의 종류 while 루프 for 루프 while 문 : 주어진 조건이 만족되는 동안 문장들을 반복 실행한다. //while문 #include int main(void) { int i = 0; //초기화 while (i < 5) { //반복 조건 printf("Hello World!\n"); i++; //반복 내용 } return 0; } //while문을 이용한 구구단 출력 프로그램 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int n = 0; int i = 1; printf("출력하고 싶은 단을 입력하세요: "); scanf("%d", &n); while (i 2023. 7. 11.