1 print("short极大值%d","short极小值",SHRT_MAX,SHRT_MIN);//32767,-32767
2 print("unsigned short极大值%d","unsigned short极小值",USHRT_MAX,0);//65535,0
3
4 unsigned short num1=65535+2;
5 printf("%d",sizeof(num));//2个字节
6 print("%d",num1);//num1=1,溢出
7
8 short num2=32767+1;
9 printf("%d",);//num2=-32768,出错
1).32位平台,%d能表示的范围就是int的范围,根据平台的不同,int的表示范围也不同,32位是4byte.
1 printf("%d,%d", INT_MAX, INT_MIN);//2147483647,-2147483648
2 //前两个数越界,后一个正常
3 printf("\n%d,%d,%u", INT_MAX + 1, INT_MIN - 1, INT_MAX + 1);//-2147483648,2147483647,2147483648
4 //UINT_MAX超过了%d所表示的范围
5 printf("\n%d,%d", UINT_MAX, 0);//-1,0
6 //正常情况
7 printf("\n%u,%d", UINT_MAX, 0);//4294967295,0
8 //UINT_MAX超过了%u所表示的范围
9 printf("\n%u,%d", UINT_MAX + 1, 0);//0,0
1 printf("%d",sizeof(1.0));//8
2 printf("%d", sizeof(1.0f));//4
3 printf("%d", sizeof(1u));//4(无符号整形)
1 #define _CRT_SECURE_NO_WARNINGS
2 #include<stdio.h>
3 #include<math.h>
4 void main()
5 {
6 float a, b, c,s,p;
7 scanf("%f%f%f",&a,&b,&c);
8 p= (a + b + c) / 2;
9 s = sqrt(p*(p-a)*(p-b)*(p-c));
10 printf("%f,%f", p, s);
11 system("pause");//不用getchar()是因为回车也被当成一个字符
12 }
1 printf("%d,%u",-1,-1);//-1,4294967295
2 printf("%x",-10);//fffffff6,无符号十六进制
3 printf("%o",-10);//37777777766,无符号八进制
1 int num = rand();
2 printf("%d\n", num);
每次产生的随机数都是相同的(41).
1 for (size_t i = 0; i < 10; i++)
2 {
3 int num = rand();
4 printf("%d\n", num);
5 }
1).void srand(unsigned seed)参数seed是rand()的种子,用来初始化rand()的起始值。系统在调用rand()之前都会自动调用srand(),如果用户在rand()之前曾调用过srand()给参数seed指定了一个值,那么 rand()就会将seed的值作为产生伪随机数的初始值;而如果用户在rand()前没有调用过srand(),那么系统默认将1作为伪随机数的初始 值。如果给了一个定值,那么每次rand()产生的随机数序列都是一样的。
示例:
1 time_t time1;//定义时间类型的变量
2 srand((unsigned int)time(&time1));//随机数发生器,根据时间,time(&time1)函数获取时间赋值给time1
3 int num=rand();
4 printf("%d",num);