1 C++初识
1.1 第一个C++程序
编写一个C++程序总共分为4个步骤
创建项目
创建文件
编写代码
运行程序
1.1.1 创建项目
Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开
1.1.2 创建文件
右键源文件,选择添加->新建项
给C++文件起个名称,然后点击添加即可
1.1.3 编写代码
#include<iostream> using namespace std; int main() { cout << "Hello world" << endl; system("pause"); return 0; }
1.1.4 运行程序
1.2 注释
作用:在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码
两种格式
单行注释:// 描述信息
通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明
多行注释: / 描述信息 /
通常放在一段代码的上方,对该段代码做整体说明
提示:编译器在编译代码时,会自动忽略注释的内容
1.3 变量
作用:给一段指定的内存空间起名,方便操作这段内存
语法:数据类型 变量名 = 初始值;
示例:
#include<iostream> using namespace std; int main() { //变量的定义 //语法:数据类型 变量名 = 初始值 int a = 10; cout << "a = " << a << endl; system("pause"); return 0; }
注意:C++在创建变量时,必须给变量一个初始值,否则会报错
1.4 常量
作用:用于记录程序中不可更改的数据
C++定义常量两种方式
#define 宏常量: #define 常量名 常量值
通常在文件上方定义,表示一个常量
const修饰的变量 const 数据类型 常量名 = 常量值
通常在变量定义前加关键字const,修饰该变量为常量,不可修改
示例:
//1、宏常量 #define day 7 int main() { cout << "一周里总共有 " << day << " 天" << endl; //day = 8; //报错,宏常量不可以修改 //2、const修饰变量 const int month = 12; cout << "一年里总共有 " << month << " 个月份" << endl; //month = 24; //报错,常量是不可以修改的 system("pause"); return 0; }
1.5 关键字
作用: 关键字是C++中预先保留的单词(标识符)
在定义变量或者常量时候,不要用关键字
C++关键字如下:
asm do if return typedef
auto double inline short typeid
bool dynamic_cast int signed typename
break else long sizeof union
case enum mutable static unsigned
catch explicit namespace static_cast using
char export new struct virtual
class extern operator switch void
const false private template volatile
const_cast float protected this wchar_t
continue for public throw while
default friend register true
delete goto reinterpret_cast try
提示:在给变量或者常量起名称时候,不要用C++得关键字,否则会产生歧义
1.6 标识符命名规则
作用:C++规定给标识符(变量、常量)命名时,有一套自己的规则
标识符不能是关键字
标识符只能由字母、数字、下划线组成
第一个字符必须为字母或下划线
标识符中字母区分大小写
建议:给标识符命名时,争取做到见名知意的效果,方便自己和他人的阅读
2 数据类型
C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存
2.1 整型
作用:整型变量表示的是整数类型的数据
C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同:
数据类型 占用空间 取值范围
short(短整型) 2字节 (-2^15 ~ 2^15-1)
int(整型) 4字节 (-2^31 ~ 2^31-1)
long(长整型) Windows为4字节,Linux为4字节(32位),8字节(64位) (-2^31 ~ 2^31-1)
long long(长长整型) 8字节 (-2^63 ~ 2^63-1)
2.2 sizeof关键字
作用: 利用sizeof关键字可以统计数据类型所占内存大小
语法: sizeof( 数据类型 / 变量)
示例:
int main() { cout << "short 类型所占内存空间为: " << sizeof(short) << endl; cout << "int 类型所占内存空间为: " << sizeof(int) << endl; cout << "long 类型所占内存空间为: " << sizeof(long) << endl; cout << "long long 类型所占内存空间为: " << sizeof(long long) << endl; system("pause"); return 0; }
整型结论:short < int <= long <= long long
2.3 实型(浮点型)
作用:用于表示小数
浮点型变量分为两种:
单精度float
双精度double
两者的区别在于表示的有效数字范围不同。
数据类型 占用空间 有效数字范围
float 4字节 7位有效数字
double 8字节 15~16位有效数字
示例:
int main() { float f1 = 3.14f; double d1 = 3.14; cout << f1 << endl; cout << d1<< endl; cout << "float sizeof = " << sizeof(f1) << endl; cout << "double sizeof = " << sizeof(d1) << endl; //科学计数法 float f2 = 3e2; // 3 * 10 ^ 2 cout << "f2 = " << f2 << endl; float f3 = 3e-2; // 3 * 0.1 ^ 2 cout << "f3 = " << f3 << endl; system("pause"); return 0; }
2.4 字符型
作用: 字符型变量用于显示单个字符
语法:char ch = ‘a’;
注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号
注意2:单引号内只能有一个字符,不可以是字符串
C和C++中字符型变量只占用1个字节
字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
int main() { char ch = 'a'; cout << ch << endl; cout << sizeof(char) << endl; //ch = "abcde"; //错误,不可以用双引号 //ch = 'abcde'; //错误,单引号内只能引用一个字符 cout << (int)ch << endl; //查看字符a对应的ASCII码 ch = 97; //可以直接用ASCII给字符型变量赋值 cout << ch << endl; system("pause"); return 0; }
ASCII码表格:
ASCII 码大致由以下两部分组成:
ASCII 非打印控制字符: ASCII 表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备
ASCII 打印字符:数字 32-126 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现
2.5 转义字符
作用: 用于表示一些不能显示出来的ASCII字符
现阶段我们常用的转义字符有:\n \ \t
转义字符 含义 ASCII码值(十进制)
\a 警报 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011
\ 代表一个反斜线字符"" 092
’ 代表一个单引号(撇号)字符 039
" 代表一个双引号字符 034
? 代表一个问号 063
\0 数字0 000
\ddd 8进制转义字符,d范围0~7 3位8进制
\xhh 16进制转义字符,h范围09,af,A~F 3位16进制
示例:
int main() { cout << "\\" << endl; cout << "\tHello" << endl; cout << "\n" << endl; system("pause"); return 0; }
2.6 字符串型
作用:用于表示一串字符
两种风格
C风格字符串: char 变量名[] = “字符串值”
示例:
int main() { char str1[] = "hello world"; cout << str1 << endl; system("pause"); return 0; }
注意:C风格的字符串要用双引号括起来
C++风格字符串: string 变量名 = “字符串值”
示例:
int main() { string str = "hello world"; cout << str << endl; system("pause"); return 0; }
注意:C++风格字符串,需要加入头文件==#include==
2.7 布尔类型 bool
作用: 布尔数据类型代表真或假的值
bool类型只有两个值:
true — 真(本质是1)
false — 假(本质是0)
bool类型占1个字节大小
示例:
int main() { bool flag = true; cout << flag << endl; // 1 flag = false; cout << flag << endl; // 0 cout << "size of bool = " << sizeof(bool) << endl; //1 system("pause"); return 0; }
2.8 数据的输入
作用:用于从键盘获取数据
关键字: cin
语法: cin >> 变量
示例:
int main() { //整型输入 int a = 0; cout << "请输入整型变量:" << endl; cin >> a; cout << a << endl; //浮点型输入 double d = 0; cout << "请输入浮点型变量:" << endl; cin >> d; cout << d << endl; //字符型输入 char ch = 0; cout << "请输入字符型变量:" << endl; cin >> ch; cout << ch << endl; //字符串型输入 string str; cout << "请输入字符串型变量:" << endl; cin >> str; cout << str << endl; //布尔类型输入 bool flag = true; cout << "请输入布尔型变量:" << endl; cin >> flag; cout << flag << endl; system("pause"); return EXIT_SUCCESS; }
本章终!