본문 바로가기
반응형

혼공학습단 C8

혼공학습단 10기 활동 회고 0. 회고를 하기 앞서 6주간 이루어졌던 혼공학습단 10기 C언어 스터디를 끝내고 쓰는 회고입니다. 개인적인 경험과 주관이 어어엄청나게 담겨 있습니다. 1. 시작하게 된 계기? 1주차에 언급했던 것처럼 혼공 시리즈가 많아서 혼공학습단에 관심을 가졌었습니다. 혼공C 말고도 혼공파이썬분석, 혼공컴운 등등이 있고, 혼공 시리즈는 아니지만 같은 출판사의 책을 학교 데이터베이스 수업에 교재로 사용했었습니다. 같은 교수님이 소프트웨어 공학 수업에 여기 책을 교재로 쓰신다고 해서, 마일리지를 얻어서 교재도 살 겸 2년 전에 해서 기억이 가물가물한 C언어 복습도 할 겸 시작했습니다. 여기에 더해서, 사실 이걸 시작할 때는 정보컴퓨터과 임용고시를 어느 정도 생각하고 있었어서(신분: 컴퓨터교육과 3학년 재학생) 임용고시 .. 2023. 8. 23.
C언어 W6(9강 포인터) *본 포스팅은 한빛미디어의 '혼자공부하는 C언어(1판)'기준으로 작성되었습니다. 9-1 포인터의 기본 개념 포인터.... 여기부터 C언어가 고통스러워지는 지점이다. 이유는 일단 컴퓨터구조를 모르고 들어가면 이해하기가 너무 어렵고, 왜 굳이 써야하는지도 의문이 들 수 있다. 그러나 고급 C 코딩에서는 포인터를 사용하고, 무엇보다 자료구조로 넘어가면 연결리스트 등에서 사용하지 않을 수가 없어서 두고 갈 수는 없는 개념이다. 포인터 처음 배울때는 이게 어려운지 모르고 넘어가는게 베스트인데, 우리 교수님은 배운 그 주에 과제로 원형연결리스트 구현을 내셔서 상당히 원망스러웠다.... 혹시 이걸 보고 계신 교수님이 계시면 그러지 마십쇼. 학부생 울어요. 우선 내가 정리한 것을 알아보기 전에, 인공지능 친구의 포인터.. 2023. 8. 16.
C언어 W5(8강 배열) *본 포스팅은 한빛미디어의 '혼자공부하는 C언어(1판)'기준으로 작성되었습니다. 8-1 배열의 선언과 사용 그동안 변수를 선언할 때면 각각 이름을 하나씩 만들어줬다. 그런데 선언해야 할 변수가 너무 많으면 어떻게 할까? 예를 들어, 한 반에 있는 학생들의 수학 점수를 입력받는다고 하면 30개 정도의 변수가 필요하다. 그런데 만약 전교생의 수학 점수를 입력받는다면? 더 나아가 한 학교 전교생의 모든 과목 성적을 입력받는다면? 이 경우, 전교생이 400명이면 서로 다른 이름의 변수가 적어도 400개 필요할 것이고 인당 5과목씩만 본다고 해도 변수가 2000개 필요하다. 이런 변수들 이름을 하나하나 다 생각하기에도 힘들고, 메모리 낭비도 심하기 때문에 같은 형태의 데이터가 반복된다면 메모리에 연속적으로 저장해.. 2023. 8. 8.
C언어 W4(7강 함수) *본 포스팅은 한빛미디어의 '혼자공부하는 C언어(1판)'기준으로 작성되었습니다. Chapter7. 함수 7-1. 함수의 작성과 사용 함수의 정의는 '기능을 수행하는 코드 단위'다. 실생활을 예로 들면, '심부름'이라는 함수가 있다고 하자. 이 심부름을 이루는 작업은 구매 리스트 받기 가게를 찾아가기 물건 구매하기 집으로 돌아가기 로 이루어져 있다. 따라서 의사코드로 나타내면, int simbooroom(char list) { 구매 목록(list) 받기 가게 찾아가기 목록(list)에 맞게 구매하기 집에 돌아가기 return list } 이런 느낌이다. '심부름'이라는 함수를 list만 다르게 대입하여 주면, 매번 printf, scanf 등을 사용해서 전체 코드가 길어질 필요 없이 명령을 재사용할 수 있.. 2023. 7. 24.
C언어 W3(5 ~ 6강) *본 포스팅은 한빛미디어의 '혼자공부하는 C언어(1판)'기준으로 작성되었습니다. Chapter5. 제어문 5-1. if문 기본 형식: #include int main() { int a = 50; int b; printf("정수 하나를 입력하세요:\n"); scanf("%d", &b); if(a>b) { printf("입력한 값은 50보다 작습니다."); } else if (a = b) { printf("입력한 값은 50입니다."); } else { printf("입력한 값은 50보다 작습니다."); } return 0; } 이런 식으로 if/else if/ else로 입력한 값이 a(=50)보다 작으면, 같으면, 크면으로 분기점을 나눌 수 있다. else문은 위의 if, else if 문과는 달리 조건 .. 2023. 7. 20.
C언어 W2-2(4강) *본 포스팅은 한빛미디어의 '혼자공부하는 C언어(1판)'기준으로 작성되었습니다. Chapter4. 연산자 3~4강을 한 글에 올리려고 하다가, 3강 정리가 생각보다 길어져서 두 부분을 나눴다. 4-1. 산술 연산자, 관계 연산자, 논리 연산자 일단 기본 배경지식으로, 1+a라는 문장이 있다면 여기서 1,a는 피연산자, +는 연산자라 한다. 산술 연산자 제일 일반적으로 아는 연산자이다. +,-,*,/,%가 있고, 특히 /는 나누기, %는 나머지를 나타낸다. 저번학기 데이터사이언스와 파이썬 수업에서 /,//,%의 차이를 간접적으로 언급한 문제가 기말고사에 나왔는데, 기초 과목이라고 방심한 고학번들이 조금 낚이지 않았을까...?하는 소박한 바람이 있었었다. 참고로 답은 파이썬 기준 /: 나누기, //: 몫, .. 2023. 7. 13.
반응형