2.2. 내용 ¶
2강. 그 뒷면에는..
- 우리는 CPU에 일을 시킨다
- 휘발성 메모리
- 프로그램과 프로세스
- 변수와 메모리
- 자료형의 개념
○ 자료형에 따른 해석 방식
○ 여러 가지 자료형
- 문자 리터럴, 문자열 리터럴
○ 문자와 문자열의 차이
○ 문자열 선언 방법
○ 이스케이프 시퀀스
- ASCII 코드
- 실수 리터럴 표현법
- 진법 표현
- 묵시적 형 변환과 명시적 형 변환
○ 묵시적 형 변환은 연산에 대해 일어난다
○ 캐스팅
- 함수란?
- 다시 보는 Hello world 프로그램
- scanf를 이용하여 콘솔 입력 받기
- printf와 scanf를 이용한 덧셈기 만들기
- printf와 scanf를 이용한 진법 변환기 만들기
3.1. 예제1 ¶
#include <stdio.h> int main(void) { char c = 97; printf("%c%c%c%c%c", c, c + 1, c + 2, c + 3, c + 4); return 0; }
3.2. 예제2 ¶
#include <stdio.h> int main(void) { printf("%c%c%c%c%c%c%c%c%c%c%c%c%c\n", 'C', ' ', 'P', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g'); printf("C Programming\n"); printf("%s", "C Programming\n"); char* s = "C Programming"; printf("%s\n", s); return 0; }
3.3. 예제3 ¶
#include <stdio.h> int main(void) { int Integer = 100; char Character = '\''; char* String = "문자열"; float FloatingPointRealNumber = 12.7f; double DoubleRealNumber = 12.7; printf("%d, %c, %s, %f, %lf\n", Integer, Character, String, FloatingPointRealNumber, DoubleRealNumber); int Integer2 = 'A'; char Character2 = -36; float FloatingPointRealNumber2 = -3.14; double DoubleRealNumber2 = 100; printf("%d, %c, %f, %lf\n", Integer2, Character2, FloatingPointRealNumber2, DoubleRealNumber2); int Caster = (char)300; int Caster2 = (char)3.14; printf("%d, %d\n", Caster, Caster2); int Something = (3/4) * 4; int Something2 = (3.0/4) * 4; int Something3 = ((float)3 / 4) * 4; printf("%d, %d, %d", Something, Something2, Something3); return 0; }
4. 숙제 ¶
1. 이 페이지에 후기 작성하기!
2. 오늘 공부한 개념 수업 페이지에 정리하기!
3. 다음 프로그래밍 용어들의 뜻 조사하기. 다음 시간에 물어봄.
2. 오늘 공부한 개념 수업 페이지에 정리하기!
3. 다음 프로그래밍 용어들의 뜻 조사하기. 다음 시간에 물어봄.
○ IDE
○ Interpreter
○ Linker
○ Library
○ API
○ Framework
○ Interpreter
○ Linker
○ Library
○ API
○ Framework
6. 숙제 제출 ¶
2번숙제) 시작은 데이터에 관한 것이었는데 int는 4byte, char는 1byte, float는 4byte(지표와 가수로 저장, 근사값으로 저장해서 연산할 시 제대로 나오지 않음), double은 8byte, bool은 1bit 의 용량을 가진다는 것을 배웠습니다. 그리고 여러 가지 부가적인 것들에 대해서도 배웠는데 표현 범위를 바꿔주는 unsigned, 문자열을 나타내는 char*, 이스케이프 문자를 뜻하는 문자 앞에 붙는 백슬래쉬 등과 같은 것들입니다. 진법에 대해서도 배웠는데 16진법을 나타내는 수 앞에는 0x를, 8진법 수 앞에는 0을 붙여야 된다는 것을 알았습니다. 뭐라고 표현해야 할지 모르겠지만 하여튼 printf 안에 16진법 %x, 8진법 %o, 실수 %f, double 자료형 %lf 가 있다는 것을 배웠습니다. 그리고 scanf 함수에 대해서 배웠는데 printf 함수와는 다르게 &(ampersand)를 꼭 넣어야 한다는 것을 배웠습니다. 그리고 scanf 쓸 때 #pragma warning (disable : 4996) 을 입력해야 하는 것도 배웠습니다. 거의 마지막으로 형변환에 대해 배웠는데 묵시적 형변환과 명시적 형변환이 있었습니다. 묵시적 형변환은 값의 손실(슬라이싱)이 일어나고 명시적 형변환은 캐스팅을 통해 표시한 다는 것을 알았습니다. 오늘 했던 수업 중 가장 중요했던 것이 무엇인가 생각해보니 '피연산자의 데이터 타입을 잘 보자!' 인 것 같습니다.
3번숙제)
○ IDE : 통합 개발 환경
○ Interpreter : 소스 프로그램을 한번에 기계어로 변환시키는 컴파일러와는 달리 프로그램을 한 단계씩 기계어로 해석하여 실행하는 언어처리 프로그램 (네이버 지식백과)
○ Linker : 부차적 프로그램과 주 프로그램을 연결해 주는 컴퓨터 시스템의 프로그램 (네이버 지식백과)
○ Library : 하나의 파일 속에 기억되어 있는 루틴의 집합 (네이버 지식백과)
○ API : 프로그램 또는 애플리케이션이 운영 체제에 어떤 처리를 위해서 호출할 수 있는 서브루틴 또는 함수의 집합 (네이버 지식백과)
○ Framework : Ashton-Tate 사에 의해 생산된 소프트웨어 패키지, 워드 프로세싱, 데이터 베이스 관리, 스프레드시트, 통신, 사무용 그래픽 등을 제공하는 것 (네이버 지식백과)
3번숙제)
○ IDE : 통합 개발 환경
○ Interpreter : 소스 프로그램을 한번에 기계어로 변환시키는 컴파일러와는 달리 프로그램을 한 단계씩 기계어로 해석하여 실행하는 언어처리 프로그램 (네이버 지식백과)
○ Linker : 부차적 프로그램과 주 프로그램을 연결해 주는 컴퓨터 시스템의 프로그램 (네이버 지식백과)
○ Library : 하나의 파일 속에 기억되어 있는 루틴의 집합 (네이버 지식백과)
○ API : 프로그램 또는 애플리케이션이 운영 체제에 어떤 처리를 위해서 호출할 수 있는 서브루틴 또는 함수의 집합 (네이버 지식백과)
○ Framework : Ashton-Tate 사에 의해 생산된 소프트웨어 패키지, 워드 프로세싱, 데이터 베이스 관리, 스프레드시트, 통신, 사무용 그래픽 등을 제공하는 것 (네이버 지식백과)