문자열 형식의 입력 / 출력

원본 링크 : http://www.cnblogs.com/zxj-262410/p/6691221.html

용도 // 어레이를 sizeof 주로 차이는 scanf strlen을
#INCLUDE <STDIO.H>
#DEFINE DENSITY 62.4 대
INT 본체 (무효)
{
플로트 중량, 부피
INT 크기, 문자,
문자 이름 [40];

의 printf ( "안녕 무엇 당신의 이름입니다 \ n!?");
는 scanf ( "% s '에 이름);
printf와는 (이름, "? % s이 (가), \ n 파운드의 체중 무슨");
scanf와 ( "%의 F", 중량);
크기는 sizeof = 이름;
문자 =의 나 strlen (이름);
체적 = 중량 / DENSITY;
의 printf는 ( "음, % s이 (가), 볼륨은 %에게 2.2f 입방 피트입니다합니다. \ n",
이름, 볼륨);
의 printf ( "또한, 당신의 이름은 % d 개의 문자, \ n을 갖고"
문자);
의 printf ( "우리는 그것을 저장하기 % d 바이트를 \ n."사이즈);
0을 반환;

}

 


/ *
scanf와 후 () 입력을 읽기 시작, 첫 번째 빈 문자에있을 것입니다 (은행)가 발생, 탭 (탭) 또는 정지 독서에서 줄 바꿈 (개행).
%의 만 단어가 아닌 전체 문은 문자열로, 다른 하나는 메모리 버퍼로 입금됩니다 읽고
* /


사용법 #include <stdio.h에>
#DEFINE 찬양 "는 무엇 슈퍼 놀라운 이름!"
INT 주 (무효)
{
문자 이름 [40]
. (1) 동안
{
의 printf ( "무엇 APOS 이름 \ N-?")
는 scanf ( "%의 S"이름)
.의 printf ( "헬로은 % S % S \ N-"이름 찬양);
}

}

 

 


//는 sizeof ()보다 () 나 strlen 적은 '\ 0'


사용법 #include <stdio.h에>
사용법 #include <string.h>
#DEFINE 찬양 "무슨 슈퍼 놀라운 이름!"
메인 INT (무효)
{
문자 이름 [40];

의 printf는 ( "어떻게 당신의 이름의 \ N?");
는 scanf ( "% s '에 이름);
의 printf ( "안녕하세요, % s의 %의합니다. \ n", 이름, 찬양);
인 printf ( "% d의 문자의 당신의 이름은 % d의 메모리 셀을 점유 \ n."
나 strlen (이름)를 sizeof 이름);
의 printf ( "칭찬의 문구가 % d 문자 갖는다"
나 strlen (칭찬));
의 printf ( "% 및 D의 메모리 셀을 점유 \ n."는 sizeof PRAISE);
0을 반환;

}

 

 


당신은 대문자와 소문자, 숫자 및 밑줄 문자를 사용할 수있는 이름 변수를 충족해야 사용 / * 기호 상수 이름은 첫 번째 문자는 숫자가 될 수 없습니다
예약이로 반올림의 printf () 문 % 1.2f 출력 결과 소수 * /


#INCLUDE <STDIO.H>
#DEFINE PI 3.14159
INT 본체 (무효)
{
플로트 영역 환 반경;

의 printf (이하 "피자의 반경 무엇입니까 \ N?");
scanf와 ( "%의 F", 반경);
면적 = * PI * 반경 반경;
환 = 2.0 * PI * 반경;
의 printf ( "당신의 기본 피자 매개 변수는 다음과 같습니다 : \ n을");
의 printf ( "원주 = 1.2f %의 면적의 % = 1.2f \ 없음"환,
영역);
0을 반환;

}

 


// 다음 절차를 사용하여 시스템 상수에게 -------------- limit.h 정의 및 float.h를 정의 된 상수를 취소합니다

#INCLUDE <STDIO.H>
#INCLUDE <limits.h>
#INCLUDE <float.h>

INT 주 (무효)
{
printf와 ( "이 시스템의 일부 수 제한 : \ n");
의 printf ( "큰 INT % D \ 없음"INT_MAX);
//의 printf ( "작은 부호없는 긴 % LLD \ 없음", LLONG_MIN); //我的系统不支持
의 printf ( "본 시스템의 1 바이트 = % d의 비트 \ n."CHAR_BIT);
의 printf ( "최대 두 배 % 전자 \ 없음", DBL_MAX);
의 printf ( "작은 통상 플로트 % E \ 없음"FLT_MIN);
의 printf ( "부동 정밀도 = % d의 숫자 \ n"FLT_DIG);
의 printf ( "플로트 (ε) = % 전자 \ 없음"FLT_EPSILON);
0을 반환;
}

 

 

그룹의 %의 g에 대한 논의는 다음과 같습니다

% .2g하지 모두 두 상황을 구분할 수 있어야 같은 정수로는, 다음에 (2)의 중간 값으로 결정할 수있다 유효 숫자 2를 참조하면, 06을 출력한다;
예약을 참조하고, 7.982 인쇄 7.98 소수 둘째 자리는 예를 들어 6 % 6.2d이며, 이들의 전술. 포인트에 의해 결정된다.

C는 다른 규정이있다 : 두을 지정하면 비트의 실제 수보다 적은 비트 수를 지정하는 경우, 다음 필드가 자동으로 분명히 3을 참조하면, 숫자의 길이를 수용 할 수 있도록 확장되어, 시스템이 자동으로 세집니다. P71


%의 F 6 자리수 소수점 반올림
%의 g 자동 % F 형 %의 E에 따라 다른 값을 선택하거나. -4보다 작거나 크거나 동일 정밀도의 지표로 사용 % 전자 형식
%의 g 0 관계없이 형식 지정자로서 유효 숫자의 정수는 3.2 %의 .2g 얼마나 시간 정확도 무효 표시되지 않는다. 33 % .2g 출력을 33.141434234

첫 번째 타이틀 아니, 내 생각 : 0.0000009979은 % f를 지정할 수, 그것은 첫째로 0.000001 - 과학적 표기법 변경 후 (유효 숫자 6 % F의 시스템이 있기 때문에 반올림), 즉, 1E-006입니다
이유에 1.00E-006은 명확하지 않다

나는 코드의 몇 가지 사진을 만들어, 당신은에서 공부할 수 있습니다

 


// 이용 전환 지정자, 두 번째 항 ()의 printf 변수, 정수 표현 될 수
#INCLUDE <STDIO.H>
#DEFINE 파이 3.141593
INT 본체 (무효)
{
.; = INT 번호 5
플로트 프레소 = 13.5;
INT 선정 = 3100;
의 printf ( "은 % D 경영자의이 프레소의 % F 컵 마셨다 \ N-.", 숫자
프레소)
의 printf ( "는 PI의 값은 % F \ N-된다."상기 PI)
의 printf ( "작별! ; ") TOO 내 친애하는 예술에 대한 너는, \ N- 보유
, 2 * 비용) '$'는의 printf ("%의 C %의 D의 \의 N-을 ";
0을 반환;

}

 

/ * 필드 폭
2 변환 지정자 %의 2D는 * /이 2 필드 폭을 생성하는 것을 나타내고 있지만,이 때문에, 필드 자동 디지털의 길이를 수용하기 위해 확장되어야 3- 디지트 정수

#INCLUDE <STDIO.H>
#DEFINE PAGES 931
INT의 main ()
{
의 printf ( "* *가 % d \ 없음"PAGES);
의 printf ( "* %의 2D * \ 없음"PAGES);
의 printf ( "* %의 10D * \ 없음"PAGES);
의 printf ( "* % - 10D * \ 없음"PAGES);
0을 반환;


}

 

일부 조합은 부동 소수점을 //float.c--

#INCLUDE <STDIO.H>
INT 본체 (무효)
{
CONST 이중 RENT = 3852.99;

의 printf ( "* %의 F * \ 없음"RENT);
의 printf ( "* %의 E * \ 없음"RENT);
의 printf ( "* %의 4.2f * \ 없음"RENT);
의 printf ( "* %의 3.1f * \ 없음"RENT);
의 printf ( "* %의 10.3f * \ 없음"RENT);
의 printf ( "* %의 10.3e * \ 없음"RENT);
의 printf ( "* % + 4.2f의 * \ 없음"RENT);
의 printf ( "* %의 010.2f * \ 없음"RENT);
0을 반환;
}

 


/ *
선두 공간을 생성하기 전에 값 번째 행 지정자 스페이스 인쇄 출력과 동일한 폭으로 같은 양 및 음의 값의 유효 비트를 사용한다 (음의 값을 생성하지 않고 선두 공간), 결과는 편안하게 볼 것이다.
선행 제로의 세번째 행에 필요한 최소 수를 채우도록 생성 (여기서는 3) 0 플래그와 전체 문자 폭을 채우기 위해 사용되는 0을 선두 상기 플래그가 0이고, 마지막으로, 만약 정밀도 지정자 0 동시에 발생할 플래그가 무시됩니다
* /

#INCLUDE <STDIO.H>
INT 본체 (무효)
{
의 printf ( "% % X X X의 # % \ 없음"31,31,31);
의 printf ( "** D ** % D % % ** D ** \ n을 ', 42,42, -42);
의 printf ( "** %의 5D ** %의 % 05D 5.3d ** ** ** %의 05.3d \ n을"6,6,6,6);
0을 반환;

}

 

// 형식 문자열 - 0.5 형식 지정자 ()이 인쇄는 printf 알려줍니다 다섯 문자
사용법 #include <stdio.h에>
#DEFINE 자화 자찬! "정통의 모방"
Int 인 주 (무효)
{
의 printf ( "/ 2S % / \ N- "자화 자찬)
의 printf ("/ 24S % / \ N- "자화 자찬)
의 printf ("/ 24.5s % / \ N- "자화 자찬)
의 printf ("/ % - 24.5s / \ N- "자화 자찬);
반환 0;
}

 


일치하지 않는 변환 플로트
/ *
값 N1 ~, 형태 바이트 긴 4 바이트, 더블 옥텟을 넣어 스택의 첫 번째의 N4. %의 LD 4 바이트하고 지시하고 읽을 않는 시간 심볼의 설명 읽기
인쇄가 더블 * /로 파라미터로 사용될 때 플로트



#INCLUDE <STDIO.H>

메인 INT (무효)
{
플로트 N1 = 3.0;
이중 2 = 3.0;
긴 N3 = 2000000000;
긴 N4 = 1234567890;

의 printf ( "% 1E % .1E % .1E % .1E \ n.", N1, N2, N3, N4);
의 printf ( "%의 %의 LD LD \ 없음", N3, N4);
의 printf ( "% LD LD % % % LD LD \ n", N1, N2, N3, N4);
0을 반환;

}

 

printf 함수의 값이 리턴
/ *
출력 오차가 음수 * / 반환하는 경우의 printf ()는, 인쇄 된 문자의 수를 반환


#INCLUDE <STDIO.H>
INT 본체 (무효)
{
INT bph2o = 212;
INT의 RV]

RV 의 printf = ( "% D F.가 APOS 물 끓는점 IS \ N-."bph2o)
의 printf ( "다음은의 printf () 함수 D 인쇄 문자는 % \ N-."
RV)은,

0 반환;
}

 

 

//打印较长的字符串-三种方法
사용법 #include <stdio.h에>
INT 주 (무효)
{
printf와는 ( "여기에 인쇄 한 방법");
의 printf ( "긴 문자열합니다. \ n");
의 printf ( "여기 \ 인쇄하는 또 다른 방법
긴 문자열을합니다. \ n");
의 printf는 ( "여기에 인쇄 할 수있는 새로운 방법"
"긴 문자열을 \ n.");
0을 반환;

}

 

참고 사항과 어떤 상황에서 사용 및 scanf와 ()
/ *
적은 매개 변수 경우, 잘못 될 것입니다.
스페이스 (라인 피드, 탭, 공백)과는 scanf ()이 결정하는 방법을 제외하고는 여러 가지 분야, %의 (C)에 입력. 이중 사용 %의 LF.
숯 사용 &없이 어레이
는 scanf ( "D의 %를 %의 D", 및 N-, m) 사용 88,121 형태, 포맷 지시자 스페이스 입력을 실행하면, 다음 항목 전에 공간 스킵 수단
는 scanf를 ( "%의 D % d에", N, M) 과는 scanf ( "% d 개 %의 D" , 및 N, m)은, 동작은 동일하다. % C는 상이 할 것이다는 scanf ( "%의 C", 및 CH) 제 비 공백 문자가 발생 읽기


* /


#INCLUDE <STDIO.H>
INT 본체 (무효)
{
INT 연령;
자산을 떠;
숯 애완 [30];

의 printf ( "당신의 나이, 자산, 좋아하는 애완 동물을 입력합니다 \ n합니다.");
scanf와 ( "% d 개 %의 F", 연령, 자산);
scanf와 ( "%의 S"PET);
의 printf ( "% d 개의 $의 % 2F %의합니다. \ n", 나이, 자산, 애완 동물);
0을 반환;

}

 


// 가변 폭의 출력 필드

#INCLUDE <STDIO.H>
INT 본체 (무효)
{
부호 폭 정밀도;
INT 수 = 256;
이중 중량 = 242.5;

의 printf ( "어떤 필드 폭 \ N?");
scanf와 ( "%의 D", 폭);

인 printf ( "숫자는 다음의 % * δ : \ n", 폭, 개수);
printf와가 ( "이제 폭과 정밀도를 입력 : \ n");
scanf와 ( "%의 D % d에", 폭, 정밀도);

의 printf ( "중량 % = F * \ 없음."폭 정밀도 중량);
0을 반환;

}

 


/ *
두 정수의 최초의 입력을 스킵 - 복사 프로그램은 다음 제 3의 정수 n를 제공
프로그램이 특정 열 (파일 데이터가 균일 한 행에 배치된다)에서 파일을 판독 할 필요가있는 경우, 그 기능은 매우 것 유용한 * /

사용법 #include <stdio.h에>
INT 주 (무효)
{
INT N-;

의 printf ( "세 개의 정수를 입력하십시오 : \ N-");
scanf와 ( "% d 개 % * D * D %"를, N-)
의 printf를 ( ], N-)의 "D WAS % \ N- 정수 마지막"
; 반환 0
}
%의 9D 정렬 출력 포맷 폭, 원하는 수 지정된 폭 이하 마찬가지로 작은 필드 폭 것 양수 : 팁 적당한.

 

HTTPS : //www.cnblogs.com/zxj-262410/p/6691221.html 재현

추천

출처blog.csdn.net/weixin_30410999/article/details/94790227