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

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

Microsoft PowerPoint - [2009] 02.pptx

K&R2 Reference Manual 번역본

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

C프로-3장c03逞풚

The C++ Programming Language 5 장포인터, 배열, 구조체 5.9 연습문제 다음의선언문을순서대로작성해보자. 문자에대한포인터, 10개정수의배열, 10개정수의배열의참조자, 문자열의배열에대한포인터, 문자에대한포인터에대한포인터, 상수정수, 상수

Microsoft PowerPoint - Chapter_04.pptx

chap10.PDF

OCW_C언어 기초

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

슬라이드 1

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

PowerPoint Presentation

Microsoft PowerPoint - Chapter 6.ppt

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

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - ch07 - 포인터 pm0415

슬라이드 1

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

C++ Programming

untitled

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

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - Chapter 1-rev

설계란 무엇인가?

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-2pointer.ppt

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

1. 표준입출력 C++ : C의모든라이브러리를포함 printf, scanf 함수사용가능예 : int, double, 문자열값을입력받고출력하기 #include <cstdio> int ivar; double dvar; char str[20]; printf("int, dou

슬라이드 1

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

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

PowerPoint Template

OCW_C언어 기초

080629_CFP °ø°³¿ë.hwp

쉽게 풀어쓴 C 프로그래밍

KNK_C_05_Pointers_Arrays_structures_summary_v02

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

11장 포인터

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

PowerPoint Template

슬라이드 1

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

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

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

C 프로그래밊 개요

Microsoft PowerPoint - additional06.ppt [호환 모드]


컴파일러

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

11장 포인터

Microsoft PowerPoint - 8ÀÏ°_Æ÷ÀÎÅÍ.ppt

Microsoft PowerPoint - Java7.pptx

초보자를 위한 C# 21일 완성

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

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

슬라이드 1

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>

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

, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float


PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - chap-04.pptx

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

C++ Programming

untitled

쉽게 풀어쓴 C 프로그래밍

C++-¿Ïº®Çؼ³10Àå

Microsoft PowerPoint - chap12-고급기능.pptx

Microsoft PowerPoint - 9ÀÏ°_ÂüÁ¶ÀÚ.ppt

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

Microsoft PowerPoint - chap-04.pptx

03장.스택.key

ABC 3장


이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

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

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

Microsoft PowerPoint - chap04-연산자.pptx

설계란 무엇인가?

(Microsoft PowerPoint - 11\300\345.ppt [\310\243\310\257 \270\360\265\345])

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint Presentation

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

Microsoft PowerPoint - chap-11.pptx

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

untitled

PowerPoint Presentation

Microsoft PowerPoint - 05장(함수) [호환 모드]

PowerPoint 프레젠테이션

ABC 2장

Transcription:

The C++ Programming Language 4 장타입과선언 4.11 연습문제 4.11.1 Hello,world! 프로그램을실행시킨다. 프로그램이컴파일되지않으면 B3.1 을참고하자. #include<iostream> //#include 문, 헤더파일, 전처리지시자로호칭 using namespace std; //using 키워드를사용하여 std 네임스페이스를사용선언 int main() cout<<"hello, world!"<<endl; //Hello, world를출력한다. return 0; // 리턴반환하면서프로그램을끝낸다.

4.11.2 4.9에나온선언문전부에대해다음과같이해보자. 선언문이정의문이아니면, 그에대한정의문을작성한다. 선언문이정의문이면그에대해정의문이아닌선언문을작성한다. Char ch; String s; Int count = 1; Const double pi = 3.1415926535897932385; Extern int error_number; int error_number = 1; Const char*name = Njal ; Const char*season[] = spring, summer, fall, winter ; Struct Dateint d, m, y;; Int day(date*p)return p -> d ; Double sqrt(double); Sqrt 에대한또다른선언 Template<class T> T abs (T a) return a<0? a : a; Typedef complex<short> Point; Struct User; Enum BeerCarlsberg, Tuborg, Thor; Namespace NSint a;

