printf补充

来源:互联网 发布:java程序调用存储过程 编辑:程序博客网 时间:2024/05/20 07:16
// printf补充.cpp : Defines the entry point for the console application.
//


#include "stdafx.h"
#include <stdio.h>


int main0(int argc, char* argv[])
{
{


unsigned short int  unum=65535;
//unsigned short int  unum=65535+1; //越界 无符号越界为0
short int num=123;
printf("%hu,%hd\n",unum,num);
//16位的存储就是short int的范围
//%hd以有符号短整数进行输出 相反%hu无符号短整数输出


}//块语句




{
unsigned  int  unum=65535+1; 
int num=123;
printf("%d,%u\n",unum,num);

}


{
unsigned  long  unum=65535+1;
long num=123;
printf("%ld,%lu\n",unum,num);
//32位以上的系统 %d==%ld %u==%lu
}
{
/*
unsigned long long unum=13616125429;
long long num=13616125429;
printf("%llu,%lld\n",unum,num);
//long long 类型在内存中占8个字节 保存手机和QQ号也是可以的
*/
}
return 0;
}


void main1()
{
//int a=0129; 八进制
int a=0127;
printf("%o,%#o\n",a,a);//#号输出八进制的标识






int b=0x1234;
printf("%x,%#x\n",b,b);//#号也可以输出十六进制的标识


}




void main2()
{
float fl=10.8;
double db=10.9;


printf("%a\n",fl);//十六进制输出浮点指数
printf("%a\n",db);
}
void main3()
{
printf("%D\n",10);//%d不能大写
printf("%O\n",010);//%o不能大写
printf("%U\n",10);//%u不能大写
printf("%#X\n",0x123); //%x可以大写

printf("%E\n",10000000000.0);//%e可以大写
printf("%E\n",10000000000);//%e可以大写 要精确匹配





//有字母输出的是可以大写
}
void main4()
{
printf("\"123\"\n"); //输出字符串双引号 要加上\就可以输出双引号
printf("\'123\'\n");//输出单引号也是同理
printf("50%%\n"); //2个%号就能输出一个
printf("50%%%%\n");//4个同理输出2个%号
}




void main5()
{
printf("%d,%d\n",1,2,3); //printf 一定要匹配输出
printf("%d,%d,%d,%d,%d\n",1,2,3);
}




void main6()
{
double db=1.123456789123456789;
for (int i=0;i<17;i++)
{
printf("%*.*f\n",i*2,i,db); //*号可以让小数点变动的输出


}
}


void main()
{
char str[100]={"abcdefghijklmnwpqrstuvyz"};
for (int i=1;i<25;i++)
{
printf("%.*s\n",i,str);
}
}
0 0