전기실험회로 2 (C언어)
강의 (7)
우석대학교 에너지전기공학과
이우금 교수
4-3. 전처리기
전처리기 지시어:
『
#𝑖𝑛𝑐𝑙𝑢𝑑𝑒 』
전처리기 지시어는#
기호로 시작, 첫 째 열부터 시작함. 헤더파일(header file): 코드의 일부분이 들어있는 텍스트파일로서 『
. ℎ
』의 확장자를 가짐. 『
𝑠𝑡𝑑𝑖𝑜. ℎ
』 는 “standard input output”의 준말로 표준 입출력을 위한 헤더파일. 4-4. 함수 C프로그램에서 가장 먼저 실행되는 함수가 바로𝑚𝑎𝑖𝑛( )
다른 함수들은 직접적 또는 간접적으로𝑚𝑎𝑖𝑛( )
으로 부터 호출 됨. 함수𝑚𝑎𝑖𝑛( )
을 정의하는 문장: 『𝑖𝑛𝑡
𝑚𝑎𝑖𝑛
(𝑣𝑜𝑖𝑑)』
함수의 중괄호 안에는 작업의 세부 단계들이 나열되어 있음. 세부 단계를 문장이라고 함. C에서는 함수 안에만 문장들을 입력할 수 있음. 문장의 끝은 항상 세미콜론(;)으로 끝나게 된다. 4-5. 변수 (variable) 변수란 데이터를 일시적으로 저장할 목적으로 사용하는 메모리 공간. 변수선언 및 초기화 변수선언: 일반적으로 함수의 첫 부분에 선언 된다. (지난 시간 강의 복습)4-6. 수식과 연산 산술연산: 컴퓨터의 가장 기본적인 연산. 산술연산자: 사칙연산을 수행하는 연산자. ※ C에서는 거듭제곱의 연산자는 없음:
𝑦 = 𝑎𝑥
2+ 𝑏𝑥 + 𝑐 𝑦 = 𝑎 ∗
𝑥 ∗ 𝑥
+ 𝑏 ∗ 𝑥 + 𝑐
나머지 연산자: 첫 번째 피 연산자를 두 번째 피 연산자로 나누었을 때의 나머지를 계산. 예시) 10%2 = 0 10 ÷ 2 = 5
… 나머지 = 0 29%9 = 2 29 ÷ 9 = 3
… 나머지 = 2 5%7 = 5 5 ÷ 7 = 0
… 나머지 = 5 연산자 기호 사용예 결과값 덧셈 + 7+4 11 뺄셈 - 7-4 3 곱셈 * 7*4 28 나눗셈 / 7/4 1 or 1.25 나머지 % 7%4 3 (지난 시간 강의 복습) 지난 시간 강의 복습 증감 연산자: 변수의 값을 하나 증가시키거나 감소시키는 연산자. 증가연산자: 『
++
』 감소연산자: 『--
』 예시 1)𝑥 = 10
일 때+ +𝑥 = 11
𝑦 = 10
일 때− −𝑦 = 9
예시 2) 증감연산자에 대한 코드
x=10
++x의 값=11
x=11
y=10
--y의 값=9
y=9
#𝑖𝑛𝑐𝑙𝑢𝑑𝑒
< 𝑠𝑡𝑑𝑖𝑜. ℎ >
𝑖𝑛𝑡
𝑚𝑎𝑖𝑛(
𝑣𝑜𝑖𝑑
)
{
𝑖𝑛𝑡
𝑥 = 10, 𝑦 = 10;
𝑝𝑟𝑖𝑛𝑡𝑓(
"𝑥 = %𝑑\𝑛",
𝑥);
𝑝𝑟𝑖𝑛𝑡𝑓(
" + +𝑥의 값 = %𝑑\𝑛",
+ +𝑥);
𝑝𝑟𝑖𝑛𝑡𝑓(
"𝑥 = %𝑑\𝑛",
𝑥);
𝑝𝑟𝑖𝑛𝑡𝑓(
"𝑦 = %𝑑\𝑛",
𝑦);
𝑝𝑟𝑖𝑛𝑡𝑓(
" − −𝑦의 값 = %𝑑\𝑛",
− −𝑦);
𝑝𝑟𝑖𝑛𝑡𝑓(
"𝑦 = %𝑑\𝑛",
𝑦);
𝑟𝑒𝑡𝑢𝑟𝑛
0;
『
+ +𝑥
』과 『𝑥 + +
』의 차이•
𝑦 =+ +𝑥;
증가된𝑥
의 값이𝑦
에 대입됨.•
𝑦 = 𝑥 + +;
먼저𝑥
가𝑦
에 대입된 후, 증가함.
예제) 『
+ +𝑥
』과 『𝑦 + +
』의 값 계산 정수𝑥 = 10 & 𝑦 = 10
일 때,+ +𝑥 & 𝑦 + +
를 구하는 코드를 작성하라.x=10
++x의 값=11
x=11
y=10
y++의 값=10
y=11
#𝑖𝑛𝑐𝑙𝑢𝑑𝑒
< 𝑠𝑡𝑑𝑖𝑜. ℎ >
𝑖𝑛𝑡
𝑚𝑎𝑖𝑛(
𝑣𝑜𝑖𝑑
)
{
𝑖𝑛𝑡
𝑥 = 10, 𝑦 = 10;
𝑝𝑟𝑖𝑛𝑡𝑓(
"𝑥 = %𝑑\𝑛",
𝑥);
𝑝𝑟𝑖𝑛𝑡𝑓(
" + +𝑥의 값 = %𝑑\𝑛",+ +
𝑥);
𝑝𝑟𝑖𝑛𝑡𝑓(
"𝑥 = %𝑑\𝑛",
𝑥);
𝑝𝑟𝑖𝑛𝑡𝑓(
"𝑦 = %𝑑\𝑛",
𝑦);
𝑝𝑟𝑖𝑛𝑡𝑓(
"𝑦 + +의 값 = %𝑑\𝑛",
𝑦 + +);
𝑝𝑟𝑖𝑛𝑡𝑓(
"𝑦 = %𝑑\𝑛",
𝑦);
𝑟𝑒𝑡𝑢𝑟𝑛
0;
}
대입 연산자 대입연산자 『
=
』 예시) 『𝑧 = 𝑥 + 𝑦
』𝑥
와𝑦
의 합이𝑧
에 대입이 됨. 대입연산의 결과 값 4-6. 수식과 연산𝑦 = 12 + ( 𝑥 = 2 + 7 );
2+7의 덧셈연산의 결과값은 9 대입연산의 결과값은 9∴
𝑥
의 값은 9 대입연산의 결과값은 21∴
𝑦
의 값은 21 12+9의 덧셈연산의 결과값은 21 대입 연산자 (계속) 대입연산자 주의점 • 『
𝑥 = 𝑥 + 1
』 수학적으로 올바르지 않지만 C에서는 올바른 문장 •『
𝑦 = 𝑥 = 3』 𝑥
와 𝑦 모두 3 으로 대입 됨.𝑦 = 𝑥 = 3;
대입연산의 결과값은 3∴
𝑥
의 값은 3 대입연산의 결과값은 3∴
𝑦
의 값은 3(예제) 대입 연산자 프로그램 4-6. 수식과 연산
#𝑖𝑛𝑐𝑙𝑢𝑑𝑒
< 𝑠𝑡𝑑𝑖𝑜. ℎ >
𝑖𝑛𝑡
𝑚𝑎𝑖𝑛(
𝑣𝑜𝑖𝑑
)
{
𝑖𝑛𝑡
𝑥, 𝑦;
𝑥 = 1;
𝑝𝑟𝑖𝑛𝑡𝑓(
"수식 𝑥 + 1의 값은 %𝑑\𝑛",
𝑥 + 1);
𝑝𝑟𝑖𝑛𝑡𝑓(
"수식 𝑦 = 𝑥 + 1의 값은 %𝑑\𝑛",
𝑦 = 𝑥 + 1);
𝑝𝑟𝑖𝑛𝑡𝑓(
"수식 𝑦 = 12 + (𝑥 = 2 + 7)의 값은 %𝑑\𝑛",
𝑦 = 12 + (𝑥 = 2 + 7));
𝑝𝑟𝑖𝑛𝑡𝑓(
"수식 𝑦 = 𝑥 = 3의 값은 %𝑑\𝑛",
𝑦 = 𝑥 = 3);
𝑟𝑒𝑡𝑢𝑟𝑛
0;
}
수식 x+1의 값은 2
수식 y=x+1의 값은 2
수식 y=12+(x=2+7)의 값은 21
수식 y=x=3의 값은 3
(퀴즈 2) 검토 1) C에서 %는 나머지 연산자이다. 다음을 계산하라 (2점). (1-1)
7%(3 + 1) = 3
(2-1)2%6 = 2
2) 아래 코드의 결과가 화면에 출력되는 그대로 답안지에 적으시오 (2점).𝑥 = 2,
수식𝑦 = 𝑥 + 1
의 값은3
𝑛𝑒𝑥𝑡𝑦
의 값= 4
#𝑖𝑛𝑐𝑙𝑢𝑑𝑒 < 𝑠𝑡𝑑𝑖𝑜. ℎ >
𝑖𝑛𝑡 𝑚𝑎𝑖𝑛(𝑣𝑜𝑖𝑑)
{
𝑖𝑛𝑡 𝑥 = 2, 𝑦;
𝑝𝑟𝑖𝑛𝑡𝑓("x = %d,
수식y = x + 1
의 값은%d\n", 𝑥, 𝑦 = 𝑥 + 1);
𝑝𝑟𝑖𝑛𝑡𝑓("nexty
의 값= %d\n", + +𝑦);
𝑟𝑒𝑡𝑢𝑟𝑛 0;
}
3) 사칙연산 프로그램 작성 및 결과 출력 (6점) (3-1) 코드 앞부분에 반드시 프로그램명과 작성자의 이름 및 작성 일시를 주석으로 표시 할 것 (2점). <주석 예시> 프로그램 명: 사칙연산 프로그램 작성자: 홍길동 작성 일시: 2019년 10월14일 (3-2) 변수
𝑥 = 20 &
𝑦 = 10
을 각각 저장하고,𝑥 + 𝑦, 𝑥 − 𝑦, 𝑥 ∗ 𝑦, 𝑥/𝑦
의 계산결과를 아래 지시된 변수에 저장하고, 이를 화면에 출력하는 프로그램을 작성하라 (4점).𝑠𝑢𝑚 = 𝑥 + 𝑦;
// 변수𝑠𝑢𝑚
에(𝑥 + 𝑦)
의 결과를 저장𝑑𝑖𝑓𝑓 = 𝑥 − 𝑦
// 변수𝑑𝑖𝑓𝑓
에(𝑥 − 𝑦)
의 결과를 저장𝑚𝑢𝑙 = 𝑥 ∗ 𝑦
// 변수𝑚𝑢𝑙
에(𝑥 ∗ 𝑦)
의 결과를 저장𝑑𝑖𝑣 = 𝑥/𝑦
// 변수𝑑𝑖𝑣
에(𝑥/𝑦)
의 결과를 저장 코드를 완성한 후, 완성된 코드를 아래한글 파일에 복사하고, 프로그램결과 화면 또한 같은 파일에 캡쳐하여, 다음 이름으로 이우금 교수에게 메일([email protected]) 로 보내기 바람. • 아래한글 파일 이름 예시: 『퀴즈2_홍길동』 • 코드 및 켭쳐 화면이 아래한글에 첨부되어 있지 않으면 정답으로 인정하지 않음! 퀴즈 2 검토3) 사칙연산 프로그램 작성 및 결과 출력 모범 답안 (6점) /* 프로그램 명: 사칙연산 작성자: 홍길동 작성 일시: 2019년 10월14일*/