본문 바로가기

IT&코딩/C

(10)
C언어 3주차 복습-3 // 하나 이상의 변수를 그룹 지어서 새로운 자료형을 정의하는 것 // 붙어 다니게 되는 데이터들은 하나로 묶어서 관리하는 것이 편리하다. // 구조체는 python의 list와 비슷하지만 똑같지는 않다. // 나만의 자료형을 만드는 것 // 관리해야 하는 변수가 많아지면 코드를 작성하는 데에 불편함이 생기기 때문에 // 가급적이면 변수를 최소화하는 게 좋다. // 구조체의 쓰임 // 복잡한 데이터를 표현할 때 구조화하여 정의 // 윈도우 운영체제는 대부분 구조체로 이루어져 있다. // 표현하고자 하는 객체에 대해서 구조화한다. // 예) 학생 : 나이, 성별, 이름, 성적 등 // 붕어빵 만드는 틀이 구조체 // python의 클래스와 더 비슷하다고 보면 됨. // 구조체 선언에서는 연산이나 가공이 들..
C언어 3주차 복습-2 // 선택정렬 // 알고리즘 중에서 정렬 알고리즘이 시험에 자주 나온다. #include int main(void) { int nun[8] = { 4,8,2,7,6 }; // 오름차순으로 정렬해보기 int tmp, i, j, k = 0; for (i = 0; i
C언어 3주차 복습-1 //#include //따옴표나 꺽쇠로 했을 때, 바탕화면에 파일이 저장되어 있는 경우엔 찾을 수 없다고 뜸. //int main() //{ // int ret; // ret = PI * 2 * 5; // printf("%d\n", ret); // printf("%d\n", (int)PI); // (int)PI 를 강제적으로 정수표현 //} // 따라서 소스파일 보관되어있는 폴더로 옮긴다. //#include "mydefine.h" // 옮기면 따옴표일 때는 적용됨. //int main() //{ // int ret; // ret = PI * 2 * 5; // printf("%d\n", ret); // printf("%d\n", (int)PI); // (int)PI 를 강제적으로 정수표현 // 이번엔 C..
C언어 2주차 복습-3 // while 문 // while else도 있다. // for가 있는데 while이 있는 이유? // T 필기 // for 와 while의 차이점 // - c언어에서는 for와 while의 차이점을 찾기 쉽지 않습니다. // 하지만 파이썬은 for와 while의 용도가 분명합니다. // 굳이 용도를 구분하자면 for는 반복의 범위가 정해져 있거나 반복의 간격이 일정한 경우 알맞은 문법 . // while은 반복의 범위가 정해져있지 않거나 반복의 간격이 일정하지 않은 경우 알맞은 문법. // 무슨 말인가? // 1. 반복의 범위 // for는 인형뽑기를 생각해보자 1000원에 한 판 , 5000원으로 다섯판 할 수 있다. // while은 pc게임을 생각해보자. 언제까지 할 수 있나? // 공통점은 언..
C언어 2주차 복습-2 // 2주차 복습-1 마지막 코그 switch 문으로 바꿔보기. #include #include void main() { int a; while (1) { printf("1.계산기 2.그림판 3.노트패드 4.시스템 속성\n"); printf("선택 :"); scanf("%d", &a); switch (a) { case 1: system("calc"); break; case 2: system("mspaint"); break; case 3: system("notepad"); break; case 4: system("sysdm.cpl"); break; default: return; } system("cls"); } } ---------------------------------------------------..
C언어 2주차 복습-1 조건문(if-else 문) 조건식을 평가하여 참이면 if와 else 사이의 종속문장1(블록1-종속문장1,2)을 수행하고 거짓이면 종속문장2(블록2-종속문장1,2)를 수행 // 예제 #include int main(void) { int num1, num2; scanf("%d %d", &num1, &num2); if (num1 > num2) // num1>num2이 참이면 아래의 문장을 실행 printf("참이므로 %d", num1 > num2); else // num1>num2이 거짓이면 아래의 문장을 실행 printf("거짓이므로 %d", num1 > num2); } #include int main(void) { int su1, su2, max, min; printf("정수 두 개를 입력하세요...");..
C언어 1주차 복습-4 연산자 우선순위 // 연산자 우선순위 // tip // 남이 작성해놓은 코드를 분석할 때는 우선순위가 낮은 대입연산자나 복합대입연산자를 먼저 찾아라 // 그럼 좌측에는 무조건 변수이기 때문에 우측항만 보면 된다. 대입 보고 그 다음은 논리연산자 // 삼항 연산자는 눈에 확 보이기도 하고 다른 연산자랑 섞여 쓸 일이 없다. // 논리연산자 기준으로 좌우를 또 자르고 좌측을 먼저 봐야 한다. // 그 다음 비트연산자 // 하나씩 하나씩 좌우로 쪼개고 난 후 좌측을 먼저 봐야 한다. // 논리연산자의 경우는 좌측값에 따라 우측 결과가 달라짐 // 비트연산자와 논리연산자는 전혀 다른 결과가 나온다는 것 조심 // 내가 코드를 작성할 때는 괄호를 쓰면서 연산자 우선순위를 최대한 맞게 적용시키면 된다. ------..
C언어 1주차 복습-3 // 문제 1. 실수를 입력받아 출력하시오. float과 double 둘다 해보기. #include int main(void) { float num1; printf("실수를 하나 입력해주세요!"); scanf("%f", &num1); printf("실수는 %f입니다\n", num1); return 0; } #include int main(void) { double numb; // double은 long 타입이기 때문에 서식지원문을 쓸 때 lf를 써야 한다. printf("실수를 하나 입력해주세요!"); scanf("%lf", &numb); printf("실수는 %lf입니다\n", numb); } -------------------------------------------------------------..