20150426
const 类型描述符
const int a ;
int const a;
以上完全一样,描述的都是一个const的整型变量
多读多写是学好C++的不二法门
向高手学习是成为高手的唯一途径,学习优秀的开源产品的源代码,学习其中的设计思想,编程风格。
多读的目的只是学习别人的知识和经验,多写的目的是将别人的只是和经验内化为自己的知识和经验。
cl /EHsc Hellowlrd.cpp
"#include"
指令用于在编译之前将指定的文件嵌入该指令所在的位置,作为整个源程序的一部分。
可以使用文件所定义的功能。通常用这种方法调用c++标准库的功能。
通常使用“”来嵌入当前项目目录下的文件
使用<>来嵌入各种项目包含目录下的库文件。
在c++中,每条语句用分号;结束
std是一个名字空间,而cout,endl是std名字空间下的标识符
//是单行注释符,//之后直到换行的所有内容都属于注释
/* */这是成对出现,是一段注释
注释有序言性注释和解释性注释
注释的位置可以放在代码的上方或右方,不可放在下方。
编译器的工作是将高级语言c++翻译为低级语言(机器语言)object code 、machine code
链接器的作用是将一个或多个有编译器编译生成的目标文件和库函数链接成可执行文件。
visual studio集成的编译器是cl.exe
看图2-6
cl /c /EHsc Helloworld.cpp
cl是编译源文件的指令,其后的参数用于指定编译器的行为。
/c表示只编译不链接
/EHsc指定编译器使用何种异常处理模型
c++程序通常有多个源文件组成,经过编译后形成多个目标文件,这些目标文件还需要最后组装成一个可执行程序。
组装和替换目标文件的过程陈伟链接,也就是链接器的工作。
链接器是link.exe
你可以通过下面的命令让链接器链接目标文件helloworld.obj,得到可执行的helloworld.exe文件
link helloworld.obj
图2-8我的人生目的
一个c++程序的人生目的就是描述数据和处理数据
基本输入/输出流(iostream)
istream输入外交官
ostream输出外交官
iostream类库是标准类库standard library中的一员
endl是操纵字符
istream是输入流
ostream是输出流
将程序中的数据显示到屏幕上,或者写入到文件中,这个信息从程序流动到外部的过程是输出;放过来,数据从外部流动到程序的过程是输入。
c++程序将数据从一个对象到另外一个对象的流动称为流(stream)。
输出的格式需要控制
\n表示换行
\t表示间隔一个tab的距离
ofstream和ifstream是有<fstream>头文件定义的两个类,分别负责数据的输出和输入。
与cout,cin的区别是,fstream中的fin,fout可以通过自己打开文件,将对象跟某个具体的文件联系起来。再利用插入符“<<"和”>>“对这些对象进行操作。
集成开发环境 integrated development environment ,IDE
有:
visual studio
eclipse CDT
turbo c++
c++ builder
dev-c++
visual c++(简称VC或MSVC,是开发套件visual studio一个重要组成部分
在某些菜单项的后面有省略号,表示单击该菜单项后悔弹出一个对话框,让用户进行进一步的操作。
20150427
debug版本和release版本
debgu版本是调试版本,
release是优化后的版本,发给用户
vss源代码管理工具。可以对现有代码进行安全的改动。每次修改代码之前,需要将代码从服务器签出到本地,修改完成之后,再将代码从本地签入到服务器。
每次签入签出都会在服务器上留下相应的时间戳
程序是使用数据来描述现实世界的。
在程序设计语言中,将这些相同类型的数据抽象成数据结构。
数据结构是对现实世界中的某一类数据的描述。
如用int来描述某个范围内的整数。
用char来描述所有的字符。
数据类型就像c++世界的百家姓,一个数据的数据类型,决定了这个数据是哪一家的人。
数据类型又分为基本数据类型和构造数据类型。
基本数据类型是c++中最底层的民众,不可再分,如一个整数一个字符。
各种数据类型---对应---各种现实中的事物。
构造数据类型由基本数据类型或另一个构造数据类型组成。
有四种构造数据类型:
数组类型;结构类型;联合类型;枚举类型。
变量和常量
变量的值可以读取也可以修改
常量的值只能读取,不能修改
在程序中,常量可以直接使用,变量必须先声明后才能使用。
如有整型变量,整型常量,浮点常量,浮点变量。
声明变量=变量声明
变量声明由数据类型和变量名两部分组成
数据类型是对变量类型的描述。
非法的变量声明,
//不能使用关键字作为变量名,如int case
数据类型说明符与变量名之间至少有一个空格间隔
变量声明必须放在变量使用之前,一般放在函数体的开始部分。
变量名的命名方法:匈牙利命名法
变量名=属性+类型+对象描述
变量名最好采用英文单词或组合
单字符的变量名i,j,k通常用来做函数的局部变量。
变量是现实世界中的一个食物,七本质是一个实体,所以变量的名字应当使用“名词”或者“形容词+名词”
避免名字中出现数字编号
常量全用大写字母表示,且用下划线分割单词。
使用约定好的前缀,
如:s_表示静态变量(static
g_表示全局变量
m_表示类的数据成员
如果不对变量进行初始化,系统会自动给定一个随机值,而使用这个随机值进行操作,可能导致程序运行结果出错。甚至导致程序崩溃。
20150428
声明变量
int nstudentnum; //声明变量
nstudentnum=1000; //赋初始值
上面的情况也可以是
int nstudentnum=1000;
常量有可能是数值,字符,字符串等。
通常用来给一个变量赋值或直接使用。
strname=“chenliangqiao”
farea=fr*fr*3.1415926
这里的“chenliangqiao”和“3.1415926"就是两个常量。
当完成赋值操作和乘法运算后,这两个常量就没有意义了。
c++的常量主要包括整型常数,浮点型常数,字符常量,字符串常量。
整型常数是以文字形式出现的整数,最常见的就是十进制,八进制,十六进制
十进制例如:0、123、-1
八进制例如:以0开始的整数就是八进制数,0123、-022
十六进制例如:以0x或0X开始的数就是十六进制数,0x123、-0X2
nHeight=173; //十进制常数
nHeight=0255; //八进制常数
nHeight=0xAD; //十六进制常数
浮点型常数
是以文字形式出现的浮点数,有两种,小数形式和指数形式。
小数形式有数字和小数点构成,如1.0、0.1、.123、0.0
指数
指数形式,1.1e5表示1.1*10的5次方
0.123E-4表示0.123*10的负4次方
字符常量
用单引号框起来,是在程序中使用的单个字符。
如”a“,”A“,”!“
//用一个字符常量对变量赋值
char aMark=‘A‘
cout<<‘!’<<endl;