基本概念
第一个程序 helloword
/*标准头文件*/
#include<iostream>
using namespace std;
int main()
{
cout<<"helloworld!\n";
return 0;
}
1 名称
c++中可以命名的五种元素
函数
变量
类型
标签
命名空间
注:名称不能以数字开头,中间不能有空白字符
包含两个下划线的名称,以一个下划线开头后跟一个大写字母,是标准库的保留字
名称中允许含有16进制字符\Udddd,d表示16进制数
2 命名空间
using namespace std;
cout的全名就是:std::cout //这里的:是范围解析运算符
这样上面的例子可以改写为如下样式:
/*标准头文件*/
#include<iostream>
/*定义命名空间*/
int main()
{
std::cout<<"helloworld!\n";
return 0;
}
为了不用每次都写std:: 可以用命名空间来指定
代码如下:
using std::out;
3 关键字
c++中的一些保留字
4 语句和语句块
声明变量: double result=0.0;
5 程序结构
头文件:所需的数据类型的代码和其他类型的声时 (通常源文件的开头包含他们)
后缀名为.h
源文件 函数声时,程序的可执行代码
后缀名为.cpp .cxx或是.cc
6 程序和函数和执行
main()为入口函数
7 从源文件中创建可执行文件
第一步: 编译器把cpp文件编译成对像文件(源文件内容对应的机器码)
第二步: 链接程序把对像文件合并到包含完整可执行程序的文件中
编译
链接
动态链接库的优点:可以在几个并行执行的文件之间共享
在调用其中的函数之前是不会加载到内存中的
8 c++的源字符(共96个)
大小写字母a-z
数字0-9
控制字符:换行符、水平和垂直制表符、换页符
字符:_{}[]<>%:;?*+-/^&~!=,\"'
通用字符集 ucs-2 ucs-4(同unicode码)
三字符序列
转义字符序列 如:\n(等同于endl)等 十六进制数\x111 八进制数\111
语句中的空白:换行符、水平和垂直制表符、换页符
9 程序的注释
//
/* 信息 */
10 标准库
可以用using 引入
第二章 基本数据类型和计算
1 数据和数据类型
2 简单的计算 字面量
整数的算术运算 +-*/%
运算符的优先级和相关性
美化输出结果 如:cout<<setw(10)<<10+20
3 变量
变量名:任意字母、数字、下划线 (必须以字母和下划线开头)
(1)整型变量:在定义变量时一定要指定其初始值,如不知道则指定为0
整型变量类型 :char(一个字节)、 short int、 int、long int
无符号的unsigned short int、 unsigned int、unsigned long int
整数的取值范围
类型 字节数 取值范围
char 1 -128~127
unsigned char 1 0U~255U
short 2 -32768~32767
unsigned short 2 0U~65535U
int 4 -2147483648~2147483647
unsigned int 4 0U~4294967295
long 8 -9223372036854775808L~9223372036854775807L
unsigned long 8 0~18446744073709551615UL
整型字面量类型
没有前缀 十进制
前缀0x或0X 十六进制
前缀0 八进制
后缀u或U 不带符号的类型
后缀为L或l long
(2)赋值运算符
=
多次赋值 如:apples=(ofrangs=10)
op= 赋值运算符
(3)整数的递增和递减 ++ --
(4) const关键字 固定常量
(5) 整数的数字函数 如:abs() div()
(6) 生成随机数 如: int randomvalue=std::rand();
\
浮点数
小数形式:110.11
指数形式:11E1
浮点数的类型:float double long double
浮点数类型的取值范围
类型 精度 取值范围
float 7 1.2*10(-38)~3.4*10(38)
double 15 2.2*10(-308)~1.8*10(308)
long double 19 3.3*10(-4932)~1.2*10(4932)
浮点数的操作
数值函数
<cmath> 标准库头文件 三角函数和数值函数
字符
字符字面量
初始化字符 char ='apples';