目录
前沿
第1章 开始
编译
-
从命令行运行编译器
-
$cc prog1.cc【$是系统提示符,cc是编程名字,windows下生成是prog1.exe;UNIX下生成的是a.out】
-
$ prog1【windows下省略.exe,UNIX下不可忽略如$a.out】
-
查看main返回值【win下
$ echo %ERRORLEVEL%
,UNIX下$ echo $
】
-
-
运行GNU
-
$ g++ -0 prog1 prog1.cc
【$是系统提示符。-o prog1是编译器参数,指定了可执行文件的文件名。在不同的操作系统中,此命令生成一个名为prog1或prog1.exe的可执行文件。在UNIX系统中,可执行文件没有后缀;在Windows系统中,后缀为.exe。如果省略了-o prog1参数,在UNIX系统中编译器会生成一个名为a.out的可执行文件,在Windows系统中则会生成一个名为a.exe的可执行文件】
-
-
运行VS
-
C:\Users\me\Programs> cl /EHsc prog1.cpp
【C:\Users\me\Programs>是系统提示符,\Users\me\Programs是当前目录名(即当前文件夹)。命令cl调用编译器,/EHsc是编译器选项,用来打开标准异常处理。微软编译器会自动生成一个可执行文件,其名字与第一个源文件名对应。可执行文件的文件名与源文件名相同,后缀为.exe。在此例中,可执行文件的文件名为prog1.exe】
-
初识输入输出
-
IO对象
-
cin、cout
-
cerr【标准错误。默认情况下,写到cerr的数据是不缓冲的。cerr通常用于输出错误信息或其他不属于程序正常逻辑的输出内容。】
-
clog【运行时的一般信息。默认情况下,写到clog的数据是被缓冲的。clog通常用于报告程序的执行信息,存入一个日志文件中。】
-
endl【写入endl的效果是结束当前行,并将与设备关联的缓冲区(buffer)中的内容刷到设备中。缓冲刷新操作可以保证到目前为止程序所产生的所有输出都真正写入输出流中,而不是仅停留在内存中等待写入流,序员常常在调试时添加打印语句。这类语句应该保证“一直”刷新流。否则,如果程序崩溃,输出可能还留在缓冲区中,从而导致关于程序崩溃位置的错误推断
-
注释
-
单行注释
//这里是单行注释
-
多行注释
/*注释第一行--------------------------------------------------------------------------注释完毕*/
-
注释不能嵌套
*注释对/**/不能嵌套。 *“不能嵌套”几个字会被认为是源码,```
控制流
-
控制流
-
读取数量不定的输入数据
#include<iostream> int main() { int sum=0,value=0; //读取数据直到遇到文件尾,计算所有读入的值的和while(std::cin>>value) sum+=value;//等价于sum=sum +value std::cout <<"Sum is:"<< sum<< std::endl;return 0; }
此表达式从标准输入读取下一个数,保存在value中。输入运算符
-