4.11.3 기본타입, 포인터타입, 나열자타입을몇개골라그것들의크기를출력하는프로그램을작성하자. sizeof 연산자를사용하면된다. #include <iostream> using namespace::std; int main( ) int a; //int 타입 char b; //char 타입 double c; //double 타입 int * p; //int 포인터타입 enum color red, blue, green; // 나열자타입 cout<<"size of int : "<<sizeof(a)<<"endl"; cout<<"size of char : "<<sizeof(b)<<"endl"; cout<<"size of double : "<<sizeof(c)<<"endl"; cout<<"size of pointer : "<<sizeof(p)<<"endl"; cout<<"size of color : "<<sizeof(color)<<"endl"; /* 각타입의크기를 sizeof로알아본다. */ 결과

4.11.4 글자 a..z와 0..9를출력하고, 각각의정수값도출력하는프로그램을작성한다. 출력할수있는다른문자에대해서도똑같은프로그램을작성하자. 16진수만을사용해서똑같은프로그램을작성해보자. 1. a 에서 z 까지, 0 에서 9 까지 #include <iostream> using namespace::std; int main( ) for (char a = 'a' ; a<('z'+1);a++) // 문자형변수를 'a' 로초기화하면서선언 //'z' 까지증가시킨다. cout<<a<<" - "<<(int)a<<" "; //char형그대로출력하고 int형으로형변환하여출력한다. for (char a = '0' ; a<('9'+1);a++) cout<<a<<" - "<<(int)a<<" "; //a..z와동일한방법 return 0; 결과

2. 출력할수있는다른문자에대해서 #include <iostream> using namespace::std; int main( ) char StartChar; // 시작문자 char EndChar; // 끝문자 while (1) // 무한루프시작 cout<<"enter Start Character : "; cin>>startchar; // 시작문자입력받기 cout<<"enter End Character : "; cin>>endchar; // 끝문자입력받기 if ((int)startchar < (int)endchar) // 시작문자와끝문자크기비교 // 끝문자가시작문자보다클때 ( 정상 ) for (StartChar;StartChar<EndChar+1 ; StartChar++ ) // 끝문자까지시작문자를증가시킨다. cout<<startchar<<" - "<<(int)startchar<<" "; //char 타입으로보여주고 int타입으로형변환하여보여준다. return 0; // 프로그램종료 else // 끝문자가시작문자보다작을때 ( 비정상 ) cout<<"end Character must bigger than Start Character"<<endl; cout<<"try again..."<<endl; // 잘못되었다는경고메시지와함께 if문을빠져나오고 //while의무한루프에의해다시처음으로돌아간다. return 0; 결과

4.11.5 여러분이사용하는구현한경에서는 char, short, int, long, float, double, long double, unsigned 중어떤것이가장크고가장작은지조사해보자. #include<iostream> #include<limits> //numeric_limits를사용하기위한헤더파일 using namespace std; /* c++ 에서의객체의크기는 1바이트를기준으로표현된다 */ int main() int intmax = INT_MAX; int intmin = INT_MIN; char charmax = CHAR_MAX; char charmin = CHAR_MIN; long longmax = LONG_MAX; long longmin = LONG_MIN; double doublemax = DOUBLE_MAX; double doublemin = DOUBLE_MIN; cout <<"char size:" << sizeof(char)<<"byte"<<endl; cout <<"char max:" << int(charmax) <<endl; //char의최대값을숫자화해서출력 cout <<"char min:" << int(charmin) <<endl; /* 캐릭터의크기를 cout을통해출력 */ cout <<"bool size:" << sizeof(bool)<<"byte"<<endl; cout <<"void size:" << sizeof(void)<<"byte"<<endl; // 에러 cout <<"short short:" << sizeof(short)<<"byte"<<endl; cout <<"int size:" <<sizeof(int)<<"byte"<<endl; cout <<"int max:" << intmax <<endl; cout <<"int min:" << intmin <<endl; cout <<"long size:" << sizeof(long)<<"byte"<<endl; cout <<"long max:" << int(longmax) <<endl; cout <<"long min:" << int(longmin) <<endl;

