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
5. 후기 ¶
- 후기 작성 요령 : 후기는 F4(ThreeFs + Future Action Plan)에 맞게 작성해주세요.
- Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
- Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
- 오늘 저는 졸았습니다... 정말 죄송했습니다 ㅠ 그래도 오늘 많은 것들을 배웠어요. 앞으로는 절대 졸지 않겠습니다 ㅠㅠㅠ - 천준현
잠을 비롯한많은 것들이 쏟아진 날이었습니다... 배운 내용들을 적은 시간 속에서도 복습을 철저히 해야겠다고 생각하였고, 앞으로 배워야 될 것들이 훨씬 많기에졸지 않고열심히 공부해야겠다고 생각했습니다. - 박인서
6.1. 천준현 ¶
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 사에 의해 생산된 소프트웨어 패키지, 워드 프로세싱, 데이터 베이스 관리, 스프레드시트, 통신, 사무용 그래픽 등을 제공하는 것 (네이버 지식백과)
6.3. 박인서 ¶
===수업 내용 정리===
CPU RAM HDD
HDD에 자성의 정보로 저장된 프로그램을 RAM에서 전기적 신호로 바꾸어 프로세스로 만들어지고 이 프로세스를 CPU가 처리하게 된다.
또, RAM은 휘발성 메모리로 HDD와는 다르게 전류가 없으면 정보가 사라진다.
CPU RAM HDD
HDD에 자성의 정보로 저장된 프로그램을 RAM에서 전기적 신호로 바꾸어 프로세스로 만들어지고 이 프로세스를 CPU가 처리하게 된다.
또, RAM은 휘발성 메모리로 HDD와는 다르게 전류가 없으면 정보가 사라진다.
자료형에는 여러가지가 있다. int는 정수형 데이터를, char는 문자 데이터를, float, double은 실수형 데이터를 저장한다. char의 경우에는 문자를 ASCII코드라는 것으로 저장을 하게 되고, float은 지표와 가수로 자료를 저장한다고 한다. 또 문자는 ''(작은따옴표)로 문자열은 ""(큰따옴표)로 정의한다는 것을 알았고 문자열은 char*로 나타낼수 있음을 알았다.
printf에서 변수를 출력할때 16진법은 %x, 8진법은 %o, float은 %f, double은 %lf 가 있다는 것을 배웠다. 그리고 scanf 함수에 대해서 배웠는데 변수를 입력받을 때 &를 꼭 넣어야 한다는 것을 배웠다.
또 형변환에 대해서 배웠는데 묵시적 형변환과 명시적 형변환이 있었다. 묵시적 형변환은 바꿀 자료형을 굳이 표시하지 않아도 알아서 바꿔주는 것이고, 명시적 형변환은 바꿀 자료형을 직접 표시하는 것이다.
이렇게 정리해보니 정말 많은 것을 배웠네요...