"C语言学习笔记:GNU编译器命令、数据类型选择和变量初始化"

需积分: 1 4 下载量 87 浏览量 更新于2024-01-11 收藏 196KB DOC 举报
在学习C语言的过程中,《C - Primer》成为了我最主要的参考资料。通过阅读这本书,我对C语言的基本语法和程序结构有了更深入的理解,并且在实际的学习过程中积累了一些心得和经验。 首先,我学到了调用GNU编译器的默认命令是"g filename.cc -o executename"。这个命令可以将C++源代码文件编译成可执行文件。通过学习这个命令,我可以方便地将自己编写的C++程序进行编译和运行。 其次,对于实际运行的程序而言,float类型有时候会不够用。因为float类型只能保证有6位有效数字,而double类型至少可以保证10位有效数字。所以,在需要更高精度的计算时,我们应该选择使用double类型。 另外,我还学到了多行字面值的使用方法。在一行的末尾加一个反斜线符号可以将该行和下一行当作同一行处理。这个特性在编写长字符串或者大段文字的时候非常有用,能够使代码更加美观和易读。 此外,C语言是一门静态类型语言,在编译时会进行类型检查。这意味着在程序编译的过程中,编译器会检查每个变量和表达式的类型是否匹配。这种类型检查可以帮助我们发现潜在的类型错误,提高程序的健壮性。 在C语言中,变量的初始化方式有两种:复制初始化和直接初始化。复制初始化使用"="符号,直接初始化则是将初始化式放在括号中。对于基本类型的变量而言,这两种初始化方式没有太大差别。但是对于类类型的对象,有些初始化只能使用直接初始化方式,而不能使用复制初始化方式。 此外,一个类可以定义多个构造函数,构造函数能够接受多个参数。通过合理设计构造函数,我们可以方便地创建对象,并且可以在创建对象的同时完成一些初始化操作。 最后,我学到了当定义的变量没有初始化时,系统会帮助我们进行初始化。这个初始化过程取决于变量的类型和变量的定义位置。这一特性可以确保变量在使用之前具有合理的初始值,避免了未定义行为的发生。 总之,通过阅读《C - Primer》这本书,我对C语言有了更深入的理解并且学到了许多实用的知识和技巧。这些知识和技巧对于我进一步提升自己的编程能力和开发效率非常有帮助。我相信在今后的学习和工作中,这些知识和经验将会发挥重要的作用。