공부하자/C언어 31

C언어 문법 공부 6장 [기타 연산자]

4. 기타 연산자 다음으로 기타 연산자들을 배워 보기로 하겠습니다.여기서 배울 것에는 조건 연산자, 증감 연산자, 그리고 sizeof연산자와, 혼합 연산자가 있습니다. (1) 조건 연산자조건 연산자는 주어진 조건에 따라 어떤 수식을 실행하고 그 결과를 돌려주는 연산자 입니다. 사용법은 조건 ? 수식1 : 수식2 이런 식으로 사용하죠. 여기서 조건은 관계형 연산자로 만든 조건입니다.여기서 만약 조건이 참이면 수식1을 실행한 후 그 결과를 돌려주고,거짓이면 수식2를 실행하는 것 입니다. 예를 들어 보죠. a = 1>3 ? 1+3 : 2+6; 여기서 a에 들어가는 값은? 1>3이란 조건은 거짓이므로 두번째 수식인 2+6이 실행되고 결과로 8을 돌려주므로 a는 8이 되겠죠. 이 문장은 1>3 ? a=1+3 : ..

C언어 문법 공부 6장 [비트별 연산자]

3. 비트별 연산자 비트별 연산자는 비트단위 연산을 할때 쓰이는 연산자 입니다.먼저 비트별 연산자의 종류를 알아보죠.비트별 연산자에는 다음과 같은 것 들이 있습니다. ------------------------------------------------------------ & AND (비트별 논리곱) | OR (비트별 논리합) ^ XOR (비트별 배타 논리합) ~ 1의 보수 > 오른쪽으로 쉬프트 ------------------------------------------------------------다음과 같은 것들이 있는데 하나씩 자세히 알아보죠. (1) 비트별 논리곱 &는 비트 단위로 AND연산을 하는 건데,연산하려는 두 개의 비트가 모두 1일때만 결과가 1이 되고하나라도 0이면 결과는 0이 됩니..

C언어 문법 공부 6장 [논리 연산자]

2. 논리 연산자 논리 연산자는 아까 관계 연산자의 수식 두가지를 논리적으로 연관시키는 연산자 입니다.쉽게 말하지면 관계형 연산자로 조건이 만들어 지는데 이런 조건 두개가 동시에 만족해야할 경우가 있다고 합시다.그럴 경우 이 논리 연산자를 쓰면 됩니다.논리 연산자에는 다음과 같은 것들이 있습니다. ------------------------------------------------------------&& AND || OR ! NOT------------------------------------------------------------각각의 의미는 위에 쓰여진 그대로인데 이걸 보세요 그런데 여기서 a와 b는 관계형 연산자로 만든 조건이라고 합시다. ----------------------------..

C언어 문법 공부 6장 [관계형 연산자]

이번 강좌에서는 저번에 배우지 못한 연산자인 관계형 연산자, 논리 연산자, 비트별 연산자 등에 대해 알아보겠습니다. 1. 관계형 연산자 관계형 연산자는 ..보타 크다, ..보다 작다, ..와 같다, ..와 같지 않다등등.. 어떤 데이터들을 비교할때 쓰이는 연산자 입니다.주로 제어 구조, 특히 if문에서 쓰이지만 꼭 그런것은 아닙니다.우선 관계형 연산자에는 어떤것이 있는지 알아보죠.관계형 연산자에는 ------------------------------------------------------------ == ..와 같다 > ..보다 크다 = ..보다 크거나 같다. b a가 b보다 크다 a = b a가 b보다 크거나 같다. a

C언어 문법 공부 5장 [연산자]

3. 연산자 이제부터는 좀 쉬운 것들을 배우도록 하죠어렵지는 않지만 매우 중요한 것이니 잘 들으시길 바랍니다.이제부터 배울껀 연산자 입니다. C언어는 키워드는 적어도 연산자 만큼은 그 그 어떤 언어보다도 많습니다.그것이 C언어가 강력한 이유중 하나이죠.C에서 연산자는 매우 중요하므로 잘 들으셔야 할 부분입니다. (1) 기본 수학 연산자우선 간단히 기본 수학 연산자를 하겠습니다.C를 모르는 그 어떤 사람이라도 다 아는 것이니 머리 식힐겸 잘 읽어보세요.기본 수학 연산에는 덧셈, 뺄셈, 곱셈, 나눗셈이 있습니다.이에 따른 연산자는 다음과 같습니다. ------------- + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 % 나머지 ------------- 나머지 구하는 연산자 빼면 누구나 다 아는 것이죠?특별히 설명할..

C언어 문법 공부 5장 [문자 입출력]

