01 C 프로그래밍 첫걸음 세종대학교 최옥경 교수. C 언어의 역사  B 언어에서 발전  C 언어는 켄 톰슨 (Ken Tompson) 이 개발한 B 언어에서 발전된 언 어  C 언어는 1972 년경, 시스템 PDP-11 에서 운용되는 운영체제 Unix 를 개발하기.

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
© 2012 생능출판사 All rights reserved 쉽게 풀어쓴 C 언어 Express C Express 제 2 장 프로그램 개발과정.
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
제2장 프로그램 개발과정 C Express.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발 과정 C Express.
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발과정 C Express Slide 1 (of 31)
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++ 프로그래밍 기초 : 객체지향의 시작 C++로 프로그래밍한다는 것의 의미
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
코크파트너 설치 가이드 Window 7.
Power Java 제3장 이클립스 사용하기.
Cross Compiler를이용한 커널 컴파일 및 포팅
Cross Compiler를이용한 커널 컴파일 및 포팅 1
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발과정 C Express.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Power Java 제2장 자바 개발 도구.
CUDA Setting : Install & Compile
C 언어 1 1주차 C언어 시작하기 - 1차시 C 언어 특징 및 프로젝트 생성 Programming Language.
Chapter 02 프로그램 개발 첫걸음.
C / C++ Programming in multi platform
1. C++ 시작하기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
컴퓨터정보공학부 서버 안내 [ IBM x3500 ] it.sangji.ac.kr ict.sangji.ac.kr 혹은
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
Cross Compiler 설치.
SSL-VPN 설치 및 접속 설명서.
6장. printf와 scanf 함수에 대한 고찰
C++프로그래 밍 컴퓨터정보과 / 이기희교수.
Cross Compiler를이용한 커널 컴파일 및 포팅
강의 개요. 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
영상처리 실습 인공지능연구실.
LIT-GenAppSetup ※ Texting+ 클라이언트 프로그램은 제품 인증을 받은 제품입니다.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
Eclipse CDT에서 프로젝트를 Export 하고 Import 하는 방법
자바 5.0 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
컴퓨터 개론 및 실습 1주차 2015년 03월 05일.
빌드 성공.
( Windows Service Application Debugging )
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
제 6 강 Getting started.
OpenCV 설정 2.21 만든이 딩딩.
DK-128 개발환경 설정 아이티즌 기술연구소
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
05. General Linear List – Homework
[INA240] Data Structures and Practice
[INA240] Web Programming Homework #2 [INA240] Web Programming
Tensorboard in Windows
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
Chapter 10 데이터 검색1.
공학도를 위한 C언어 프로그래밍실습1 -통합개발환경 사용법-
함수, 모듈.
1. 인터넷 보안 옵션 레지스트리 등록 Config Setup 클릭.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
숙제 작성 및 제출 과정 김진하 2008/03/14.
프로그래밍 개론 Ⅰ 제 1장 . 서론 ②.
수업 내용 수업 목표 강의 내용 강의 계획서 교과서 및 참고도서 평가 방법 수강생의 학습 방법 제안 강의자료 사이트
Presentation transcript:

01 C 프로그래밍 첫걸음 세종대학교 최옥경 교수

C 언어의 역사  B 언어에서 발전  C 언어는 켄 톰슨 (Ken Tompson) 이 개발한 B 언어에서 발전된 언 어  C 언어는 1972 년경, 시스템 PDP-11 에서 운용되는 운영체제 Unix 를 개발하기 위한 언어  미국전신전화국인 AT&T 의 벨 연구소의 데니스 리치 (Dennis Ritchie) 가 개발  C 언어가 영향을 준 언어  C++  자바  C#

C 프로그램 개발 환경  Visual C++  Visual C++ 는 마이크로소프트 사의 대표적인 통합개발환경  프로그램 언어 C/C++ 를 이용하여 응용 프로그램을 개발  Visual C++ 는 현재 MS 의 개발 도구인 MS Visual Studio.Net 의 한 제품으로 판매

