Microsoft PowerPoint - gnu-w10-c-chap12

Similar documents
프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

Microsoft PowerPoint - gnu-w10-c-chap11

untitled

OCW_C언어 기초

Microsoft PowerPoint - chap-06.pptx

untitled

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

중간고사

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx


쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap06-1Array.ppt

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

윤성우의 열혈 TCP/IP 소켓 프로그래밍

C 언어 프로그래밊 과제 풀이

02장.배열과 클래스

금오공대 컴퓨터공학전공 강의자료

기초컴퓨터프로그래밍

PowerPoint Presentation

Microsoft PowerPoint - chap03-변수와데이터형.pptx

C++ Programming

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

Microsoft PowerPoint - [2009] 02.pptx

: 1 int arr[9]; int n, i; printf(" : "); scanf("%d", &n); : : for(i=1; i<10; i++) arr[i-1] = n * i; for(i=0; i<9; i++) if(i%2 == 1) print

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

untitled

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - chap11-포인터의활용.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - ch08 - 구조체 (structure) am0845

PowerPoint 프레젠테이션

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

슬라이드 1

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

Microsoft PowerPoint - chap-05.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap12-고급기능.pptx

금오공대 컴퓨터공학전공 강의자료

KNK_C_05_Pointers_Arrays_structures_summary_v02

Microsoft PowerPoint - chap-03.pptx

歯9장.PDF

BMP 파일 처리

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap09-1.ppt

Microsoft PowerPoint - 5장 조건문 pptx

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - chap-07.pptx

PowerPoint 프레젠테이션

Chapter_06

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

슬라이드 1

Microsoft PowerPoint - chap-11.pptx

Microsoft PowerPoint - ch07 - 포인터 pm0415

14 주차구조체와공용체

컴파일러

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

C 프로그래밊 개요

C프로-3장c03逞풚

