1.
#include <stdio.h> //전처리기 : C언어 헤더파일(컴파일러에 의해 다른 소스파일에 자동으로 포함된 소스코드파일) 정의
>> 변수 선언과 동시에 초기화
2.
int main(void) //void는 공백과 같으므로 비워둬도 같음
, int main()는 함수 헤더
3.
printf() : 출력
scanf() :
ex) int scanf("입력받을 문자의 서식", 변수의 주소 등등)
4. scanf 함수에서
(1) 특수문자
\a 경고음 소리 발생
\n 줄바꿈
\t 탭만큼 수평밀기
\\ 역슬래시(\)
\' 작은 따옴표
\" 큰따옴표
(2) 서식문자
%d(int 타입 정수형), %i 10진수 정수(양수 음수)
%x, %o 16진수 정수, 8진수 정수(양수만 가능)
%f(float 타입 실수), %lf(double 타입 실수) 10진수 실수 (양수 음수)
%c(char 타입 문자형) 한 개의 문자
%s(char* 타입 문자열) 문자열
%u 10진수 정수 (양수만)
(3) 변수 앞에 &을 붙이게 되면 이는 해당 변수의 주소를 가리키게 한다
(4)
**C언어에서 scanf 를 하다 보면 보안 경고가 뜰 때가 있습니다.
이 경고는 무시하셔도 되며 상단에
#define _CRT_SECURE_NO_WARNINGS
을 입력하면 해결이 됩니다.
5. scanf 예제
(1) while 무한루프를 통해서 scanf를 계속 받게 하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdbool.h> // C언어 bool 타입
int main(void)
{
char str[100];
while (true)
{
printf("문장 입력 : ");
scanf("%s", str);
printf("입력한 문장 : %s\n\n", str);
}
return 0;
}
|
6. 변수 선언
int >> 정수형 4바이트의 데이터를 저장할 수 있는 메모리 공간 할당. (자료형)
num >> 그 메모리 공간의 이름은 num
7. 연산자
(1) 관계연산자
< a < b a가 b보다 작은가?
> a > b a가 b보다 큰가?
== a == b a와 b가 같은가?
!= a != b a와 b가 다른가?
<= a <= b a가 b보다 작거나 같은가?
>= a >= b a가 b보다 크거나 같은가?
(2) 논리연산자
&& a && b a와 b 모두 '참'이면 '참'을 반환
||(백스페이스) a || b a와 b 둘 중 하나라도 '참'이면 '참'을 반환
! !a a가 '참'이면 '거짓', a가 '거짓'이면 '참'을 반환
8. printf 서식 문자
%c : 문자 표기
%s : 문자열 표기
%f, %lf : 실수 표기
%u : 10진 정수 (부호 없음)
%d : 10진 정수 (부호 있음)
%o : 8진 정수 (부호 없음)
%x : 16진 정수 (부호 없음)
%lu : long 타입 (부호 없음)
%ld : long 타입 (부호 있음)
%llu : long long 타입 (부호 없음)
%lld : long long 타입 (부호 있음)
%p : 메모리 주소 표기
%% : 기호 % 표기
(1) 구구단 출력
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include <stdio.h>
int main(void)
{
for (int i = 5; i < 7; ++i)
{
printf("구구단 %d단 시작\n", i);
for (int j = 1; j < 10; ++j)
{
printf("%d x %d = %d\n", i, j, i*j);
}
printf("\n\n");
}
return 0;
}
|
9. 공백
scanf()는 ' '(space), '\t'(tab), '\n'(enter)를 모두 구분자로 사용한다.
공백을 포함한 입력 자체를 그대로 출력하기 위해서는 getchar()나 fgets()를 많이 사용한다.
(1)fgets()
\n 만을 구분자로 사용하기 때문에, 띄어쓰기/공백까지 입력받을 수 있어 적합한 함수이다.
원형: char* fgets(char* str, int num, FILE stream)
str: 읽어들인 문자열을 저장할 char 배열을 가리키는 포인터.
num: 마지막 NULL문자를 포함하여, 읽어들일 최대 문자 수.
stream: 문자열을 읽어들일 스트림의 FILE 객체를 가리키는 포인터.
리턴값: 성공적으로 읽어들였다면 str을 반환, 오류가 발생하면 NULL 반환
https://sincerity-sw268.tistory.com/69
10.문자 변수 선언 (char)
#include <stdio.h>
int main()
{
char c1 = 'a';
char c2 = 'b';
printf("%c, %d\n", c1, c1);
printf("%c, %d\n", c2, c2);
return 0;
**printf()에서 16진수를 출력하려면 서식지정자로 %x를 사용한다.
'알고리즘' 카테고리의 다른 글
c 언어 (0) | 2023.10.12 |
---|---|
백준 1008(C99/double형 변수) (0) | 2023.10.11 |
백준 알고리즘 2739번 구구단(c99) (2) | 2023.10.09 |
C 2주차 (0) | 2023.09.12 |
0905 C~ (0) | 2023.09.05 |