C 프로그램 개발 환경  터보 C 2.0 컴파일러   tc20.zip(1.0M) tc20.zip  볼랜드사의 터보 C 2.0 컴파일러  1988 년에 릴리즈되어 발표된지 15 년 이상 지났지만 아직까지도 C 언어 교육용으로 가장 많이 활용  압축 파일을 푼 후 install.exe 를 실행하면 하드 디스크에 설치할 수 있으며 tc.exe 로 통합 개발 환경 실행  에디터  Editplus,

C 프로그램 개발 환경 1. 다운로드 받기 : => 다운로드 ( 클릭 ) 다운로드 ( 클릭 ) 2. 환경설정 1) 메뉴의 도구 => 사용자 도구 구성 선택 2) 추가 => 프로그램 선택 3) 아래 그림과 같이 컴파일러와 실행을 설정해 준다.  Edit plus

C 프로그램 개발 과정  컴파일, 링킹, 실행 과정

Visual C++ 실행  실행 파일 실행

소스 작성  소스와 폴더 지정

첫 프로그램  first.c  main 의 철자와 대소문자를 구분하여 정확히 작성

컴파일 (Compiler)  목적파일 생성

링킹 (Linker)  실행 파일 생성

실행 (Loader)  결과가 없는 프로그램

문장 출력 프로그래밍  원하는 문장 출력  자신의 이름과 수강강좌를 출력하는 프로그램 나는 홍 길동이고 C 프로그래밍 언어를 수강합니다.

프로젝트를 이용한 프로그래밍  프로젝트 하부에 소스 작성 프로젝트를 생성할 기본 폴더 : [I:\C source\] => 본인이 생성한 개인 폴더 ex) c:\ 홍길동 프로젝트 이름 : myname 소스 파일 이름 : myname.c

소스 작성  파일  myname.c

컴파일, 링킹, 실행  아이콘을 이용

C 프로그램의 이해  주석 (Comments)  소스의 첫 줄에 보이는 /* … */ 을 주석 (Comments)  프로그램 언어의 문법과는 관계없는 프로그램 설명 문장  전처리기 지사자 (Preprocessor directives)  # 으로 시작하는 문장  컴파일 하기 전에 먼저 처리해야 할 일을 수행하도록 명령을 내리 는 문장  문장 #include 는 다음에 나오는 헤더 파일 (header file) 을 이 문장 이 있는 부분에 삽입하는 역할을 수행 /* myname.c */ #include

프로그램의 이해 1  main 함수  함수 main() 은 C 언어에서 프로그램이 시작되는 함수  프로그램이 실행되려면 프로그램은 반드시 main() 함수를 가져야 함  함수 main() 에서 기술되는 단어인 int, main, void 는 모두 소문자로 대소문자를 구분하여 정확히 기술 int main(void) { … } int 와 main 사이의 공백은 단어를 구별하는 중요한 의 미가 있으므로, 하나 이상의 공백은 반드시 필요. 집합기호 {, } 는 반드시 있어야 하며, 이는 main() 함수의 시작과 끝을 의미한다.