cout <<"float size:" << sizeof(float)<<"byte"<<endl; cout <<"double size:" << sizeof(double)<<"byte"<<endl; cout <<"double max:" << int(doublemax) <<endl; // 에러 cout <<"double min:" << doublemin <<endl; // 에러 cout <<"long double size:" << sizeof(long double)<<"byte"<<endl; cout <<"unsigned size:" << sizeof(unsigned)<<"byte"<<endl; cout <<"double max:" <<numeric_limits<double>::max() <<"byte"<<endl; /* double의최대값을템플릿에서제공되는 numeric_limits를통해표현 */ return 0; 결과

4.11.6 여러분이사용하는구현환경에서 c++ 프로그램에쓸수있는가장긴내부이름 (local name) 은무엇인가? 또가장긴외부이름 (external name) 은무엇 인가? 이름에넣을수있는문자에대해어떤제약이있는지조사해보자. 풀이 ) 길이에는제약이없으나링커에의해서가끔씩제한되기도한다. 이름제약 - 숫자로시작하면안된다 - 스페이스 ( 빈공간 ) 이있어서는안된다. - 예약어는이름으로사용못한다. - 특수문자는사용못한다. 런타임환경은문자집합을늘리거나제한하여특수문자의사용이가능하게끔하기도한다 #include <stdio.h> int this_is_a_global_variable_identifier_of_extrenal_area=10, b=20; /* 전역변수 ( 약열배로도쳐봄 ) */ void func1() int temp, this_is_a_global_variable_identifier_of_extrenal_area=10, b=20; // 지역변수 temp = this_is_a_global_variable_identifier_of_extrenal_area; this_is_a_global_variable_identifier_of_extrenal_area=b; b=temp; void func2() int temp; temp = this_is_a_global_variable_identifier_of_extrenal_area; this_is_a_global_variable_identifier_of_extrenal_area=b; b=temp; void main(void) func1(); printf("this_is_a_global_variable_identifier_of_extrenal_area=%d, b=%d \n", this_is_a_global_variable_identifier_of_extrenal_area,b); func2(); printf("this_is_a_global_variable_identifier_of_extrenal_area=%d, b=%d \n", this_is_a_global_variable_identifier_of_extrenal_area,b);

4.11.7 표준을따르는모든구현환경에서어떤 A타입의값이 B타입으로전부표현될수있으면 A타입이 B타입을가리키는그래프를그려보자. 일단정수와기본타입에대해서그리면된다. 여러분이자주사용하는구현환경에서는이그래프가어떻게바뀌는지도조사해보자. 1 sizeof (char) sizeof(short) sizeof(int) sizeof(float) sizeof(long double) char short int float long long double 1바이트 2바이트 4or2바이트 4바이트 4바이트 8바이트 8비트 16비트 32or16비트 32비트 32비트 64비트 <flat 과 double 비트간격표현범위 >

#include<iostream> using namespace::std; int main() char a; // char 타입 short b; // short 타입 int c; // int 타입 long d; // long 타입 float e; // float 타입 double f; // double 타입 long double g; // long double 타입 cout<<"size of char : "<<sizeof (a)<<"endl"; // 각타입의크기를출력한다. cout<<"size of short : "<<sizeof (b)<<"endl"; cout<<"size of int : "<<sizeof (c)<<"endl"; cout<<"size of long : "<<sizeof (d)<<"endl"; cout<<"size of float : "<<sizeof (e)<<"endl"; cout<<"size of double : "<<sizeof (f)<<"endl";

cout<<"size of long double : "<<sizeof (g)<<"endl";