03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.

Slides:



Advertisements
Similar presentations
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
Advertisements

프로그래밍1 및 실습 (C언어) - 3장 기본자료형 (3.6부터 끝까지) -
데이터의 표현과 연산 (1) (Chapter 3)
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25)
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
쉽게 풀어쓴 C언어 Express 제18장 입출력과 라이브러리 함수 C Express.
4장: 자료형과 수식.
Kasimov C언어 세미나 1st.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
6장. printf와 scanf 함수에 대한 고찰
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
변수와 자료형.
C 7장. 배열과 문자열 #include <stdio.h> int main(void) { int num;
기초C언어 제3주 C프로그램 구성요소, 변수와 자료형 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
변수와 자료형.
Chapter 10. 포인터.
제 2 장 변수와 상수.
제 3 장 상수와 변수
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
4주차: Data Types and Functions
5장. 상수와 기본 자료형. 5장. 상수와 기본 자료형 5-1 C 언어가 제공하는 기본 자료형 자료형(data type) 기본 자료형 사용자 정의 자료형 int val; "선언할 변수의 특징을 나타내기 위한 키워드" 기본 자료형 기본적으로 제공이 되는 자료형 사용자.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
adopted from KNK C Programming : A Modern Approach
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
제2장 데이터형과 표준 입출력문 문봉근.
2019년 2월 24일 오후 4시 59분 제2장 표준 입출력 함수
C언어 프로그래밍의 이해 Ch13. 선행처리기와 주석문.
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
11장. 1차원 배열 IT응용시스템공학과 김 형 진 교수.
Formatted Input/Output
제 3 장 연산자 (Operators).
Java의 정석 제 2 장 변수(Variable) Java 정석 남궁성 강의
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 05. 상수와 기본 자료형.
프로그래밍 원리 Chapter 04 자료 처리와 연산자 신한대학교 IT융합공학부 박 호 균.
Chapter 04 자료 유형.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
게임프로그래밍 I - 1차원 배열 - 공주대학교 게임디자인학과 박 찬 교수 2011년 4월 25일.
Chapter 11. 배열과 포인터.
Chapter 04. 데이터의 표현과 연산(Ⅱ).
4장 자료형.
Chapter 05. 입출력 함수.
실습과제 1(조건문, ) 표준입력으로 수축기 혈압을 입력 받아 그에 따른 적당한 표현을 화면에 출력하는 프로그램을 if-else 문을 이용하여 작성.
제 3장 데이터형과 연산자 Hello!! C 언어 강성호 김학배 최우영.
학습목표 Chapter 2-1. 변수와 포인터 변수의 선언과 변수에 대한 메모리 할당을 살펴본다.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
자바 5.0 프로그래밍.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
포인터와 배열 조 병 규 한 국 교 통 대 학 교 SQ Lab..
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
C언어 프로그래밍의 이해 Ch03. 기본 자료형, 변수와 상수.
3주차: Control Flow and Others
박성진 컴퓨터 프로그래밍 기초 [03] 변수와 자료형 박성진
어서와 C언어는 처음이지 제16장.
C.
printf("Global Korea\n");
C 프로그래밍은 매우 도전적인 작업이다. 도전의 이면에 철저한 준비와 체계적인 노력
개정판 누구나 즐기는 C언어 콘서트 제3장 변수와 자료형 출처: pixabay.
Chapter 09. 배열.
3b장 구조체와 열거형 구조체의 정의 구조체 변수의 선언 구조체 초기화 및 사용 구조체 재정의 포인터를 이용해서 구조체 사용
11장. 1차원 배열.
Presentation transcript:

03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C

