• 검색 결과가 없습니다.

우석대학교 에너지전기공학과

N/A
N/A
Protected

Academic year: 2021

Share "우석대학교 에너지전기공학과"

Copied!
17
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

강의 (12)

우석대학교 에너지전기공학과

이우금 교수

(2)

(퀴즈3 검토) 1000 초는 몇 분 몇 초 인가를 계산하는 프로그램을 작성하라.  소스코드는 아래한글에『복사-붙여넣기』및 계산결과는 캡쳐 파일이름: “퀴즈3-이우금”  변수 선언 및 변수의 초기화:

𝑠𝑒𝑐 = 60

,

𝑚𝑖𝑛𝑢𝑡𝑒, 𝑠𝑒𝑐𝑜𝑛𝑑, 𝑖𝑛𝑝𝑢𝑡 = 1000

𝑚𝑖𝑛𝑢𝑡𝑒 =

//

1000초가 16분 임을 계산:

1000/60

𝑠𝑒𝑐𝑜𝑛𝑑 =

//

1000초를 60초로 나눈 나머지 퀴즈3 검토

#include <stdio.h>

int main(void)

{

int sec=60, input, minute, second;

printf("**********************************\n");

printf("코드명: 초를 분과 초로 계산하는 코드\n");

printf("작성자: 이우금\n");

printf("작성일시: 2019년11월11일\n");

printf("**********************************\n");

printf("초를 입력하시오:");

scanf_s("%d", &input);

minute = input / sec;

second = input % sec;

printf("%d초는 %d분 %d초 입니다.\n", input, minute, second);

return 0;

}

****************************************

코드명: 초를 분과 초로 계산하는 코드

작성자: 이우금

작성일시: 2019년 11월4일

****************************************

초를 입력하시오: 1000

1000초는 16분 40초 입니다.

scanf_s

반드시 scanf_s 사용

(3)

4-6-3. 문자형

 문자: 한글이나 영어에서의 하나의 글자 또는 숫자, 기호 등을 의미함.

 컴퓨터는 모든 것을 숫자로 표시 문자도 역시 숫자로 표시함: 영어『

𝐴

』는 숫자『

65

 아스키(ASCII: American Standard Code for Information Interchange)  인쇄가 불가한 33개의 제어문자 코드  인쇄 가능한 95개의 문자코드 (예시) 문자‘

𝐴

’의 아스키 코드는 65 이고,‘

𝑎

’의 코드는 97. (교재 155쪽 참조)  문자형 및 형식지정자: 문자의 자료형 『

𝑐ℎ𝑎𝑟』

& 형식지정자 『

%𝑐

』  변수에 문자 지정  변수에 아스키값을 직접 입력:

𝑐ℎ𝑎𝑟 𝑐𝑜𝑑𝑒 = 65;

// 문자 A의 아스키코드 값 = 65  문자상수 이용:

𝑐𝑜𝑑𝑒 = ′𝐴′;

// 문자 A에 작은 따옴표로 표시  제어문자 (아스키코드: 0~32) 지정  변수에 아스키값을 직접 입력:

𝑐ℎ𝑎𝑟 𝑏𝑒𝑒𝑝 = 7;

// 제어문자 알람의 아스키코드 값 = 7  특수문자열 이용: 역슬래시와 의미를 나타내는 하나의 글자로 기술 『

\𝑎

』  변수의 자료형이 char형으로 선언된 경우: 형식지정자의 선택에 따라 0 ~ 127 까지의 숫자를 이용하여 문자를 표현

(4)

Ch5. 조건문 5-1. 제어문  제어문: 문장들이 실행되는 순서를 제어하는 문장  조건문 (예시) 연봉이 2500 이상이면 취업하고, 아니면 고시준비  반복문 (예시) 토익점수가 700 넘을 때까지는 계속해서 공부  제어의 3가지 구조: 프로그램 작성시 사용할 수 있는 기본적인 제어 구조  순차구조(sequence): 명령들이 순차적으로 실행되는 구조  선택구조(selection): 둘 중 하나의 명령을 선택하여 실행되는 구조  반복구조(iteration): 동일한 명령이 반복되면서 실행되는 구조 5-1. 제어문

(5)

5-2. if 문  if 문의 개념 『비가 오면 우산을 가지고 간다』 할 때, 이러한 상황을 흐름도로 표시하면 다음과 같다.  이러한 경우에 사용할 수 있는 문장이 if 문  if 문은 영어 단어 if 가 의미하는 것과 같이 “만약 ~ 하면, ~ 한다.” 로 해석하면 됨.  if 문의 형식

𝑖𝑓

조건식

𝑝𝑟𝑖𝑛𝑡𝑓("문장1");

if

( number > 0 )

printf(“

number는 양수입니다\

n

”);

조건식 조건식이 참인 경우에만 실행 비가 오는가? 우산을 가지고 간다. 참 거짓

(6)

(예시) 온도가 0도 미만이면 영하라는 메시지를 화면에 출력하는 코드 작성.  변수지정 변수(실수):

𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒

𝑡𝑒𝑚𝑝𝑒𝑟𝑡𝑢𝑟𝑒 < 0

이면 참이 되어 실행되고,

𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒 > 0

이면 실행되지 않는 조건문 작성. ※

𝑛𝑜𝑡𝑒:

if문에는『

;

』이 붙지 않음!  if 문은 통상적으로 들여쓰기를 함 읽기가 수월 함. 5-2. if 문

#include <stdio.h>

int main(void)

{

float temperature;

printf("온도를 입력하시오:");

scanf_s("%f", &temperature);

if (temperature < 0)

printf("현재 영하 입니다.\n");

return 0;

}

조건식 조건식이 참인 경우에만 실행 온도를 입력하시오: -1.5 현재 영하입니다. 온도를 입력하시오: 1.5

𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒 < 0

현재 영하 입니다. 참 거짓 들여쓰기

(7)

(예제) 입력한 정수가 양수인지를 말해주는 프로그램 작성.  변수지정 변수(정수):

𝑛𝑢𝑚𝑏𝑒𝑟

𝑛𝑢𝑚𝑏𝑒𝑟 > 0

이면 참이 되어 실행되고,

𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒 > 0

이면 실행되지 않는 조건문 작성.  입력정수 scanf_s 이용

#include <stdio.h>

int main(void)

{

변수지정

printf( );

scanf_s( );

if ( )

printf( );

return 0;

}

정수를 입력하시오: 3 입력된 수는 3이며, 양수 정수를 입력하시오: -1

𝑛𝑢𝑚𝑏𝑒𝑟 > 0

printf(“양수”) 실행 참 거짓 If 문 들여쓰기

(8)

(예제 검토) 입력한 정수가 양수인지를 말해주는 프로그램 작성.  변수지정 변수(정수):

𝑛𝑢𝑚𝑏𝑒𝑟

𝑛𝑢𝑚𝑏𝑒𝑟 > 0

이면 참이 되어 실행되고,

𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒 > 0

이면 실행되지 않는 조건문 작성.  입력정수 scanf_s 이용 5-2. if 문

#include <stdio.h>

int main(void)

{

int number;

printf("정수를 입력하시오:");

scanf_s("%d", &number);

if (number > 0)

printf("입력된 수는 %d이며, 양수.\n", number);

return 0;

}

조건식이 참인 경우에만 실행 정수를 입력하시오: 3 입력된 수는 3이며, 양수 정수를 입력하시오: -1 조건식

𝑛𝑢𝑚𝑏𝑒𝑟 > 0

printf(“양수”) 실행 참 거짓

(9)

 복합문 (블록)  만약 조건이 참인 경우에 여러 개의 문장을 실행 하려면? 중괄호를 이용하여 문장을 묶어서 한꺼번에 실행. (일반적으로 블록 전체를 들여쓰기 함) 예시) 성적이 90점 이상이면, 합격과 동시에 장학금을 받을 수 있다고 출력하려면…

if

( score >= 90 )

{

printf(“합격입니다

\

n

”);

printf(“장학금도 받을 수 있습니다

\

n

”);

조건식 블록(block) – 중괄호를 이용 조건식이 참인 경우 2개의 문장이 묶여서 실행 성적

90점  합격  장학금 참 거짓 들여쓰기

(10)

 복합문 (계속)  주의 사항 중괄호가 없으면

5-2. if 문

if

( score >= 90 )

{

printf(“합격입니다

\

n

”);

printf(“장학금도 받을 수 있음

\

n

”);

}

조건식 블록(block) – 중괄호를 이용 참인 경우 2개의 문장이 묶여서 실행

if

( score >= 90 )

printf(“합격입니다

\

n

”);

printf(“장학금도 받을 수 있음

\

n

”);

조건식 참인 경우 바로 다음 문장만 실행 성적

90점  합격  장학금 참 거짓 합격 참 거짓 장학금 들여쓰기 들여쓰기 성적

90점

(11)

5-3. if-else 문  if-else 문의 개념  if 문: 조건이 참 일 때 만 실행  if-else 문: 조건이 거짓인 경우에 도 실행 (예시) 온도가 25도 이상이면, 가벼운 옷을 착용하고, 그렇지 않으면 두꺼운 옷을 착용.  if-else 문은 조건식의 계산이 참이면 if 이후의 문장을 실행하고, 거짓이면 else 이후 문장을 실행.

(12)

(예시) 입력된 정수가 양수인지 음수인지를 화면에 출력하는 코드 작성.  변수지정 변수(정수):

𝑛𝑢𝑚𝑏𝑒𝑟

𝑛𝑢𝑚𝑏𝑒𝑟 > 0

이면 if 이후가 실행되고,

𝑛𝑢𝑚𝑏𝑒𝑟 < 0

이면 else 이후 가 실행되는 조건문 작성. ※

𝑛𝑜𝑡𝑒:

if-else문에는『

;

』이 붙지 않음!  If-else 문은 통상적으로 들여쓰기를 함

#include <stdio.h>

int main(void)

{

int number;

printf("정수를 입력하시오:");

scanf_s("%d", &number);

if (number > 0)

printf("입력된 수는 %d이며, 양수\n", number);

else

printf("입력된 수는 %d이며, 음수\n", number);

return 0;

}

정수를 입력하시오: 3 입력된 수는 3이며, 양수 정수를 입력하시오: -1 입력된 수는 -1이며, 음수 5-3. if-else 문 print(양수) 참 거짓 print(음수)

𝑛𝑢𝑚𝑏𝑒𝑟 > 0

If-else 문 들여쓰기

(13)

(예제1) if-else 블록문 연습: 다음 화면이 출력되도록 프로그램을 작성하라.  변수지정 변수(정수):

𝑠𝑐𝑜𝑟𝑒

𝑠𝑐𝑜𝑟𝑒 ≥ 90

이면 if 이후가 실행되고,

𝑠𝑐𝑜𝑟𝑒 < 90

이면 else 이후가 실행되는 조건문 작성.  입력 점수 scanf_s 이용

#include <stdio.h>

int main(void)

{

변수지정

printf( );

scanf_s( );

if ( )

else

return 0;

점수를 입력하시오: 92 입력점수는 92이며, 합격 장학금 대상자 점수를 입력하시오: 85 입력점수는 85이며, 불합격 다시 도전 하세요  합격  장학금 참 거짓

𝑛𝑢𝑚𝑏𝑒𝑟 > 90

 합격  재도전 If-else 문 들여쓰기

(14)

(예제1 검토) if-else 블록문 연습: 다음 화면이 출력되도록 프로그램을 작성하라.  변수지정 변수(정수):

𝑠𝑐𝑜𝑟𝑒

𝑠𝑐𝑜𝑟𝑒 ≥ 90

이면 if 이후가 실행되고,

𝑠𝑐𝑜𝑟𝑒 < 90

이면 else 이후가 실행되는 조건문 작성.  입력 점수 scanf_s 이용

#include <stdio.h>

int main(void)

{

int score;

printf("점수를 입력하시오:");

scanf_s("%d", &score);

if (score >= 90)

{

printf("입력점수는 %d이며, 합격\n", score);

printf("장학금 대상자\n");

}

else

{

printf("입력점수는 %d이며, 불합격\n", score);

printf("다시 도전 하세요\n");

}

return 0;

}

점수를 입력하시오: 92 입력점수는 92이며, 합격 장학금 대상자 점수를 입력하시오: 85 입력점수는 85이며, 불합격 다시 도전 하세요 5-3. if-else 문  합격  장학금 참 거짓

𝑛𝑢𝑚𝑏𝑒𝑟 > 90

 합격  재도전 블록

(15)

(예제2) 입력한 정수가 홀수 인지 짝수인지 말해주는 프로그램을 작성하라.  홀수와 짝수를 어떻게 구별 할 수 있는가? 

𝑛𝑢𝑚𝑏𝑒𝑟

를 2로 나눈 나머지가 0이면 if 이후 실행, 나머지가 0 이 아니면 else 이후가 실행. 조건문:

𝑛𝑢𝑚𝑏𝑒𝑟 % 2 == 0

 변수지정 변수(정수):

𝑛𝑢𝑚𝑏𝑒𝑟

 입력 정수 scanf_s 이용

#include <stdio.h>

int main(void)

{

변수지정

printf( );

scanf_s( );

if ( )

else

...

return 0;

}

정수를 입력하시오: 32 입력정수는 32이며, 짝수 정수를 입력하시오: 25 입력정수는 25이며, 홀수 짝수: 2로 나누었을 때 나머지가 항상 0 짝수 참 거짓 홀수

조건문

If-else 문 들여쓰기

(16)

(예제2 검토) 입력한 정수가 홀수 인지 짝수인지 말해주는 프로그램을 작성하라.  홀수와 짝수를 어떻게 구별 할 수 있는가? 

𝑛𝑢𝑚𝑏𝑒𝑟

를 2로 나눈 나머지가 0이면 if 이후 실행, 나머지가 0 이 아니면 else 이후가 실행. 조건문:

𝑛𝑢𝑚𝑏𝑒𝑟 % 2 == 0

 변수지정 변수(정수):

𝑛𝑢𝑚𝑏𝑒𝑟

 입력 정수 scanf_s 이용

#include <stdio.h>

int main(void)

{

int number;

printf("정수를 입력하시오:");

scanf_s("%d", &number);

if (number%2==0)

printf("입력정수는 %d이며, 짝수\n", number);

else

printf("입력정수는 %d이며, 홀수\n", number);

return 0;

}

정수를 입력하시오: 32 입력정수는 32이며, 짝수 정수를 입력하시오: 25 입력정수는 25이며, 홀수 5-3. if-else 문 If-else 문 들여쓰기 짝수: 2로 나누었을 때 나머지가 항상 0 짝수 참 거짓 홀수

조건문

(17)

<참고사항> (예제2) 에서 짝수와 홀수를 구분할 때, 두 가지 방법이 있음.  방법 (1) : if-else 문을 사용.  방법(2) : if 문을 2개 사용.

특별한 경우를 제외하고 if-else 가 효율적인 방법! If-else 문 사용 2개의 if 문 사용

if (number %2 == 0)

// 문장 (1)

printf("짝수\n");

else

printf("홀수\n");

if (number %2 == 0)

// 문장 (1)

printf("짝수\n");

if (number %2 == 1)

// 문장 (2)

printf("홀수\n");

입력 값에 대해 문장(1) 만 실행: 효율적 입력 값에 대해 문장(1)과 문장(2)를 실행: 비효율적

참조

관련 문서

[r]

[r]

 필요 없는 단어와 의미 없는 수식 문장들은 삭제하고, 종 속관계를 이용하여 문장을 결합하여 글을 압축한다...

auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void.. default

 피연산자의 값이 참이면 연산의 결과값을 거짓으로 만들고, 피연산 자의 값이 거짓이면 연산의 결과값을 참으로 만든다... 다음의

다른 피연산자는 double로 변환됨... else 두 피연산자는

• 태국어의 단어 부류에 대해서 알아보고 문장의 형태와 구조를 분석해보기로 한다.. • 또 문장을 이루는 구와 절의

• false의 경우에는 if 다음의 문장이 실행되지 않고 if 문을