您的位置  > 互联网

(知识点)化学实验基本知识,你都了解吗?

1. 转换说明符 %a (%A) 浮点、十六进制和 p-(P-) 表示法 (C99) %c 字符 %d 有符号十进制整数 %f 浮点(包括浮点和) %e (%E) 浮点点指数输出 [e-(E-) 表示法] %g (%G) 浮点数不显示无意义的零 "0" %i 有符号十进制整数(与 %d 相同) %u 无符号十进制整数 %o 八进制整数 例如0123 %x (%X) 十六进制整数 () 例如 %p 指针 %s 字符串 %% "%"

2、标志左对齐:“-”如“%-20s”右对齐:“+”如“%+20s”空格:如果符号为正,则显示一个空格,如果为负,则显示“-”如“ %"#:对于c、s、d、u类别没有影响; 对于o类别,输出时添加前缀o; 对于x类别,输出时添加前缀0x; 对于e、g、f类别,只有当结果有小数时才给出小数点。

3、格式化字符串()[标志][输出最小宽度][。 [精度] [长度] 类型“%-md”:左对齐,如果m小于实际值,则按实际值输出。 "%m.ns":输出m位,从字符串中取n位(从左起),从左开始补空格,当n>m或m被省略时,m=ne.g。 “%7.2s”输入CHINA,输出“CH” “%m.nf”:输出浮点数,m为宽度,n为小数点右边的数字 例如“%”输入3852.99,输出3853.0长度: h 是短整数,l 是长整数

格式控件的完整格式:% – .nl 或 h。 下面对构成格式描述的各项的格式字符进行解释: ①%:表示格式描述的起始符号,不可缺少。 ②-:如果-表示左对齐输出,如果省略则表示右对齐输出。 ③0:如果有0,则表示指定的空格填0,如果省略,则表示指定的空格不填。 ④m.n:m指字段宽度,即对应输出项在输出设备上占用的字符数。 N指精度。 用于描述输出实数的小数位数。 当指定 n 时,隐式精度为 n=6 位。 ⑤l或h:l对于整数类型指long类型,对于实数类型指type。 h 用于将整数类型的格式字符纠正为短类型。

一个h表示short,即short int两个h表示short short,即 char。%hhx用于输出char%hx用于输出short int.

复制

----------------. 类型和输出格式。 ①d格式:用于输出十进制整数。 有几种用法: %d:按照整型数据的实际长度输出。 %md:m是指定输出字段的宽度。 如果数据位数小于m,则左端添加空格。 如果大于m,则输出实际位数。 %ld:输出长整型数据。 ②o格式:以无符号八进制形式输出整数。 长整数可以以“%lo”格式输出。 您还可以指定以“%mo”格式输出的字段宽度。 示例: main() { int a = -1;(“%d, %o”, a, a); } 运行结果:-1,程序分析:-1在内存单元中存储(以补码形式存储)为(11111)2,转换为八进制数为()8。 ③x格式:以无符号十六进制形式输出整数。 长整数可以以“%lx”格式输出。 您还可以指定以“%mx”格式输出的字段宽度。 ④u格式:以无符号十进制形式输出整数。 长整数可以以“%lu”格式输出。 您还可以指定以“%mu”格式输出的字段宽度。 ⑤c格式:输出1个字符。 ⑥s格式:用于输出字符串。 %s 有多种使用方式: 例如: ("%s", "CHINA") 输出“CHINA”字符串(不包括双引号)。

%ms:输出字符串占m列。 如果字符串本身的长度大于m,则会超出m的限制,并输出所有字符串。 如果字符串长度小于 m,则保留空格。 %-ms:如果字符串长度小于m,在m列范围内,则字符串向左移动,向右补空格。 %m.ns:输出占用m列,但只取字符串左端的n个字符。 这n个字符在m列的右侧输出,左侧用空格填充。 %-m.ns:m和n含义同上,m列范围左侧输出n个字符,右侧填充空格。 如果n>m,则自动取n值,即保证n个字符正常输出。 ⑦f格式:用于以十进制形式输出实数(包括单精度和双精度)。 有几种用法: %f:不指定宽度,输出全部整数部分,输出6位小数。 %m.nf:输出共m列,其中n位小数。 如果值宽度小于 m,则在左侧填充空格。 %-m.nf:输出共占n列,其中n位小数。 如果值宽度小于m,则在右端添加空格。 ⑧e格式:以指数形式输出实数。 有以下几种形式: %e:数字部分(也称为尾数)输出 6 位十进制数字,指数部分占 5 或 4 位数字。 %m.ne 和 %-m.ne:m、n 和“-”字符的含义与之前相同。 这里n指的是数据的数字部分的小数位数,m表示整个输出数据的宽度。 ⑨g格式:自动选择f格式或e格式中较短的一个进行输出,不输出无意义的零。

-------------------------------------------------- -------------------------------------------------- ------------------关于该功能的进一步说明:如果要输出字符“%”,则应在“格式控制”字符串中用两个连续的%表示,如:("%f%%",1.0/3); 输出0.%。

-------------------------------------------对于单精度数字,请使用%f 输出格式字符 时,只有前7位有效数字,有6位小数。 对于双精度数字,使用%lf格式字符输出时,前16位为有效数字,有6位小数。

#################################### 拾取物品############ ############################在专家的指导下,mn的格式也可以用下面的方法表示(示例) char ch[20] ;(“%*.*s\n”,m,n,ch);前面的*定义总宽度,后面的*定义输出数量。 分别对应外部参数m和n。 我觉得这种方法的好处是可以在语句外给参数m和n赋值,从而控制输出格式。 ————————————————————————————–今天()看到了另一种输出格式%n,可以给输出字符串的长度值赋值一个变量,见下面的例子:

int slen;

(“你好世界%n”,&slen);

执行后,变量被赋值为11

此外:

1. 格式输出函数的一般形式

函数原型:int(char *[,,…]);

功能:按照指定的格式向输出设备(通常是显示器)输出数据,并返回实际输出的字符数。 如果发生错误,则返回负数。

它使用的一般形式是:

(“格式化控制字符串”,输出项列表);

语句中的“输出项列表”列出了要输出的表达式(如常量、变量、运算符表达式、函数返回值等)。 它可以是 0、1 或多个,每个输出项之间用逗号分隔。 (,)分开。 输出数据可以是整数、实数、字符和字符串。

“格式控制字符串”必须用英文双引号引起来。 它的作用是控制输出项的格式,输出一些提示信息,比如

整数 i = 97; (“i=%d,%c\n”,i,i);

输出结果为:i=97,a

语句“(”i=%d,%c\n”,i,i);”中的两个输出项都是变量 i,但它们以不同的格式输出。 一个输出整数97,另一个输出是字符a,其格式分别由“%d”和“%c”控制。

语句“(”i=%d,%c\n”,i,i);”的格式控制字符串中的“i=” 是普通字符,则原样输出; “%d”和“%c”是格式控制字符; “\n”是转义字符,起到换行的作用。

2. 格式控制

格式控制是通过格式控制字符串来实现的。 格式控制字符串由三部分组成:普通字符、转义字符和输出项格式描述。

(1)普通人物。 输出普通字符时,原样输出,主要用于输出提示信息。

(2) 转义字符。 转义字符表示具体操作,如“\n”表示换行,“\t”表示水平制表等。

(3)格式描述部分由“%”和“格式字符串”组成,表示数据以指定的格式输出。

格式描述的形式为:

%[标志][宽度][.prec][F|N|h|I][类型]

各部分解释如下:

“[]”表示该项是可选的,即是可选的,如(“%d”,100); flags 是可选的标志字符。 常用的标志字符有: width 是可选的宽度指示符。 [.prec] 是可选的精度指示器。 [F|N|h|I] 是可选的输出长度修饰符。 其功能如下: type是可选的格式字符,用于格式转换。

# main(){ //for i=;长 i2=;短 i3=30; i4=;(“%d,%o,%x,%X,%ld,%hd,%u/n”,i ,i,i,i,i2,i3,i4);//如果是: %l,%h,结果无法输出("%d,%ld/n",i,i2);//测试不行测试%ld和%d的区别,因为long是("% hd,%hd/n/n/n",i,i3);//测试%hd和%d的区别,因为short是 //for and ch1='d'; char ch2=160;char *str=”你好!”;(“%c,%u,%s/n/n/n”,ch1,ch2,str); // char超过128没有对应的字符

//对于 float 和 , 不能与 and fl=2 一起使用.;//或 2. dl=265.;long dl2=2.;//%g 没有 e 格式,默认 6 位包括小数点前的数字 , //%f没有e格式,默认6位只包含小数点后6位 //%e采用e格式,默认6位为转换后的小数点后6位("%f,%e,%g,% .7f/n",fl,dl,dl,dl);("%f,%E,%G,%f/n",fl,dl,dl, dl);//%F为("%.8f,%.10e/n",fl,dl);("%.8e,%.10f/n/n/n",fl,dl);// for point int *iP=&i;char *iP1= new char;void *iP2;//!(“%p,%p,%p/n/n/n”,iP,iP1,iP2);

//其他知识:负号表示左对齐(默认是右对齐); %6.3, 6表示宽度,3表示精度 char *s=”Hello world!”;(“:%s: /n:s: / n:%.10s: /n:%-10s: /n:%. 15s: /n:%-15s: /n:.10s: /n:%-15.10s:/n/n/n”,s ,s,s,s,s,s,s,s); ddd=563.;(“:%g: /n:g: /n:%.10g: /n:%-10g: /n:% .15g: /n:%-15g: /n:.10g: /n:%-15.10g:/n/n/n”,ddd,ddd,ddd,ddd,ddd,ddd,ddd,ddd);//还有一种特殊格式%*.*,取值​​这两个星号分别由第二个和第三个参数的值指定 ("%.*s /n", 8, "");(" %*.*f /n”, 3,3 , 1.);

0;}