티스토리 뷰
1.표준 출력함수
함수 : int printf(const char*format , . . .);
기능 : 입력된 인자값을 출력하는 함수.
표준 입출력 헤더파일을 추가해야 사용 가능.
#include<stdio.h> int main(){ int num1 = 10; int num2 = 20; printf("Hello~!"); prinft("world!"
printf("num 1 = %d \n",num1); printf("num 2 = %d \n", num2);
printf("num1= %d , num2= %d \n", num1, num2); return 0; } |
%d : 10진수 형태로 뒤에 인자값을 출력.
인자값은 콤마(,) 로 구문하고 printf() 함수안에 인자값은 첫번째만 문자열, 두번째부터는 인자값을 계속 넣을 수 있다.
인자값 수와 문자열 안에 %d 개수는 같아야 한다.
※출력 형태
%d : 10진수
%x : 16진수
%X : 16진수 대문자
%c : 케릭터(1byte)
%s : 인자값의 시작주소부터 null이 나올때까지 출력.
%p : 변수의 주소값 출력.
%3d : 최대 3자리로 공백으로 줄맞춰서 표현.
ex) 1
10
100
%04d : 10진수로 앞에 0을 최대 4자리까지 붙여서 출력.
ex) 0001
0002
%lf : 실수 출력
%18.15f : 최대 18자리, 소수점 15자리까지만 표현, 잘려나간 소수점은 반올림함.
2. 표준입력함수
함수 : char* gets(char *buffer);
기능 : 문자열을 입력받아 buffer에 넣어주고 끝에 null을 추가한다.
(\n <-- 개행문자는 버림.)
#include<stdio.h> int main(){ char string[10]; printf("input string: "); gets(string); printf("%s" \n", string);
return 0; } |
gets의 단점 : buffer overflow 발생 가능함.
함수 : char* scanf(const char *format, ...);
기능 : 입력을 받아 변수에 저장.
#include<stdio.h>int main(){
int a = 0;
int b = 0;
printf("a = ");
scanf("%d",&a); //scanf는 변수의 주소값에 저장함. (&)
printf("a + b = %d\n", a + b);
return 0;
}
scanf("%[^\n]s",주소값); // \n 이 나올때까지 입력값을 저장.
%d : 10진수 형태로 &a에 저장한다.
※2개 이상 한번에 받을 때
scanf("%d%d",&a,&b); //구분이 없으면 공백이 기본 구분자.
ex) 1 2 이렇게 입력해야함.
&a에 1, &b에 2가 입력됨.
scanf("%d %d",&a,&b); // 공백이 구분자임.
scanf("%d ",&a); //마지막에 공백이 있으면 안됨.(오류)
서식문자 뒤에는 공백을 쓰면 안됨.
scanf("%d,%d",&a,&b); //구분자가 콤마(,)
scanf("%d\n",&a); //많이 실수하는 부분. (오류)
'ETC > 종합' 카테고리의 다른 글
연산자연습(논리연산자) (0) | 2015.07.01 |
---|---|
기초 연산자 연습(관계연산자) (0) | 2015.07.01 |
[C언어 기초] 기본 자료형 (0) | 2015.06.27 |
윈도우7 계정 암호 알아내기 (0) | 2015.06.27 |
구글링 팁. (0) | 2015.06.27 |