자기주도C언어프로그래밍 Chapter04. 주석문과 디버깅 - 연습문제&자가진단
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&sca=1040
JUNGOL
www.jungol.co.kr
사이트에서 직접 프로그램을 돌려볼 수 있습니다.
교재 P.76 연습문제1
/*
이 프로그램은 주석의 사용에 대해 학습하기 위해 작성한 것입니다.
주석은 프로그램 작성자가 프로그램을 이해하기 쉽도록 하기 위해 작성하는 것입니다.
주석으로 표시된 부분은 프로그램을 컴파일 할 때 무시하고 처리합니다.
따라서 실제 프로그램에는 없는 것과 마찬가지 입니다.
*/
#include <stdio.h>
int main(){
int a, b; /* 정수형 변수 두 개를 선언한다. */
double d, e; /* 실수형 변수 두 개를 선언한다. */
scanf("%lf %lf", &d, &e); /* 실수형 변수 두 개를 입력받는다. */
a = d + e; /* 실수 두개를 더해서 정수 변수에 대입한다. */
b = (int)d + (int)e; /* 두개의 실수를 각각 정수로 변환하여 정수 변수에 대입한다. */
printf("%d %d \n", a, b); /* 결과값을 출력하고 비교해 본다. */
return 0;
}
/************************************
여러 줄을 주석 처리하는 방법입니다.
************************************/
교재 P.77 자가진단1
#include <stdio.h>
int main(){
int a, b; /* 정수형 변수 두 개를 선언한다. */
double c, d; /* 실수형 변수 두 개를 선언한다. */
scanf("%lf %lf", &c, &d); /* 실수형 변수 두 개를 입력받는다. */
a = c * d; /* 두 개의 실수를 정수형 변수에 대입한다. */
b = (int)c * (int)d; /* 두 개의 실수를 각각 정수로 변환하여 정수 변수에 대입한다. */
printf("%d %d", a, b); /* 결과값을 출력하고 비교해 본다. */
return 0;
}
교재 P.78 연습문제2
// 이것은 한줄을 주석처리하는 방법입니다.
// 주석처리 하고자 하는 줄마다 "//" 표시를 해주어야 합니다.
#include <stdio.h>
int main(){
int a; // 정수형 변수 한 개를 선언한다.
scanf("%d", &a); // 정수를 입력받는다.
printf("%d / 4 = %d \n", a, a / 4);
// 입력받은 정술르 정수 4로 나눈 몫을 출력한다.
printf("%d / 4.0 = %.2f \n", a, a / 4.0);
// 입력받은 정수를 실수 4.0으로 나눈 결과값을 출력한다.
return 0;
}
교재 P.79 자가진단2
#include <stdio.h>
int main(){
int a, b, c; // 정수형 변수 세 개를 선언한다.
double d; // 실수형 변수 한 개를 선언한다.
scanf("%d %d", &a, &b); // 정수형 변수 두 개를 입력받는다.
c = a / b; // 첫번째 정수를 두번째 정수로 나눈 값을 c라는 변수에 저장한다.
d = (double)a / b; // 첫번째 정수를 실수로 변환한 후 두번째 정수로 나눈 값을 c라는 변수에 저장한다.
printf("%d %.2lf", c, d); // 결과값을 출력하고 비교해 본다.
return 0;
}
교재 P.80 연습문제3
/*****************************************************************
디버깅은 프로그램에서 논리적인 에러를 찾아내기 위해 사용합니다.
*****************************************************************/
#include <stdio.h>
int main() {
int a = 10;
int b;
int c;
scanf("%d", &b);
c = a + b;
printf("%d \n", c);
return 0;
}
visual studio에 있는 #define _CRT_SECURE_NO_WARNINGS가 없으면 scanf에서 오류가 발생합니다.
위 문장 없이 scanf대신 scanf_s를 써도 오류는 발생하지 않습니다.
교재 P.85 자가진단3