C 语言上机总结报告[材料]_c语言上机报告总结

其他工作总结 时间:2020-02-27 09:59:27 收藏本文下载本文
【www.daodoc.com - 其他工作总结】

C 语言上机总结报告[材料]由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言上机报告总结”。

C语言

上机实验报告

经过了九周的上机练习,我们算是完成了阶段性的胜利,从书本上枯燥的知识,通过上机练习把他们学以致用,融会贯通;不得不说,上机对于大一不允许带电脑,算得上是对c语言巩固和提高的重要途径了,很多我们不懂得问题,通过敲一下代码就知道可不可以这样了。还有很多格式,看不懂的代码,也都能解决。另外,重要的是通过上机我也拾得了编程的乐趣,链接好的程序就像是我的Baby,一节课生好几个。这是一种莫大的成就感。原来我还可以这样。如果仅是书本上的知识,我很难保证能坚持看下去,因为要把抽象的东西阐述出来,很多时候都是很枯燥的。所以上机便是这样一个辅助的途径。下面是我这九周所积累的一些问题和经验。

1.首先就是书写的问题。到现在我还时不时忘了加分号。这么一个细微的问题有时候会报很多错。其中易犯的便是scanf中&的使用,以及&&逻辑运算符和位运算符不分,==错写=,自定义函数,声明时不加分号,do,while语句while后忘加分号,以及数组不从a[0]开始写,for循环中控制条件用

2.printf里格式的问题,想要在数前补0整数可以靠.num而浮点数需要前加0,对于输出无符号16进制数%x,八进制数%o和十进制%u,总是记不住,还有一个比较特别的是可以用*占位,然后在后面的参数中说明精度和宽度,用#让浮点数始终有小数,字符串的5.4s只显示4位。另一个我发现无关紧要的是printf中lf和f没什么区别,scanf却不一样。

3.scanf的另一个问题是当出现空格是,读取的字符串就不完整了,在百度后,我找到了更好的gets函数,便可以读取空格,还有scanf的一一对应特性,不过空格不算。

4.++i和i++的使用问题。很多时候并不在意这些,便会导致数据的溢出,和结果总是偏差1,所以在使用时先得想好用哪个,如int k;

while(k--)

;printf(“%d”,k)结果是-1,因为在while判断过程中还要减1。

5.Define 一个表达式时不爱每一层都加括号。导致运算时优先级使运算和目的不符。我记不下那么多的运算符的优先级,所以我解决的方法便是每个运算都加上括号。

6.总是按照自己的思维做事,像是想把一个数组复制给另一个数组就直接用=赋值了,事实证明并不可行,而是需要用for循环一个一个赋值,而字符串则用strcpy,但结构体却可以直接赋值。

7.条件语句if,while,for等加括号和在哪加括号的的问题,常常因为内容少所以不加括号经常导致错误,尤其在嵌套语句和连续多个条件语句时,总是会出错,所以以后我学会了每句话都加上大括号。并且尽量使格式工整。

8.忘记添加头文件。或者忘了头文件的名字,像是stdlib,malloc…… 这样函数就变得没有了意义。这个得靠记忆和多练。

9.函数要求的实参的格式忘记了,这时候总是会报格式不符,比如malloc.calloc.recalloc,对参数的要求的区别,qsort函数里,compare函数指针参数,compare的实际参数需要强制转换。

10.Switch用法,switch只能用于char和int,且不用break就会一直执行下去,我就会忘掉这个,还有给a加引号

11.数组的声明问题,数组是c语言里比较让人头大的问题了。其中,让我不能理解的便是为什么二维数组不能a[][]={},a[][N]={}而必须至少a[N][]={},这就让我栽过跟头,还有字符数组为什么加’’就变成字符串了,当然这都是要求,在声明时需要谨慎再谨慎。

