第一次实验
/*A simple C program*/ #include <stdio.h> int main(){ printf("202023332333\n"); printf("2020,I am crazy,what about you?\n"); return 0; }
一个很基础的程序。包含了最基本的程序结构。
/*循环打字符*/ #include <stdio.h> int main (){ while(1) printf("0 1"); return 0; }
/*循环打字符*/ #include <stdio.h> int main (){ while(1) printf("you are so beautiful"); return 0; }
把while 后面括号里的1换成0之后,无法显示循环打字符。逻辑上,我认为因为是return 0 结束,所以当while 0 的时候,无法运行。所以我又将return 0 改为return 1,再次运行,也无法出现循环。当我把while后括号里的数字改为任意一大于0的数字时,无论时2/3/4/5,都可以循环出现打字符,所以我的猜想是,可能在while循环语句中,括号里的内容必须不为0才能循环。
/*用C语言实现一个简单的算术运算程序*/ #include <stdio.h> int main(){ int x,y; int r1,r2,r3,r4; x=1; y=2; r1=x+y; r2=x-y; r3=x*y; r4=x/y; printf("r1=%d\n",r1); printf("r2=&d\n",r2); printf("r3=&d\n",r3); printf("r4=%d\n",r4); return 0; }
计算结果有所不符合,即r2,r3的计算值,数据类型导致了不同的计算结果。当把整型int 换为浮点型float时,
/*用C语言实现一个简单的算术运算程序*/ #include <stdio.h> int main(){ float x,y; float r1,r2,r3,r4; x=1; y=2; r1=x+y; r2=x-y; r3=x*y; r4=x/y; printf("r1=%f\n",r1); printf("r2=&f\n",r2); printf("r3=&f\n",r3); printf("r4=%f\n",r4); return 0; }
//测试你是哪一类学习者 #include <stdio.h> int main (){ int answer; char words[5000]; printf("在家上学让一些人欢喜一些人忧.\n"); printf("1.作为一个宅,社恐,觉得这样很好。有网络,自主学习,很OK.\n"); printf("2.不喜,不喜,很不喜。眼睛快瞎了,脑壳有点卡...\n"); printf("3.中间派,不知道,说不清。\n"); printf("4.其它...\n"); printf("你的选择:"); scanf("%d",&answer) ; if(answer==4){ printf("请补充说明你的想法:\n"); getchar(); gets(words); } printf("\n"); printf("当遇到问题时,你会选择:\n"); printf("1.遇到问题,就解决问题。不懂的,搜索式学习,逐个攻破.\n"); printf("2.遇到问题,不高兴。然后,。。。。,没有了.\n"); printf("3.其它。。。\n"); printf("你的选择;"); scanf("%d",&answer); if(answer==1) printf(":)\n"); else if(answer==2) printf("这样不能解决问题啊。。。我们选择1好不好:)\n"); else if(answer==3){ printf("请补充说明你的想法:\n"); getchar(); gets(words); } return 0; }
实验总结:C语言的规则极其精确,我在写程序,修改程序的过程中也出现了一些容易忽略的语法错误,如把gets(words)习惯性的改成get(words)
很多细节,以及规则都很有逻辑性,但由于刚刚接触,没有深入的学习,很多其中的逻辑也许我还只能通过一些单词,或者也许看懂了的符号大概理解,比如while,很多东西还值得细细推敲
一个细节就可能导致结果的完全不同。一次次修改,试错的过程也需要耐心。比如赋予变量的数据类型不同,写出的计算程序所计算出的结果也不同,思考这其中的原理,去尝试的过程超级有趣,看到自己打出一大堆错误,然后去一个个修改i的过程也很有成就感哈哈哈哈。虽然是最初步的学习,但已经感受到了前方的一个个大坑。:)