C 언어의구성요소인상수, 변수, 입 출력함수에 대하여학습

Similar documents
<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap-03.pptx

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

Microsoft PowerPoint - Lesson2.pptx

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - 2주차-1차시 (강의자료) ch01 - C Programming 기초 (part 2)

Microsoft PowerPoint - chap03-변수와데이터형.pptx

<4D F736F F F696E74202D20C1A634C0E520BAAFBCF6BFCDC0DAB7E1C7FC>

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap-04.pptx

Microsoft PowerPoint - chap-04.pptx

OCW_C언어 기초

쉽게풀어쓴 C 언어 Express 제 4 장변수와자료형 이번장에서학습할내용 제 4 장변수와자료형 제 4 장변수와자료형 * 변수와상수의개념이해 * 자료형 * 정수형 * 실수형 * 문자형 * 기호상수사용 * 오버플로우와언더플로우이해 이번장에서는변수와각종자료형을살펴봅니다.

K&R2 Reference Manual 번역본

PowerPoint Presentation

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

<4D F736F F F696E74202D2032C1D6C2F72D32C2F7BDC32028B0ADC0C7C0DAB7E D20BAAFBCF6BFCD20BFACBBEAC0DA>

Microsoft PowerPoint - Chapter_04.pptx

쉽게

untitled

슬라이드 1

OCW_C언어 기초

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - c2.ppt

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

PowerPoint 프레젠테이션

PowerPoint Presentation

OCW_C언어 기초

금오공대 컴퓨터공학전공 강의자료

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

Microsoft PowerPoint - chap06-2pointer.ppt

슬라이드 1

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint 프레젠테이션

ABC 2장

PowerPoint 프레젠테이션

슬라이드 1

중간고사

untitled

Microsoft PowerPoint - 2장 변수와 자료형 pptx

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor

C 프로그램의 기본

PowerPoint 프레젠테이션

C 언어 프로그래밊 과제 풀이

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

Microsoft PowerPoint - chap04-연산자.pptx

컴파일러

Microsoft PowerPoint - Chapter_02.pptx

untitled

03 상수, 변수, 자료형

본 강의에 들어가기 전

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

Microsoft PowerPoint - chap-05.pptx

Microsoft PowerPoint - chap08-1 [호환 모드]

1.1.1 컴퓨터의 구성 p.19

ABC 3장

4.0 개요 p.116 수식 (expression) 연산자 (operator) 와피연산자 (operand) 로구성 수식은평가 (evaluate) 되어최종적으로 1 개의결과값이됨 피연산자 : 상수, 변수, 또다른수식 sum - 10 (a+b) / 2 연산자 2

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

Microsoft PowerPoint - chap05-제어문.pptx

쉽게 풀어쓴 C 프로그래밊

Microsoft PowerPoint - KNK_C01_intro_kor

11장 포인터

KNK_C01_intro_kor

Microsoft PowerPoint - chap12-고급기능.pptx

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap10-함수의활용.pptx

쉽게 풀어쓴 C 프로그래밍

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

<4D F736F F F696E74202D20C1A635C0E520BCF6BDC4B0FABFACBBEAC0DA>

쉽게 풀어쓴 C 프로그래밍

untitled

Microsoft PowerPoint - 제11장 포인터(강의)

Microsoft PowerPoint - chap11-포인터의활용.pptx

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

02장.배열과 클래스

ch15


Microsoft PowerPoint - 제11장 포인터

프로그래밍 및 연습 1

The C++ Programming Language 4 장타입과선언 4.11 연습문제 Hello,world! 프로그램을실행시킨다. 프로그램이컴파일되지않으면 B3.1 을참고하자. #include<iostream> //#include 문, 헤더파일, 전처리지시

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

Microsoft PowerPoint - chap-07.pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Transcription:

C 언어의구성요소인상수, 변수, 입 출력함수에 대하여학습

구성요소 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산

예 /* 두개의숫자의합을계산하는프로그램 */ #include <stdio.h> { int main(void) int x; // 첫번째정수를저장할변수 int y; // 두번째정수를저장할변수 int sum; // 두정수의합을저장하는변수 x = 100; y = 200; sum = x + y; printf(" 두수의합 : %d", sum); return 0; }

