<>C++基础入门

<>1 C++初识

据说 C++ 很牛批,那我们第一个程序就写 Hello World 程序吧,毕竟这个够经典。那C++程序创建分为哪几步呢?

<>1.1 第一个C++程序

编写一个C++程序总共分为4个步骤

* 创建项目
* 创建文件
* 编写代码
* 运行程序
<>1.1.1 创建项目

​ Visual Studio是我们这次用来编写C++程序的主要工具,我们先将它打开创建一个新项目。

<>1.1.2 创建文件

右键源文件,选择添加->新建项

给C++文件起个名称,然后点击添加即可。

这样就将第一个C++项目创建完成啦,就是这么简单~
那接下来呢?是不是可以写代码啦,跃跃欲试中…

<>1.1.3 编写代码
#include<iostream> using namespace std; int main() { cout << "Hello world" <<
endl; system("pause"); return 0; }
第一个hello world程序写完了,那运行看下效果如何吧!

<>1.1.4 运行程序

这样第一个C++程序就写完啦,运行成功。此处应该有掌声呦,给自己一点鼓励~~

上面的代码具体是什么意思呢?怎么根据自己的idea编写实现功能呢?别着急,一步步来,下面我们来讲讲C++是如何编写代码的。

<>1.2 注释

自己写代码当然少不了写注释啦,这样别人才能看懂你写的代码的意思。

作用:在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码

两种格式

* 单行注释:// 描述信息
* 通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明
* 多行注释: /* 描述信息 */
* 通常放在一段代码的上方,对该段代码做整体说明
那写的注释编译器会不会执行呢?
答案当时是…

不会,编译器在编译代码时,会忽略注释的内容。

<>1.3 变量

下面我们再讲讲C++程序中用到的自定义变量吧。

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

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

示例:
#include<iostream> using namespace std; int main() { //变量的定义 //语法:数据类型 变量名 =
初始值 int a = 10; cout << "a = " << a << endl; system("pause"); return 0; }
这样就可以再内存中开辟空间,用来存储变量a啦。当然我们在创建变量的时候有一个一定需要注意的喔。是什么呢?

ps:C++在创建变量时,必须给变量一个初始值,否则就会报错。

<>1.4 常量

有了自定义的变量,那是不是有常量呢?of course!必须的!

作用:用于记录程序中不可更改的数据

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; }
这就是C++中常见的两种定义常量的方法,是不是很简单~
so easy~

<>1.5 关键字

下面开始讲C++中的关键字,这个在C++中也是非常常见和重要的,注意认真听讲喔。

作用:关键字是C++中预先保留的单词(标识符)

上面我们讲了C++的自定义变量和常量,那我们自定义的变量或者常量名,可以用C++中的关键字嘛?

答案是:
不可以,在定义变量或者常量时候,不能用关键字。

C++关键字如下:

asmdoifreturntypedef
autodoubleinlineshorttypeid
booldynamic_castintsignedtypename
breakelselongsizeofunion
caseenummutablestaticunsigned
catchexplicitnamespacestatic_castusing
charexportnewstructvirtual
classexternoperatorswitchvoid
constfalseprivatetemplatevolatile
const_castfloatprotectedthiswchar_t
continueforpublicthrowwhile
defaultfriendregistertrue
deletegotoreinterpret_casttry
提示:在给变量或者常量起名称时候,不要用C++关键字,否则会产生歧义。编译器也会报错喔。

上面说了自定义变量和常量命名不能用关键字,那还有别的什么要求吗?
别着急,下面就开始讲解变量、常量的命名规则。

<>1.6 标识符命名规则

作用:C++规定给标识符(变量、常量)命名时,有一套自己的规则

* 标识符不能是关键字
* 标识符只能由字母、数字、下划线组成
* 第一个字符必须为字母或下划线
* 标识符中字母区分大小写
小提示: 给标识符命名时,争取做到见名知意的效果,方便自己和他人的阅读。比如我们想要定义一个常量表示一年有12个月,那常量名就可以用Month表示啦~

