C++--学习笔记002

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通常用来做函数的局部变量。

变量是现实世界中的一个食物,七本质是一个实体,所以变量的名字应当使用“名词”或者“形容词+名词”

//float fvalue;   //名词

//float foldvalue; //形容词+名词

避免名字中出现数字编号

常量全用大写字母表示,且用下划线分割单词。

使用约定好的前缀,

如: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;

时间: 2024-10-10 05:15:12

C++--学习笔记002的相关文章

操作系统学习笔记 002 安装NASM

下载源代码 下载地址:http://sourceforge.net/projects/nasm/files NASM学习网址:http://www.nasm.us/doc/nasmdoc0.html 使用火狐下载源码(nasm-2.07.tar.gz),缺省存放~/Download,知道为什么装英文的了吧,否则目录是“下载”,好烦的 Make安装 切换到root用户 以后都用root用户,免得碰上莫名其妙的的问题,反正权限问题暂时不重要 # tar zxvf nasm-2.07.tar.gz #

C语言学习笔记 (002) - C++中引用和指针的区别(转载)

下面用通俗易懂的话来概述一下: 指针-对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const.volatile等等.见下图,所示指针的含义: 引用-引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用.见下图,所示引用的含义: 2.指针和引用的区别 首先,引用不可以为空,但指针可以为空.前面也说过了引用是对象的别名,引用为空--对象都不存在,怎么可能有别名!故定义一个引用的时候,必须初始化.因此

Flixel学习笔记002 加载地图(一)

这篇的参考官方代码示例Cameras,代码在https://github.com/phmongeau/SplitScreen/tree/master/src. 首先用Windows的画图画了几个格,大小是20*20的. 然后参照官方代码示例,写了一段代码: 1 package org 2 { 3 import org.flixel.FlxState; 4 import org.flixel.FlxTilemap; 5 6 /** 7 * ... 8 * @author QuanJP [email

Android学习笔记002

001的问题已经没有了,估计是我又更新了Android的SDK 的关系.所以接下来的问题又来了 日志截图如下: [2015-08-15 13:57:59 - HelloWorld] ------------------------------[2015-08-15 13:57:59 - HelloWorld] Android Launch![2015-08-15 13:57:59 - HelloWorld] adb is running normally.[2015-08-15 13:57:59

个人--极简学习笔记002

如果用一个词来形容极简消费观的话,我觉得是:成熟.在我们现在的社会中,消费主义是主流思想.每天我们都要被动地被广告成千上万次,在这样密集的轰滥炸式的灌输之下,有几人能保持理性消费?广告的作用并不是简单地宣扬产品的优点,其真正的目的是营造一种气氛,造成一种假象,让你感觉必须使用这种产品你才能幸福.但是,从过去成千上万次的消费经验中,我们很容易就能发现,购买不能让我们感到真正的快乐.但是那些看上去很好.实际没用的东西却让我们付出巨大的代价.我们需要加更多的班,挣更多的钱去还信用卡:我们减少了陪家人的

ios开发学习笔记002

运算符 C语言有34种运算符,常见的有加减乘除. 算术运算符 1.加 10+2 2.减 20-2 3.乘 12*2 4.除 10/2 5.取余 10%3 = 1; 10%-3 = 1; -10%3 = -1; -10%-3 = -1; 取余结果只和左边的数值相关,和右边数值无关.注意:类型转换 自动类型转换 int a = 10.99;//a为10,会弹出警告信息 强制类型转换 int a = (int)10.99;//这个也是10,没有警告信息 自动类型提升 doble d = 10.99 +

linux用户、组和权限——学习笔记

linux用户.组和权限--学习笔记 1.linux用户user 2.linux组group 3.用户和组的配置文件 3.1.Passwd文件格式 3.2.shadow 文件格式 3.3.group文件格式 3.4.gshdow文件格式 4.用户和组管理命令 4.1.用户管理命令 4.2.组帐号维护命令 4.3.用户创建:useradd 4.4.小实验 4.5.用户属性修改 4.6.删除用户 4.7.查看用户相关的ID 信息 4.8.切换用户或以其他用户身份执行命令 4.9.设置密码 4.10.

Linux学习笔记三:Linux的权限处理命令

1.改变文件或目录权限  chmod 语法:chmod [{ugo} {+-=} {rwx}] [文件或目录] 或 [mode] [文件或目录] 第一种语法中: 这里的u是所有者,g是指所属组,o是指其他人 +是指增加权限,-是指减少权限,=是指赋予权限 r是指读权限,w是指写权限.x只是执行权限 第二种语法中: 在这里,r的值是4,w的值是2,x的值是1. 这里写的mode,是指一组数字.如:421.这里的421,是指所有者所拥有权限的数字总和是4,所属组所拥有权限的总和是2,其他人所拥有权限

mongodb学习笔记系列一

一.简介和安装 ./bin/mongod --dbpath /path/to/database --logpath /path/to/log --fork --port 27017 mongodb非常的占磁盘空间, 刚启动后要占3-4G左右,--smallfiles 二.基本命令 1.登录mongodb client /use/local/mongo 2.查看当前数据库 show databases; show dbs; 两个可能 3.admin是和管理有关的库,local 是放schema有关