3주차 수업 내용 및 수업 후 과제
2024. 3. 18. 16:43ㆍC프로그래밍/수업 내용 및 수업 후 과제
반응형

아래는 c 기본 프로그래밍에 있는 내용 중 2장(36줄까지) 뤼튼에 주석 달아달라고 해봤다
#include <stdio.h> // 표준 입출력 라이브러리 포함. 입출력 관련 함수 사용을 위함.
#define SIZE 3 // 전처리기 지시문. SIZE라는 이름의 매크로를 3으로 정의.
// WEIGHT 구조체 정의. 사람의 이름과 체중을 저장하기 위한 구조체.
typedef struct{
char name[10]; // 사람의 이름을 저장하는 문자 배열. 최대 9자 + 널 문자.
double w; // 사람의 체중을 저장하는 변수.
}WEIGHT;
void swap(WEIGHT *, WEIGHT *); // swap 함수 선언. WEIGHT 구조체 포인터를 매개변수로 받음.
int main()
{
// WEIGHT 타입의 배열 선언 및 초기화. 3명의 사람 정보를 저장.
WEIGHT man[SIZE]={{"한개발",57.5},
{"엄청군",125.6},
{"갈비양",35.7} };
int i,j; // 반복문 제어를 위한 변수 선언.
// 이중 for 반복문을 사용하여 모든 요소를 비교하며 체중 기준으로 정렬 (내림차순).
for(i=0;i<2;i++){
for(j=i+1;j<3;j++){
if(man[i].w<man[j].w) { // 현재 요소의 체중이 비교 요소보다 작으면,
swap(&man[i],&man[j]); // swap 함수를 호출하여 두 요소의 위치를 바꿈.
}
}
}
printf(" 이름 \t체중\n"); // 정렬된 결과의 헤더 출력.
for(i=0;i<3;i++){ // 정렬된 배열의 모든 요소를 출력.
printf(" %s %5.1f\n",man[i].name,man[i].w);
}
return 0;
}
// swap 함수 정의. WEIGHT 구조체 포인터를 매개변수로 받아 해당 요소들의 위치를 바꿈.
void swap(WEIGHT *mani, WEIGHT *manj)
{
WEIGHT temp; // 임시 WEIGHT 변수 선언.
temp=*mani; // 첫 번째 요소를 임시 변수에 복사.
*mani=*manj; // 두 번째 요소를 첫 번째 요소 위치로 이동.
*manj=temp; // 임시 변수의 내용을 두 번째 요소 위치로 이동.
}


구조적 프로그래밍(structured programming) 방식 : 큰 프로그램을 하나의 여러 개의 함수로 분할하여 구현하는것

caret : 텍스트 입력이 가능한 위치를 가르키는 텍스트 커서의 한 형태로, 주로 깜빡이는 세로 막대기(ㅣ) 모양으로 표현

c 언어의 중요 소스 용어를 쉽게 정리한것
- 변수(Variable): 데이터를 저장하기 위해 프로그램에서 사용되는 메모리 공간의 이름입니다.
- 전처리기(Preprocessor): 컴파일 전에 소스 코드에 대해 실행되는 지시어들로, 예를 들어 #include는 다른 파일의 내용을 현재 파일에 포함시킵니다.
- 입출력 라이브러리 함수(I/O Library Functions): scanf()와 printf()와 같은 함수들은 사용자로부터 데이터를 입력받고 결과를 출력하는 데 사용됩니다.
- 연산자(Operators): 산술(+, -, *, /), 관계(<, >, == 등), 논리(&&, || 등) 등의 연산을 수행하기 위해 사용되는 기호입니다.
- 제어문(Control Statements): 프로그램의 흐름을 제어하기 위해 사용되며, if, for, while 등이 여기에 속합니다.
- 함수 선언(Function Declaration): 함수의 이름, 반환 타입, 그리고 매개변수의 타입과 개수를 정의하는 것입니다.
- 기억 클래스(Storage Class): 변수나 함수의 저장 영역, 수명, 그리고 가시성을 정의합니다; 예를 들어, static, extern 등이 있습니다.
- 배열(Array): 같은 타입의 여러 변수를 하나의 이름으로 관리하기 위해 사용되며, 각 요소는 인덱스를 통해 접근할 수 있습니다.
- 구조체(Structure): 서로 다른 타입의 데이터를 하나의 단위로 묶어서 관리하기 위한 사용자 정의 데이터 타입입니다.
- 포인터(Pointer): 변수의 메모리 주소를 저장하는 변수로, 간접적으로 다른 변수의 값을 변경하거나 접근할 수 있게 해줍니다.
- Call by Address: 함수를 호출할 때 인자로 메모리 주소를 전달하여, 함수 내에서 해당 주소에 있는 값을 직접 변경할 수 있는 기법입니다.


'C프로그래밍 > 수업 내용 및 수업 후 과제' 카테고리의 다른 글
| c언어 프로그래밍 7주차 수업 내용 및 수업 후 과제 (0) | 2024.04.15 |
|---|---|
| C프로그래밍 6주차 수업 내용 및 수업 과제 (0) | 2024.04.08 |
| c프로그래밍 5주차 수업내용 및 수업 후 과제 (0) | 2024.04.01 |
| 4주차 수업 중 내용 및 수업 후 과제 (0) | 2024.03.25 |
| 2주차 수업내용 및 수업 후 과제 (0) | 2024.03.11 |