결과 두수의합 : 300

주석 (comment) /* 두개의숫자의합을계산하는프로그램 */ #include <stdio.h> int main(void) {......... }

3 가지방법의주석 /* 한줄로된주석 */ /* ------------------------ 저자 : 홍길동 날짜 : 2013.3.4 여러줄로이루어진주석 -------------------------- */ // 여기서부터줄의끝까지주석

전처리기 #include <stdio.h> 외부파일을포함시키라는의미의전처리기 # 기호로시작 stdio.h 는표준입출력에대한라이브러리함수의정의가들어있다.

함수 함수 (function): 특정기능을수행하는처리단계들을괄호로묶어서이름을붙인것 함수는프로그램을구성하는기본적인단위 ( 부품 )

함수 int { main(void) }

문장 함수는여러개의문장으로이루어진다. 문장들은순차적으로실행된다. 문장은 ;( 세미콜른 ) 으로끝나야한다.

변수 int x;// 첫번째정수를저장하는변수 int y;// 두번째정수를저장하는변수 int sum; // 두정수의합을저장하는변수

변수의종류 변수에는데이터의종류에따라여러가지타입이존재한다.

변수의이름 식별자 (identifier): 변수나함수의이름 식별자를만드는규칙 식별자는영어의대소문자, 숫자, 밑줄문자 _ 로이루어진다. 식별자는숫자로시작할수없다. 대문자와소문자를구별하며 C 언어의키워드와똑같은이름은허용되지않는다. 식별자의예 : s, s1, student_number: 올바른식별자 $s, 2nd_student, int: 잘못된식별자

변수선언 변수선언 : 컴파일러에게어떤타입의변수가사용되는지를미리알리는것

상수 상수 (constant): 그값이프로그램이실행하는동안변하지않는수

수식 sum = x + y; 수식 (expression): 피연산자와연산자로구성된식 수식은결과값을가진다.

산술연산 덧셈 + 뺄셈 - 곱셈 * 나눗셈 / 나머지 %

대입연산 x = 100; 대입연산 (assignment operation): 변수에값을저장하는연산 대입연산 = 배정연산 = 할당연산

printf() printf(): 모니터에출력을하기위한표준출력라이브러리함수

문자열출력 printf("hello World!\n");

변수값출력 printf(" 두수의합 : %d", sum);

중간점검 printf() 에서변수의값을실수형태로출력할때사용하는형식지정자는무엇인가? printf() 를사용하여서정수형변수 k 의값을출력하는문장을작성하여보자.

두번째덧셈프로그램 // 사용자로부터입력받은 2 개의정수의합을계산하여출력 #include <stdio.h> int main(void) { int x; int y; int sum; printf(" 첫번째숫자를입력하시오 :"); scanf("%d", &x); printf(" 두번째숫자를입력하시오 :"); scanf("%d", &y); // 첫번째정수를저장할변수 // 두번째정수를저장할변수 // 2개의정수의합을저장할변수 // 입력안내메시지출력 // 하나의정수를받아서 x에저장 // 입력안내메시지출력 // 하나의정수를받아서 x에저장 sum = x + y; // 변수 2개를더한다. printf(" 두수의합 : %d", sum); // sum의값을 10진수형태로출력 } return 0; // 0 을외부로반환

scanf() 의동작 키보드로부터값을받아서변수에저장한다. 변수의주소를필요로한다.

scanf() 형식지정자 %d %f %lf %c %s

연봉계산프로그램 /* 저축액을계산하는프로그램 */ #include <stdio.h> int main(void) { int salary; // 월급 int deposit;// 저축액 } printf(" 월급을입력하시오 : "); scanf("%d", &salary); deposit = 10 * 12 * salary; printf("10 년동안의저축액 : %d\n", deposit); return 0; 월급을입력하시오 : 200 10 년동안의저축액 : 24000

원의면적프로그램 /* 원의면적을계산하는프로그램 */ #include <stdio.h> int main(void) { float radius; float area; // 원의반지름 // 면적 printf(" 반지름을입력하시오 : "); scanf("%f", &radius); area = 3.14 * radius * radius; printf(" 원의면적 : %f\n", area); } return 0;

