c语言使用函数的心得 c语言函数应用( 六 )


最后,谈谈我们组的程序软件 。商店商品管理系统,是一个比较利于应用,解决实际问题,方便实际管理的程序 。设计代码比较复杂,结构比较严谨 。在程序编写的1周左右的时间里,组员们遇到了上述的困难,包括程序设计构思,甚至是指针等某些知识点的欠缺,导致的工作中出现的困难 。但是,当大家一起团结协作,解决了这些困难之后,发现自己也可以编写复杂的、应用性的程序了 , 更发现自己对C语言这门学科的兴趣也提高了 。
当然 , 我们编写的商店商品管理系统,还存在很多疏漏和不合理之处 。比如,程序复杂冗长 , 如果时间充裕,我们将在不改变程序运行结果的基础上 , 简化程序,使每一句更加精辟,总体上更加简化 。另外,在程序的外观上,我们由于时间问题,没有做更多的修饰 , 运行起来显得比较死板、枯燥乏味 。如果增添一些色彩和其他效果,我们的程序也许会更加完美 。

C语言程序设计中为什么要用函数? 写了函数有什么好处?有没有什么亲身感受能体会到函数的好、函数的美函数的作用主要是为了重复调用,当一段代码在多处使用时,就要考虑写函数了 。
还有一个方面,用了函数,代码看起来会很简洁 。
C语言编程技巧 关于const和#define的区别心得#define ASPECT_RATIO 1.653

译器会永远也看不到ASPECT_RATIO这个符号名,因为在源码进入编译器之前,它会被预处理程序去掉 , 于是ASPECT_RATIO不会加入到符号
列表中 。如果涉及到这个常量的代码在编译时报错 , 就会很令人费解,因为报错信息指的是1.653,而不是ASPECT_RATIO 。如果
ASPECT_RATIO不是在你自己写的头文件中定义的,你就会奇怪1.653是从哪里来的 , 甚至会花时间跟踪下去 。这个问题也会出现在符号调试器中,
因为同样地,你所写的符号名不会出现在符号列表中 。
解决这个问题的方案很简单:不用预处理宏 , 定义一个常量:
const double ASPECT_RATIO = 1.653;
这种方法很有效 。但有两个特殊情况要注意 。
首先,定义指针常量时会有点不同 。因为常量定义一般是放在头文件中(许多源文件会包含它),除了指针所指的类型要定义成const外,重要的是指针也经常要定义成const 。例如,要在头文件中定义一个基于char*的字符串常量,你要写两次const:
const char * const authorName = "Scott Meyers";
关于const的含义和用法,特别是和指针相关联的问题,参见条款21 。
另外,定义某个类(class)的常量一般也很方便,只有一点点不同 。要把常量限制在类中,首先要使它成为类的成员;为了保证常量最多只有一份拷贝,还要把它定义为静态成员:
class GamePlayer {
private:
static const int NUM_TURNS = 5; // constant eclaration
int scores[NUM_TURNS]; // use of constant
...
};
还有一点,正如你看到的,上面的语句是NUM_TURNS的声明,而不是定义,所以你还必须在类的实现代码文件中定义类的静态成员:
const int GamePlayer::NUM_TURNS; // mandatory definition;
// goes in class impl.file
你不必过于担心这种小事 。如果你忘了定义,链接器会提醒你 。
(本文来源于图老师网站,更多请访问)
旧一点的编译器会不接受这种语法,因为它认为类的静态成员在声明时定义初始值是非法的;而且,类内只允许初始化整数类型(如:int, bool, char 等),还只能是常量 。
在上面的语法不能使用的情况下,可以在定义时赋初值:

推荐阅读