; struct point p[10] = {{1, 2, {5, -3, {-3, 5, {-6, -2, {2, 2, {-3, -3, {-9, 2, {7, 8, {-6, 4, {8, -5; for (i = 0; i < 10; i++){ if (p[i].x > 0 && p[i

Infinity(∞) Strategy

Microsoft PowerPoint - Lesson2.pptx

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - Lesson6.pptx

untitled

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

본 강의에 들어가기 전

C 프로그래밊 개요

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

JAVA PROGRAMMING 실습 02. 표준 입출력

11장 포인터

Microsoft PowerPoint - Chapter_08.pptx

chap7.key

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

슬라이드 1

OCW_C언어 기초

Microsoft PowerPoint - ch03 - 조건문과 반복문 pm0215

03장.스택.key

PowerPoint 프레젠테이션

슬라이드 1

<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE>

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

2015 개정교육과정에따른정보과평가기준개발연구 연구책임자 공동연구자 연구협력관

13 주차문자열의표현과입출력

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

Microsoft PowerPoint - 7장 배열 pptx

PowerPoint Presentation

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-


Microsoft PowerPoint - 제11장 포인터(강의)

Transcription:

어서와 C 언어는처음이지 제 12 장

논리연산자 관계연산자의한계 if (age >= 21) /* 21 <= age <= 65 인지를검사 */ if (age <= 65) printf(" 나이가 21과 65 사이입니다. n");

논리연산자

논리연산자의예 ( 예 ) if ((age >= 21) && (age <= 65)) ( 예 ) if ((hrsworked > 40) (sales > 25000.00)) ( 예 ) if (!(ischartermember)) " 만일나이가 21 세이상이고, 그리고 65 세보다이하이면,..."

// 완전초보자가이드 3 판 11 장예제 #2 // 파일 Chapter11ex2.c /* 이프로그램은변수와수식을정의한다. 그리고변수를검사하기위하여관계연산자와논리연산자를사용한다.*/ #include <stdio.h> main() // 프로그램에서사용되는공통적인정수를정의한다. int planets = 8; int friends = 6; int potterbooks = 7; int starwars = 6; int months = 12; int beatles = 4; int avengers = 6; int baseball = 9; int basketball = 5; int football = 11;

"); // 첫번째논리문장은 AND 연산자를사용한다. // 시트콤프렌즈캐스트와비틀즈멤버의수를합치면 // 야구단을만들수있는지를검사한다. // 또시트콤프렌즈캐스트와어벤저스멤버의수를합치면 // 야구단을만들수있는지를검사한다. if ((friends + beatles >= baseball) && (friends + avengers >= football)) printf(" 시트콤프렌즈배우와비틀즈멤버의수를합치면 "); printf(" 야구단을만들수있다,"); printf("and 시트콤프렌즈배우와어벤저스멤버의수를합치면 else printf(" 야구단을만들수있다."); printf(" 시트콤프렌즈의멤버와비틀즈멤버의수를합쳐도 "); printf(" 야구팀을만들지못하거나,"); printf(" 시트콤프렌즈의멤버와어벤저스멤버와합쳐서 "); printf(" 야구단을만들수없다.");

// 두번째논리문장은 OR 연산자를사용해서 // 스타워즈영화의수가 1 년중의월의개수보다적거나 // 해리포터책의개수가 1 년중의월의개수보다적은지검사한다. // 어느쪽하나만참이면 true, // if 문장이실행된다. if ((starwars <= months) (potterbooks <= months)) printf(" 해리포터책을한달에한권씩읽으면,"); printf("1 년안에끝낼수있거나,"); printf("or 스타워즈영화를한달에한편씩보면,"); printf("1 년안에끝낼수있다."); else printf(" 너무많은책과영화가있어서둘다불가능하다,"); printf(" 충분한시간이없음!");

// 마지막논리문장은 NOT 연산자를사용하여검사한다. // 야구팀의선수수와농구팀의선수수를합한수가미식축구선수수보다 // 크지않으면 // if 문장이실행된다. if (!(baseball + basketball > football)) printf(" 야구와농구팀의선수수를합쳐도 "); printf(" 미식축구선수보다적다."); else printf(" 야구와농구팀의선수수를합치면 "); printf(" 미식축구선수보다많다."); return 0;

부정연산자피해하기 프로그래밍에서도부정적인생각은좋지않다! ( 예 ) if (!count) /* count가 0이면 if 의몸체를실행한다. */ ( 예 ) if (count == 0) 권장!

// 완전초보자가이드 3 판 12 장예제 #2 // 파일 Chapter12ex2.c /* 이프로그램은사람의성을묻는다. 사용자가 P 에서 S 사이의성을입력하면, 사용자는특별한방으로이동된다. */ #include <stdio.h> main() // 성을저장할수있는배열을정의한다. char name[25]; printf(" 영어이름을입력하시오 :"); printf("( 첫글자는대문자로!)"); scanf(" %s",name);// 문자열배열의경우,& 을사용할필요가없다. if ((name[0] >= 'P') &&(name[0]<='s')) printf(" 티켓을찾으려면 2432호로가세요."); else printf(" 여기서티켓을찾으세요.");

return 0;

if 문의용도 printf(" 프린터가켜있나요 (Y/N)?"); scanf(" %c",&ans);// 문자변수앞에 & 을필요로한다. if ((ans == 'Y') (ans=='n')) // 사용자가정확한대답을했으면 if (ans == 'N') printf("*** 지금프린터를켜시오. ***"); else printf("y 또는 N 을입력하지않았군요.");

논리연산자의우선순위 && 연산자가 연산자보다우선순위가높다 ( 예 ) if (age < 20 sales < 1200 && hrsworked > 15) if ((age < 20) ((sales < 1200) && (hrsworked > 15)))

괄호를사용하는것이좋음 성적이우수하고수업에 3 번이하로결석한학생들을선생님이표창하려고한다. 그리고학생이표창을받으려면기본적으로 3 개의학교조직에가입하거나 2 개의스포츠활동에참여하여야한다. ( 예 ) if (grade > 93 && classmissed <= 3 && numacts >= 3 sports >= 2) 잘못되었음! if ((grade > 93) && (classmissed <= 3) && ((numacts >= 3) (sports >= 2))

Lab: 작은수 사용자로부터정수 3 개를받아서이중에서가장작은수를찾아내는프로그램을작성해보자 정수 3 개를입력하시오 : 10 20 30 가장작은수는 10 입니다.

#include <stdio.h> main() int x, y, z; printf(" 정수 3 개를입력하시오 :"); scanf("%d %d %d", &x, &y, &z); if (x < z && y < z) printf(" 가장작은수는 %d 입니다.",x); if (y < z && y < x) printf(" 가장작은수는 %d 입니다.",y); if (z < x && z < y) printf(" 가장작은수는 %d 입니다.",z); return 0;

Lab: 학점부여 학생의성적을받아서다음과같이학점을매기는프로그램을작성하여보자. 90 점 - 100 점 : A 학점 80 점 -89 점 : B 학점 70 점 -79 점 : C 학점 60 점 69 점 : D 학점 59 점이하 : F 학점 성적을입력하시오 : 98 A 학점입니다.

#include <stdio.h> main() int score; char grade; printf(" 성적을입력하시오 :"); scanf("%d", &score); if (score >= 90) grade = 'A'; else if (score >= 80) grade = 'B'; else if (score >= 70) grade = 'C'; else if (score >= 60) grade = 'D'; else grade = 'F'; printf("%c 학점입니다.",grade); return 0;

학습정리 관계연산자를연결할때는논리연산자를사용한다. 연산자의양쪽이모두참이되어야만전체조건이참이되는경우는 && 를사용한다. 연산자의어떤쪽한편만참이되어도전체조건이참이되는경우에는 를사용한다.! 을너무많이사용하지말자. 대부분의부정논리는 not 연산자를없애고조건을반전하면없앨수있다. ( 즉 < 은 >= 이되고 > 은 <= 이된다 ) 너무많은관계연산자들은하나의수식으로묶지말자. 머리만복잡해진다.

Q & A