C언어 강의

C언어 강의

(C언어 강의) Chapter -18 switch문에 의한 선택

이번에 배우는 switch문은 if~else문과 유사합니다. 그래서 if문을 switch문으로 대체할 수도 있지요. 하지만 if~else문에 비해 제한적입니다. 예제를 먼저보고 스스로 분석을 해봅시다. 우리는 이 정도 코드를 분석할 수 있는 능력이 되었으니까요. 실행 결과 1 실행 결과 2 무슨 예제인지는 다들 아시겠죠? 그럼 이제 설명을 해보겠습니다. 그림에서 보이듯이 switch를 통해 전달된 num의 값에 따라 각 case안의 내용을 처리하고 있습니다. 각 케이스 뒤에 있는 숫자는 num을 통해 전달된 값입니다. 그래서 꼭 1부터 시작하지 않아도 되고 꼭 정수여야 할 필요는 없습니다. 그리고 각 case끝에는 세미콜론(;)이 아닌 콜론(:)이므로 이 점 유의하셔야 합니다. 그리고 모든 case의 경..

C언어 강의

(C언어 강의) Chapter -17 조건문 if~else

이번에 배우는 continue문과 break문은 반복문과 관련이 있습니다. break먼저 살펴보겠습니다. break 말 그대로 멈추라는 뜻이죠. break문은 반복문을 탈출할 때 사용하는 키워드로서, 다음처럼 사용합니다. break; 간단하죠? 하지만 반복문을 탈출하려면 조건을 달아야 완벽해집니다. 예제 보겠습니다. 실행결과 입력 한 수 만큼 Hello World!를 출력해주는 예제입니다. while문 안에 if문을 만족하면 break한다는 문장이 있네요.i가 num과 같아지면 반복문을 탈출한다는 뜻입니다. if문을 탈출하는게 아니라 가장 가까이 있는 반복문을 탈출하는 키워드입니다. 이제 continue문에 대해 배워봅시다. continue문도 말 그대로 계속 합니다.무엇을 계속 하느냐? 밑에 소스는 무..

C언어 강의

(C언어 강의) Chapter -16 조건문 if~else

이번에는 else문에 대해 배웁시다.if문은 '만약 ~이라면'의 경우를 표현하는 키워드였다면 '만역 ~이 아니라면' 이라는 키워드도 있겠죠?그게 바로 else문입니다. else문은 if문처럼 혼자 쓰일 수 없고 if와 짝을 이루어야 합니다.즉, if~else문은 하나의 문장입니다 예제 보시죠. 실행 결과 이 처럼 else문은 짝이 되는 if문의 조건이 만족되지 않을 때 실행됩니다. if, else뿐 만이 아니라 else if라는 키워드도 있습니다.이 역시도 혼자 쓰일 수 없으며 if문과 짝을 이루어야 합니다.else if의 의미는 '만약 if문의 조건을 만족하지 않고 이 조건을 만족한다면' 입니다.else if는 else와 달리 if문 처럼 조건을 써줘야 합니다.else if의 개수는 제한이 없습니다. ..

C언어 강의

(C언어 강의) Chapter -15 조건문 if

프로그램을 만들 다 보면 ~한다면 ~실행 ~하지 않다면 ~실행 이런 코드를 작성해야할 때가 무조건 생기는데이런 조건문은 어떻게 넣어주어야 할까요? 우리가 두 개의 정수를 입력받아 사칙연산의 결과를 출력해주는 프로그램을 만든다고 합시다.그럼 3과 4를 입력했다면 +연산, -연산, *연산, /연산을 모두 출력하는 프로그램을 만들것입니다.하지만 여기서 위 4개의 연산 중 하나만 선택하여 연산할 수 있도록 해주는 것이 조건문이지요. if문의 사용법은 간단합니다. if( 조건 ) { ~~내용 } if문 역시 반복문처럼 중괄호 내의 내용이 한 줄이라면 중괄호 생략이 가능합니다. 예제 하나 보겠습니다. 실행 결과 (맨 밑의 문장이 영어로 나오는 이유는 제가 최근에 윈도우를 영문버전으로 바꿔서 그렇습니다.) if문의 ..

C언어 강의

(C언어 강의) Chapter -14 반복명령을 위한 키워드 (for)

