实验1:C语言开发环境使用和数据类型、运算符、表达式
一、实验结论:
实验任务一:
(一)源代码:
#include<stdio.h> int main() { printf("我的学号是:202083450019\n"); printf("我想对2020说:这一年虽然过的并不容易,疫情的爆发让很多人失去了生命。但任何事情都有它存在的意义,谢谢你,2020\n"); return 0; }
(二)运行结果:
实验任务二:
(一)把line5中双引号里的0和1替换成其他内容:
(1)源代码:
#include<stdio.h> int main() { while(1) printf("每天都要快乐呀"); return 0; }
(2)运行结果:
(二)把line4中while后面圆括号里的1替换成0:
(1)运行结果:
(2)为什么会是这样的结果:
因为根据while的循环语句的特征,只有while()里面的值是1或者非0的值,循环体里的语句才会执行,0就是不执行。再加上我个人的一点点理解是,在计算机语言中,1表示开,0表示关,把1改为0时,循环就被关闭了,所以无法继续执行循环语句。
实验任务三:
(一)math1.cpp
(1)源代码:
#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; }
(2)运行结果:
(二)math2.cpp
(1)源代码:
#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; }
(2)运行结果:
实验任务四:
(一)必做部分:
(1)源代码
#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("你的选择:\n"); 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; }
(2)运行结果:
(二)选做部分:
(1)源代码:
#include<stdio.h> int main() { int answer; char words[5000]; printf("在自己心情极度低落时,你会选择做什么\n"); printf("1.自己一个人闷着,谁也不说,独自消化\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("4.其他。。。。\n"); printf("你的选择:\n"); scanf("%d",&answer); if (answer==1) printf("没有奋斗的人生真的有意义吗,要不要再考虑一下呢\n"); else if(answer==2) printf("这也许也是大部分人的现状,但是管它未来是好是坏,自己闯荡一番又如何?终归是自己活出的人生\n"); else if(answer==3) printf("朋友我很欣赏你,田园生活是非常令人向往的,希望你能始终在心里留着那么一块地方,不被世俗的喧嚣所打扰。\n"); else if(answer==4){ printf("请补充说明你的想法。\n"); getchar(); gets(words); } return 0; }
(2)运行结果:
二、实验总结
1.收获的具体知识点和思考:
通过本次实验,对C语言的一些语法结构有了更深刻的了解,稍微熟悉了一下语法结构,弄清楚了一些字符号所表示的具体意思(比如\n表示换行,),对float和int有了更好的理解,体验到了C语言的乐趣,特别是文字测试程序,会让我觉得非常有意思,有想要去深入学习C语言的欲望。
2.发现、体会和感受:
发现了C语言的魅力,会让我有继续去探索它的欲望和热情。具体的体会就是真的还是不熟悉C语言,很多细节方面的问题还是很容易忽略掉,例如改写源代码的时候就非常容易忘记加“;”,忘记要加\n表示换行,忘记切换英文伴角来输入一些符号,以及需要按照老师所发的代码逐个逐个的看着打到电脑上,非常不熟练,还是需要日复一日的训练和多一些实践啊。但我依然对继续学习它充满期待,因为我觉得到目前为止这是我觉得真正在实际生活中能够用到并且我自己也比较感兴趣的一门课,虽然一开始上课还是有蛮多东西不太能听的懂的。但是现在我对自己的期待就是,学习完这门课的最后,我能够自己设计一个非常简单的小游戏也好,能获得一些东西吧。至少至少,希望自己能看懂一些比较基础的代码。
3.存在的问题
(1)我觉得还存在一个很大的问题就是我还是有非常多的C语言的语法知识不明白。
(2)不能看懂大部分本次实验所设计到的代码。
(例如:getchar(),gets(words),%d等);
(3)一些具体的语法结构不清楚。
(例如“if (answer==1)”这串代码为什么是这样写的,为什么answer==1需要用括号括起来,为什么要用两个==号,而不是只用一个;“int answer”又是什么意思;scanf(“%d”,&answer)又是什么意思,为什么要这样表示)
(4)总结:
太多太多的语法知识不明白,导致自己看不懂代码,离开老师的文件就不知道接下来应该怎么写,也不知道这么写是代表什么意思,为什么要这么写,对于我这种编程小白来说,太多太多的疑惑堆在一起,有时候会感觉到有一些烦躁,希望能在接下来的学习中,一点一点地把每个疑惑的点弄清楚,攻克这道难关。
4.一点小小的建议:
可能是我个人0基础的原因,我会觉得老师的上课速度有一点点快,有时候一些解释的东西讲的有些快或者一句带过,就是我有时候可能会还没听清老师在讲些什么这个知识点就过去了,或者我还在思考上一个问题为什么是那样的时候下一个问题又开始了,所以我上课的状态经常是 “老师刚刚在讲什么,没听清;刚刚那个知识点为什么是那样;那个东西为什么是那样解释;这个问题为什么是这样解释老师说过了吗”,就是点跟不上老师上课的速度。所以我希望老师能在不影响课堂进度的情况下,把语速稍微放慢一点点,给一些消化吸收上一个知识点的时间。以上是一点学生不成熟的意见,希望没有冒犯到老师。谢谢!