변수와 자료 유형  변수 (variables)  프로그램에서 자료 값을 임시로 기억할 수 있는 저장 공간  변수 (Variables) 는 컴퓨터의 메모리인 RAM(Random Access Memory) 에 저장  물건을 담는 박스라고 생각한다면 박스의 크기에 따라 담을 물건 이 제한됨  자료유형  이 변수에 저장되는 값의 종류를 자료 유형 (data types) 또는 간단 히 자료형이라고도 함  C 언어에는 자료형을 크게 기본 자료형 (basic type) 과 유도 자료 형 (derived type) 으로 구분 기본 자료형 : 정수형, 문자형, 부동 소수형 유도 자료형 : 배열, 구조체, 공용체 등

자료유형의 종류와 크기  적당한 자료유형

자료유형의 종류  모두 12 가지  변수가 가질 값의 종류가 자료형  변수의 자료형에 따라 변수가 저장될 공간의 크기와 내부 저장 방식이 결정 괄호는 생략 가능하다는 것을 의미  문장 char c; 는 변수 이름 c 를 자료형 char 로 선언하는 문장 자료형 변수이름 ; char c;

입출력 보충 : 데이터의 표현과 연산 기본자료형

 예제 소스 : Overflow (C_03-1.c) 여기서 day 변수의 상수 값으로 “32768” 을 입력하게 되면 그 결과는 어떻게 될 것인가 ? 1) ) ) Error

 입력함수 이해하기 #1

 scanf 함수 제대로 사용하기 함수 scanf() – 간단한 정수의 입력 –& 은 주소를 의미하는 연산자

scanf 함수의 첫번째 전달인자는 변환문자열이며 두 번째 전달인 자부터 입력 받을 변수를 차례로 나열한다.  scanf 함수 제대로 사용하기 scanf 함수의 변환문자열에는 불필요한 문자를 사용하지 않는다. scanf( “ %d %c\n ”, &age, &blood_type); 불필요한 문자 !!

입력에 사용되는 변환문자열은 기본적으로 printf 함수와 같다. ▶ scanf 함수의 기본적인 사용법 구분변환문자열 입력 형태 입력되는 변수의 자료형 정수형 %d, %u 10 진수 char, short, int, long 형 변수 %o 8 진수 %x 16 진수 실수형 %lf, %le 소수점 또는 지수형 double 형 변수 문자형 %c 하나의 문자 char 형 변수 문자열 %s 하나의 문자열 char 배열 scanf 함수는 값을 저장할 변수의 위치를 알아야 하므로 변수명에 ‘ & ’ 를 붙여 야 한다 ( 단, 배열명에는 붙이지 않는다 ).

scanf 함수는 입력 데이터의 구분을 화이트스페이스 ( 스페이스, 엔터, 탭 ) 으로 한다 (%d, %lf, %s 변환문자열 ). ▶ scanf 함수는 변환문자열을 정확히 사용해야 한다. scanf( “ %d%d ”, &a, &b); ( 엔터 ) 공백으로 데이터를 구분 %c 변환문자열은 화이트스페이스도 하나의 데이터로 입력 받는다. scanf( “ %c%c ”, &a, &b); x y ( 엔터 ) 공백을 데이터로 입력 화이트스페이스를 구분문자로 사용하기 위해서는 %c 변환문자열 앞에 공백을 사용한다. scanf( “ %c %c ”, &a, &b); 공백을 사용하면 b 에 y 를 입력 받게 된다.

 예제소스 (C_03-2.c) 생년월일과 혈액형을 입력 받아 그 결과를 출력 하는 문 장을 완성해 보시오.

 예제소스 (C_03-2.c)

 출력함수 이해하기 #2

상수의 형태에 따라 적절한 자료형의 변수를 사용해야 한다. 정수형 변수는 int, 실수형 변수는 double 로 선언한다. ▶ 정수형 변수와 실수형 변수 월급의 실 입금액 계산을 위한 변수 선언의 예 int bonbong, bonus, total; double tax, real_income; bonbong = 150; bonus = 60; total = bonbong + bonus; tax = total * 0.09; real_income = total – tax; // 본봉, 보너스, 총수입액 // 세금, 실수입액 // 본봉은 150 만원 // 보너스는 60 만원 // 총수입액은 본봉 + 보너스 // 세금은 총수입액의 9% // 실수입액은 총수입액 - 세금

