변수값 출력과 대입 시 주의점 — 변환 지정자 규칙과 =·== 차이 | 기초 C언어 4.2.3-4.2.4
기초 C언어Chapter 04 변수 › Section 02 변수의 선언과 사용 › 03~04
4.2.3~4.2.4 변수값 출력과 대입 시 주의점
저장한 값을 화면으로 확인하는 법. 그리고 = 와 == 를 혼동해 생기는 대표적인 실수.
01출력은 빈칸 채우기교재 97p
- 변수에 값을 넣었으면 제대로 들어갔는지 화면으로 확인할 수 있어야 함. 2·3장에서 배운 printf 와 변환 지정자를 그대로 씀.
- 원리는 빈칸 채우기 — 문장을 먼저 쓰고, 값이 들어갈 자리를 변환 지정자로 비워 둔 뒤, 콤마 뒤에 변수를 순서대로 나열함.
printf("서식 문자열(빈칸 포함)", 변수1, 변수2, ...);
02빈칸에도 자료형이 있음교재 97p
| 자료형 | 변환 지정자 | 예 |
|---|---|---|
| int | %d | 20250001 |
| char | %c | O |
나머지 double(%f) · float 와 전체 코드는 교재 97p~98p CODE 4.6 에 있습니다.
03지켜야 할 규칙 세 가지교재 98p
- 자료형 일치 — 변환 지정자는 출력할 변수의 자료형과 맞아야 함.
- 개수 일치 — 서식 문자열 안의 변환 지정자 개수와 변수 개수가 같아야 함.
- 순서 일치 — 채워지는 순서는 변수를 나열한 순서. 첫째 지정자에 첫째 변수가 들어감.
- 자료형이 맞지 않거나 필요한 인수가 부족하면 정의되지 않은 동작이 발생할 수 있음. 컴파일러 경고가 항상 나오는 것은 아님. 여분의 인수는 평가된 뒤 출력에서 무시됨.
04= 와 == 는 전혀 다른 기호교재 99p
- = — 「값을 저장하라」는 명령.
- == — 「두 값이 같은가?」라고 묻는 질문.
- 둘을 혼동하는 실수는 조건을 검사하는 if 문에서 특히 자주 남.
05조건이 언제나 참이 되는 까닭교재 99p~100p
int a = 5;if (a = 10) {printf("a는 10이다.\n");}
- a의 첫 값은 5였는데 블록이 실행되고 a의 값도 10으로 바뀜.
- a = 10 이 a에 10을 대입하고, 그 대입식의 결과가 10이 됨.
- C언어는 0이 아닌 값을 참으로 봄. 그래서 조건이 언제나 참.
- 값을 비교할 때는 반드시 == 를 씀.
여기서 자주 틀림
if 문 자체는 6장에서 다룸. 이 절에서 볼 것은 = 와 == 의 차이 하나뿐.
이 절의 핵심 정리
- 변수값 출력은 빈칸 채우기다 — 변환 지정자로 자리를 비우고 뒤에 변수를 나열한다
- 지켜야 할 것은 자료형 · 개수 · 순서 셋이다
- 채워지는 순서는 변수를 나열한 순서와 같다
- =는 저장하라는 명령이고 ==는 같은지 묻는 질문이다
- if (a = 10)이 언제나 참인 것은 대입식의 결과가 10이고 0이 아닌 값은 참이기 때문이다
강의 자료4.2.3~4.2.4 변수값 출력과 대입 시 주의점
1 / 12
번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다
더 자세한 내용은 교재에서
이 글은 『기초 C언어』 97p~100p의 내용을 강의 영상에 맞춰 핵심만 간추린 요약입니다. 각 개념의 상세한 설명과 예제, 실습 코드, 임용시험 기출문제 풀이는 교재에서 다루고 있습니다.
댓글
댓글 쓰기