이 페이지는 교재를 수업에 사용하면서 학생들에게서 받는 실제 질문을 바탕으로 정리하고 있는 페이지 입니다. 조금씩 채워가도록 하겠습니다. 여러분들도 스스로 답을 해보세요.
%f로 실수집합을 이용하면 되는데, 굳이 더 작은 집합인 정수의 집합을 %d로 사용하는건가요?
--> 아주 좋은 질문입니다. 중요한 내용이기도 한데요. C 언어를 포함한 대부분의 프로그래밍 언어는 정수(int)와 실수(float/ double) 자료형을 제공합니다.
3이라는 정수값과 3.0이라는 실수값은 동일한 값이라고 하더라도 컴퓨터 내부에서는 전혀 다른 형태로 저장됩니다.
또한 정수 값은 모두 정확한 값으로 저장되지만,
실수 값은 대부분 근사값으로 저장되기 때문에 정수값과 실수값을 별도의 자료형으로 제공하고 있습니다.
주소 출력이 뭔가요?
--> 변수(variables)라는 개념은 주기억 장치의 특정 주소를 실제로 기억하지 않고 '변수의 이름'이라는 형태로 사용할 수 있게 해주는 기능입니다.
해당 변수의 실제 위치를 의미하는 것이 주소입니다.
printf("Hello World"); 와 printf("%s", "Hello World"); 와 무슨차이가 있나요?
--> 아주 좋은 질문입니다.
결과적으로 출력되는 형태는 동일하지만,
왼쪽의 "Hello World"는 format string이고,
오른쪽의 "Hello World"는 일반 문자열입니다.
int로 정수를 선언하는데 왜 문자도 출력할수 있죠???
--> C 언어에서는 char 자료형이 int 자료형의 부분집합니다. 따라서 int 자료형의 일부분은 문자들의 ASCII 값을 의미하는 셈이기도 합니다.
printf("%05d\n", 25);가 빈자리를 0으로 채운다고 나와있는데 그러면 빈자리를 1이나 A로 채우려면 어떻게 해야하나요?
-->
"#include <stdio.h>
int main(void) {
float x,y;
x=10;
y=2x^2+3x+1;
printf(""x=%d일 때, y=%d입니다."", x,y);
return 0;
}"
\n이랑 \r이랑 같나요?
-->
printf("%3.5f\n", 5.21461253); 을 하면 실수를 총 3자리로 표현해야하는데 소수점 뒤에 5자리를 출력하려면 에러가 떠야하는거 아닌가요? 그냥 5.21461이 출력되네요.
-->
원래 ascii 코드를 출력할때 'a'라고 작은 따옴표를 해야하는데 printf("%d\n","a"); 이렇게 큰 따옴표를 사용했을때 'a'와 "a"의 값이 다르게 나오네요 큰 따옴표는 어떤 숫자를 불러내는건가요?
-->
변수 a가 있을 경우, a++이랑 ++a의 차이가 있나여 결과값은 동일한 것 같은데, a가 나오고 더함(a++)랑 더하고 a를 인식하는 차이인가여(++a)
-->
해보니까 π를 인식 못하는 것 같은데 각도를 넣으려고 할 때는 어떻게 해야 하나요?
-->
if문 하나에서 &&연산자를 사용하는 것과 중첩 if문을 사용하는 것은 어떤 차이가 있나요?
-->
중요한 질문입니다.
for문으로 숫자를 셀때 for(i=0; i<=5;i++)과 for(i=0; i<=1000; i++) if(i<=5) break; 하는 것은 어떤 차이가 있나요?
-->
C에서는 Processing의 append()함수처럼 배열의 크기를 늘리며, 값을 초기화하는 함수는 없나요?
-->
"printf(""Hello""); 와
char ch[ ]= { 'H', 'e', 'l', 'l', 'o'}
printf(""%s"", ch); 와
printf(""%s"",""Hello"");
위 3가지를 예시로 뭐가 차이인지 정확히 모르겠습니다 ㅠ
"
-->