第二课

运算符重载
通过重载,同一个运算符在不同的地方有不同的含义,编译器通过上下文来确定该运算符的含义;

cout是一个对象,它表示标准输出流;<<表示将一个字符串插入到输出流中;

endl
控制符,它表示重起一行;在输出流中插入endl,光标会跳转到下一行开头;

诸于endl等对于cout来说有特殊含义的符号被称为控制符,它也是在iostream中定义的,命名空间为std;

源代码的格式化
在C++中,回车的作用和空格以及制表符的作用相同;
在C++中,不能把回车用在字符串中间;

C++语句
声明语句提供变量,而赋值语句是给变量赋值;

为什么要声明变量?
要将信息存储在计算机中,必须指出信息的存储位置和所需的内存空间;
声明变量,是为了指出存储类型并提供位置标签,给不同存储类型的变量预留空间;

int a ;该条语句提供了两条信息,需要的内存,以及内存单元的名称;
所以该语句有如下分析:
1.程序需要足够的内存空间来存储一个整数;编译器负责分配和标记内存的细节;
2.给存储单元指定名称;该语句指出,此后使用a表示存储在该内存单元的值,注意,这里的a表示的是值,不是地址;a被称为变量,因为它的值可以被修改;

C++中,声明语句可以在任意位置,这点和java一样;
一旦声明了一个变量,就是在内存中开辟了一个空间;

赋值语句:
赋值语句是将值赋给存储单元;
=是赋值运算符,在C++中,可以连续使用赋值运算符;
赋值从右向左进行;

类简介:
类描述指定了可对类对象执行的所有操作,要对特定对象执行这些允许的操作,需要给对象发送信息;
C++提供了两种发送信息的方式,第一种是:使用类的方法,即函数调用;第二种是重新定义运算符,cout和cin采用的便是这种方式;

函数和函数原型
C++函数分两种,有返回值和没有返回值;

在使用函数之前,C++编译器必须知道函数的参数类型和返回值类型,于是,C++使用了函数原型语句;
C++程序应当为程序中的每个函数提供原型;
函数原型之于函数,就像变量声明之于变量;

在程序中使用使用类库中的函数时,也需要提供原型,它有两种方式:
一种是在源代码中输入函数原型;
二是包含头文件,因为它其中定义了原型;
推崇使用第二种;

应在首次使用函数之前提供前原型

cmath或者math.h头文件,提供了关于数学有关的计算方法

用户自己定义的函数

main函数返回0,表示程序运行成功,非0则意味着存在问题;

在程序中,同一个名称不可以同时用作对象名和变量名,因为编译器容易搞混;

在多函数程序中使用using 编译指令
每个函数都需要使用using 编译指令,来指明命名空间,有两种方式:
第一种,是在每个函数里面使用using 编译指令;
第二种,是在函数前面,使用using 编译指令;

处理数据
内置的C++类型分为两组:基本类型和复合类型;
基本类型是整数和浮点数;复合类型包括数组,字符串,指针和结构;

简单变量
程序需要存储信息,为了把信息存储到计算机,程序必须记录3个基本属性;
①信息将存储在哪里
②存储的值是多少
③存储何种类型的信息

变量名
①只能使用数字,字母和下划线
②第一个字符不能是数字
③区分大小写
④不能将关键字作为名字
⑤C++对名称的长度没哟限制,但是平台对长度有限制

整型
整数,就是指没有小数的数字;
不同C++整型使用不同的内存来存储整数;使用的内存量越大,表示的数值范围就越大;另外,有的类型可表示正值和负值(有符号的整型),有的类型不能表示负值(无符号);宽度width用于描述存储整数时使用的内存量;使用的内存越多就越宽;
C++的基本整型分别是char,short,int,long,以及long long,每种类型都有符号版和无符号版本,因此,共有10种类型可供选择;

计算机内存由一些叫做位(bit)的单元组成,C++中的short,int,long和long long 通过不同数目的位来储存,最多能够表示4种不同的整数宽度;
C++提供了一种灵活的标准,它确保了每种类型的最小长度,即:
①short最少是16位;
②int至少与short一样长;
③long至少32位,且至少与int一样长;
④long long至少64位,且至少与long一样长

计算机内存的基本单位是位,每一位用0或者1表示,8位的内存块可以有256种不同的组合,因此8位单元可以表示0-255(无符号,unsigned),或者-128到127(有符号);每增加一位,组合数便增加;所以16位单元表示65535个值;
字节(byte)通常指的是8位的内存单元;从这个意义上来说,字节就是描述计算机内存量的度量单位;1M=1024KB,1KB=1024Byte;
C++对字节的定义有所不同,它是根据不同的系统的来定义的,比如C++字节可以是8位,也可以是16位,甚至32位;
类型的宽度随实现而异,要想知道类型的宽度,可使用sizeof运算符,它返回的是字节;
short,int,long,long long都是符号类型,即他们表示的取值范围中,正值和负值相差不大;
头文件climits中,包含了关于整型限制的信息,它定义了表示各种限制的符号名称;如INT_MAX表示int整型的最大值等;
对类型名使用sizeof运算符时,应将名称放在括号中,如sizeof(int);而使用变量时,括号是可选的,如sizeof n;
climits文件由编译器厂商提供,该文件指出了其编译器中的值;因为不同的编译器,相同整数类型表示的值的范围也不同;

 

#define 是预处理器命令,如 #define INT_MAX 32265 ---> 表示查找程序中的INT_MAX ,将全部的INT_MAX替换为32265,然后开始编译;修改后的程序将在完成这些替换后被编译;也可以使用#define来定义自己的符号常量;
如果不对函数内部的变量进行初始化,该变量的值将是不确定的;这意味着该变量的值,将是它被创建之前,相应内存单元保存的值,也就说所说的垃圾值;

C++中有其他的特殊的初始化方法;
①int a(15);将15赋给a;
②int a = {15};
③int a{15}
如果{}中不包含任何内容,表示值为0;
C++的大括号初始化器适用于任何类型,这是一种通俗的初始化方法;这是为了让新手更容易学习C++;

无符号类型
它的优点是可以增大变量可以存储的最大值,如short,它有符号的话,范围是-32768到+32767,如果是无符号的,范围便是0-65535;当然,仅当数值不会为负时才会使用无符号类型,如人口等;
需要关键字unsigned来修改声明;unsigned本身是unsigned int的缩写;

整型变量的行为就像里程碑,如果超越了限制,其值将为范围另一端的取值,即从头开始;
C++确保了无符号类型的这种行为,但C++并不保证符号整型超越限制时不出错;

关于整型溢出
符号整型和无符号整型在增加或者减少时,都会有一个零界点,这个零界点也是重置点,超出这个重置点,值会向另外一个方向发展;
整数溢出有图

选择整型类型
int被设置为对目标计算机而言最为"自然"的长度,自然长度指的是计算机处理起来效率最高的长度,所以,如果没有特殊说明,则应选择int;

整型字面值
C++以三种不同的计数方式来书写整数:基数为10,第一二位1~9,如93;基数为8,第一位为0,第二位为1~7,如042;基数为16;第一二位为0x或者0X,如0x42;
对于16进制,字符a~f或者A~F,代表了十六进制,对应于10~15;
在默认情况下,cout是以10进制来输出的,不管这些整数在程序中如何书写;

转载于:https://my.oschina.net/u/3491256/blog/1486509

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值