12.指针的运用中,在参数调用和返回也时常出现格式不符,值传递改变不了实参,址传递有时候也改变不了比如返回局部变量的地址,这时就需要static静态变量延长存储时间,而extern在函数中仅是对之前的变量的声明,并不能在其中定义一个外部变量,static也只能定义一次,这类问题时常困扰着我,以为经常不知道错在哪里。另外还有一种方法也能改变指针的地址而改变实参指针的指向,那便是通过双重指针,**p 13.对于指针运用中另外很让人困惑的是二级指针的指向问题,而他们常常又和二维数组结合,例如a,&a[0],a[0],&a[0][0],a[0][0],他们乍一看都分别不出来,需要仔细的考虑,实际上a=&a[0],&*(a[0]+0)=a[0]=&a[0][0],实际上他们都是逐级递增的,例如对*(a[0]+i)就是对确定一行的列的选择,*(a+i)则是对行数的选择,常常用指针指向这一行,然后进行操作,然而经常&a,&a[0]和&a[0][0]却是相同的地址,但他们的跨度却不一样,这样常常在实验的过程中就是对数组格式的写错导致根本不知道哪出的错,也无从修改。所以还是得多理解透彻他们的含义,否则只会在写代码时犯懵。

14.指针运用的另一个问题就是,指针并不具有空间,需要进行空间的开辟,这类问题也常常出现在想要声明一个未知大小的数组,这时候就需要用malloc来开辟了,而malloc还不能放置在main函数体外,经常在scanf后放置。

15.在上机过程中我曾不理解为什么char*p=”ashjkhasljk”可以成功,而已定义的数组a,就不能a=“adfadsad”;char*p,p=”dasaf”可以,但是用scanf输入”dasaf”就不对,查阅资料我才得知,“”表达式的值就是一个地址,p=””,开辟了空间。而scanf直接把址给指针,并没有申请空间。其次程序把字符串放到了常量区,所以不容修改其值,这里的p[0]也不得修改,p开辟了一段常量空间把字符串放进去,其值也不得修改,但可以改变P的指向,所以相当于const char*p 16.关于函数,要记住函数不能嵌套定义,但可以调用。这也是我犯过的错误。

17.结构体的声明和联合还有枚举的声明经常搞混,查书才知道有两种方法来声明结构类型名,一种结构标记,一种typedef,第一种直接可以在其后写变量,另一种需要再换行再声明。还有其后}要加分号会忘,主要是还是对结构名和变量搞不清楚,比如struct student new在实验中出现引用其中的元素不知道是是应该student.new.还是new.除此,不明白Union为什么经常没有标记,直接就是变量。最后便是结构数组的初始化总是掌握的不好,可能因为用的少。

由于没有保留上机报告的原稿,所以以上是我暂时能回忆起来我所遇到的问题和我的想法。

经历了9次的实验我的收获当然不仅仅是这些问题,重要的是编程的思维,不是一上来就立马开始打代码,而是构建一个清晰的流程图就如《上机实验报告》所写,然后逐步实现,有时候有多个函数时需要先写一个大的框架,然后再完善。

另外,还有程序的调试,如果都写在函数里,则,注释部分函数然后进行调试。或者单步调试部分代码,观察值的变化。

总之收获很大就对了!

C语言上机练习题

上机练习题1.输入一个不超过五位的正整数,输出其逆数。例如输入12345,输出应为54321。/* Note:Your choice is C IDE */ #include "stdio.h" main() { long n; int ww,qw,......

c语言上机实验报告

C语言上机实验报告2160500146 计算机66马俊松在本学期,共进行了大约五次上机,完成了数十道编程题,现将在完成作业过程中所遇到的问题以及解决过程进行如下几点总结,并提出几点建......

园林《计算机辅助设计》上机总结报告

班级:__________姓名______________学号__________________《计算机辅助设计》上机总结报告一、课程名称:计算机辅助设计二、上机主要内容:1.AutoCAD的启动和退出、保存图形(存盘......

门刚上机总结报告

门刚上机总结报告一、建模过程1 门式刚架二维设计1.1 网格生成在网格生成中进行快速建模,并将建模的跨度、柱高、左右坡度等建模信息填写完善,从而可画出基本定位轴线。1.2柱......

c语言上机实习填空题

班级:学号:姓名:填空题第一题题目要求(11)下列给定程序中,函数fun的功能是:将形参中,各位偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。例如,输入一个整......

下载C 语言上机总结报告[材料]word格式文档
下载C 语言上机总结报告[材料].doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文