fork download
  1. #include <stdio.h>
  2. //int main()
  3. //{
  4. // int a=10;
  5. // int b=20;
  6. // printf("%d\n",a+b);
  7. // printf("%d\n",a*b);
  8. // printf("%d\n",a/b);//最近一次将一切都该回原始int b=20以及%d后面报出的是0,是因为int是整型10/20为0.5因此它只取前面的0
  9. //前一次运算的时候“int b=20”而不是20.0。改成20.0还是不行。无论我d改为f,还是改回来都不行以及a=10.0我也试过了不行
  10. //int b改为float b也不行,其他都不改变将b改为b.0会报错
  11. // printf("%d\n",b/a);
  12. // printf("%d\n",4+234);
  13. // printf("%d\n",678-345);
  14. // printf("%d\n",34/17);
  15. // printf("%.8f\n",10/3.0);
  16. //这里前一次在%后面输的是“8”而不是".8"导致最后输出的数为3.333333是小数点后6位而不是我设定的后8位。
  17. // return 0;
  18.  
  19. //}
  20.  
  21. //求模运算符% /得商 %得余(仅用于整数间)
  22. //int main()
  23. //{
  24. // printf("%d\n",123%10);// 123/10=12.3 最后输出3
  25. // printf("%d\n",123%100);// 123/100=1.23 最后输出23
  26. // printf("%d\n",1234%100);// 1234//100=12.34 最后输出34
  27. // return 0;
  28. //}
  29.  
  30. //负数求余:结果的正负号由第一个操作符决定
  31. //int main()
  32. //{
  33. // printf("%d\n",11%-5);//输出1
  34. // printf("%d\n",-11%5);//输出-1
  35. // printf("%d\n",11%5);//输出1
  36. // printf("%d\n",-11%-5);//输出-1
  37. // return 0;
  38. //}
  39.  
  40. //赋值操作符
  41. //number 1.复合操作符
  42. //int main()
  43. //{
  44. // int a=10;//(这叫初始化不叫赋值)
  45. // printf("%d\n",a=20);//这叫赋值 最后输出20
  46. // printf("%d\n",a=4+5);//这是将右边的值赋给左边 最后输出9
  47. // return 0;
  48. //}
  49.  
  50. //复合连赋的第二种情况
  51.  
  52.  
  53. //int main()
  54. //{
  55. // int a=10;
  56. // a=a+3;//或者写a+=3(这里表示一个意思:a自增三)
  57. // printf("%d\n",a);//结果为13
  58. // return 0;
  59. //}
  60. //第二种
  61. //int main()
  62. //{
  63. // int a=30;
  64. // a+=23;//(a原本的值为30,自增23后输出53)
  65. // printf("%d\n",a);
  66. // return 0;
  67. //}
  68. //第三种
  69. //int main()
  70. //{
  71. // int a=10;
  72. // a = a%3;
  73. // printf("%.3f",a);//因为前面的a是int类型的,而这里的用了float类型,所以输出的是0.000。可以用一下强行转型的方法
  74. // return 0;
  75. //}
  76. //{
  77. // int a=10;
  78. // a = a%3;
  79. // printf("%.3f\n",(double)a);//因为10/3的余数为1,所以输出1(%输出余数)接下来用/试试
  80. // return 0;
  81. //}
  82. //{
  83. // int a=10;
  84. // a =a/3;
  85. // printf("%d\n",a);//输出整数3
  86. // return 0;
  87. //}
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95. //number 2.连续赋值
  96. //int main()
  97. //{
  98. // int a=3;
  99. // int b=5;
  100. // int c=0;
  101. // printf("%d\n",c=b=a+3);//这里是向右赋值,即:a+3=6,那么b=6,然后c=b,即c=6
  102. // return 0;
  103. //}
  104. //第二种写法,会比第一种更方便看,但不为连赋
  105. //int main()
  106. //{
  107. // int a=3;
  108. // int b=5;
  109. // int c=0;
  110. // printf("%d\n",b=a+3);
  111. // printf("%d\n",c=b);//此次及上面65行均不为连赋
  112. // return 0;
  113. //}
  114.  
  115. //sizeof操作符
  116. int main()
  117. {
  118. printf("%zu\n",sizeof(char));
  119. printf("%zu\n",sizeof(_Bool));
  120. printf("%zu\n",sizeof(float));
  121. printf("%zu\n",sizeof(int));
  122. printf("%zu\n",sizeof(long));
  123. printf("%zu\n",sizeof(long long));
  124. printf("%zu\n",sizeof(double));
  125. printf("%zu\n",sizeof(long double));
  126. return 0;
  127. }
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
Success #stdin #stdout 0.01s 5312KB
stdin
Standard input is empty
stdout
1
1
4
4
8
8
8
16