c++_leran

C++基础入门

1 C++初识

1.1 第一个C++程序

编写c++程序分为四步

  • 创建项目

  • 创建文件

  • 编写代码

  • 运行程序

1.1.1 创建项目

我使用的是Visio Stdio2017社区版

1.1.2 新建文件
1.1.3 编写代码

这段是默认的格式

#include<iostream>
using namespace std;
int main()
{
	system("pause");
	return 0;
}

输出hello,world

#include<iostream>
using namespace std;
int main()                          //main函数每个程序只有一个,意思是一个程序不管有多少个文件,只能有一个main函数
{
    cout << "hello,world" << endl;  //这里是endl的字母l不是数字1,这行代码就是输出hello,world
	system("pause");
	return 0;
}
1.1.4 运行程序

点击“本地Windows调试器”即可运行出hello,world

1.2 注释

两种格式

  1. 单行注释:一行代码的上方或者一条语句的末尾,对该行代码说明 形式://
  2. 多行注释:一行代码的上方,对该段代码进行整体说明 形式: /* */

1.3 变量

作用:给一段指定的内存空间起名,方便操作这段内容

语法:数据类型 变量名=初始值;

变量就是便于管理内存空间,内存空间一般是以16进制编号,不便于记忆,可以使用变量a代替0x0000,0x0000也可以使用。

变量名是任意的。

1.4 常量

两种格式

  1. #define 常量名 常量
  2. const 数据类型 变量名=初始值;
#include<iostream>
using namespace std;
#define DAY 7
int main()
{
	const int month = 12;
	cout << "每年有:" << month << "个月" << endl;
	cout << "每个星期有:" << DAY << "天" << endl;
	system("pause");
	return 0;
}

1.5 关键字

被系统使用的关键字可以自行查阅。

1.6 标识符命名规则

  1. 只能是数字、字母、下划线组成
  2. 开头只能是字母或者下划线
  3. 标识符区分大小写

2 数据类型

2.1 整型

  1. 数据类型意义:给变量分配一个合适的内存空间
  2. c++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同
  3. short占2个字节,int占4个字节,long占4字节(Windows),long long占8字节

实例

2.2 sizeof关键字

作用:利用sizeof可以统计数据类型所占内存的大小

语法:sizeof(数据类型/变量)

实例:

#include<iostream>
using namespace std;
int main()
{
	short num1 = 10;
	int num2 = 10;
	long num3 = 10;
	long long num4 = 10;
	cout << sizeof(num1) << endl;
	cout << sizeof(num2) << endl;
	cout << sizeof(num3) << endl;
	cout << sizeof(num4) << endl;
	system("pause");
	return 0;
}
结果:2 4 4 8

结论short<int<=long<=long long

2.3 实型(浮点型)

作用:用于表示小数

浮点数分为两种类型:

  1. 单精度float 占4个字节, 7位有效数字(有效数字算整数)
  2. 双精度double 占8字节, 15-16位有效数字

c++编辑器默认认为小数是双精度的浮点数,要在单精度小数后加一个f表示为单精度

c++默认情况下输出一个小数会显示出6位有效数字

科学计数法

示例:float f2=3e2; 输出结果为300

​ float f2=3e-2; 输出结果为0.03

示例

#include<iostream>
using namespace std;
int main()
{
	float f1 = 3.14;
	float f2 = 3.14f;
	double d1 = 10.002;
	float f3 = 3e2;
	float f4 = 3e-2;
	float f5 = 3.1415926;
	double d2 = 3.1415926;
	cout << f1 << endl;
	cout << f2 << endl;
	cout << d1 << endl;        
	cout << f3 << endl;
	cout << f4 << endl;
	cout << f5 << endl;
	cout << d2 << endl;           //double和float都一样,只能输出6位有效数字
	system("pause");
	return 0;
}
结果:
3.14
3.14
10.002
300
0.03
3.14159
3.14159

2.4 字符型

作用:字符型变量用于显示单个字符

语法:char ch=‘a’;

这个只能放一个字符,只占用一个字节的内存

示例

#include<iostream>
using namespace std;
int main()
{
	//1.定义一个char类型变量
	char ch = 'a';
	//2.计算char类型变量空间大小
	cout << sizeof(ch) << endl;
	//3.常见错误
	/*
	 char ch ="a"  将引号弄成双引号;
	 char ch ='abcdefg' 将赋值字符写成多个字符;
	*/
	//4.计算字符的ASCII值,直接利用强制类型转换把字符变为数字
	cout << (int)ch << endl;
	system("pause");
	return 0;
}