이번에는 반복문중에서 가장 많이 사용되는 for문에 대해 알아볼겁니다. for문은 while이나 do~while과 달리 변수의 선언과 거짓 또는 참을 표현할 조건, 조건을 만족시키기 위한 값의 증가 및 감소 연산을 한 자리에 묶을 수 있도록 만들어진 반복문입니다. while문을 통한 Hello World!문장을 3번 출력하는 코드를 일단 제시하면서 반복문에 꼭 필요한 조건 3가지를 알아보겠습니다. int main(void) { int num = 0; //반복을 위한 조건 1. 반복을 위한 변수선언 및 초기화 while (num < 3) //반복을 위한 조건 2. 반복의 조건 { printf("Hello World! \n"); num++; //반복을 위한 조건 3. 반복의 조건을 거짓으로 만들기 위한 연산..

C언어 강의

(C언어 강의) Chapter -13 반복명령을 위한 키워드 (do~while)

이번에는 do~while문을 배울겁니다. do~while문도 while과 같은 반복 키워드인데 이 둘의 차이점은반복의 조건을 검사하는 '위치'입니다.do~while문은 while문과는 다르게 반복조건을 '밑'에서 검사를 하여 반복내용을 최소한 한번 이상 실행합니다. do { printf("Hello World! \n"); num++; } while(num < 3); 위 코드처럼요. 위 코드의 실행과정을 그림으로 나타내면 일반적으로 사람들은 do~while문보다는 while문을 더 많이 사용합니다.하지만 while문보다 do~while문이 더 자연스러운 경우가 있죠.무조건 한 번 이상은 실행해야하는 경우입니다. 예제 봅시다. 실행결과 위 예제는 정수를 입력받아서 result에 입력받은 정수를 더하고 0이 ..

C언어 강의

(C언어 강의) Chapter -12 반복명령을 위한 키워드(while)

드디어 반복문에 대해 배울 차례입니다. C언어에서 제공하는 반복문 키워드는 3가지가 있는데 그 세 가지는 다 비슷하기 때문에 while하나만 잘 이해해도다른 반복문은 금방 이해가 되실겁니다. 반복문이란 무엇일까요?자 예를 들어 "Hello World!"라는 문자열을 총 열 번 출력하고 싶다면 어떻게 해야 할까요?printf함수를 10번 호출하면 됩니다. 하지만 이 방법은 매우 비효율적입니다. 그래서 이런 반복적인 일을 수행해주는 것이 바로 '반복문'입니다. while문의 기본적인 사용법은 다음과 같습니다. 저 반복조건에 무엇이 들어가야 할지 보겠습니다. "반복 조건이 참이냐 거짓이냐?" 예제를 보면서 생각해봅시다. 실행결과 위 코드에서 10번째 줄을 지워봅시다.어떻게 되나요?프로그램이 종료되지 않고 계속..

C언어 강의

(C언어 강의) Chapter -11 printf와 scanf함수에 대한 추가적인 이야기

이번 강의는 그냥 참고만 하셔도 되는 강의입니다.그래도 한 번 보고 소스도 작성해보시길 바랍니다. printf함수는 문자열을 출력하는 함수입니다.C언어는 큰 따옴표를 사용해서 문자열을 표현합니다. 따라서 큰 따옴표안에 묶인 문자열을 전달하여 printf함수를 호출하면, 전달된 문자열을 모니터상에 출력이 됩니다. #include int main(void) { printf("Hello? \n"); printf("My name is JaeHoon \n"); printf("Nice to meet you! \n"); return 0; } 위 코드에서 \n문자가 삽입되었는데 전에 배웠었죠? 얘를 특수문자라고 한다는 것을요.말 그대로 일반 문자의 의미가 아닌 특수한 의미를 담고있는 문자입니다. 특수문자는 작은 따옴표..

C언어 강의

(C언어 강의) Chapter -10 상수와 형 변환 -02

저번 강의를 이어서 이번에는 '형 변환'에 대해 배워보겠습니다.char형이나 int형으로 선언된 변수를 double형으로 바꿀수는 없을까요? 가능합니다.그리고 이것이 자료형의 변환입니다. 자료형 변환은 다음과 같이 크게 두 종류로 나뉩니다. -자동 형 변환(묵시적 형 변환)-강제 형 변환(명시적 형 변환) 말 그대로 자동 형 변환은 자동으로 형 변환이 이루어 지는 것이고, 강제 형 변환은 강제로 형 변환이 이루어 지는 것을 말합니다. 자동 형 변환은 대입연산에 의해 발생하는 형 변환과, 정수의 승격에 의한 형 변환, 마지막으로 피연산자의 자료형 불일치로 인한 형 변환이 있습니다. 먼저 대입연산에 의해 발생하는 형 변환부터 봅시다. 대입 연산자는 왼쪽과 오른쪽에 존재하는 두 피연산자의 자료형이 일치하지 않..

C언어 강의

(C언어 강의) Chapter -10 상수와 형 변환 -01

정말 오랜만 입니다.일주일만 쉬기로 했는데 시험이 끝나고 정보올림피아드를 준비하느라 한 주 더 미뤄지게 됬습니다. 오늘은 상수와 형 변환에 대해 알아볼 겁니다.상수, 수학시간에 많이 들어보셨죠?크게 변수와 상수의 차이점을 보면 변수는 값의 변경이 가능한 녀석(?)이고 상수는 값의 변경이 불가능한 녀석입니다.상수역시 앞서 배운 int나 double같은 자료형에 의해 표현됩니다. 상수는 크게 이름을 지니지 않는 리터럴(Literal) 상수와 이름을 지니는 심볼릭(Symbolic) 상수로 나뉩니다.먼저 리터럴 상수먼저 봅시다. 리터럴 상수는 이름이 없는 상수라고 했습니다. 이름이 없다는게 대체 무슨 소리일까요??다음 코드를 봅시다. int main(void) { int num = 10 + 20; . . . ...

훈더덕
'C언어 강의' 카테고리의 글 목록