c语言.6s,C语言-第三节

(1)输出时表达式值的计算顺序是从右到左

#include

int main(){

int i=1;

printf("%d %d %d",i,i+1,i=3); 输出的结果是3,4,3,而不是1,2,3.

return 0;

}

(2)字符和字符串的输出

#include

int main(){

char ch='A';

printf(" 12346578901234567890");

printf("ch=%c------(ch=%%c)\n",ch);输出字符ch

printf("ch=L-----(ch=%L)\n",ch);利用L输出字符ch,占4位,右对齐,所以左面补三个空格。

printf("ch=%-4c----(ch=%%-4c)\n",ch);利用%-4c输出字符ch,占4位,左对齐,所以右面补三个空格。

printf("ch=c----(ch=%c)\n",ch);利用c输出字符ch,占4位,右对齐,因控制符中有0,所以左面补三个0。

printf("st=%s------(st=%%s)\n","CCNU");

printf("st=%6s-----(st=%%6s)\n","CCNU");利用s输出字符串“CCNU”,占6位,右对齐,所以左面补2个空格。

printf("st=.3s--(st=%.3s)\n","CCNU");

利用.3s输出字符串“CCNU”中前3个字符“CCN”,占6位,右对齐,因控制附中有0,所以左面补3个0。

return 0;

}

(3)实数的格式化输出

#include

int main(){

double f=2.5e5;

printf("12345678901234567890\n");

printf("f=f------(f=%f)\n",f);利用f使f的输出占15位,由于没有规定输出小数的位数,默认输出为6位小数,并且是右对齐,因此输出数据的左边要补上两个空格。

printf("f=5f-----(f=%5f)\n",f);和上一行一样,输出也是占15位,右对齐,但因有%0,所以输出数据的左边要补上两个0,而不是两个空格。

printf("f=%-15.0f---(f=%%-15.0f)\n",f);利用%-15.0f使f的输出占15位,但要左对齐,并且不输出小数部分。

printf("f=%#15.0f---(f=%%#15.0f)\n",f);同样要求不输出小数部分,但#要求输出小数点,右对齐。

printf("f=%+15.4f---(f=%%+15.4f)\n",f);格式控制符中有“+”,因此输出了加号。输出总共占15位,其中小数部分占4位,右对齐。

printf("f=.4E----(f=%.4E)\n",f);要求以指数形式输出,并且规定整个输出占15位,其中小数部分占4位。

return 0;

}

(4)无符号整数的格式化输出

#include

int main(){

int a=-1;

unsigned u=32767;

unsigned long L=32768;

printf("a=%d,a=%u-------(a=%%d,a=%%u)\n",a,a);

printf("a=%hx,a=%X------(a=%%hx,a=%%X)\n",a,a);

printf("u=%o",u=%X------(u=%%o,u=%%X),u,u);

printf("u=%#010X--------(u=%%#010X),u");

printf("u=%#10.10X------(u=%%#10.10X),u");

printf("L=%lX-----------(L=%%lX),L");

printf("L=%-#14.10X-----(L=%%-#14.10X)\n",L);

return 0;

}

(5)各种数据类型对应的格式转换符:

%d %i:以十进制形式输出一个整型数据 。 例如:int a=20;

printf("%d",a); :有符号整型

%x %X:以十六进制形式输出一个无符号整型数据。 例如:int a=164;

printf("%x",a);printf("%X",a); :无符号整型

%o(字母o):以八进制形式输出一个无符号整型数据。例如:int a=164;

printf("%o",a); :无符号整型

%u:以十进制形式输出一个无符号整型数据。 例如:int a=-1;

printf("%u",a); :无符号整型

%c:输出一个字符型数据。 例如:char

ch='A';printf("%c",ch); :字符型

%s:输出一个字符串。 例如:printf("my name is

%s","wangjinghua"); :字符串

%f:以十进制小数形式输出一个浮点型数据。 例如:float

f=-12.3;printf("%f",f); :浮点型

%e %E:以指数形式输出一个浮点型数据。 例如:float

f=1234.8998;printf("%e",f); :浮点型

%g %G:按照%f或者%e中输出宽度比较短的一种格式输出 :浮点型

%p:以主机的格式显示指针,即变量的地址。例如:int a=2;

printf("%p",&a); :指针类型

有符号整数的格式化输出

#include

int main(){

int a=123;

long L=65537;

printf("12345678901234567890\n");

printf("a=%d----------(a=%%d)\n",a);

printf("a=m---------(a=%m)\n",a);

printf("a=%+6d--------(a=%%+6d)\n",a);

printf("a=%-6d--------(a=%%-6d)\n",a);

printf("a=%-06d-------(a=%%-06d)\n",a);

printf("a=%+06d-------(a=%%+06d)\n",a);

printf("a=%6.6d-------(a=%%6.6d)\n",a);

printf("a=%+6.6d------(a=%%+6.6d)\n",a);

printf("a=%-6.5d------(a=%%-6.5d)\n",a);

printf("a=%6.4d-------(a=%%6.4d)\n",a);

printf("L=%ld---------(L=%%ld)\n",L);

printf("L=%hd---------(L=%%hd)\n",L);

}

(6)格式控制符个数与表达式个数

#include

int main(){

int a,b,c,d;

a=1,b=2,c=3,d=4;

(printf("a=%d\nb=%d\nc=%d\nd=%d\n",a,b,c);)格式控制符个数多于表达式个数

printf("a=%d\nb=%d\nc=%d",a,b,c,d);格式控制符个数少于表达式个数。

格式控制符个数多于表达式个数时,余下的格式控制符的值将不确定。如果格式控制符个数少于表达式个数,则不影响输出。

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值