2.5 转义字符

作用:用于表示一些不能显示出来的ASCII字符

常用的\n \t \

示例

#include<iostream>
using namespace std;
int main()
{
	//1.\n的作用就是代替endl
	cout << "hello,world\n" ;
	//2.\\代表输出一个‘\’
	cout << "\\"<<endl;
	//3.\t是为了保持美观,\t会保持8个位置,包括你已经有的字符
	cout << "a\thello,world"  << endl;
	cout << "aa\thello,world" << endl;
	cout << "aaa\thello,world"<< endl;
	system("pause");
	return 0;
}
结果:
hello,world
\
a       hello,world
aa      hello,world
aaa     hello,world

2.6 字符串型

作用:用于表示一串字符

两种风格

  1. C语言风格:格式 char 变量名 []=“xxxx”;
  2. string 格式:string 变量名=“xxxx”;

示例

#include<iostream>
#include<string>
using namespace std;
int main()
{
	//1.使用c语言的字符串
	char str1[] = "hello,world";
	cout << str1 << endl;
	//2.使用c++的string,要注意写头文件---#include<string>
	string str2 = "wjk";
	cout << str2 << endl;
	system("pause");
	return 0;
}

c++无法读取编译器命令行的解决办法

后来发现是TMP/TEMP环境变量路径有空格的问题,更新环境变量后需要重新启动VS再测试。

我是重新找了个C盘位置建了个temp文件夹,目前来说还没有问题。

很奇怪为什么突然路径里不能有空格,但也没法求证。

2.7 布尔类型

作用:布尔类型代表真或假的值

true的含义为真,(本质是1)

false的含义为假,(本质是0)

bool类型只占1个字节大小

示例:

int main()
{
	//1.创建布尔数据类型
	bool flag = true;
	cout << flag << endl;
	flag = false;
	cout << flag << endl;
	//2.查看bool类型所占空间
	cout << sizeof(flag) << endl;
	system("pause");
	return 0;
}

2.8 数据的输入

作用:用于从键盘获取数据

关键字:cin

语法:cin>>变量

示例

int main()
{
	//1.整型
	int a = 0;
	cout << "请给整型变量a赋值:"<< endl;
	cin >> a;
	cout << "整数a为:"<<a << endl;
	//2.浮点型
	float b = 1.0f;
	cout << "请给浮点型变量b赋值:" << endl;
	cin >> b;
	cout <<"浮点数b为:"<< b << endl;
	//3.字符型
	char ch = 'a';
	cout << "请给字符型变量ch赋值:" << endl;
	cin >> ch;
	cout <<"字符ch的值为:"<< ch << endl;
	//4.字符串型
	string str = "abc";
	cout << "请给字符串型变量str赋值:" << endl;
	cin >> str;
	cout << "字符串str的值为:"<<str << endl;
	//5.布尔型
	bool flag = true;
	cout << "请给布尔变量flag赋值:" << endl;
	cin >> flag;
	cout <<"布尔型变量flag的值为:"<< flag<< endl;
	system("pause");
	return 0;

}

其中,布尔变量flag不能输入true,真值只能给数字非0值,假值给0

3 运算符

作用:用于执行代码的运算

运算符类型 作用
算术运算符 用于处理四则运算
赋值运算符 用于将表达式的值赋给变量
比较运算符 用于表达式的比较,并返回一个真值或假值
逻辑运算符 用于根据表达式的值返回真值或假值

3.1 算术运算符

作用:用于处理四则运算

算术运算符包括以下符号:

运算符 术语 示例 结果
+ 正号 +3 3
- 负号 -3 -3
+ 10+5 15
- 10-5 5
* 10*5 50
/ 10/5 2
% 取模(取余) 10%3 1
++ 前置递增 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;

两个数相除,除数不可以为0, 0做除数会报错,取模运算中也不能为0

两个小数不能做取模运算,只有整数可以进行取模运算

两个整数相除,结果为整数

cout <<0.5/0.25<< endl;
结果为2

3.2 赋值运算符

作用:用于将表达式的值赋给变量

运算符 术语 示例 结果
= 赋值 a=2;b=3; a=2;b=3
+= 加等于 a=0;a+=2; a=2
-= 减等于 a=3;a-=2; a=1
*= 乘等于 a=3;a*=3; a=9
/= 除等于 a=10;a/=2; a=5
%= 模等于 a=10;a%=2; a=0

3.3 比较运算符

作用:用于表达式的比较,并返回一个真值或假值

运算符 术语 示例 结果
== 相等于 4==3
  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值