환율계산프로그램 /* 환율을계산하는프로그램 */ #include <stdio.h> int main(void) { float rate; float usd; int krw; printf(" 달러에대한원화환율을입력하시오 : "); scanf("%f", &rate); printf(" 원화금액을입력하시오 : "); scanf("%d", &krw); usd = krw / rate; // 원 / 달러환율 // 달러화 // 원화 // 입력안내메시지 // 사용자로부터환율입력 // 입력안내메시지 // 원화금액입력 // 달러화로환산 printf(" 원화 %d 원은 %f 달러입니다.\n", krw, usd); // 계산결과출력 } return 0; // 함수결과값반환

실습 : 사각형의둘레와면적 필요한변수는 w, h, area, perimeter라고하자. 변수의자료형은실수를저장할수있는 double형으로하자. area = w*h; perimeter = 2*(w+h);

코딩 #include <stdio.h> int main(void) { double w; double h; double area; double perimeter; w = 10.0; h = 5.0; area = w*h; perimeter = 2*(w+h); } printf(" 사각형의넓이 : %lf", area); printf(" 사각형의둘레 : %lf", perimeter); return 0;

도전문제 1. 한번의 printf() 호출로변수 perimeter 와 area 의값이동시에출력되도록변경하라. 2. 변수들을한줄에모두선언하여보자. 3. w 와 h 의값을사용자로부터받도록변경하여보자. %lf 를사용한다.

변수와상수의개념이해 * 자료형 * 정수형 * 실수형 * 문자형 * 기호상수사용 * 오버플로우와언더플로우이해

변수와상수 변수 (variable): 저장된값의변경이가능한공간 상수 (constant): 저장된값의변경이불가능한공간 ( 예 ) 3.14, 100, A, Hello World!

예제 : 변수와상수 /* 원의면적을계산하는프로그램 */ #include <stdio.h> int main(void) { float radius; float area; // 원의반지름 // 원의면적 printf(" 원의면적을입력하시요 :"); scanf("%f", &radius); area = 3.141592 * radius * radius; printf(" 원의면적 : %f \n", area); } return 0;

자료형 자료형 (data type): 데이터의타입 ( 종류 ) ( 예 ) short, int, long: 정수형데이터 (100) ( 예 ) double, float: 실수형데이터 (3.141592) ( 예 ) char: 문자형데이터 ( A, a, 한 )

예제 : 자료형의크기 #include <stdio.h> int main(void) { int x; } printf(" 변수 x의 크기 : %d", sizeof(x)); printf("char형의 크기 : %d", sizeof(char)); printf("int형의 크기 : %d", sizeof(int)); printf("short형의 크기 : %d", sizeof(short)); printf("long형의 크기 : %d", sizeof(long)); printf("float형의 크기 : %d", sizeof(float)); printf("double형의크기 : %d", sizeof(double)); return 0;

변수의이름짓기 식별자 (identifier): 식별할수있게해주는이름 변수이름 함수이름

식별자를만드는규칙 알파벳문자와숫자, 밑줄문자 _ 로구성 첫번째문자는반드시알파벳또는밑줄문자 _ 대문자와소문자를구별 C 언어의키워드와똑같은이름은허용되지않는다.

좋은변수이름 변수의역할을가장잘설명하는이름 밑줄방식 : bank_account 단어의첫번째글자를대문자 :BankAccount

키워드 키워드 (keyword): C언어에서고유한의미를가지고있는특별한단어 예약어 (reserved words) 라고도한다. auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while

변수선언의예 변수선언의예 char c; int i; double interest_rate; int height, width;

변수의초기화 char c = a ; int i = 7; double interest_rate = 0.05;

예제 : 변수의선언 #include <stdio.h> int main(void) { int usd; int krw; // 달러화 // 원화 printf(" 달러화금액을입력하시오 : "); scanf("%d", &usd); krw = 1120 * usd; printf(" 달러화 %d 달러는 %f 원입니다.", usd, krw); } return 0;

정수형선언의예 short grade; // short 형의변수를생성한다. int count; // int 형의변수를생성한다. long distance; // distance 형의변수를생성한다.

예제 /* 정수형자료형의크기를계산하는프로그램 */ #include <stdio.h> int main(void) { short year = 0; // 0 으로초기화한다. int sale = 0; // 0 으로초기화한다. long total_sale = 0; // 0 으로초기화한다. year = 10; // 약 3만2천을넘지않도록주의 sale = 200000000; // 약 21억을넘지않도록주의 total_sale = year * sale; // 약 21억을넘지않도록주의 printf("total_sale = %d \n", total_sale); } return 0;

unsigned 수식자 unsigned int speed; // 부호없는 int 형 unsigned distance; // unsigned int distanc e와같다. unsigned short players; // 부호없는 short 형 unsigned long seconds; // 부호없는 long 형

오버플로우 오버플로우 (overflow): 변수가나타낼수있는범위를넘는숫자를저장하려고할때발생 #include <stdio.h> #include <limits.h> int main(void) { short s_money = SHRT_MAX; // 최대값으로초기화한다. 32767 unsigned short u_money = USHRT_MAX; // 최대값으로초기화한다. 65535 s_money = s_money + 1; printf("s_money = %d", s_money); } u_money = u_money + 1; printf("u_money = %d", u_money); return 0;

예제 /* 정수상수프로그램 */ #include <stdio.h> int main(void) { int x = 10; // 10 은 10 진수이고 int 형이고값은십진수로 10 이다. int y = 010; // 010 은 8 진수이고 int 형이고값은십진수로 8 이다. int z = 0x10; // 010 은 16 진수이고 int 형이고값은십진수로 16 이다. printf("x = %d", x); printf("y = %d", y); printf("z = %d", z); } return 0;

기호상수 기호상수 (symbolic constant): 기호를이용하여상수를표현한것 ( 예 ) area = 3.141592 * radius * radius; area = PI * radius * radius; income = salary - 0.15 * salary; income = salary - TAX_RATE * salary; 기호상수의장점 가독성이높아진다. 값을쉽게변경할수있다.

기호상수를만드는방법 #1 #define EXCHANGE_RATE 1120 const int EXCHANGE_RATE = 1120;

예제 : 기호상수 #include <stdio.h> #define TAX_RATE 0.2 int main(void) { const int MONTHS = 12; int m_salary, y_salary; // 변수선언 printf( " 월급을입력하시요 : "); // 입력안내문 scanf("%d", &m_salary); y_salary = MONTHS * m_salary; // 순수입계산 printf(" 연봉은 %d입니다.", y_salary); printf(" 세금은 %f입니다.", y_salary*tax_rate); } return 0;

예제 /* 2 의보수프로그램 */ #include <stdio.h> int main(void) { int x = 3; int y = -3; } printf("x = %08X\n", x); // 8자리의 16진수로출력한다. printf("y = %08X\n", y); // 8자리의 16진수로출력한다. printf("x+y = %08X\n", x+y); // 8자리의 16진수로출력한다. return 0; x = 00000003 y = FFFFFFFD x+y = 00000000

예제 /* 부동소수점자료형의크기계산 */ #include <stdio.h> int main(void) { float x = 1.234567890123456789; double y = 1.234567890123456789; } printf("float 의크기 =%d\n", sizeof(float)); printf("double 의크기 =%d\n", sizeof(double)); printf("long double 의크기 =%d\n", sizeof(long double)); printf("x = %30.25f\n",x); printf("y = %30.25f\n",y); return 0; float 의크기 =4 double 의크기 =8 long double 의크기 =8 x = 1.2345678806304932000000000 y = 1.2345678901234567000000000

실습 : 태양빛도달시간 태양에서오는빛이몇분만에지구에도착하는지를컴퓨터로계산해보고자한다. 빛의속도는 1 초에 30 만 km 를이동한다. 태양과지구사이의거리는약 1 억 4960 만 km 이다

소스 #include <stdio.h> int main(void) { double light_speed = 300000; // 빛의속도저장하는변수 double distance = 149600000; // 태양과지구사이거리저장하는변수 // 149600000km로초기화한다. double time; // 시간을나타내는변수 time = distance / light_speed; // 거리를빛의속도로나눈다. time = time / 60.0; // 초를분으로변환한다. printf(" 빛의속도는 %fkm/s \n", light_speed); printf(" 태양과지구와의거리 %fkm \n", distance); printf(" 도달시간은 %f초\n", time); // 시간을출력한다. return 0; }