您的位置:首页 > 编程语言 > C语言/C++

关于C语言项目的一点心得体会

2018-12-10 16:28 281 查看

关于C语言项目的一点心得体会

作为一个C语言初学者,最近做了好几个C语言项目,也对编程有了更深层次地理解,其中也遇到了很多问题,今天我会记录一下自己经常犯的错和在项目中遇到的问题。

输入缓冲区问题

这个问题是经常遇到的,在有连续的输入输出语句时就会出现这类问题。缓冲区的问题会影响程序的下一步输入或者输出。

原因是因为输入输出语句并不会立即执行,而是先把数据存在缓冲区,所以导致了很多问题。
例如:

int num = 0 ;
char ch = 'C';
scanf("%d",&num);
scanf("%c",&ch);

这个小程序实际当你获取到num时程序就结束了,因为你输入的’\n’被ch存储了。

解决办法:经常性地清理缓冲区,所以要熟悉一些输入缓冲区的清空指令。
方法1:getchar();
只能清除一个字符
方法2:scanf("%*[^\n]");scanf("%*c");
必须要确保有垃圾数据
方法3:stdin->_IO_read_ptr = stdin->_IO_read_end;
不同的平台使用方法不同,但不管有没有垃圾数据

项目框架

在写项目时,如果不先写好框架,后面的问题将会一个接一个,只有定好了框架,后面才好一个部分一个部分写。

项目函数变量要规划好

要想好要用到的函数,函数的参数,函数的返回值,函数调用时问题,而且最好函数之间要低耦合性。
要用的变量,是全局的还是局部,变量命名要符合规则并见名知意。

文件操作

现阶段对一些数据的导入可以用文件写入的方式。要注意的是文件打开后要记得关闭,对文件指针的操作要比较精确,不然会造成数据接受的过多或者数据接受地过少等等问题,文件打开方式也要注意:用"w"方式打开文件时如果文件已存在会清空之间文件的数据,在创建新的文件。

部分相似度较高的代码可以写入一个函数

比如在学生管理系统中,各个学科的排名算法高度相似,是可以写入一个函数中,又比如在五子棋项目中,各个方向键的移动也是高度相似。特别是对于代码量较高的时候,可以大大地缩减代码的量。

注释

各个函数的功能要注释好,每个变量的注释也要写好,这样不会忘记该变量的作用和函数的作用,当代码量太多时,可以提高代码的阅读性。

函数算法要具有普遍性

比如在学生成绩管理系统中,通过姓名查找学生这一功能,要充分考虑到重名的可能性,所以查询功能要写的具有普遍性才能算出所有可能的结果。并且返回不止一个结果时,要充分利用函数的参数,或者指针返回多个结果。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: