vs怎么做网站,ppt模板制作免费,做购物网站费用,网站建设在电子商务中的作用C Primer第一章的内容相对来说比较基础#xff0c;主要是对C中程序编译的流程、C中的IO机制#xff0c;for和while循环的介绍、类的构成和注释方法及缩进方法做了简要的介绍#xff0c;本次博客主要从C中的IO机制和注释缩进等方面做一个总结记录#xff0c;如果在总结过程中… C Primer第一章的内容相对来说比较基础主要是对C中程序编译的流程、C中的IO机制for和while循环的介绍、类的构成和注释方法及缩进方法做了简要的介绍本次博客主要从C中的IO机制和注释缩进等方面做一个总结记录如果在总结过程中有需要补充或者错误的地方欢迎各位博主指正和交流。
1、C中的IO机制 和C语言中使用函数来实现输入输出不同C采用标准库文件iostream来实现IO机制(输入输出流机制随着时间推移字符顺序生成或消耗)其中库文件iostream又拆分成输入流istream(定义了输入流cin(运算符为)本质是istream的一个对象)和输出流ostream(定了标准输出流cout(运算符为),标准错误流cerr(警告和错误)和一般消息clog)。 在实际的编程过程中可以使用istream输入流对象作为判断条件其效果是检测流的状态是否有效。当遇到文件结束符(EOF,unix系统中采用ctrlD生成文件结束符Windows中采用的是ctrlZ)或者无效输入时(即定义的变量类型和输入的变量类型不一致)时istream流状态无效。
注意事项如果定义赋值的数据类型为char/string类型那么ctrlD会被认为是输入了一个字符因此输入流状态依然有效。如果定义赋值的数据类型为int,则ctrlD会被认为是无效输入程序终止。正确的做法是在对应的系统中使用相对应的文件结束符。 C在实现IO机制时采用缓冲区的工作原理通过缓冲区来保存数据从而实现读写操作。在数据读写的过程中读写缓冲区的动作与程序中的动作是无关的我们可以采用操纵符(如endl)来显示刷新输出缓冲中的数据到输出设备中。默认状态下读cin会刷新cout程序非正常终止时也会刷新cout。
***缓冲区小结(参考博客https://www.cnblogs.com/limera/p/buffer.html)
缓冲区分为全缓冲(填满缓存之后才能进行IO操作如磁盘文件的读写)行缓冲(遇到换行符执行IO操作如键盘输入数据)和不带缓存(如标准出错stderr,为了让错误尽快显示出来
缓存区的刷新缓存区满时执行flush和endl(等价于\nflush)等操纵符关闭文件。
2.注释及缩进 在软件开发的过程中需要对程序代码进行相应的注释。注释的作用是用来概述算法的功能确定变量的具体用途解释具体的代码段。注释对于编译器而言会被忽略但对其他程序员阅读和自己以后的整体有着很大的帮助因此写好代码注释也是称为一名合格程序员的基本功。 对于代码注释应该遵从以下两条原则(自己总结的如果有更好的经验欢迎在博客下面留言)1)注释存储关键数据的变量并说明变量的意义2不要去解释代码做了什么而去解释为什么这么做。 C的注释方法有两种1采用单行注释以“//”开始换行符结束2界定符注释即以“/*”开始以“*/”结束采用界定符注释时可以注释多行注释多行时最好在每行的前面加上“*”方便显示注释的范围同时界定符注释不支持嵌套注释。 VS中注释和取消注释的快捷键为1注释快捷键ctrlK,ctrlC;2)取消注释ctrlK,ctrkU。 对于C而言格式在很大程度都是比较自由的但有一点需要主要的是对于函数而言花括号必须是形参列表后第一个非空、非注释的字符。
***内容补充1换行符\n和endl区别
参考博客http://www.cnblogs.com/taqikema/p/7743914.html 换行符的作用在于将输入写入到缓存区中(如行缓存遇到换行才执行IO操作)或显示实现换行的目的而endl的作用在于先实现换行操作而后实现刷新缓存区。一般情况下不加endl也能够正常输出数据因为系统在空闲的过程(没有一个合适的界限)中会查看缓存区的内容如果发现有新的数据则会进行输出。
但是不能在任何的情况下都是用endl因为不停地刷新缓存区会降低程序的运行效率因此等根据具体情况具体分析。
***内容补充2未初始化的变量小结 类类型变量如果没有指定初值则按类定义指定的方式或系统默认的方式进行初始化。定义在函数内部的内置类型变量默认是不初始化的除非有显示的初始化语句。试图使用一个未初始化变量的值是错误的会产生对应的bug。
****内容补充3术语中英文对照表
参数argument赋值assignment程序块block缓冲区buffer内置类型built-in type字符串字面值常量character string literal类class类类型class type注释comment条件condition花括号curly brance数据结构data structure编辑-编译-调试edit-compile-debug文件结束符end-of-file表达式expressionfot/while/if语句for/while/if statement函数function/body/name头文件header初始化initialize库类型library type操纵符manipulator成员函数member function方法method命名空间namespace形参列表parameter list返回类型return type源文件source file标准错误/输入/库/输出standard error/input/library/output未初始化的变量uninitialized variable运算符operator