출력하려는 정수 값의 필드 폭 (width) 지정 –%d 사이에 폭을 나타내는 정수를 기술  정수형 변수의 출력

실수형 값을 입출력 할 때는 %lf 변환문자열을 사용한다. - 실수형 값의 출력 ▶ 실수형 데이터의 입출력 - 실수형 값의 입력 double tax_rate; scanf( “ %lf ”, &tax_rate); // 세율을 저장할 실수형 변수 // 키보드로 세율 입력 double real_income;... printf( “ 실 수입액은 %lf 입니다. ”, real_income); // 실수형 변수 선언 // 실 수입액 계산 숫자 데이터 정리 데이터형상수의 표현법변수의 자료형데이터의 크기입출력 변환문자열 정수형 10int4 바이트 %d 실수형 10.0double8 바이트 %lf

 실수형 변수의 입출력 부동소수형을 출력하는 경우 – 변환명세에서 필드 폭 (width) 을 지정하려면 %f 사이에 폭을 기술

문자상수는 문자를 작은따옴표로 묶어서 표현한다. ▶ 문자상수 - 문자상수의 크기는 1 바이트이다. - 아스키코드값으로 번역되므로 실제로는 정수형 상수와 같이 처리된다. printf(“ 정수형 상수값 : %d\n”, 65); printf(“ 문자형 상수값 : %d\n”, ‘A’); 정수형 상수값 : 65 문자형 상수값 : 65 전체 4 바이트

문자상수는 1 바이트 크기의 char 형 변수에 저장한다. ▶ 문자변수 char A; A = ‘ A ’ ; // A 는 char 형 변수명 // 변수 A 에 문자상수 ‘ A ’ 를 저장 char 형 변수는 작은 범위의 정수값도 저장할 수 있다. - 문자상수 자체가 정수값으로 번역되므로 char 형 변수도 당연히 정수값을 저장할 수 있다. 단, 크기가 1 바이트이므로 값의 범위가 제한적이다. char ch; ch = 123; // ch 는 char 형 변수명 // char 형 변수에 정수값 저장

▶ 문자의 입출력 문자를 입출력 할 때는 %c 변환문자열을 사용한다. 혈액형을 입력 받아 그대로 출력하는 코드 (AB 형 제외 ) char blood_type; printf( “ 혈액형을 입력하세요 : ” ); scanf( “ %c ”, &blood_type); printf( “ 당신의 혈액형은 %c 형입니다.\n ”, blood_type); // 문자 변수의 선언 // 입력 안내 메시지 출력 // 혈액형 입력 // 혈액형 출력 혈액형을 입력하세요 : B ( 엔터 ) 당신의 혈액형은 B 형입니다. char 형 변수라도 정수값을 입출력 할 때는 %d 를 사용한다.

문자열상수는 문자열을 큰따옴표로 묶어서 표현한다. 문자열상수는 연속적인 문자상수들의 집합이다. 문자열상수의 마지막에는 널문자가 포함되어 번역된다. ▶ 문자열상수 널문자 (null character) 는 ‘ \0 ’ 으로 표현하며 아스키코드값은 0 이다.

문자열은 char 형 변수들을 모아 놓은 배열에 저장한다. - 널문자를 포함한 문자열의 길이에 맞게 char 배열을 선언한다. - 문자열 “ Hani ” 를 저장하기 위한 char 배열 ▶ 문자열의 저장 char string[5] = “ Hani ” ; // 배열의 선언과 동시에 문자열을 저장한다. 문자열상수는 배열의 선언과 동시에 대입해야 한다. char string[5]; string = “ Hani ” ; 컴파일 에러 !

문자열을 입출력 할 때는 %s 변환문자열을 사용한다. - 배열은 입력되는 문자열이 모두 저장될 수 있도록 넉넉하게 선언한다. - 입력할 때 배열명 앞에는 & 를 붙이지 않는다. ▶ 문자열의 입출력 - 지하철 역 이름을 입력 받아 출력하는 코드 char subway[80]; printf( “ 역 이름을 입력하세요 : ” ); scanf( “ %s ”, subway); printf( “ 이번에 정차할 역은 %s 역입니다.\n ”, subway); // 배열명 앞에 & 가 없다 !!

 예제소스 (C_03-5.c) 지하철역을 입력 받아 그 결과를 출력 하는 문장을 완성 해 보시오.

문자열을 입력할 때 중간에 빈칸을 두지 않는다. - scanf 함수는 “ 화이트 스페이스 ( 빈칸, 탭, 엔터 ) ” 를 입력 데이터를 구분 하는 문자로 활용하므로 문자열의 중간에 빈칸이 들어가면 빈칸의 앞 부분만 입력이 된다. ▶ 문자열의 입출력 역 이름을 입력하세요 : 을지로 3 가 ( 엔터 ) 이번에 정차할 역은 을지로입니다. // 문자열 중간에 빈칸 입력 // 을지로만 출력된다. 문자 데이터 정리 데이터형상수의 표현법변수의 자료형데이터의 크기입출력 변환문자열 문자형 ‘A’‘A’ char1 바이트 %c 문자열 “ Hani ” char 배열가변적임 %s

자료형에 따른 변환문자열의 사용은 다음과 같다. ▶ 변환문자열 정리 구분변환문자열 출력 형태 대상 자료형 정수형 %d 부호 있는 10 진수 signed 형의 정수형 변수, 상수 %u 부호 없는 10 진수 unsigned 형의 정수형 변수, 상수 %o 부호 없는 8 진수 signed, unsigned 구분 없이 정수형 데이터를 각 진법에 맞게 출력 %x 부호 없는 16 진수 실수형 %lf 부호 있는 소수점 형태실수형 변수, 상수 %le 부호 있는 지수 형태실수형 변수, 상수 문자형 %c 하나의 문자 char 형 변수, 문자상수 문자열 %s 문자열 char 형 배열의 이름, 문자열상수

▶ 정리하기 : 다양한 변환문자열을 사용한 예제 : 예제소스 (C_03-4.c) #include int main() { char ch='A'; char name[80]=" 황금박쥐 "; int in=10; float ft=210; double db=16.8; printf(" 정수형 상수의 출력 : %d\n", -10); printf(" 정수형 변수의 출력 : %d\n", in); printf(" 정수형 수식의 출력 : %d\n", in/3); printf(" 정수형 -> 실수형 변환식의 출력 : %3.1f\n", (float)in/3); printf(" 실수형 수식을 소수점 형태로 출력 : %3.1lf\n", ft/4); printf(" 실수형 상수를 소수점 형태로 출력 : %lf\n", 2.5); printf(" 실수형 변수를 지수 형태로 출력 : %le\n", db); printf(" 실수형 수식을 소수점 형태로 출력 : %lf\n", db/4); printf(" 문자상수의 출력 : %c\n", 'F'); printf(" 문자변수의 출력 : %c\n", ch); printf(" 문자 배열의 출력 : %s\n", name); printf(" 문자열상수의 출력 : %s\n", " 날아라 태극호 "); return 0; } 출력 형태

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

 실행 결과 : 예제소스 (C_03-3.c)

 금주의 홈 과제 #3 여러 개의 소스코드가 있습니다. => 이중 한 문제만 선택해서 코딩후 실행해 보면 됩니다. 레포트제출 전용사이트에 다음주 수업 전까지 완료 후 업로드 바람 Visual Studio download ( 강의 사이트에서 다운로드 가능 ) : 업로드할 파일명 : 학번 _ 홍길동.zip ex) “123456_ 홍길동.zip”