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. //int main()
  52. //{
  53. // int a=10;
  54. // a=a+3;//或者写a+=3(这里表示一个意思:a自增三)
  55. // printf("%d\n",a);//结果为13
  56. // return 0;
  57. //}
  58. //第二种
  59. //int main()
  60. //{
  61. // int a=30;
  62. // a+=23;//(a原本的值为30,自增23后输出53)
  63. // printf("%d\n",a);
  64. // return 0;
  65. //}
  66. //第三种
  67. //int main()
  68. //{
  69. // int a=10;
  70. // a = a%3;
  71. // printf("%.3f",a);//因为前面的a是int类型的,而这里的用了float类型,所以输出的是0.000。可以用一下强行转型的方法
  72. // return 0;
  73. //}
  74. //{
  75. // int a=10;
  76. // a = a%3;
  77. // printf("%.3f\n",(double)a);//因为10/3的余数为1,所以输出1(%输出余数)接下来用/试试
  78. // return 0;
  79. //}
  80.  
  81. // #include <stdio.h>
  82. // int main()
  83. // {
  84. // int a=10;
  85. // a%=3;
  86. // printf("%d\n",a);//结果余一,因为%仅输出整数相除的余数
  87. // return 0;
  88. // }
  89.  
  90. //强制转型符
  91. // int main()
  92. // {
  93. // int a=(int)3.14;
  94. // printf("%d\n",a);
  95. // return 0;
  96. // }
  97.  
  98.  
  99.  
  100. //{
  101. // int a=10;
  102. // a =a/3;
  103. // printf("%d\n",a);//输出整数3
  104. // return 0;
  105. //}
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113. //number 2.连续赋值
  114. //int main()
  115. //{
  116. // int a=3;
  117. // int b=5;
  118. // int c=0;
  119. // printf("%d\n",c=b=a+3);//这里是向右赋值,即:a+3=6,那么b=6,然后c=b,即c=6
  120. // return 0;
  121. //}
  122. //第二种写法,会比第一种更方便看,但不为连赋
  123. //int main()
  124. //{
  125. // int a=3;
  126. // int b=5;
  127. // int c=0;
  128. // printf("%d\n",b=a+3);
  129. // printf("%d\n",c=b);//此次及上面65行均不为连赋
  130. // return 0;
  131. //}
  132.  
  133. //sizeof操作符
  134. // int main()
  135. // {
  136. // printf("%zu\n",sizeof(char));//输出1
  137. // printf("%zu\n",sizeof(_Bool));//输出1
  138. // printf("%zu\n",sizeof(float));//输出4
  139. // printf("%zu\n",sizeof(short));//输出2
  140. // printf("%zu\n",sizeof(int));//输出4
  141. // printf("%zu\n",sizeof(long));//输出8
  142. // printf("%zu\n",sizeof(long long));//输出8
  143. // printf("%zu\n",sizeof(double));//输出8
  144. // printf("%zu\n",sizeof(long double));//输出16
  145. // return 0;
  146. // }
  147.  
  148. //全局编译e.g int num1
  149. //局部编译e.g int num2
  150. // #include <stdio.h>
  151. // int num1 =20;
  152. // int main()
  153. // {
  154. // int num2 =10;
  155. // printf("%d\n",num1);
  156. // printf("%d\n",num2);
  157. // return 0;
  158. // }
  159.  
  160. //printf占位符
  161. // #include <stdio.h>//头文件
  162. // int main()
  163. // { char Zhangsan[] = "Zhangsan.";
  164. // printf("there are %d apples.\n",3);
  165. // printf("Zhangsan will come back tonight.\n");
  166. // printf("%s will come back tonight.\n",Zhangsan);//这里之前报错过,因为没带有声明“char Zhangsan[] = "Zhangsan";”
  167. // printf("Zhangsan said:It's 9 o'clock now.\n");
  168. // printf("%s said:It's %d o'clock now.",Zhangsan,9);
  169. // return 0;
  170. // }
  171.  
  172. //赋值忽略符
  173. //正常时用户输入的格式必须符合格式,如下
  174. // int main()
  175. // {
  176. // int a=0;
  177. // int b=0;
  178. // scanf("%d%d",&a,&b);
  179. // printf("a =%d\nb =%d\n",a,b);//此时输入10 20格式的内容时,系统会输出a=10
  180. // //b=20
  181. // //但是当我输入10,20时系统识别不到b,而输出b=0
  182. // //是因为格式不正确
  183. // return 0;
  184. // }
  185.  
  186. //第二种格式
  187. // int main()
  188. // {
  189. // int a=0;
  190. // int b=0;
  191. // scanf("%d,%d",&a,&b);
  192. // printf("a=%d\nb=%d\n",a,b);//此时必须输入“10,20”的格式才可以输出a=10和b=20
  193. // return 0;
  194. // }
  195. //第三种
  196. // #include <stdio.h>
  197. // int main()
  198. // {
  199. // int year=0;
  200. // int month=0;
  201. // int day=0;
  202. // scanf("%d-%d-%d",&year,&month,&day);//这里只能用1999-02-11的格式,像1999/02/11这种的或者其他格式都不行
  203. // printf("%d %d %d\n",year,month,day);//输入正确格式后其会输出:1999 02 11
  204. // return 0;
  205. // }
  206. //如果想要输入任意格式都可执行,需要运用到赋值忽略符
  207.  
  208. // #include <stdio.h>
  209. // int main()
  210. // {
  211. // int year=0;
  212. // int month=0;
  213. // int day=0;
  214. // scanf("%d%*c%d%*c%d",&year,&month,&day);//这种格式的必须在1999和12和11之间输入分隔符e.g-和/
  215. // printf("%d %d %d",year,month,day);
  216. // return 0;
  217. // }
  218.  
  219. //不用分隔符时,也不能用赋值忽略符
  220. // int main()
  221. // {
  222. // int year=0;
  223. // int month=0;
  224. // int day=0;
  225. // scanf("%4d%2d%2d",&year,&month,&day);//这里的4,2,2是指要%d只读4个字符,2字符,2个字符
  226. // printf("%d %d %d",year,month,day);//这时直接输入19991211即可不用输分隔符
  227. // return 0;
  228. // }
  229. // int main()
  230. // { char Zhangsan[] = "Zhangsan";//字符数组用来存放名字,这里不能用int
  231. // printf("%s says,it's %d o'clock\n",Zhangsan,10);
  232. // return 0;
  233. // }
  234.  
  235. //输出格式
  236. // int main()
  237. // {
  238. // printf("%d\n",123);//输出为123
  239. // printf("%5d\n",123);//输出为 123,在一之前有两个空格,以及默认为右对齐
  240. // printf("%-5d\n",123);//输出为123 ,再三后有两个空格,以及加了负号后为左对齐
  241. // printf("%f\n",123.456);//这里输出123.456000因为%f默认输出小数点后6位
  242. // printf("%12f\n",123.456);//这里输出 123.456000加上小数点和前面的空格为12个字符,即右对齐
  243. // return 0;
  244. // }
  245.  
  246. //总显正号,正在默认情况下printf函数不显正号显负号,而在%后面加个+即可总显正号
  247. // int main()
  248. // {
  249. // printf("%d\n",12);//==12
  250. // printf("%+d\n",12);//==+12
  251. // printf("%d\n",-12);//==-12
  252. // printf("%+d\n",-12);//==-12,则由以上在使用printf函数的前提下可知在%后面加+可以使原本为正数的数字显正号
  253. // return 0; //而对原本为负号的数字无用
  254. // }
  255.  
  256. //限定小数位数:前面已经知道了%f默认小数的后六位,而在%后面加上“.数字“就可以限制其在小数点后面的位数
  257. // int main()
  258. // {
  259. // printf("%f\n",1.2374);//==1.237400
  260. // printf("%.3f\n",1.2374);//==1.237小数点后3位
  261. // printf("%.2f\n",1.2374);//==1.24小数点后2位,而且会四舍五入
  262. // //同时与前面的知识结合
  263. // printf("%10.3f\n",1.2374);//== 1.237,前面有5个空格,且10表示的是向右对齐并一共有10个字符,3是指小数点后三位
  264. // printf("%5.2f\n",1.2374);//== 1.24,前面有一个空格
  265. // return 0;
  266. // }
  267.  
  268.  
  269. //输出部分字符串:在%s的%后面加上“.数字”,如下,
  270. // int main()
  271. // {
  272. // printf("%s\n",abcdef);
  273. // printf("%.3f\n"abcdef);
  274. // return 0;
  275. // }
  276.  
  277.  
  278. // #include <stdio.h>
  279. // int main()
  280. // {
  281. // int a=0;
  282. // int b=0;
  283. // while(scanf("%d %d",&a,&b)==2);
  284. // {
  285. // int c=a+b;
  286. // printf("%d\n",c);
  287. // }
  288. // return 0;
  289. // }
  290. //scanf中的double必须用%lf,而printf中的double既可以用%f也可以用%lf
  291. //以及在scang中%【】可以指定一组匹配字符(e.g【0~9】),当其遇到不在范围内的字符时会停止
  292. // int main()
  293. // {
  294. // char str1[100];
  295. // scanf("%[a-z,A-Z]",str1);
  296. // printf("%s\n",str1);
  297. // return 0;
  298. // }
  299. //
  300. //多组输入
  301. // #include <stdio.h>
  302. // int main()
  303. // {
  304. // int a=0;
  305. // int b=0;
  306. // while(scanf("%d %d",&a,&b)==2)//可以同时输入12 34
  307. // //45 12234
  308. // //67 5690
  309. // //123456 153735
  310. // {
  311. // int c=a+b;
  312. // printf("%d\n",c);
  313. // }
  314. // return 0;
  315. // }
  316.  
  317. // #include <stdio.h>
  318. // int main()
  319. // {
  320. // int num=0;
  321. // char c=0;
  322. // scanf("%d",&num);
  323. // printf("%d\n",num);
  324. // scanf("%c",&c);
  325. // printf("%---c---\n",c);//在%c前加上一个空格可以防止123 abc时导致后面的abc读取不到
  326. // return 0;
  327. // }
  328.  
  329. // int main()
  330. // {
  331. // int num=0;
  332. // char c=0;
  333. // scanf("%d",&num);
  334. // printf("%d\n",num);//这时输入123 a就可以输出123
  335. // //a
  336. // scanf(" %c",&c);
  337. // printf("%c\n",c);
  338. // return 0;
  339. // }
  340.  
  341.  
  342. //输出年龄若>=18则输出成年,否则输出:未成年
  343. // #include <stdio.h>
  344. // int main()
  345. // {
  346. // int age=0;
  347. // scanf("%d",&age);
  348. // if(age >= 18)
  349. // printf("成年\n");//我成功了!!!!!!
  350. // else
  351. // printf("未成年\n");
  352. // return 0;
  353. // }
  354.  
  355. // int main()
  356. // {
  357. // int num = 0;
  358. // scanf("%d",&num);
  359. // if(num % 2 ==1)
  360. // printf("奇数\n");
  361. // else
  362. // printf("偶数\n");
  363. // return 0;
  364. // }
  365.  
  366. //嵌套的一种形式:在if后嵌套
  367. // #include <stdio.h>
  368. // int main()
  369. // {
  370. // int num =0;
  371. // scanf("%d",&num);
  372. // if(num>0) if(num%2==1)
  373. // printf("奇数\n");
  374. // else
  375. // printf("偶数\n");
  376. // else
  377. // printf("非正数\n");
  378. // return 0;
  379.  
  380. // }
  381.  
  382. //嵌套的另一种形式:在else后面嵌套
  383. // #include <stdio.h>
  384. // int main()
  385. // {
  386. // int num;
  387. // scanf("%d",&num);
  388. // if(num<0)
  389. // printf("非正数\n");
  390. // else if(num%2==1)
  391. // printf("奇数\n");
  392. // else
  393. // printf("偶数\n");
  394. // return 0;
  395. // }
  396.  
  397. //练习 大成功
  398. // #include <stdio.h>
  399. // int main()
  400. // {
  401. // int age=0;
  402. // scanf("%d",&age);
  403. // if(age<18)
  404. // printf("少年\n");
  405. // else if(age<=44)
  406. // printf("青年\n");
  407. // else if(age<=59)
  408. // printf("中年\n");
  409. // else if(age<=89)
  410. // printf("老年\n");
  411. // else if(age<=100)
  412. // printf("老寿星\n");
  413. // else
  414. // printf("老妖怪\n");
  415. // return 0;
  416. // }
  417.  
  418.  
  419.  
  420.  
Success #stdin #stdout 0s 5324KB
stdin
100000
stdout
老妖怪