<>2 数据类型

下面我们开始了解C++中数据类型。数据类型?这是个什么东东?满脸问号???

数据类型就是,C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存。例如上面例子上写的int啦。

还不明白?没事儿,下面就开始仔细讲讲这些是个什么鬼?

<>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)
看到这里,我推测上面的short,int, long 是不是都是C++中的关键字呢?

binggo 答对啦~ 成功记住了C++中的三个关键字。

<>2.2 sizeof关键字

那我们有办法知道定义的这些数据类型的占用内存空间大小吗?
当然,前辈大牛早就想到了,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
两者的区别在于表示的有效数字范围不同。

数据类型占用空间有效数字范围
float4字节7位有效数字
double8字节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; }
哇喔!整数小数定义都学会了。关键字: short、int、long、long long、float、double。
so easy!

我还记得第一个C++程序,输出的hello world。那这个不是数字,是什么类型的呢?

别着急,下面我们就开始。

<>2.4 字符型

先从简单的,字母‘a’开始。

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

语法: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值字符ASCII值字符
0NUT32(space)64@96、
1SOH33!65A97a
2STX34"66B98b
3ETX35#67C99c
4EOT36$68D100d
5ENQ37%69E101e
6ACK38&70F102f
7BEL39,71G103g
8BS40(72H104h
9HT41)73I105i
10LF42*74J106j
11VT43+75K107k
12FF44,76L108l
13CR45-77M109m
14SO46.78N110n
15SI47/79O111o
16DLE48080P112p
17DCI49181Q113q
18DC250282R114r
19DC351383S115s
20DC452484T116t
21NAK53585U117u
22SYN54686V118v
23TB55787W119w
24CAN56888X120x
25EM57989Y121y
26SUB58:90Z122z
27ESC59;91[123{
28FS60<92/124|
29GS61=93]125}
30RS62>94^126`
31US63?95_127DEL
ASCII 码大致由以下两部分组成:

* ASCII 非打印控制字符: ASCII 表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备。
* ASCII 打印字符:数字 32-126 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。
别害怕,ASCII码表当然不需要我们记住了,过目不忘者请自便。

我们只要记住几个常见的就行啦,比如a代表97,A代表65。

<>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数字0000
\ddd8进制转义字符,d范围0~73位8进制
\xhh16进制转义字符,h范围09,af,A~F3位16进制
示例:
int main() { cout << "\\" << endl; cout << "\tHello" << endl; cout << "\n" <<
endl; system("pause"); return 0; }
刚刚说的hello world 呢?是什么类型呢?
看下去,答案即将揭晓~

<>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<string>==

好棒!不仅知道了hello world是什么类型,还学会了两种表示方法。

为自己点赞~下面我们趁热再学最后一个C++中常见的变量类型。

<>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; }
嗷嗷!原来bool类型是用来表示真假的,true就表示真,false就表示假。

那数字可以表示bool类型的嘛?

可以,记住咯,数字0表示false–假,非0数字均表示true–真。

刚刚第一个程序,是输出了一句hello world,那能通过键盘输入吗?
下面就告诉你方法如何实现输入内容。

<>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; }
好了,今天就讲到这吧。明天继续喔~

偷偷透露下,下期是关于程序运算符和程序流程结构喔~

创作不易,白嫖不好,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!

Dragon少年 | 文

如果本篇博客有任何错误,请批评指教,不胜感激 !

技术
©2019-2020 Toolsou All rights reserved,
程序员的520,送给女友的几行漂亮的代码(python版)基于stm32控制四轮小车电机驱动(一)linux查看磁盘空间命令实验四 自动化测试工具-软件测试axios拦截器封装与使用C语言——qsort函数opencv-python傅里叶变换以及逆变换在算法研究过程中如何进行算法创新nc的安装和简单操作C语言做一个简易的登陆验证(功能)界面