컴퓨터 프로그래밍 2
Week 1: C 프로그래밍의 구성요소
건국대학교 컴퓨터공학과담당교수 : 최 윤 정
1
이번 장에서 학습할 내용
2
* 주석* 변수 , 상수* 함수* 문장* 출력 함수 printf()* 입력 함수 scanf()* 산술 연산* 대입 연산
일반적인 프로그램의 형태
데이터를 받아서 ( 입력단계 ), 데이터를 처리한 후에 ( 처리단계 ), 결과를 화면에 출력 ( 출력단계 ) 한다 .
3
데이터처리데이터입력 결과출력
덧셈 프로그램 #1
4
/* 두개의 숫자의 합을 계산하는 프로그램 */#include <stdio.h>
int main(void){
int x; // 첫번째 정수를 저장할 변수int y; // 두번째 정수를 저장할 변수int sum; // 두 정수의 합을 저장하는 변수
x = 100;y = 200;
sum = x + y;printf(" 두수의합 : %d", sum);
return 0;}
주석
전처리기 지시어
함수
변수선언
문장
연산
프로그램의 실행 화면
두수의 합 : 300
주석 (comment)Q) 주석 (comment) 이란 무엇인가 ?
6
A) 프로그램이 하는 작업을 설명하는 글
Q) 주석은 반드시 있어야 하는가 ?A) 컴파일러는 주석을 무시한다
Q) 주석은 누구를 위한 것인가 ?A) 주석은 프로그램을 읽는 사람을 위한 것이다
Q) 주석의 역할은 무엇인가 ?A) 주석은 프로그램의 가독성을 높인다 .
Q) 좋은 주석은 어떤 것인가 ?A) 코드를 반복하거나 코드를 설명하기 보다는 코드를 작성한 의도를
나타내는 것이 좋다 .
주석 (comment)
/* 두개의 숫자의 합을 계산하는 프로그램 */ #include <stdio.h>
int main(void){ ... ... ...}
주석
주석은 코드를 설명하는 글입니다 .
3 가지 방법의 주석
/* 한줄로 된 주석 */ /* ------------------------
저자 : 홍길동날짜 : 2013.3.4여러 줄로 이루어진 주석-------------------------- */
// 여기서부터 줄의 끝까지 주석
주석의 예
• 주석
/* This program accepts an array of N elements and a key. ** Then it searches for the desired element. If the search ** is successful, it displays "SUCCESSFUL SEARCH". ** Otherwise, a message "UNSUCCESSFUL SEARCH" is displayed. */
#include <stdio.h>void main(){…}
들여쓰기
들여쓰기 (indentation): 같은 수준에 있는 문장들을 왼쪽 끝에서 몇 자 안으로 들여쓰는 것
주석과 들여 쓰기가 없다면 ..
#include <stdio.h>int main(void) { int x; int y; int sum; x = 100; y = 200; sum = x + y; printf(" 두수의 합 : %d", sum); return 0; }
실행은 되지만 무슨
처리를 하고 있는
프로그램인지 알기가
힘들고 또한 들여쓰기가
안 되어 있어서 같은
수준에 있는 문장들을
구분하기 힘듭니다 .
주석을 붙이는 방법/* 한줄로 된 주석 */
int x; /* 줄의 일부분인 주석 */
/* 여러 줄로 된 주석 */
12
// 이 줄은 전체가 주석이다 .int x; // 변수 x 선언
/* * 파일 이름 : add.c * 설명 : 두수를 더하는 프로그램 * 작성자 : In-Gook Chun *//************************************* * 파일 이름 : add.c * 설명 : 두수를 더하는 프로그램 * 작성자 : In-Gook Chun *************************************/
프로그램 유지 보수
프로그램 유지 보수 (maintenance) 는 숨겨진 버그를 찾아내어 없애
고 , 바뀌어가는 환경에 따라 거기에 맞춰서 프로그램을 바꾸어가는
과정
이때 주석이 있다면 , 프로그램을 빠르게 읽을 수 있고 , 따라서
변경해야 하는 곳을 빠르게 찾을 수 있다 .
주석의 힘
다음과 같은 문장을 살펴보자 .
주석이 있다면
return ((s1 < s2) ? s1 : s2);
return ((s1 < s2) ? s1 : s2); /* 두 개의 값 중에서 작은 쪽을 취한다 . */
주의사항
주석은 C 명령어가 아니다 . 컴파일러는 프로그램 안의 모든 주석을 무시한다 . 주석은 사람을 위한 것이고 , 주석의 외부에 있는
프로그래밍 문장이 컴퓨터를 위한 것이다 .
주석을 붙인 예제
/* C 완전 초보자 가이드의첫 번째 코드 리스팅1994 년부터 새로운 프로그래머들을 교육하고 있음 ! *//* 딘 밀러 *//* 파일 이름 Chapter3ex1.c */
/* 명절 선물에 들어가는 돈의 합계 */#include <stdio.h>
main(){
int gift1, gift2, gift3, gift4, gift5; /* 비용을 저장하는 변수들 */int total; /* 합계를 저장하는 변수 */
/* 각 선물의 비용을 묻는다 . */printf(" 엄마를 위하여 얼마나 돈을 쓸 것인가요 ?");scanf(" %d", &gift1);
주석을 붙인 예제
scanf(" %d", &gift2);printf(" 동생을 위하여 얼마나 돈을 쓸 것인가요 ?");scanf(" %d", &gift3);printf(" 형을 위하여 얼마나 돈을 쓸 것인가요 ?");scanf(" %d", &gift4);printf(" 가장 좋아하는 C 프로그래밍 저자를 ");printf(" 위하여 얼마나 돈을 쓸 것인가요 ?");scanf(" %d", &gift5);
/* 선물에 쓰이는 비용의 합계를 계산한다 . */total = gift1 + gift2 + gift3 + gift4 + gift5;
printf(" 선물 비용의 합계는 $%d 입니다 .", total);return 0; /* 프로그램을 종료한다 . */
}
여백 추가하기
여백 (white space) 은 화면상으로는 표시되지 않지만 가독성을
위해서는 소스 코드에 추가되는 스페이스나 빈 줄을 뜻한다 . 여백을 이용하여서 가독성을 높이는 것이 중요하다 .
#include <stdio.h>main() {
float a, b; printf(" 보너스를 얼마나 받았습니까 ?"); scanf(" %f",
&a); b = .85 * a; printf(" 만약 15% 를 자선단체에 기부하더라도 당신은 아직 %.2f 를 가지고 있습니다 .", b); return 0;}
여백 추가하기
#include <stdio.h>main(){
float a, b;
printf(" 보너스를 얼마나 받았습니까 ? ");scanf(" %f", &a);
b = .85 * a;printf(" 만약 15% 를 자선단체에 기부하더라도 당신은 ");printf(" 아직 %.2f 을 가지고 있습니다 .", b);return 0;
}
Lab: 주석을 추가해보자
#include <stdio.h>
main(){
printf(" 빛의 속도는 %fkm/s 입니다 . ", 300000);printf(" 중력 가속도는 %fm/s 제곱입니다 . ", 9.8);
printf(" 나는 %d 살이고 키는 %f 입니다 . ", 20, 175.5);printf(" 나의 이름은 %s 입니다 . ", " 김철수 ");printf(" 나는 현재 %d 장까지 학습을 끝냈습니다 . ", 4);
return 0;}
Solution/** 파일 이름 : comment.c* 작성자 : 김철수* 작성날짜 : 2015.1.10*/
#include <stdio.h> // 해더 프로그램 포함
int main() { // 메인 프로그램
// 실수는 %f 를 사용하여서 출력한다 . 소수점 6 자리까지 출력된다 . printf(" 빛의 속도는 %fkm/s 입니다 . ", 300000);
// 실수는 %f 를 사용하여서 출력한다 . 소수점 6 자리까지 출력된다 . printf(" 중력 가속도는 %fm/s 제곱입니다 . ", 9.8);
// 정수는 %d 를 사용하여서 출력한다 . printf(" 나는 %d 살이고 키는 %f 입니다 . ", 20, 175.5);
// 문자열은 %s 를 사용하여서 출력한다 . printf(" 나의 이름은 %s 입니다 . ", " 김철수 ");
// 정수는 %d 를 사용하여서 출력한다 . printf(" 나는 현재 %d 장까지 학습을 끝냈습니다 . ", 4);
return 0;}
들여쓰기
22
/* 두개의 숫자의 합을 계산하는 프로그램 */#include <stdio.h>
int main(void){
int x; // 첫번째 정수를 저장할 변수int y; // 두번째 정수를 저장할 변수int sum; // 두 정수의 합을 저장하는 변수
x = 100;y = 200;
sum = x + y;printf(" 두수의합 : %d", sum);
return 0;}
프로그램의 시작부분에는 파일이름이나 작성자 , 작성일자 , 프로그램의 내용등을 적는다
문장들의 의미 ( 의도 ) 를 주석으로 설명한다 .
빈줄을 넣어서 의미별로 구분을 한다 .
같은 내용의 처리이면 탭이나 공백을 넣어 들여쓰기를 한다 .
전처리기
#include #define
23
프로그램이 컴파일 되기 직전에 #include 문장은 지정된 파일의 내용으로 대체된다 .
#include <filename>#include “filename”
전처리기
# 기호로 시작 헤더 파일 stdio.h 를 소스 코드 안에 포함 stdio.h 는 표준 입출력에 대한 라이브러리 함수의 정의가 들어 있다 .
24
#include <st-dio.h>
#include <stdio.h>
int main(void){ printf(“Hi!\n”); return 0;}
...int printf(char *,...);int scanf(char *,...);...
int main(void){ printf(“Hi!\n”); return 0;}소스 파일 전처리된 소스 파일 오브젝트 파일
전처리기 컴파일러
기본 입출력 함수를 위한 #include 파일 (standard I/O 를 의미한다 )
전처리기 : 상수 정의하기 #define CONSTANT constantDefinition
#define MAX 21#define MYNAME " 홍길동 "#define PI 3.14159
if (employeeAge < MAX)if (employeeAge < 21)
위에서 상수로 정의한 이후에는 코드내에서 변경할 수 없다 .PI = 544.34; /* 허용되지 않는다 ! */
상수는 프로그램이 실행될 때마다 변경될 필요가 있는 값들에게 대해서도 사용하면 좋다 .
프로그램에서 CONSTANT 가 나타나는 위치를 찾아서 constantDefinition 으로 교체한다 .
연습 : 나만의 설정 파일 만들기
// 이 파일의 이름은 my_def.h 로 합니다 .
#define KIDS 2#define PI 3.14#define MAX 100
#include <stdio.h>#include “my_def.h” // 사용자 헤더화일은 “ “로 !
int mian(){
……………………..}
함수 (function): 특정 기능을 수행하는 처리 단계들을 괄호로 묶어서 이름을 붙인 것
함수는 프로그램을 구성하는 기본적인 단위 ( 부품 )
함수의 종류 사용자 정의 함수 : 직접 작성하는 함수 라이브러리 함수 : 컴파일러가 제공하는 함수
함수
27
함수
입력
출력
함수의 구조
함수의 출력 타입
함수의 시작
함수의 몸체
함수가 수행하는 작업에 해당하는 문장들이 들어간다.
함수의 종료
int main(void){… … … … …
}
함수의 입력 타입, void는 입력이 없다는 의미이다.
함수의 이름
함수안에 들어 있는 것Q) 그렇다면 함수 안에 들어 있는 것은 무엇인가 ?
29
함수
입력
출력
문장 1; 문장 2; 문장 3; ...
위에서 아래로 순차적으로 실행된다 .
A) 함수 안에는 함수가 처리하는 처리 단계 (문장 ) 들이 중괄호 안에 나열
함수 호출Q) 함수 안에 있는 문장들은 언제 실행되는가 ?
30
A) 함수가 호출되면 실행된다 . Q) 함수 호출은 어떻게 하는가 ?
A) 함수의 이름을 적어주면 된다 .
함수 A 문장 1; 문장 2; 문장 3; ...
함수 B 문장 1; 문장 2; 문장 3; ...
함수 C 문장 1; 문장 2; 문장 3; ...
함수B();
프로그램
함수 작업을 수행하는 문장은 함수 안에 들어가야 함
int main(void){
…
}
• 여기에 작업을 넣을 것 .
함수 호출Q) 많은 함수 중에서 가장 먼저 실행되는 것은 ?
32
A) main() 함수이다 . 다른 함수들은 main() 으로부터 직간접적으로 호출된다 .
input() 문장 1; 문장 2; 문장 3; ...
output() 문장 1; 문장 2; 문장 3; ...
process() 문장 1; 문장 2; 문장 3; ...
main()
input();process();output();
함수의 구조 함수 = 함수 헤더 + 함수 몸체
33
int main(void){ int x; int y; int sum;
x = 100; y = 200;
sum = x + y; printf(" 두수의 합 : %d", sum);
return 0;}
함수헤더
함수의 몸체 시작
함수의 몸체
함수의 몸체 끝
함수 헤더와 몸체
34
int main(void)· int: 함수가 반환하는 값의 형태· main: 함수 이름· (void): 입력이 없다는 의미
함수 헤더
{......return 0;
}함수 몸체
· 함수가 하는 작업에 해당· 문장들로 구성된다 .· 문장이 하나도 없을 수도 있다 .
return 문장
· 함수를 종료하면서 값을 반환· 일반적으로 main 함수의 경우 , 0
값은 성공 , 1 은 실패를 의미
return 문장
main() 은 누가 호출할까 ?
printf()문장 1;문장 2;문장 3;...
main()
printf(“..”);
함수를 실행하려면 함수를
호출하면 됩니다.
운영체제
중간 점검 모든 C 프로그램에 반드시 있어야 되는 함수는 무엇인가 ? 함수의 시작과 끝을 나타내는 기호는 무엇인가 ? 모든 문장은 어떤 기호로 끝나는가 ?
문장 문장 (statement): 컴퓨터에게 작업을 지시하는 단위 문장의 끝은 ; 으로 끝난다 .
38
변수
39
int x; // 첫번째 정수를 저장하는 변수 int y; // 두번째 정수를 저장하는 변수 int sum; // 두 정수의 합을 저장하는 변수
Q) 변수란 무엇인가 ?A) 프로그램이 사용하는 데이터를 일시적으로 저장할 목적으로 사용하는 메모리 공간
변수의 종류 변수는 데이터를 담는 상자로 생각할 수 있다 .
2데이터
x
변수의 이름
변수의 이름자료형
int x;
변수의 종류 변수는 데이터를 담는 상자로 생각할 수 있다 .
41
· 변수에는 데이터의 종류에 따라 여러 가지 타입이 존재한다 .
변수의 이름 식별자 (identifier): 변수나 함수의 이름 식별자를 만드는 규칙
식별자는 영어의 대소문자 , 숫자 , 밑줄 문자 _ 로 이루어진다 .
식별자는 숫자로 시작할 수 없다 . 대문자와 소문자를 구별하며 C 언어의 키워드와 똑같은
이름은 허용되지 않는다 .
식별자의 예 : s, s1, student_number: 올바른 식별자 $s, 2nd_student , int: 잘못된 식별자
42
‘A ’ 12 123.456ch i fvalue
변수 선언 변수 선언 : 컴파일러에게 어떤 타입의 변수가
사용되는지를 미리 알리는 것
43
int x;
자료형
변수의 이름
자료형 자료형 (data type): 변수가 저장할 데이터가 정수인지
실수인지 , 아니면 또 다른 어떤 데이터인지를 지정하는 것
44
변수 선언
45
int x; // 첫번째 정수를 저장하는 변수 int y; // 두번째 정수를 저장하는 변수 int sum; // 두 정수의 합을 저장하는 변수
x y sum
각 변수는 정수를 저장 할 수 있다 .
메모리 공간에 변수 가 만들어지고이름이 붙여진다 .
상수 상수 (constant): 그 값이 프로그램이 실행하는 동안 변하지 않는
수
46
x = 100;y = 200; 상수
12 12
변수 상수
변수는 실행도중에값을 변경할 수 있으나 상수는
한번 값이 정해지면 변경이 불가능합니다 .
수식 수식 (expression): 변수 , 상수 , 연산자 등으로 구성된 식 수식은 결과값을 가진다 .
47
중간 점검 int 형 변수 i 를 선언하는 문장을 작성하여 보자 . double 형 변수 f 를 선언하는 문장을 작성하여 보자 . 변수 선언은 함수의 어떤 위치에서 하여야 하는가 ?
수식
수식 (expression): 피연산자와 연산자로 구성된 식 수식은 결과값을 가진다 .
sum = x + y;
x 가 3 일때 수식 x2 - 5x + 6 의 값을 계산하라 .
int x, y;
x = 3;y = x * x - 5 * x + 6;printf(“%d\n”, y);
대입 연산 대입 연산 (assignment
operation): 변수에 값을 저장하는 연산
대입 연산 = 배정 연산 = 할당 연산
50
x = 100;y = 200;
다음과 같은 연산은 변수 x 의 값을 하나 증가시킨다 .
수학적인 의미와는 다름
x = x + 1;
산술 연산
연산 연산자 C 수식 수학에서의 기호
덧셈 + x + y x + y
뺄셈 - x - y x - y
곱셈 * x * y xy
나눗셈 / x / y x / y
나머지 % x % y x mod y
산술 연산
= +
5
sum3
y
2x
sum = x + y;
정리
x y sum
100x
200y sum
100x
200y
300sum
#include <stdio.h>int main(void){int x;int y;int sum;
x = 100;y = 200;
sum = x + y;
printf("두수의 합: %d", sum);
return 0;}
컴퓨터 내부프로그램
변수가 생성된다.
변수에 값이 대입된다.
덧셈 연산이 수행된다.
printf() printf(): 모니터에 출력을 하기 위한 표준 출력 라이브러리
함수
54
sprintf() ?
fprintf() ?
문자열 출력
인수 (argument): 함수에게 전달하는 데이터 문자열 (string): 문자들을 여러 개 나열한 것
55
printf("Hello World!\n");
H e l l o W o
Hello Wo
printf()
문자열 출력하기
printf(" 코드를 작성한다 ");printf("C 를 학습한다 ");
코드를 작성한다 C 를 학습한다
이스케이프 시퀀스
변수값 출력
58
형식 지정자
형식 지정자 : printf() 에서 값을 출력하는 형식을 지정한다 .
형식 지정자 의미 예 실행 결과
%d 10 진 정수로 출력 printf(“%d \n”, 10); 10
%f 실수로 출력 printf(“%f \n”, 3.14); 3.14
%c 문자로 출력 printf(“%c \n”, ‘a’); a
%s 문자열로 출력 printf(“%s \n”,
“Hello”);Hello
입력문에서도 같은 형식으로 사용합니다 .위 기본 형식지정자 외에 다른 형식들에 대해서도 알아보세요
여러 개의 변수값 출력
주의 !
printf() printf() 는 문자 , 숫자 , 단어들을 화면으로 출력한다 .
예제
printf("%s %d %f %c", " 철수 ", 14, -8.76, 'X');철수 14 –8.760000 X
printf("%f %.3f %.2f %.1f", 4.5678, 4.5678, 4.5678, 4.5678);
4.567800 4.568 4.57 4.6
Lab: 출력
빛의 속도는 "0.000000km/s" 입니다 .중력 가속도는 '9.800000m/s 제곱 ' 입니다 .정수는 %d 로 표시하고 실수는 %f 로 표시한다 .컴퓨터가 삑소리를 내게 하려면 \a 를 출력한다
통합 예제
#include <stdio.h>
int main(){
printf(" 빛의 속도는 \”%fkm/s\” 입니다 . ", 300000.0);printf(" 중력 가속도는 \’m/s 제곱 \’ 입니다 . ", 9.8);
printf(" 정수는 %%d 로 표시하고 실수는 %%f 로 표시한다 . ");printf(" 컴퓨터가 삑소리를 내게 하려면 \a 를 출력한다 . ");
return 0;}
학습 정리 : printf() printf() 는 데이터를 어떻게 출력할 것인지를 결정하는 제어 문자열이 필요하다 . C 는 데이터를 출력하는 방법을 지정해주지 않으면 절대 모른다 . 여러분이 변환
문자를 이용하여서 구체적으로 지정하여야 한다 . 줄바꿈 문자나 탭 , 따옴표 , 백슬래시 등을 출력할 때는 이스케이프 시퀀스를
사용한다 . 이것은 컴퓨터 벨을 울릴 때도 마찬가지이다 . 부동소수점 숫자를 출력할 때 %f 변환 문자의 사이에 숫자를 넣으면 소수점 이하
자리수를 제어할 수 있다 . 기본적으로 6 자리의 소수점 이하 자리수를 출력한다 .
덧셈 프로그램 #2 사용자로부터 입력을 받아보자 .
67
두번째 덧셈 프로그램 : long / double 으로 수정하세요// 사용자로부터 입력받은 2 개의 정수의 합을 계산하여 출력#include <stdio.h>
int main(void){
int x; // 첫번째 정수를 저장할 변수int y; // 두번째 정수를 저장할 변수int sum; // 2 개의 정수의 합을 저장할 변수
printf(" 첫번째 숫자를 입력하시오 :"); // 입력 안내 메시지 출력scanf("%d", &x); // 하나의 정수를 받아서 x 에 저장
printf(" 두번째 숫자를 입력하시오 :"); // 입력 안내 메시지 출력scanf("%d", &y); // 하나의 정수를 받아서 x 에 저장
sum = x + y; // 변수 2 개를 더한다 .printf(" 두수의 합 : %d", sum); // sum 의 값을 10 진수 형태로 출력
return 0; // 0 을 외부로 반환}
68
첫번째 숫자를 입력하시오 :10 두번째 숫자를 입력하시오 :20 두수의 합 : 30
scanf() scanf(): 키보드로부터 입력을 하기 위한 라이브러리
함수
69
scanf("%○ %○...", & 변수 1, & 변수 2, ...);
형식지정자
형식 지정자 의미 예
%d 정수를 10 진수로 입력한다 scanf(“%d”, &i);
%f float 형의 실수로 입력한다 . scanf(“%f”, &f);
%lf double 형의 실수로 입력한다 . scanf(“%lf”, &d);
%c 문자 형태로 입력한다 . scanf(“%c”, &ch);
%s 문자열 형태로 입력한다 . char s[10]; scanf(“%s”, &s);
실수 입력시 주의할 점
float ratio = 0.0;scanf("%f", &ratio);
double scale = 0.0;scanf("%lf", &scale);
• float 형은 %f 사용
• double 형은 %lf 사용
중간 점검 scanf() 를 시용하여서 사용자로부터 실수값을 받아서
double 형의 변수 value 에 저장하는 문장을 작성하여 보자 .
연봉 계산 프로그램/* 저축액을 계산하는 프로그램 */#include <stdio.h>
int main(void){
int salary; // 월급int deposit; // 저축액
printf("월급을 입력하시오 : ");scanf("%d", &salary);
deposit = 10 * 12 * salary;
printf("10 년 동안의 저축액 : %d\n", deposit);
return 0;}
73
월급을 입력하시오 : 200 10 년 동안의 저축액 : 24000
사용자로부터 월급을 입력받는다 .
월급에 10*12 를 곱하여 10 년동안의 저축액을 계산한다 .
결과를 출력한다 .
원의 면적 프로그램/* 원의 면적을 계산하는 프로그램 */#include <stdio.h>
int main(void){
float radius; // 원의 반지름float area; // 면적
printf(" 반지름을 입력하시오 : ");scanf("%f", &radius);
area = 3.14 * radius * radius;
printf("원의 면적 : %f\n", area);
return 0;}
74
반지름을 입력하시오 : 5.0 원의 면적 : 78.500000
원의 면적 계산
환율 계산 프로그램/* 환율을 계산하는 프로그램 */ #include <stdio.h>
int main(void) { float rate; // 원 /달러 환율 float usd; // 달러화 int krw; // 원화 printf("달러에 대한 원화 환율을 입력하시오 : "); // 입력 안내 메시지 scanf("%f", &rate); // 사용자로부터 환율입력
printf("원화 금액을 입력하시오 : "); // 입력 안내 메시지 scanf("%d", &krw); // 원화 금액 입력
usd = krw / rate; // 달러화로 환산 printf("원화 %d원은 %f달러입니다 .\n", krw, usd); // 계산 결과 출력
return 0; // 함수 결과값 반환 }
75
달러에 대한 원화 환율을 입력하시오 : 928.78 원화 금액을 입력하시오 : 1000000 원화 1000000원은 1076.681204달러입니다 .
실습 : 사각형의 둘레와 면적
필요한 변수는 w, h, area, perimeter 라고 하자 . 변수의 자료형은 실수를 저장할 수 있는 double 형으로
하자 . area = w*h; perimeter = 2*(w+h); w
h
프로그램의 실행 화면
사각형의 넓이 : 50.000000사각형의 둘레 : 30.000000
코딩#include <stdio.h>int main(void){
double w; double h; double area;double perimeter;
w = 10.0;h = 5.0;area = w*h;perimeter = 2*(w+h);
printf(" 사각형의 넓이 : %lf", area); printf(" 사각형의 둘레 : %lf", perimeter);return 0;
}
사각형의 넓이 : 50.000000사각형의 둘레 : 30.000000
도전문제
1. 한번의 printf() 호출로 변수 perimeter와 area 의 값이 동시에 출력되도록 변경하라 .
2. 변수들을 한 줄에 모두 선언하여 보자 . 3. w와 h 의 값을 사용자로부터 받도록 변경하여 보자 . %lf
를 사용한다 .
* 정수를 입력받아 해당사이즈의 삼각형을 출력합니다 .1) 직각삼각형2) 정삼각형3) * , ★ , ☆ 등의 기호로 출력하기
Q & A
80