C++葵花宝典 系列(一)
文章目录
前言
C++葵花宝典系列 适合少儿编程中c++师生 参考和学习
转载时请标注 出处
一、C++是什么?
这里又是历史课了,历史学得不好的同学可以直接跳过
C++ 是一种静态类型的、编译式的、通用的、区分大小写的编程语言,支持过程化编程、面向对象编程和泛型编程。
C++ 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。
C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。
注意:使用静态类型的编程语言是在编译时执行类型检查,而不是在运行时执行类型检查。
二、初识C++
1、C++程序的基本结构
C++程序一般都是由三个部分构成
-
预处理部分 (在代码中以*#*号开头的部分,它不属于C++语法范围之内)
头文件包含 - [√ ](现在要学)
宏替换 - [x] (后面在学)
条件编译等 - [x] (暂时不看) -
命名空间部分(一般是使用std)
命名空间是 C++ 为了和C语言区分某些相同名字的库函数的,当然C++ 的标准库也写在了这里面,所以我们一般都是使用 std这个空间(std是 standard 的缩写)翻译为标准的
就好像,A市有个叫安生的人,B市也有个叫安生的人,有一天他们到了同一个地方,当人们喊安生的时候,他们自己都迷糊了别人在叫谁,聪明的小吕老师想到一个好办法:
给A市的安生叫A::安生,给B市的安生叫B::安生
就这样大家都知道了怎么去区分这两个安生了,为小吕老师点赞👍👍👍 -
主函数部分 int main(); main翻译为主要的意思
这个就是C++程序的入口程序(和scratch的点击绿旗一样)从main函数开始
且一个C++程序只有一个入口除了这些部分还有一个叫注释的 它是以 ”//“ 开头的,它表示这句话只是提示我们写代码的人,它自己不会被编译执行,和scratch中的注释是一样的作用
2、第一个C++程序
代码如下(示例):
#include <iostream>
using namespace std;
int main()
{
//这里开始些你的代码
return 0;
}
代码解析:
第一行 #include <iostream>
这就是我们前面提到的 预处理 中的文件包含了 这句话告诉我们,这个程序要将一个叫iostream 的家伙包含到我们的程序中
iostream : 它可是我们的好伙伴, 它带着C++的输入输出流工具来帮助我们写代码;
要给程序输入数据和程序给我们输出看到的数据都是它带来的工具帮我们完成的,以后用它的地方可多了.
单词拆解记忆 :i表示 in 输入的意思 ,o表示 out 输出的意思 stream 表示的流意思
组合起来 iostream 表示输入输出流
这样我们就包含了一个输入输出流进来,和scratch 导入一个画笔工具 效果一样,只有导入了这个工具我们才能在代码中使用它
第二行 using namespace std;
这里是前面提到的命名空间部分 他告诉我们使用了一个叫 std 的命名空间
using 翻译为使用
namespace 命名空间 拆解开了 就是 name space 单独记忆 s
std 标准的 连起来就是 using namespace std 使用一个标准的命名空间
这里开始属于C++语法范围了,所以一句话结束我们用 ; 表示
第三行 int main() 这里是主函数 函数的入口”{ }“ 里面就是写代码的地方
return 0; 这里表示函数结束了并且返回一个值 ;
return 之后的代码都不会执行; 一般正常结束 会用0表示,所以我们通常都是使用0
3、Hello XiaoLv
在第一份代码的基础上加入输出元素 认识输出流的对象 cout
代码如下(示例):
#include <iostream>
using namespace std;
int main()
{
//这里开始些你的代码
cout<<"Hello XiaoLv";
//这里用“ ”包裹起来的 表示字符串,他会原样输出
return 0;
}
运行结果
PS:这里的cout 就是我们的 iostream 这个小伙伴带给我们的输出工具 拆解记忆 c表示c++ out表示输出 cout表示C++的输出
三、C++中的数据家族
在C++中有很多的数据类型他们分别组成自己的家族,总体分为以下几种
- 数据类型
基础类型 - [√ ](现在要学)
复合类型 - [x] (后面在学)
1.基础类型
基础类型是C++内置的基本数据,且C++是强类型语言,他与计算机的内存息息相关我们后面学习C++与内存的时候在详细介绍
(1)整数家族
- 整数家族他们是一个不喜欢尾巴的家族 ,他们相信只有整数才能给他们家族带来兴旺。其他人想加入整数家族就得砍掉尾巴
比如浮点家族的 1.99 想到整数家族来,他就必须砍掉尾巴 变成 1 整数家族才能让其加入
名字 | 职位 | 符号 | 技能 | 备注 |
---|---|---|---|---|
长整形 | 大长老 | long | 可以存储 [-9223372036854775808,9223372036854775807] 的整数数字 | |
整形 | 二长老 | int | 可以存储 [-2147483648,2147483647] 的整数数字 | 我们已经学过了 |
短整形 | 三长老 | short | 可以存储 [-32768,-32767] 的整数数字 |
(2)浮点家族(小数)
- 浮点家族他们比较喜欢尾巴,他能把整数也存储下来,不过呢他们同样希望整数家族能带上尾巴加入他们
比如整数家族的 1 想到浮点家族来,他就必须伪装以下 变成 1.0 浮点家族才能让其加入
名字 | 职位 | 符号 | 技能 | 备注 |
---|---|---|---|---|
长双精度浮点 | 大长老 | long double | 可以将小数点后精确到18-19位 | |
双精度浮点 | 二长老 | int | 可以将小数点后精确到15 位 | |
单精度浮点 | 三长老 | short | 可以将小数点后精确到7 位 | 我们已经学过了 |
(3)字符家族
- 字符家族他们是家里是有严格家规的,他们必须站在 引号 里面排队,包容性很强只要他们接受站在引号里面都可以加入他们
PS 字符是就是我们在电脑上能看到的到的文字内容他都是字符,一个文字他叫字符,一堆文字他叫字符串
名字 | 职位 | 符号 | 技能 | 备注 |
---|---|---|---|---|
字符串 | 大哥 | string | 可以在双引号里面包含很多的字符(理论无限多) | 我们已经学过了 |
双精度浮点 | 小弟 | int | 只能在单引号里面包含一个英文字符 | 听说字符和整数家族的长老们是好朋友他们能互相变化 |
2.复合类型
- 复合类型是把基本类型按需要组合起来使用,这一点我们放后面的 面向对象 来学习
四、变量
1.变量介绍
- C++变量的概念和Scratch中的变量是同一个概念,只是C++变量中我们需要声明变量的数据类型
- 变量的类型决定了他能存多大的数据,能存那些数据,同时决定了他在电脑内存中如和排列的(这里个是重点,我们放在后面单独讲)
变量格式如下:
数据类型 变量名称 = 给这个变量初始值
如 int a =0;
这样就声明了一个数值为1整数变量了 我们就可以对他进行操作了;
等我们学习了运算符 也可以对数据进行 数学运算和逻辑运算
2.举个栗子
#include <iostream>
using namespace std;
int main()
{
int a = 2;
float b =10.9;
string c="我是一个字符串";
cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;
return 0;
}
代码效果
PS:变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C++ 是大小写敏感的,变量名不能重名!!变量名不能重名!!变量名不能重名!!重要的事情说三遍