1.C++初识
1.1第一个C++程序
编写一个C++程序共分为四个步骤
1.创建项目
2.创建文件
3.编写代码
4.运行程序
第一个程序
#include <iostream>
using namespace std;
int main()
{
cout << "hello C++" << end1
system("pause");
return 0;
}
1.2 注释
作用:注释不仅可以用来解释程序某些部分的作用和功能(用自然语言描述代码的功 能),在必要时,还可以将代码临时移除,是调试程序的好帮手。
两种格式:
b1.单行注释 //描述信息
通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明。
2.多行注释 /*描述信息*/
通常放在一段代码的上方,对该段代码做整体说明。
1.3 变量
作用:给一段指定的内存空间起名,方便操作这段内存。
语法:数据类型 变量名 = 初始值;
实例:
int main()
{
int a=10;
cout << "a ="<< a << end1
system("pause");
return 0;
}
1.4 常量
作用:用于记录程序中不可更改的数据
C++定义常量常量的两种方式:
1.#define 宏常量:#define 常量名 常量值
通常在文件的上方定义,表示一个常量。
2.const修饰的变量: const 数据类型 常量名 = 常量值;
通常在变量定义前加关键字const,修饰该变量为常量,不可修改。
//1.宏常量
#define Day 7
int main()
{
cout << "一周共有:"<< Day << “天” << end1
//2.const修饰的常量
const int month = 12;
//month=24; //错误,const修饰的变量也成为常量
cout<< "一年总有:" << month << "个月" << end1;
system("pause");
return 0;
}
1.5 关键字
作用:关键字是C++中预先保留的单词 (标识符)
· 在定义变量或者常量的时候,不要用关键字。
C++关键字如下:
提示:再给变量或者常量起名称的时候,不要用C++ 的关键字,否则会产生歧义
1.6 标识符命名规则
作用:C++规定给标识符命名时,有一套自己的规则。
1.标识符不能是关键字。
2.标识符只能由字母、数字、下划线组成。
3.第一个字母必须为字母或下划线。
4.标识符中区分字母大小写
建议:命名要做到见名知意
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的63次方到2的63次方-1 |
long long(长长类型) | 8字节 | -2^63 ~ (2^63 - 1) |
2.2 sizeof关键字
作用:利用sizeof关键字可以统计数据类型所占内存大小
语法:sizeof(数据类型/变量)
实例:
int main()
{
cout << "short 类型所占内存空间为 :"<< sizeof(short) << end1;
cout << "int 类型所占内存空间为 :"<< sizeof(int) << end1;
cout << "long 类型所占内存空间为 :"<< sizeof(long) << end1;
cout << "long long 类型所占内存空间为 :"<< sizeof(long long) << end1;
system("pause");
return 0;
}
2.3 实型(浮点型)
作用*:用于表示小数
浮点型变量分为两种
1.单精度 float
2.双精度 double
两者的区别在于表示的有效数字范围不同。
数据类型 | 占用空间 | 有效取值范围 |
---|---|---|
float | 4字节 | 7位有效数字 |
double | 8字节 | 15-16位有效数字 |
示例:
int main()
{
float f1 = 3.14f;
double f2 =3.14;
cout << f1 << end1;
cout << f2 << end1;
system("pause");
return 0;
}
2.4 字符型
作用*:字符型变量用于显示单个字符
语法: char ch = ‘a’;
注意:
1:在显示字符型变量时,用单引号将字符括起来,不要用双引号。
2:单引号内只能有一个字符,不可以是字符串。
- C和C++中字符变量只占用
1个字节
. - 字符型变量并不是把字符本身放到内存中储存,而是将对应的ASCII编码放入到储存单元。
示例:
int main()
{
char ch ='a';
cout << ch<< end1;
cout << "char字符变量所占内存:"<< sizeof(ch) << end1;
//常见错误
//ch="abcd";//错误,不可以使用双引号;
//ch=‘abcd’;//错误,单引号内只能引用一个字符
//对应ASCII编码
//a-97 A-65
cout<< (int)ch << end1;
ch=97;//可以直接使用ASCII给字符型变量赋值
system("pause");
return 0;
}
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 | 垂直制表 | 011 |
\ | 代表一个反斜线字符"" | 092 |
’ | 代表一个单引号(撇号)字符 | 039 |
" | 代表一个双引号字符 | 034 |
? | 代表一个问号 | 063 |
\0 | 数字0 | 000 |
\ddd | 8进制转义字符,d范围0-7 | 3位8进制 |
\xhh | 16进制所代表的任意字符 | 3位16进制 |
2.6 字符串型
作用:用于表示一串字符。
两种风格
1.C风格字符串: char 变量名 [ ] = "字符串值";
示例:
int main()
{
char str1 [] ="hello world";
cout << str1 << end1;
system("pause");
return 0;
}
注意:
C风格的字符串要用双引号括起来。
2.C++风格字符串: string 变量名 = "字符串值";
示例:
#include <string> //用C++风格字符串时,要包含这个头文件。
int main()
{
string str2 ="hello world";
cout << str2 << end1;
system("pause");
return 0;
}
注意:
C++风格字符串,需要加入头文件#include <string>
2.7 布尔类型 bool
作用:布尔数据类型代表真或假的值。
bool类型只有两个值:
- true — 真(本质是1)
- false— 假(本质是0)
bool类型占1个字节大小
示例:
int main()
{
bool flag = true;
cout << flag << end1; //1
flag = false;
cout << flag << end1; //0
cout << "size of bool ="<< sizeof(bool) << end1; //1
system("pause");
return 0;
}
2.8 数据的输入
作用:用于从键盘获取数据
关键字:cin
语法:cin >> 变量;
示例:
int main()
{
//整型输入
int a = 0;
cout << "请输入整型变量: "<< end1;
cin >> a ;
cout << a << end1;
//浮点型输入
double d = 0;
cout << "请输入浮点型变量: "<< end1;
cin >> d ;
cout << d << end1;
//字符型输入
char ch = 0;
cout << "请输入字符型变量: "<< end1;
cin >> d ;
cout << d << end1;
//布尔型输入
bool flag= true;
cout << "请输入布尔型变量: "<< end1;
cin >> flag ;//bool类型 只要是非0的值都代表true
cout << flag << end1;
system("pause");
return 0;
}
3 运算符
作用:用于执行代码的运算
运算符类型 | 作用 |
---|---|
算数运算符 | 用于处理四则运算 |
赋值运算符 | 用于将表达式的值赋给变量 |
比较运算符 | 用于表达式的的比较,并返回一个布尔类型的值 |
逻辑运算符 | 用于根据表达式的值返回true 或 false的值 |
3.1 算数运算符
作用:用于处理四则运算
算数运算符包括以下符号:
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
- | 负号 | -3 | -3 |
+ | 加 | 10 + 5 | 15 |
- | 减 | 10 - 5 | 5 |
* | 乘 | 10*5 | 50 |
/ | 除 | 10/5 | 2 |
% | 取模(求余) | 10%5 | 0 |
++ | 前置递增 | a=2;b=++a | a=3;b=3 |
++ | 后置递增 | a=2;b=a++ | a=3;b=2 |
– | 前置递减 | a=2;b=–a | a=1;b=1 |
++ | 后置递减 | a=2;b=a– | a=1;b=2 |
注意
:1.除数不能为零,否则报错;2.两个整数相除 结果依然是整数 int 10/ int 3=3;3.两个小数可以相除。