1. 문자 입출력 C언어에는 printf, scanf말고도 문자 입출력 함수가 있습니다.그것들에 대해 배워 보죠. (1) getchar과 putchar문자 입출력 함수인 getchar과 putchar함수를 배워보겠습니다.이 함수들은 각각 한 문자를 입력, 출력하는 함수 입니다.둘다 stdio.h에 정의되어 있죠.getchar함수의 사용법은 [변수=]getchar(); 이런 식으로 쓰면 됩니다. 여기서 변수는 입력 받은 문자가 들어갈 변수 입니다.다음 putchar의 사용법은 간단한데 putchar(출력할문자); 이런 식으로 사용합니다. 예를 들자면 char a='A'; putchar('a'); putchar(a); 이런 식으로 쓰면 됩니다. (2) getch와 putch그리고 getche문자를 입출력하는..

C언어 문법 공부 5장 [문자열 입출력]

2. 문자열 입출력 문자열 입출력 함수인 gets와 puts에 대해 배워보죠.이 함수는 각각 문자열을 입력받고 출력하는 함수 입니다. 사용법을 알아보면 gets(변수); 이렇게 사용하시면 됩니다. 여기서 변수는 문자열을 저장할 변수 입니다. 반드시 문자 배열이어야 하죠.그리고 gets로 문자열을 입력받을때는 scanf와 다르게 공백이 있어도 상관 없습니다. puts함수는 puts(출력할문자열); 이렇게 쓰시면 됩니다. 그리고 puts함수는 자동으로 문자열 끝에 '\n'를 집어 넣어 출력 한다는 것을 잊지 마세요. 즉 printf("Example\n"); 이렇게 할 것을 puts함수로 출력하면 puts("Example"); 이렇게 하면 된다는 것 입니다.. 이제 예제 하나 볼까요? /* 파일 이름 : C5..

C언어 문법 공부 4장 [C언어의 입출력 함수]

4. 입출력 함수 이제 입출력 함수 2가지를 배워 보죠.화면에 입출력 하는 함수로 가장 많이 쓰이는 것이 printf함수와 scanf함수 입니다.이것들에 대해 자세히 공부해 보도록 하죠. (1) 출력 함수 printf화면 출력 함수중 가장 많이 쓰이는 printf함수를 배워 보겠습니다.이 함수는 지금까지 예제 소스에 많이 나왔던 것 이지만 따로 배운적은 없습니다.이제 그 printf함수에 대해 알아보죠.printf함수는 stdio.h라는 헤더 파일에 정의되어 있습니다. 그리고 사용법을 간단히 본다면 다음과 같죠 printf(포맷문자열[,인수,인수..]); 여기서 포맷 문자열이란 출력하는 형태를 지정하는 문자열이고 인수는 출력할 내용들 입니다. 그럼 포맷문자열을 자세히 알아볼까요포맷문자열을 구성하는 것은 ..

C언어 문법 공부 4장 [C언어의 정적 변수]

3. 정적 변수 정적 변수에는 크게 두가지로 나눌수 있는데 정적 지역 변수와 정적 전역 변수 입니다. (1) 정적 지역 변수 지역변수를 배울때 지역변수는 그 변수가 선언된 블럭이 끝나면 그 변수안에 들어있는 값을 잃는다고 했습니다. 그런데 이걸 잃게 하지 않을때 쓰는 것이 정적 지역 변수 입니다. 정적 지역 변수는 지역 변수 선언 앞에 static키워드만 붙여 주면 됩니다. 예를 들어 static int a; 이런 식으로 이렇게 해주면 이 변수가 선언된 블럭이 끝나도 그 안에 들어있는 값을 잃지 않죠. /* 파일 이름 : C4-5.C프로그램 내용 : 정적 지역 변수를 설명하는 프로그램. */ #include void func(){int a=0;a=a+1;printf("%d\n",a);} void main..

C언어 문법 공부 4장 [C언어의 전역 변수]

2. 전역 변수 전역 변수는 지역 변수와는 다르게 한정된 지역이 아닌 모든 지역에서 사용이 가능한 변수를 말하는 것 입니다.블럭 밖에서 선언된 변수는 모두 전역 변수 이죠.그리고 전역 변수는 프로그램이 끝날때까지 들어있는 값을계속 유지합니다. 그럼 예제 소스를 /* 파일 이름 : C4-2.C 프로그램 내용 : 전역 변수를 설명하는 프로그램. */ int a; void func(){a=5;} void main(){func();a=10;} 이 소스에서 모든 블럭 밖에 a라는 변수가 선언되어 있으므로 a는 전역 변수 입니다.그러므로 어느 곳에서든지 사용이 가능하죠소스에소 볼수 있는것 처럼 a라는 변수는 main함수와 func라는 함수에서모두 사용할수 있습니다. 그러면 에제 하나를 더 볼까요? /* 파일 이름 ..