프로그램의 이해 2  printf 함수  표준출력으로 출력을 하기 위한 함수  이 함수는 함수 이름인 printf 이후의 ( ) 사이에 큰 따옴표 “…” 로 둘러싸 인 문자열을 출력하는 역할을 담당  세미콜론은 C 언어에서 문장의 마지막에 반드시 나와야 하는 문자  문자열 (String)  문자열을 구성하려면 문자열을 큰 따옴표로 앞과 뒤를 둘러싸야 함  문자열에서의 \n  \n 의 의미는 \n 이 나타나는 이후에는 새로운 줄에 출력하라는 의미 printf(“ 나는 홍 길동이고 C 프로그래밍 언어를 수강합니다. printf(" 나는 홍 길동이고 "); printf(" C 프로그래밍 언어를 수강합니다. \n");

에러 수정  에러  프로그램 과정에서 나타나는 문제  에러는 크게 컴파일 시간에 발생하는 에러와 실행 시간에 발생한 에러로 구분  디버깅  컴파일 에러나 실행 에러를 수정하는 과정을 디버깅 (debugging) 디버깅이란 버그를 잡는다는 의미로 여기서 버그란 바로 에러를 의미

디버깅 예제  프로그램 목적  본인의 정보, 즉 이름, 학과, 수 강강좌를 세 줄에 출력하는 프 로그램  다음 소스와 오류  에러 메시지를 자세히 읽어 에 러를 수정  메시지의 이해 에러 메시지 에러 번호 에러가 발생한 파일 이름 과 줄 번호

링킹 오류  잘못된 단어 입력  Main 으로 잘못 기술  컴파일은 성공하나 링킹에서 오류

논리 에러  실행  실행에는 아무 문제가 없으나 처음에 의도한 결과 (3 줄의 정보가 나오는 것 ) 와 다름  논리 에러 (Logic Error)  컴파일과 실행에는 문제가 없으나 원하는 결과가 나오지 않은 것도 하나의 에러  에러수정  소스 8 줄에서 \t 를 \n 으로 수정 \t : 수평 탭 만큼의 이동 \n : 다음 줄로의 이동

수정된 프로그램  바른 결과  디버깅 과정 중 5 가지 수정

금주의 실습 과제 #1  다음과 같은 문장을 출력하는 프로그램을 작성하여 레포트제출 전용 사이트에 파일을 올리기 바랍니다.  제목과 파일명은 반드시 “ 학번 _1.zip” (ex) “090203_1.zip” 로 업 로드하기 바랍니다.  프로그램 목적  다음과 같은 문장을 출력하는 프로그램을 작성  파일 구성  프로그램 저장 장소 : c(d):\ 자신의개인폴더  프로젝트 이름 : 학번 _1 ex) 02345_1  소스 파일 이름 : 학번 _1.c ex) 02345_1.c  업로드할 파일명 : 학번 _1.zip ex) 02345_1.zip

소스  수정 전 ( 보통소스 )  수정 후 ( 고급소스 )

금주의 홈 과제 #1 서식문자의미기능 \nnewline 출력 위치를 다음 줄의 첫번째 칸으로 옮긴다. \ttab 출력 위치를 다음 탭 위치로 옮긴다. \rcarriage return 출력 위치를 현재 줄의 첫번째 칸으로 옮긴다. \bbackspace 출력 위치를 한 칸 뒤로 옮긴다. \aalert27  매주 수업 전까지 해당 소스 및 결과물을 레포트 제출 전용 사이트 ( 에 제출한다.  제목과 파일명은 반드시 “ 학번 _ 성명 ” 으로 하며 규칙 위반 시 감점 처 리한다. (ex) _ 홍길동.zip, c)  ( 힌트 ) 서식문자에는 줄바꿈문자 외에도 여러 가지가 있다. 큰 따옴표나 백슬래시 자체를 출력할 때도 백슬래시를 사용한다. 27

금주의 홈 과제 #1 28

금주의 홈 과제 #1  레포트제출 전용사이트에 다음주 수업 전까지 완료 후 업로드 바람  Visual Studio download ( 강의 사이트에서 다운로드 가능 )  : 업로드할 파일명 : 학번 _ 홍길동.zip ex) “123456_ 홍길동.zip” 서식문자의미기능 \nnewline 출력 위치를 다음 줄의 첫번째 칸으로 옮긴다. \ttab 출력 위치를 다음 탭 위치로 옮긴다. \rcarriage return 출력 위치를 현재 줄의 첫번째 칸으로 옮긴다. \bbackspace 출력 위치를 한 칸 뒤로 옮긴다. \aalert 경보음을 낸다 ( 삑 소리가 난다 ).  ( 힌트 ) 서식문자에는 줄바꿈문자 외에도 여러 가지가 있다. 큰 따옴표나 백슬래시 자체를 출력할 때도 백슬래시를 사용한다.