1.프로그램과 프로그래밍

프로그램 : 순서에 따라 한번에 하나씩 실행되는 명령어로 구성되어 있어 컴퓨터가 수행해야하느 절차

프로그래밍 : 주어진 문제를 해결하기 위해 처리방법(문법), 순서 를 정하는 방법

-하나의 정수를 입력받아 그정수의 2배 값을 출력하는 프로그램 작성

1 정수 입력 2 정수 2배값 출력

0저장공간>1 입력> 1.5 정수2배> 2 출력

예시)

1단계 int num; // 변수선언

integer(정수) 변수(data 저장공간) num[쓰레기값]

2단계 scranf ("%d", &num); //입력 (키보드)

함수명(기능) 입력양식 입력대상자의주소

(%~)형식변환문자 d=decimal(10진정수)

&=주소연산자

3입력>쓰레기값이 3이됨>num[3]

3단계 lv = rv

num = num*2; // 2배수만들기 num3>6

4단계 printf("num=%d",num);// 출력하기

format (출력포맷 , 출력대상)

결과 num = 6

2. 프로그래밍 언어란?

일의 처리방법과 순서를 컴퓨터가 알아듣고 실행할 수 있는 명령을 내려줄때 사용하는 언어
실제로 컴퓨터가 명령을 수행하기 위해서는 컴퓨터가 정확하게 알아들을 수 있는 기계어로 프로그램을 변환해주는 작업을 거쳐야 함.
c 속도 good / c++ java pytyon c#등 객체지향언어

c언어 발전과정> unix(os)만듬(대기업사용) > 리눅스(pc버전)(중소기업등사용)

c언어 특징
1. c언어는 모든언어의 기본
2. 효율성 : 프로그램의 크기가 작고(임베디드분야) 실행 속도가빠름 메모리를 가장 효율적으로 사용(직접관리)
3. 하드웨어 제어 및 로봇제어 가능
4. 탁월한 이식성 : 특정 시스템에서 작성한 c코드 다른 운영체제에서 사용하고자 할때 최소한의 수정사용가능 but java가 갑임.

3.프로그래밍 7단계

  1. 프로그램 목적 정의 : 어떤 작업을 할건지결정
    // 요구분석
    - 프로그램이 요구하는 정보
    - 프로그램이 수행할 계산 및 조작
    - 프로그램이 사용자에게 제공할 정보 정하기
  2. 프로그램 설계 : 프로그램을 어떻게 만들건지 결정
    - 사용자 인터페이스 결정(화면설계)
    - 프로그램 내의 데잉터 표현방버 결정(데이터형설계) ex 정수형 실수형
    - 보조 파일에서 데이터 표현방법 결정(파일설계)
    - 데이터 처리방법 결정(함수설계) 요구사항에 맞는 함수를 만드는경우가 많음.
    복잡한 핵심로직은 flowchart나 ns-chart로 표현함.
  3. 코드 작성 : 설계한 프로그램의 실제 구현 즉, 프로그램설계를 c언어로 번역하는거(신입 '코더')
  4. 컴파일 : 소스코드(source code)를 실행 코드로 변환시킴.
    preprocessing > compiling > linking 과정으로 실행파일(executable file) 생성전처리 >
    기계어 변환 > 연결
  5. 프로그램 실행 : 운영체제 상에서 파일 이름이나 아이콘을 더블 클릭 하여 실행 또는 ide(통합개발환경)에서 메뉴를 통해서 실행
  6. 테스트 및 디버깅 : 실질적인 데이터로 프로그램의 정확한 수행여부를 검사하고 프로그램내에 존재하는 오류(bug)를 찾아 수정(debugging)하는 과정
    5단계까지 프로그래머가 6 은 테스터(큰 곳)
  7. 유지보수(maintenance) : 사용중인 프로그램에 대해서 새로운 기능을 추가시키거나 다른 기종의 컴퓨터에서 실행시키기 위해서 기존의 프로그램을 수정. > 끊임없이 수정하는 단계(프로그래머 or 유지보수팀

오류 종류

프로그래밍 오류

워닝 경고발생해도 실행은 되는데 잘안됨
int정수 num; 햇는데 num = 7.5(실수) 오류
lv < rv 넣을때 7만 들어가서 손실 발생
컴파일에러 세미콜론(문장종결자) 안넣으면 나옴
초반 잘보임
링크에러 찾기힘듦
런타임에러 실행하는 도중 오류 > 프로그램 중단(대부분 메모리 관리 잘못해서 발생)
scranf ("%d", &num); > &주소연산자 까먹으면 잘가다 오류남.
로직에러(가장중요) 논리의 오류
-> 발생시 '처음부터 다시 만들기'

4.프로그램의 5대 기본 구성 요소

1. 변수 : 기억공간 (RAM공간에 할당)

 

컴퓨터 구조

2. 상수 : 값(3, 2.5, 'a', "sky" 등)
숫자상수 / ' '>문자상수/ " " > 문자열상수
상수 > 정수형인지 실수형인지 알아야함
int score; / double score;

3. 연산자 : 프로그램에서 연산을 할때 사용하는 기호(+ - * / + 등 45가지)

4. 예약어 : 프로그래밍 언어 중 특별한 의미로 고정되어 사용되는 단어로 사용자가 임의로 바꾸어 사용할 수 없는 명령어 (int ,if, for 등)

5. 함수 : 변수 상수 예약어 연산자 등을 이용하여 한가지 이상의 기능을 가진 짧은 프로그램

 

예시

함수의 2분류

library function : maker에서 제공하는 함수(460여개)
soen.kr 에 함수종류있음.
user defined function : 사용자 정의 함수(무한대)
함수의 특징

외형적 특징 : 함수명 뒤에 항상 ()가 따라다님

수행측면의 특징 : 1. call(호출)해줘야만 실행됨

return(회귀)한다.
함수 사용을 위해 필요한 3요소

함수 선언부(커ㅓㅁ파일러에게 함수의 기본정보를 줌> 호출부의 에러방지)

함수 호출부(사용)

함수 정의부(실제 기능 서술)

main()함수가 무조건 먼저 시작함.

코딩시 유의점

c 프로그램은 프로그램의 기능을 함수 단위로 나누어 작성 : 입력기능, 계산기능, 출력기능 등(s/p언어특징)

c 프로그램은 소문자로 작성해야한다.(대소문자 구분) : 반드시 소문자로 작성해야하는 것 : 예약어, main함수명, 라이브러리 함수
ex) int num;// > NUM = 7 >컴파일 에러 발생'

예시문제

func4() 함수사용x 오류안남. 함수 필요하면 미리만들고 나중에 호출할지말지 결정

'기초단계 > c언어' 카테고리의 다른 글

2022.11.10-1 배열  (0) 2022.11.10
2022.11.09-2 함수  (0) 2022.11.09
2022.11.09-1 조건 & 분기  (0) 2022.11.09
2022.11.08.-3 반복문  (0) 2022.11.08
2022.11.08.-2 변수, 상수, 입출력  (0) 2022.11.08

+ Recent posts